Lines Matching defs:GD

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