Lines Matching defs:CGF

28 static void EmitDeclInit(CodeGenFunction &CGF, const VarDecl &D,
32 (D.hasLocalStorage() && CGF.getContext().getLangOpts().OpenCLCPlusPlus)) &&
38 LValue lv = CGF.MakeAddrLValue(DeclPtr, type);
41 switch (CGF.getEvaluationKind(type)) {
43 CodeGenModule &CGM = CGF.CGM;
45 CGM.getObjCRuntime().EmitObjCGlobalAssign(CGF, CGF.EmitScalarExpr(Init),
48 CGM.getObjCRuntime().EmitObjCWeakAssign(CGF, CGF.EmitScalarExpr(Init),
51 CGF.EmitScalarInit(Init, &D, lv, false);
55 CGF.EmitComplexExprIntoLValue(Init, lv, /*isInit*/ true);
58 CGF.EmitAggExpr(Init,
59 AggValueSlot::forLValue(lv, CGF, AggValueSlot::IsDestructed,
70 static void EmitDeclDestroy(CodeGenFunction &CGF, const VarDecl &D,
78 QualType::DestructionKind DtorKind = D.needsDestruction(CGF.getContext());
100 CodeGenModule &CGM = CGF.CGM;
121 if (CGF.getContext().getLangOpts().OpenCL) {
124 auto DestTy = CGF.getTypes().ConvertType(Type)->getPointerTo(
135 Addr.getPointer(), CGF.getTypes().ConvertType(Type)->getPointerTo());
140 .generateDestroyHelper(Addr, Type, CGF.getDestroyer(DtorKind),
141 CGF.needsEHCleanup(DtorKind), &D);
142 Argument = llvm::Constant::getNullValue(CGF.Int8PtrTy);
145 CGM.getCXXABI().registerGlobalDtor(CGF, D, Func, Argument);
150 static void EmitDeclInvariant(CodeGenFunction &CGF, const VarDecl &D,
152 return CGF.EmitInvariantStart(
153 Addr, CGF.getContext().getTypeSizeInChars(D.getType()));
245 CodeGenFunction CGF(CGM);
247 CGF.StartFunction(GlobalDecl(&VD, DynamicInitKind::AtExit),
251 auto AL = ApplyDebugLocation::CreateArtificial(CGF);
253 llvm::CallInst *call = CGF.Builder.CreateCall(dtor, addr);
260 CGF.FinishFunction();