Lines Matching refs:CGF

23 void CGCXXABI::ErrorUnsupportedABI(CodeGenFunction &CGF, StringRef S) {
24 DiagnosticsEngine &Diags = CGF.CGM.getDiags();
27 Diags.Report(CGF.getContext().getFullLoc(CGF.CurCodeDecl->getLocation()),
77 CodeGenFunction &CGF, const Expr *E, Address This,
80 ErrorUnsupportedABI(CGF, "calls through member pointers");
93 CGCXXABI::EmitMemberDataPointerAddress(CodeGenFunction &CGF, const Expr *E,
96 ErrorUnsupportedABI(CGF, "loads of member pointers");
97 llvm::Type *Ty = CGF.ConvertType(MPT->getPointeeType())
102 llvm::Value *CGCXXABI::EmitMemberPointerConversion(CodeGenFunction &CGF,
105 ErrorUnsupportedABI(CGF, "member function pointer conversions");
115 CGCXXABI::EmitMemberPointerComparison(CodeGenFunction &CGF,
120 ErrorUnsupportedABI(CGF, "member function pointer comparison");
121 return CGF.Builder.getFalse();
125 CGCXXABI::EmitMemberPointerIsNotNull(CodeGenFunction &CGF,
128 ErrorUnsupportedABI(CGF, "member function pointer null testing");
129 return CGF.Builder.getFalse();
156 void CGCXXABI::buildThisParam(CodeGenFunction &CGF, FunctionArgList &params) {
157 const CXXMethodDecl *MD = cast<CXXMethodDecl>(CGF.CurGD.getDecl());
166 CGF.CXXABIThisDecl = ThisDecl;
170 auto &Layout = CGF.getContext().getASTRecordLayout(MD->getParent());
173 !isThisCompleteObject(CGF.CurGD)) {
174 CGF.CXXABIThisAlignment = Layout.getAlignment();
176 CGF.CXXABIThisAlignment = Layout.getNonVirtualAlignment();
180 void CGCXXABI::EmitThisParam(CodeGenFunction &CGF) {
182 assert(getThisDecl(CGF) && "no 'this' variable for function");
183 CGF.CXXABIThisValue
184 = CGF.Builder.CreateLoad(CGF.GetAddrOfLocalVar(getThisDecl(CGF)),
188 void CGCXXABI::EmitReturnFromThunk(CodeGenFunction &CGF,
190 CGF.EmitReturnOfRValue(RV, ResultType);
204 Address CGCXXABI::InitializeArrayCookie(CodeGenFunction &CGF,
210 ErrorUnsupportedABI(CGF, "array cookie initialization");
233 void CGCXXABI::ReadArrayCookie(CodeGenFunction &CGF, Address ptr,
238 ptr = CGF.Builder.CreateElementBitCast(ptr, CGF.Int8Ty);
250 CGF.Builder.CreateConstInBoundsByteGEP(ptr, -cookieSize);
252 numElements = readArrayCookieImpl(CGF, allocAddr, cookieSize);
255 llvm::Value *CGCXXABI::readArrayCookieImpl(CodeGenFunction &CGF,
258 ErrorUnsupportedABI(CGF, "reading a new[] cookie");
259 return llvm::ConstantInt::get(CGF.SizeTy, 0);
306 CGCXXABI::EmitCtorCompleteObjectHandler(CodeGenFunction &CGF,
311 ErrorUnsupportedABI(CGF, "complete object detection in ctor");
320 CGCXXABI::emitTerminateForUnexpectedException(CodeGenFunction &CGF,
323 return CGF.EmitNounwindRuntimeCall(CGF.CGM.getTerminateFn());