Lines Matching refs:CGF
24 static void EmitDeclInit(CodeGenFunction &CGF, const VarDecl &D, in EmitDeclInit() argument
30 ASTContext &Context = CGF.getContext(); in EmitDeclInit()
34 LValue lv = CGF.MakeAddrLValue(DeclPtr, type, alignment); in EmitDeclInit()
37 switch (CGF.getEvaluationKind(type)) { in EmitDeclInit()
39 CodeGenModule &CGM = CGF.CGM; in EmitDeclInit()
41 CGM.getObjCRuntime().EmitObjCGlobalAssign(CGF, CGF.EmitScalarExpr(Init), in EmitDeclInit()
44 CGM.getObjCRuntime().EmitObjCWeakAssign(CGF, CGF.EmitScalarExpr(Init), in EmitDeclInit()
47 CGF.EmitScalarInit(Init, &D, lv, false); in EmitDeclInit()
51 CGF.EmitComplexExprIntoLValue(Init, lv, /*isInit*/ true); in EmitDeclInit()
54 CGF.EmitAggExpr(Init, AggValueSlot::forLValue(lv,AggValueSlot::IsDestructed, in EmitDeclInit()
64 static void EmitDeclDestroy(CodeGenFunction &CGF, const VarDecl &D, in EmitDeclDestroy() argument
66 CodeGenModule &CGM = CGF.CGM; in EmitDeclDestroy()
100 addr, CGF.getTypes().ConvertType(type)->getPointerTo()); in EmitDeclDestroy()
105 .generateDestroyHelper(addr, type, CGF.getDestroyer(dtorKind), in EmitDeclDestroy()
106 CGF.needsEHCleanup(dtorKind), &D); in EmitDeclDestroy()
107 argument = llvm::Constant::getNullValue(CGF.Int8PtrTy); in EmitDeclDestroy()
110 CGM.getCXXABI().registerGlobalDtor(CGF, D, function, argument); in EmitDeclDestroy()
115 static void EmitDeclInvariant(CodeGenFunction &CGF, const VarDecl &D, in EmitDeclInvariant() argument
118 if (!CGF.CGM.getCodeGenOpts().OptimizationLevel) in EmitDeclInvariant()
123 llvm::Constant *InvariantStart = CGF.CGM.getIntrinsic(InvStartID); in EmitDeclInvariant()
126 CharUnits WidthChars = CGF.getContext().getTypeSizeInChars(D.getType()); in EmitDeclInvariant()
128 llvm::Value *Args[2] = { llvm::ConstantInt::getSigned(CGF.Int64Ty, Width), in EmitDeclInvariant()
129 llvm::ConstantExpr::getBitCast(Addr, CGF.Int8PtrTy)}; in EmitDeclInvariant()
130 CGF.Builder.CreateCall(InvariantStart, Args); in EmitDeclInvariant()
178 CodeGenFunction CGF(CGM); in createAtExitStub() local
180 CGF.StartFunction(&VD, CGM.getContext().VoidTy, fn, in createAtExitStub()
184 llvm::CallInst *call = CGF.Builder.CreateCall(dtor, addr); in createAtExitStub()
191 CGF.FinishFunction(); in createAtExitStub()