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,
343 void adjustCallArgsForDestructorThunk(CodeGenFunction &CGF, GlobalDecl GD,
345 assert(GD.getDtorType() == Dtor_Deleting &&
404 GlobalDecl GD, bool ReturnAdjustment) override {
406 getContext().GetGVALinkageForFunction(cast<FunctionDecl>(GD.getDecl()));
602 CharUnits getVirtualFunctionPrologueThisAdjustment(GlobalDecl GD) override;
719 void emitCXXStructor(GlobalDecl GD) override;
1087 bool MicrosoftCXXABI::HasThisReturn(GlobalDecl GD) const {
1088 return isa<CXXConstructorDecl>(GD.getDecl());
1091 static bool isDeletingDtor(GlobalDecl GD) {
1092 return isa<CXXDestructorDecl>(GD.getDecl()) &&
1093 GD.getDtorType() == Dtor_Deleting;
1096 bool MicrosoftCXXABI::hasMostDerivedReturn(GlobalDecl GD) const {
1097 return isDeletingDtor(GD);
1339 MicrosoftCXXABI::buildStructorSignature(GlobalDecl GD,
1343 if (isa<CXXDestructorDecl>(GD.getDecl()) &&
1344 GD.getDtorType() == Dtor_Deleting) {
1349 auto *CD = dyn_cast<CXXConstructorDecl>(GD.getDecl());
1430 MicrosoftCXXABI::getVirtualFunctionPrologueThisAdjustment(GlobalDecl GD) {
1431 const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
1436 if (GD.getDtorType() == Dtor_Complete)
1441 GD = GlobalDecl(DD, Dtor_Deleting);
1445 CGM.getMicrosoftVTableContext().getMethodVFTableLocation(GD);
1465 CodeGenFunction &CGF, GlobalDecl GD, Address This,
1470 CharUnits Adjustment = getVirtualFunctionPrologueThisAdjustment(GD);
1479 const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
1481 GlobalDecl LookupGD = GD;
1485 if (GD.getDtorType() == Dtor_Complete)
1500 if (isa<CXXDestructorDecl>(MD) && GD.getDtorType() == Dtor_Base)
1661 GlobalDecl GD(DD, Type);
1662 CGCallee Callee = CGCallee::forDirect(CGM.getAddrOfCXXStructor(GD), GD);
1679 CGF.EmitCXXDestructorCall(GD, Callee, CGF.getAsNaturalPointerTo(This, ThisTy),
1947 GlobalDecl GD,
1955 adjustThisArgumentForVirtualFunctionCall(CGF, GD, This, true);
1957 auto *MethodDecl = cast<CXXMethodDecl>(GD.getDecl());
1962 MethodVFTableLocation ML = VFTContext.getMethodVFTableLocation(GD);
1992 CGCallee Callee(GD, VFunc);
2007 GlobalDecl GD(Dtor, Dtor_Deleting);
2009 &CGM.getTypes().arrangeCXXStructorDeclaration(GD);
2011 CGCallee Callee = CGCallee::forVirtual(CE, GD, This, Ty);
2025 This = adjustThisArgumentForVirtualFunctionCall(CGF, GD, This, true);
2027 CGF.EmitCXXDestructorCall(GD, Callee, This.emitRawPointer(CGF), ThisTy,
4031 void MicrosoftCXXABI::emitCXXStructor(GlobalDecl GD) {
4032 if (auto *ctor = dyn_cast<CXXConstructorDecl>(GD.getDecl())) {
4035 CGM.codegenCXXStructor(GD.getWithCtorType(Ctor_Complete));
4040 auto *dtor = cast<CXXDestructorDecl>(GD.getDecl());
4045 if (GD.getDtorType() == Dtor_Complete &&
4047 GD = GD.getWithDtorType(Dtor_Base);
4053 if (GD.getDtorType() == Dtor_Base && !CGM.TryEmitBaseDestructorAsAlias(dtor))
4056 llvm::Function *Fn = CGM.codegenCXXStructor(GD);