Lines Matching refs:GD

57   bool HasThisReturn(GlobalDecl GD) const override;
58 bool hasMostDerivedReturn(GlobalDecl GD) const override;
66 bool isThisCompleteObject(GlobalDecl GD) const override { in isThisCompleteObject()
69 if (isa<CXXDestructorDecl>(GD.getDecl())) { in isThisCompleteObject()
70 switch (GD.getDtorType()) { in isThisCompleteObject()
231 buildStructorSignature(GlobalDecl GD,
250 const CXXRecordDecl *getThisArgumentTypeForMethod(GlobalDecl GD) override { in getThisArgumentTypeForMethod() argument
251 auto *MD = cast<CXXMethodDecl>(GD.getDecl()); in getThisArgumentTypeForMethod()
254 GlobalDecl LookupGD = GD; in getThisArgumentTypeForMethod()
258 if (GD.getDtorType() == Dtor_Complete) in getThisArgumentTypeForMethod()
281 adjustThisArgumentForVirtualFunctionCall(CodeGenFunction &CGF, GlobalDecl GD,
333 CGCallee getVirtualFunctionPointer(CodeGenFunction &CGF, GlobalDecl GD,
342 void adjustCallArgsForDestructorThunk(CodeGenFunction &CGF, GlobalDecl GD, in adjustCallArgsForDestructorThunk() argument
344 assert(GD.getDtorType() == Dtor_Deleting && in adjustCallArgsForDestructorThunk()
403 GlobalDecl GD, bool ReturnAdjustment) override { in setThunkLinkage() argument
405 getContext().GetGVALinkageForFunction(cast<FunctionDecl>(GD.getDecl())); in setThunkLinkage()
607 CharUnits getVirtualFunctionPrologueThisAdjustment(GlobalDecl GD) override;
724 void emitCXXStructor(GlobalDecl GD) override;
1093 bool MicrosoftCXXABI::HasThisReturn(GlobalDecl GD) const { in HasThisReturn()
1094 return isa<CXXConstructorDecl>(GD.getDecl()); in HasThisReturn()
1097 static bool isDeletingDtor(GlobalDecl GD) { in isDeletingDtor() argument
1098 return isa<CXXDestructorDecl>(GD.getDecl()) && in isDeletingDtor()
1099 GD.getDtorType() == Dtor_Deleting; in isDeletingDtor()
1102 bool MicrosoftCXXABI::hasMostDerivedReturn(GlobalDecl GD) const { in hasMostDerivedReturn()
1103 return isDeletingDtor(GD); in hasMostDerivedReturn()
1345 MicrosoftCXXABI::buildStructorSignature(GlobalDecl GD, in buildStructorSignature() argument
1349 if (isa<CXXDestructorDecl>(GD.getDecl()) && in buildStructorSignature()
1350 GD.getDtorType() == Dtor_Deleting) { in buildStructorSignature()
1355 auto *CD = dyn_cast<CXXConstructorDecl>(GD.getDecl()); in buildStructorSignature()
1436 MicrosoftCXXABI::getVirtualFunctionPrologueThisAdjustment(GlobalDecl GD) { in getVirtualFunctionPrologueThisAdjustment() argument
1437 const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl()); in getVirtualFunctionPrologueThisAdjustment()
1442 if (GD.getDtorType() == Dtor_Complete) in getVirtualFunctionPrologueThisAdjustment()
1447 GD = GlobalDecl(DD, Dtor_Deleting); in getVirtualFunctionPrologueThisAdjustment()
1451 CGM.getMicrosoftVTableContext().getMethodVFTableLocation(GD); in getVirtualFunctionPrologueThisAdjustment()
1471 CodeGenFunction &CGF, GlobalDecl GD, Address This, in adjustThisArgumentForVirtualFunctionCall() argument
1476 CharUnits Adjustment = getVirtualFunctionPrologueThisAdjustment(GD); in adjustThisArgumentForVirtualFunctionCall()
1485 const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl()); in adjustThisArgumentForVirtualFunctionCall()
1487 GlobalDecl LookupGD = GD; in adjustThisArgumentForVirtualFunctionCall()
1491 if (GD.getDtorType() == Dtor_Complete) in adjustThisArgumentForVirtualFunctionCall()
1506 if (isa<CXXDestructorDecl>(MD) && GD.getDtorType() == Dtor_Base) in adjustThisArgumentForVirtualFunctionCall()
1667 GlobalDecl GD(DD, Type); in EmitDestructorCall() local
1668 CGCallee Callee = CGCallee::forDirect(CGM.getAddrOfCXXStructor(GD), GD); in EmitDestructorCall()
1685 CGF.EmitCXXDestructorCall(GD, Callee, CGF.getAsNaturalPointerTo(This, ThisTy), in EmitDestructorCall()
1953 GlobalDecl GD, in getVirtualFunctionPointer() argument
1961 adjustThisArgumentForVirtualFunctionCall(CGF, GD, This, true); in getVirtualFunctionPointer()
1963 auto *MethodDecl = cast<CXXMethodDecl>(GD.getDecl()); in getVirtualFunctionPointer()
1968 MethodVFTableLocation ML = VFTContext.getMethodVFTableLocation(GD); in getVirtualFunctionPointer()
1998 CGCallee Callee(GD, VFunc); in getVirtualFunctionPointer()
2013 GlobalDecl GD(Dtor, Dtor_Deleting); in EmitVirtualDestructorCall() local
2015 &CGM.getTypes().arrangeCXXStructorDeclaration(GD); in EmitVirtualDestructorCall()
2017 CGCallee Callee = CGCallee::forVirtual(CE, GD, This, Ty); in EmitVirtualDestructorCall()
2031 This = adjustThisArgumentForVirtualFunctionCall(CGF, GD, This, true); in EmitVirtualDestructorCall()
2033 CGF.EmitCXXDestructorCall(GD, Callee, This.emitRawPointer(CGF), ThisTy, in EmitVirtualDestructorCall()
4038 void MicrosoftCXXABI::emitCXXStructor(GlobalDecl GD) { in emitCXXStructor() argument
4039 if (auto *ctor = dyn_cast<CXXConstructorDecl>(GD.getDecl())) { in emitCXXStructor()
4042 CGM.codegenCXXStructor(GD.getWithCtorType(Ctor_Complete)); in emitCXXStructor()
4047 auto *dtor = cast<CXXDestructorDecl>(GD.getDecl()); in emitCXXStructor()
4052 if (GD.getDtorType() == Dtor_Complete && in emitCXXStructor()
4054 GD = GD.getWithDtorType(Dtor_Base); in emitCXXStructor()
4060 if (GD.getDtorType() == Dtor_Base && !CGM.TryEmitBaseDestructorAsAlias(dtor)) in emitCXXStructor()
4063 llvm::Function *Fn = CGM.codegenCXXStructor(GD); in emitCXXStructor()