Lines Matching refs:CodeGenFunction
24 #include "CodeGenFunction.h"
124 EmitLoadOfMemberFunctionPointer(CodeGenFunction &CGF,
132 EmitMemberDataPointerAddress(CodeGenFunction &CGF, const Expr *E,
137 llvm::Value *EmitMemberPointerConversion(CodeGenFunction &CGF,
152 llvm::Value *EmitMemberPointerComparison(CodeGenFunction &CGF,
157 llvm::Value *EmitMemberPointerIsNotNull(CodeGenFunction &CGF,
161 void emitVirtualObjectDelete(CodeGenFunction &CGF, const CXXDeleteExpr *DE,
165 void emitRethrow(CodeGenFunction &CGF, bool isNoReturn) override;
166 void emitThrow(CodeGenFunction &CGF, const CXXThrowExpr *E) override;
168 void emitBeginCatch(CodeGenFunction &CGF, const CXXCatchStmt *C) override;
171 emitTerminateForUnexpectedException(CodeGenFunction &CGF,
183 void EmitBadTypeidCall(CodeGenFunction &CGF) override;
184 llvm::Value *EmitTypeid(CodeGenFunction &CGF, QualType SrcRecordTy,
230 llvm::Value *emitDynamicCastCall(CodeGenFunction &CGF, Address Value,
235 llvm::Value *emitExactDynamicCast(CodeGenFunction &CGF, Address ThisAddr,
241 llvm::Value *emitDynamicCastToVoid(CodeGenFunction &CGF, Address Value,
244 bool EmitBadCastCall(CodeGenFunction &CGF) override;
247 GetVirtualBaseClassOffset(CodeGenFunction &CGF, Address This,
267 void addImplicitStructorParams(CodeGenFunction &CGF, QualType &ResTy,
270 void EmitInstanceFunctionProlog(CodeGenFunction &CGF) override;
272 AddedStructorArgs getImplicitConstructorArgs(CodeGenFunction &CGF,
278 llvm::Value *getCXXDestructorImplicitParam(CodeGenFunction &CGF,
284 void EmitDestructorCall(CodeGenFunction &CGF, const CXXDestructorDecl *DD,
292 bool isVirtualOffsetNeededForVTableField(CodeGenFunction &CGF,
293 CodeGenFunction::VPtr Vptr) override;
304 CodeGenFunction &CGF, const CXXRecordDecl *VTableClass,
308 CodeGenFunction &CGF, const CXXRecordDecl *VTableClass,
314 CGCallee getVirtualFunctionPointer(CodeGenFunction &CGF, GlobalDecl GD,
318 llvm::Value *EmitVirtualDestructorCall(CodeGenFunction &CGF,
339 llvm::Value *performThisAdjustment(CodeGenFunction &CGF, Address This,
343 llvm::Value *performReturnAdjustment(CodeGenFunction &CGF, Address Ret,
358 Address InitializeArrayCookie(CodeGenFunction &CGF,
363 llvm::Value *readArrayCookieImpl(CodeGenFunction &CGF,
367 void EmitGuardedInit(CodeGenFunction &CGF, const VarDecl &D,
370 void registerGlobalDtor(CodeGenFunction &CGF, const VarDecl &D,
386 LValue EmitThreadLocalVarDeclLValue(CodeGenFunction &CGF, const VarDecl *VD,
428 LoadVTablePtr(CodeGenFunction &CGF, Address This,
489 void EmitReturnFromThunk(CodeGenFunction &CGF, RValue RV,
493 Address InitializeArrayCookie(CodeGenFunction &CGF,
498 llvm::Value *readArrayCookieImpl(CodeGenFunction &CGF, Address allocPtr,
526 void emitBeginCatch(CodeGenFunction &CGF, const CXXCatchStmt *C) override;
528 emitTerminateForUnexpectedException(CodeGenFunction &CGF,
541 void registerGlobalDtor(CodeGenFunction &CGF, const VarDecl &D,
628 CodeGenFunction &CGF, const Expr *E, Address ThisAddr,
710 CodeGenFunction::SanitizerScope SanScope(&CGF);
773 llvm::ConstantInt::get(CGF.Int8Ty, CodeGenFunction::CFITCK_VMFCall),
807 CodeGenFunction::SanitizerScope SanScope(&CGF);
810 llvm::ConstantInt::get(CGF.Int8Ty, CodeGenFunction::CFITCK_NVMFCall),
869 CodeGenFunction &CGF, const Expr *E, Address Base, llvm::Value *MemPtr,
923 ItaniumCXXABI::EmitMemberPointerConversion(CodeGenFunction &CGF,
1242 ItaniumCXXABI::EmitMemberPointerComparison(CodeGenFunction &CGF,
1316 ItaniumCXXABI::EmitMemberPointerIsNotNull(CodeGenFunction &CGF,
1371 void ItaniumCXXABI::emitVirtualObjectDelete(CodeGenFunction &CGF,
1412 void ItaniumCXXABI::emitRethrow(CodeGenFunction &CGF, bool isNoReturn) {
1446 void ItaniumCXXABI::emitThrow(CodeGenFunction &CGF, const CXXThrowExpr *E) {
1488 static llvm::FunctionCallee getItaniumDynamicCastFn(CodeGenFunction &CGF) {
1514 static llvm::FunctionCallee getBadCastFn(CodeGenFunction &CGF) {
1572 static llvm::FunctionCallee getBadTypeidFn(CodeGenFunction &CGF) {
1583 void ItaniumCXXABI::EmitBadTypeidCall(CodeGenFunction &CGF) {
1590 llvm::Value *ItaniumCXXABI::EmitTypeid(CodeGenFunction &CGF,
1619 CodeGenFunction &CGF, Address ThisAddr, QualType SrcRecordTy,
1646 CodeGenFunction::VTableAuthMode::MustTrap);
1671 CodeGenFunction &CGF, Address ThisAddr, QualType SrcRecordTy,
1748 llvm::Value *ItaniumCXXABI::emitDynamicCastToVoid(CodeGenFunction &CGF,
1783 bool ItaniumCXXABI::EmitBadCastCall(CodeGenFunction &CGF) {
1792 ItaniumCXXABI::GetVirtualBaseClassOffset(CodeGenFunction &CGF,
1870 void ItaniumCXXABI::addImplicitStructorParams(CodeGenFunction &CGF,
1892 void ItaniumCXXABI::EmitInstanceFunctionProlog(CodeGenFunction &CGF) {
1920 CodeGenFunction &CGF, const CXXConstructorDecl *D, CXXCtorType Type,
1937 CodeGenFunction &CGF, const CXXDestructorDecl *DD, CXXDtorType Type,
1943 void ItaniumCXXABI::EmitDestructorCall(CodeGenFunction &CGF,
2062 CodeGenFunction &CGF, CodeGenFunction::VPtr Vptr) {
2069 CodeGenFunction &CGF, const CXXRecordDecl *VTableClass, BaseSubobject Base,
2111 CodeGenFunction &CGF, const CXXRecordDecl *VTableClass, BaseSubobject Base,
2180 CGCallee ItaniumCXXABI::getVirtualFunctionPointer(CodeGenFunction &CGF,
2242 CodeGenFunction &CGF, const CXXDestructorDecl *Dtor, CXXDtorType DtorType,
2334 static llvm::Value *performTypeAdjustment(CodeGenFunction &CGF,
2391 ItaniumCXXABI::performThisAdjustment(CodeGenFunction &CGF, Address This,
2400 ItaniumCXXABI::performReturnAdjustment(CodeGenFunction &CGF, Address Ret,
2408 void ARMCXXABI::EmitReturnFromThunk(CodeGenFunction &CGF,
2428 Address ItaniumCXXABI::InitializeArrayCookie(CodeGenFunction &CGF,
2473 llvm::Value *ItaniumCXXABI::readArrayCookieImpl(CodeGenFunction &CGF,
2512 Address ARMCXXABI::InitializeArrayCookie(CodeGenFunction &CGF,
2538 llvm::Value *ARMCXXABI::readArrayCookieImpl(CodeGenFunction &CGF,
2594 void Emit(CodeGenFunction &CGF, Flags flags) override {
2603 void ItaniumCXXABI::EmitGuardedInit(CodeGenFunction &CGF,
2756 CodeGenFunction::GuardKind::VariableGuard, &D);
2821 static void emitGlobalDtorWithCXAAtExit(CodeGenFunction &CGF,
2898 CodeGenFunction CGF(*this);
2953 CodeGenFunction CGF(*this);
2986 void ItaniumCXXABI::registerGlobalDtor(CodeGenFunction &CGF, const VarDecl &D,
3132 CodeGenFunction(CGM).GenerateCXXGlobalInitFunc(
3298 LValue ItaniumCXXABI::EmitThreadLocalVarDeclLValue(CodeGenFunction &CGF,
3369 CodeGenFunction CGF(CGM);
3402 // Finish the function to maintain CodeGenFunction invariants.
4779 void Emit(CodeGenFunction &CGF, Flags flags) override {
4796 static llvm::Value *CallBeginCatch(CodeGenFunction &CGF,
4811 static void InitCatchParam(CodeGenFunction &CGF,
4962 CodeGenFunction::OpaqueValueMapping
4989 void ItaniumCXXABI::emitBeginCatch(CodeGenFunction &CGF,
5022 CodeGenFunction::AutoVarEmission var = CGF.EmitAutoVarAlloca(*CatchParam);
5083 ItaniumCXXABI::emitTerminateForUnexpectedException(CodeGenFunction &CGF,
5094 ItaniumCXXABI::LoadVTablePtr(CodeGenFunction &CGF, Address This,
5111 void WebAssemblyCXXABI::emitBeginCatch(CodeGenFunction &CGF,
5120 WebAssemblyCXXABI::emitTerminateForUnexpectedException(CodeGenFunction &CGF,
5132 void XLCXXABI::registerGlobalDtor(CodeGenFunction &CGF, const VarDecl &D,
5184 CodeGenFunction CGF(CGM);