Lines Matching refs:GD
56 bool HasThisReturn(GlobalDecl GD) const override;
57 bool hasMostDerivedReturn(GlobalDecl GD) const override;
65 bool isThisCompleteObject(GlobalDecl GD) const override { in isThisCompleteObject()
68 if (isa<CXXDestructorDecl>(GD.getDecl())) { in isThisCompleteObject()
69 switch (GD.getDtorType()) { in isThisCompleteObject()
219 buildStructorSignature(GlobalDecl GD,
256 adjustThisArgumentForVirtualFunctionCall(CodeGenFunction &CGF, GlobalDecl GD,
312 CGCallee getVirtualFunctionPointer(CodeGenFunction &CGF, GlobalDecl GD,
321 void adjustCallArgsForDestructorThunk(CodeGenFunction &CGF, GlobalDecl GD, in adjustCallArgsForDestructorThunk() argument
323 assert(GD.getDtorType() == Dtor_Deleting && in adjustCallArgsForDestructorThunk()
382 GlobalDecl GD, bool ReturnAdjustment) override { in setThunkLinkage() argument
384 getContext().GetGVALinkageForFunction(cast<FunctionDecl>(GD.getDecl())); in setThunkLinkage()
584 CharUnits getVirtualFunctionPrologueThisAdjustment(GlobalDecl GD) override;
701 void emitCXXStructor(GlobalDecl GD) override;
1076 bool MicrosoftCXXABI::HasThisReturn(GlobalDecl GD) const { in HasThisReturn()
1077 return isa<CXXConstructorDecl>(GD.getDecl()); in HasThisReturn()
1080 static bool isDeletingDtor(GlobalDecl GD) { in isDeletingDtor() argument
1081 return isa<CXXDestructorDecl>(GD.getDecl()) && in isDeletingDtor()
1082 GD.getDtorType() == Dtor_Deleting; in isDeletingDtor()
1085 bool MicrosoftCXXABI::hasMostDerivedReturn(GlobalDecl GD) const { in hasMostDerivedReturn()
1086 return isDeletingDtor(GD); in hasMostDerivedReturn()
1301 MicrosoftCXXABI::buildStructorSignature(GlobalDecl GD, in buildStructorSignature() argument
1305 if (isa<CXXDestructorDecl>(GD.getDecl()) && in buildStructorSignature()
1306 GD.getDtorType() == Dtor_Deleting) { in buildStructorSignature()
1311 auto *CD = dyn_cast<CXXConstructorDecl>(GD.getDecl()); in buildStructorSignature()
1393 MicrosoftCXXABI::getVirtualFunctionPrologueThisAdjustment(GlobalDecl GD) { in getVirtualFunctionPrologueThisAdjustment() argument
1394 const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl()); in getVirtualFunctionPrologueThisAdjustment()
1399 if (GD.getDtorType() == Dtor_Complete) in getVirtualFunctionPrologueThisAdjustment()
1404 GD = GlobalDecl(DD, Dtor_Deleting); in getVirtualFunctionPrologueThisAdjustment()
1408 CGM.getMicrosoftVTableContext().getMethodVFTableLocation(GD); in getVirtualFunctionPrologueThisAdjustment()
1428 CodeGenFunction &CGF, GlobalDecl GD, Address This, in adjustThisArgumentForVirtualFunctionCall() argument
1433 CharUnits Adjustment = getVirtualFunctionPrologueThisAdjustment(GD); in adjustThisArgumentForVirtualFunctionCall()
1442 const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl()); in adjustThisArgumentForVirtualFunctionCall()
1444 GlobalDecl LookupGD = GD; in adjustThisArgumentForVirtualFunctionCall()
1448 if (GD.getDtorType() == Dtor_Complete) in adjustThisArgumentForVirtualFunctionCall()
1463 if (isa<CXXDestructorDecl>(MD) && GD.getDtorType() == Dtor_Base) in adjustThisArgumentForVirtualFunctionCall()
1632 GlobalDecl GD(DD, Type); in EmitDestructorCall() local
1633 CGCallee Callee = CGCallee::forDirect(CGM.getAddrOfCXXStructor(GD), GD); in EmitDestructorCall()
1650 CGF.EmitCXXDestructorCall(GD, Callee, This.getPointer(), ThisTy, in EmitDestructorCall()
1922 GlobalDecl GD, in getVirtualFunctionPointer() argument
1930 adjustThisArgumentForVirtualFunctionCall(CGF, GD, This, true); in getVirtualFunctionPointer()
1932 auto *MethodDecl = cast<CXXMethodDecl>(GD.getDecl()); in getVirtualFunctionPointer()
1937 MethodVFTableLocation ML = VFTContext.getMethodVFTableLocation(GD); in getVirtualFunctionPointer()
1965 CGCallee Callee(GD, VFunc); in getVirtualFunctionPointer()
1980 GlobalDecl GD(Dtor, Dtor_Deleting); in EmitVirtualDestructorCall() local
1982 &CGM.getTypes().arrangeCXXStructorDeclaration(GD); in EmitVirtualDestructorCall()
1984 CGCallee Callee = CGCallee::forVirtual(CE, GD, This, Ty); in EmitVirtualDestructorCall()
1998 This = adjustThisArgumentForVirtualFunctionCall(CGF, GD, This, true); in EmitVirtualDestructorCall()
1999 RValue RV = CGF.EmitCXXDestructorCall(GD, Callee, This.getPointer(), ThisTy, in EmitVirtualDestructorCall()
4023 void MicrosoftCXXABI::emitCXXStructor(GlobalDecl GD) { in emitCXXStructor() argument
4024 if (auto *ctor = dyn_cast<CXXConstructorDecl>(GD.getDecl())) { in emitCXXStructor()
4027 CGM.codegenCXXStructor(GD.getWithCtorType(Ctor_Complete)); in emitCXXStructor()
4032 auto *dtor = cast<CXXDestructorDecl>(GD.getDecl()); in emitCXXStructor()
4037 if (GD.getDtorType() == Dtor_Complete && in emitCXXStructor()
4039 GD = GD.getWithDtorType(Dtor_Base); in emitCXXStructor()
4045 if (GD.getDtorType() == Dtor_Base && !CGM.TryEmitBaseDestructorAsAlias(dtor)) in emitCXXStructor()
4048 llvm::Function *Fn = CGM.codegenCXXStructor(GD); in emitCXXStructor()