Lines Matching defs:CGF

23 void CGCXXABI::ErrorUnsupportedABI(CodeGenFunction &CGF, StringRef S) {
24 DiagnosticsEngine &Diags = CGF.CGM.getDiags();
27 Diags.Report(CGF.getContext().getFullLoc(CGF.CurCodeDecl->getLocation()),
42 CodeGenFunction &CGF, const Expr *E, Address This,
45 ErrorUnsupportedABI(CGF, "calls through member pointers");
59 CGCXXABI::EmitMemberDataPointerAddress(CodeGenFunction &CGF, const Expr *E,
62 ErrorUnsupportedABI(CGF, "loads of member pointers");
63 llvm::Type *Ty = CGF.ConvertType(MPT->getPointeeType())
68 llvm::Value *CGCXXABI::EmitMemberPointerConversion(CodeGenFunction &CGF,
71 ErrorUnsupportedABI(CGF, "member function pointer conversions");
81 CGCXXABI::EmitMemberPointerComparison(CodeGenFunction &CGF,
86 ErrorUnsupportedABI(CGF, "member function pointer comparison");
87 return CGF.Builder.getFalse();
91 CGCXXABI::EmitMemberPointerIsNotNull(CodeGenFunction &CGF,
94 ErrorUnsupportedABI(CGF, "member function pointer null testing");
95 return CGF.Builder.getFalse();
122 void CGCXXABI::buildThisParam(CodeGenFunction &CGF, FunctionArgList &params) {
123 const CXXMethodDecl *MD = cast<CXXMethodDecl>(CGF.CurGD.getDecl());
132 CGF.CXXABIThisDecl = ThisDecl;
136 auto &Layout = CGF.getContext().getASTRecordLayout(MD->getParent());
139 isThisCompleteObject(CGF.CurGD)) {
140 CGF.CXXABIThisAlignment = Layout.getAlignment();
142 CGF.CXXABIThisAlignment = Layout.getNonVirtualAlignment();
146 llvm::Value *CGCXXABI::loadIncomingCXXThis(CodeGenFunction &CGF) {
147 return CGF.Builder.CreateLoad(CGF.GetAddrOfLocalVar(getThisDecl(CGF)),
151 void CGCXXABI::setCXXABIThisValue(CodeGenFunction &CGF, llvm::Value *ThisPtr) {
153 assert(getThisDecl(CGF) && "no 'this' variable for function");
154 CGF.CXXABIThisValue = ThisPtr;
157 void CGCXXABI::EmitReturnFromThunk(CodeGenFunction &CGF,
159 assert(!CGF.hasAggregateEvaluationKind(ResultType) &&
161 CGF.EmitReturnOfRValue(RV, ResultType);
175 Address CGCXXABI::InitializeArrayCookie(CodeGenFunction &CGF,
181 ErrorUnsupportedABI(CGF, "array cookie initialization");
204 void CGCXXABI::ReadArrayCookie(CodeGenFunction &CGF, Address ptr,
209 ptr = CGF.Builder.CreateElementBitCast(ptr, CGF.Int8Ty);
221 CGF.Builder.CreateConstInBoundsByteGEP(ptr, -cookieSize);
223 numElements = readArrayCookieImpl(CGF, allocAddr, cookieSize);
226 llvm::Value *CGCXXABI::readArrayCookieImpl(CodeGenFunction &CGF,
229 ErrorUnsupportedABI(CGF, "reading a new[] cookie");
230 return llvm::ConstantInt::get(CGF.SizeTy, 0);
255 CGCXXABI::EmitCtorCompleteObjectHandler(CodeGenFunction &CGF,
260 ErrorUnsupportedABI(CGF, "complete object detection in ctor");
283 CGCXXABI::emitTerminateForUnexpectedException(CodeGenFunction &CGF,
286 return CGF.EmitNounwindRuntimeCall(CGF.CGM.getTerminateFn());
298 CodeGenFunction &CGF, const CXXConstructorDecl *D, CXXCtorType Type,
301 getImplicitConstructorArgs(CGF, D, Type, ForVirtualBase, Delegating);