Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:CGF

110   static saved_type save(CodeGenFunction &CGF, type value) { return value; }
111 static type restore(CodeGenFunction &CGF, saved_type value) { return value; }
227 virtual void Emit(CodeGenFunction &CGF, Flags flags) = 0;
237 void Emit(CodeGenFunction &CGF, Flags flags) {
238 A0 a0 = DominatingValue<A0>::restore(CGF, a0_saved);
239 T(a0).Emit(CGF, flags);
254 void Emit(CodeGenFunction &CGF, Flags flags) {
255 A0 a0 = DominatingValue<A0>::restore(CGF, a0_saved);
256 A1 a1 = DominatingValue<A1>::restore(CGF, a1_saved);
257 T(a0, a1).Emit(CGF, flags);
274 void Emit(CodeGenFunction &CGF, Flags flags) {
275 A0 a0 = DominatingValue<A0>::restore(CGF, a0_saved);
276 A1 a1 = DominatingValue<A1>::restore(CGF, a1_saved);
277 A2 a2 = DominatingValue<A2>::restore(CGF, a2_saved);
278 T(a0, a1, a2).Emit(CGF, flags);
297 void Emit(CodeGenFunction &CGF, Flags flags) {
298 A0 a0 = DominatingValue<A0>::restore(CGF, a0_saved);
299 A1 a1 = DominatingValue<A1>::restore(CGF, a1_saved);
300 A2 a2 = DominatingValue<A2>::restore(CGF, a2_saved);
301 A3 a3 = DominatingValue<A3>::restore(CGF, a3_saved);
302 T(a0, a1, a2, a3).Emit(CGF, flags);
660 void enter(CodeGenFunction &CGF, const Stmt *Finally,
663 void exit(CodeGenFunction &CGF);
779 CodeGenFunction& CGF;
783 explicit RunCleanupsScope(CodeGenFunction &CGF)
784 : PerformCleanup(true), CGF(CGF)
786 CleanupStackDepth = CGF.EHStack.stable_begin();
787 OldDidCallStackSave = CGF.DidCallStackSave;
788 CGF.DidCallStackSave = false;
795 CGF.DidCallStackSave = OldDidCallStackSave;
796 CGF.PopCleanupBlocks(CleanupStackDepth);
802 return CGF.EHStack.stable_begin() != CleanupStackDepth;
809 CGF.DidCallStackSave = OldDidCallStackSave;
810 CGF.PopCleanupBlocks(CleanupStackDepth);
824 explicit LexicalScope(CodeGenFunction &CGF, SourceRange Range)
825 : RunCleanupsScope(CGF), Range(Range), PopDebugStack(true) {
826 if (CGDebugInfo *DI = CGF.getDebugInfo())
827 DI->EmitLexicalBlockStart(CGF.Builder, Range.getBegin());
834 CGDebugInfo *DI = CGF.getDebugInfo();
835 if (DI) DI->EmitLexicalBlockEnd(CGF.Builder, Range.getEnd());
843 if (CGDebugInfo *DI = CGF.getDebugInfo()) {
844 DI->EmitLexicalBlockEnd(CGF.Builder, Range.getEnd());
896 ConditionalEvaluation(CodeGenFunction &CGF)
897 : StartBB(CGF.Builder.GetInsertBlock()) {}
899 void begin(CodeGenFunction &CGF) {
900 assert(CGF.OutermostConditional != this);
901 if (!CGF.OutermostConditional)
902 CGF.OutermostConditional = this;
905 void end(CodeGenFunction &CGF) {
906 assert(CGF.OutermostConditional != 0);
907 if (CGF.OutermostConditional == this)
908 CGF.OutermostConditional = 0;
925 CodeGenFunction &CGF;
933 StmtExprEvaluation(CodeGenFunction &CGF)
934 : CGF(CGF), SavedOutermostConditional(CGF.OutermostConditional) {
935 CGF.OutermostConditional = 0;
939 CGF.OutermostConditional = SavedOutermostConditional;
940 CGF.EnsureInsertPoint();
957 CodeGenFunction &CGF;
972 OpaqueValueMapping(CodeGenFunction &CGF,
973 const AbstractConditionalOperator *op) : CGF(CGF) {
984 OpaqueValueMapping(CodeGenFunction &CGF,
987 : CGF(CGF), OpaqueValue(opaqueValue), BoundLValue(true) {
993 OpaqueValueMapping(CodeGenFunction &CGF,
996 : CGF(CGF), OpaqueValue(opaqueValue), BoundLValue(false) {
1015 CGF.OpaqueLValues.erase(OpaqueValue);
1017 CGF.OpaqueRValues.erase(OpaqueValue);
1018 CGF.unprotectFromPeepholes(Protection);
1028 initLValue(CGF.EmitLValue(e));
1030 initRValue(CGF.EmitAnyExpr(e));
1034 CGF.OpaqueLValues.insert(std::make_pair(OpaqueValue, lv));
1041 Protection = CGF.protectFromPeepholes(rv);
1042 CGF.OpaqueRValues.insert(std::make_pair(OpaqueValue, rv));
1188 typedef void Destroyer(CodeGenFunction &CGF, llvm::Value *addr, QualType ty);
1797 llvm::Value *getObjectAddress(CodeGenFunction &CGF) const {
1800 return CGF.Builder.CreateStructGEP(Address,
1801 CGF.getByRefValueLLVMField(Variable),
2491 static saved_type save(CodeGenFunction &CGF, llvm::Value *value) {
2496 CGF.CreateTempAlloca(value->getType(), "cond-cleanup.save");
2497 CGF.Builder.CreateStore(value, alloca);
2502 static llvm::Value *restore(CodeGenFunction &CGF, saved_type value) {
2504 return CGF.Builder.CreateLoad(value.getPointer());
2512 static type restore(CodeGenFunction &CGF, saved_type value) {
2513 return static_cast<T*>(DominatingLLVMValue::restore(CGF, value));
2530 static saved_type save(CodeGenFunction &CGF, RValue value);
2531 RValue restore(CodeGenFunction &CGF);
2539 static saved_type save(CodeGenFunction &CGF, type value) {
2540 return saved_type::save(CGF, value);
2542 static type restore(CodeGenFunction &CGF, saved_type value) {
2543 return value.restore(CGF);