Lines Matching refs:CGF
23 Address CGCXXABI::getThisAddress(CodeGenFunction &CGF) { in getThisAddress() argument
24 return CGF.makeNaturalAddressForPointer( in getThisAddress()
25 CGF.CXXABIThisValue, CGF.CXXABIThisDecl->getType()->getPointeeType(), in getThisAddress()
26 CGF.CXXABIThisAlignment); in getThisAddress()
29 void CGCXXABI::ErrorUnsupportedABI(CodeGenFunction &CGF, StringRef S) { in ErrorUnsupportedABI() argument
30 DiagnosticsEngine &Diags = CGF.CGM.getDiags(); in ErrorUnsupportedABI()
33 Diags.Report(CGF.getContext().getFullLoc(CGF.CurCodeDecl->getLocation()), in ErrorUnsupportedABI()
48 CodeGenFunction &CGF, const Expr *E, Address This, in EmitLoadOfMemberFunctionPointer() argument
51 ErrorUnsupportedABI(CGF, "calls through member pointers"); in EmitLoadOfMemberFunctionPointer()
56 CGF.getAsNaturalPointerTo(This, CGF.getContext().getRecordType(RD)); in EmitLoadOfMemberFunctionPointer()
65 CGCXXABI::EmitMemberDataPointerAddress(CodeGenFunction &CGF, const Expr *E, in EmitMemberDataPointerAddress() argument
68 ErrorUnsupportedABI(CGF, "loads of member pointers"); in EmitMemberDataPointerAddress()
70 llvm::PointerType::get(CGF.getLLVMContext(), Base.getAddressSpace()); in EmitMemberDataPointerAddress()
74 llvm::Value *CGCXXABI::EmitMemberPointerConversion(CodeGenFunction &CGF, in EmitMemberPointerConversion() argument
77 ErrorUnsupportedABI(CGF, "member function pointer conversions"); in EmitMemberPointerConversion()
87 CGCXXABI::EmitMemberPointerComparison(CodeGenFunction &CGF, in EmitMemberPointerComparison() argument
92 ErrorUnsupportedABI(CGF, "member function pointer comparison"); in EmitMemberPointerComparison()
93 return CGF.Builder.getFalse(); in EmitMemberPointerComparison()
97 CGCXXABI::EmitMemberPointerIsNotNull(CodeGenFunction &CGF, in EmitMemberPointerIsNotNull() argument
100 ErrorUnsupportedABI(CGF, "member function pointer null testing"); in EmitMemberPointerIsNotNull()
101 return CGF.Builder.getFalse(); in EmitMemberPointerIsNotNull()
128 void CGCXXABI::buildThisParam(CodeGenFunction &CGF, FunctionArgList ¶ms) { in buildThisParam() argument
129 const CXXMethodDecl *MD = cast<CXXMethodDecl>(CGF.CurGD.getDecl()); in buildThisParam()
138 CGF.CXXABIThisDecl = ThisDecl; in buildThisParam()
142 auto &Layout = CGF.getContext().getASTRecordLayout(MD->getParent()); in buildThisParam()
145 isThisCompleteObject(CGF.CurGD)) { in buildThisParam()
146 CGF.CXXABIThisAlignment = Layout.getAlignment(); in buildThisParam()
148 CGF.CXXABIThisAlignment = Layout.getNonVirtualAlignment(); in buildThisParam()
152 llvm::Value *CGCXXABI::loadIncomingCXXThis(CodeGenFunction &CGF) { in loadIncomingCXXThis() argument
153 return CGF.Builder.CreateLoad(CGF.GetAddrOfLocalVar(getThisDecl(CGF)), in loadIncomingCXXThis()
157 void CGCXXABI::setCXXABIThisValue(CodeGenFunction &CGF, llvm::Value *ThisPtr) { in setCXXABIThisValue() argument
159 assert(getThisDecl(CGF) && "no 'this' variable for function"); in setCXXABIThisValue()
160 CGF.CXXABIThisValue = ThisPtr; in setCXXABIThisValue()
208 void CGCXXABI::EmitReturnFromThunk(CodeGenFunction &CGF, in EmitReturnFromThunk() argument
210 assert(!CGF.hasAggregateEvaluationKind(ResultType) && in EmitReturnFromThunk()
212 CGF.EmitReturnOfRValue(RV, ResultType); in EmitReturnFromThunk()
226 Address CGCXXABI::InitializeArrayCookie(CodeGenFunction &CGF, in InitializeArrayCookie() argument
232 ErrorUnsupportedABI(CGF, "array cookie initialization"); in InitializeArrayCookie()
255 void CGCXXABI::ReadArrayCookie(CodeGenFunction &CGF, Address ptr, in ReadArrayCookie() argument
260 ptr = ptr.withElementType(CGF.Int8Ty); in ReadArrayCookie()
264 allocPtr = ptr.emitRawPointer(CGF); in ReadArrayCookie()
271 Address allocAddr = CGF.Builder.CreateConstInBoundsByteGEP(ptr, -cookieSize); in ReadArrayCookie()
272 allocPtr = allocAddr.emitRawPointer(CGF); in ReadArrayCookie()
273 numElements = readArrayCookieImpl(CGF, allocAddr, cookieSize); in ReadArrayCookie()
276 llvm::Value *CGCXXABI::readArrayCookieImpl(CodeGenFunction &CGF, in readArrayCookieImpl() argument
279 ErrorUnsupportedABI(CGF, "reading a new[] cookie"); in readArrayCookieImpl()
280 return llvm::ConstantInt::get(CGF.SizeTy, 0); in readArrayCookieImpl()
305 CGCXXABI::EmitCtorCompleteObjectHandler(CodeGenFunction &CGF, in EmitCtorCompleteObjectHandler() argument
310 ErrorUnsupportedABI(CGF, "complete object detection in ctor"); in EmitCtorCompleteObjectHandler()
332 CGCXXABI::emitTerminateForUnexpectedException(CodeGenFunction &CGF, in emitTerminateForUnexpectedException() argument
335 return CGF.EmitNounwindRuntimeCall(CGF.CGM.getTerminateFn()); in emitTerminateForUnexpectedException()
347 CodeGenFunction &CGF, const CXXConstructorDecl *D, CXXCtorType Type, in addImplicitConstructorArgs() argument
350 getImplicitConstructorArgs(CGF, D, Type, ForVirtualBase, Delegating); in addImplicitConstructorArgs()