Lines Matching full: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,
238 const CXXRecordDecl *getThisArgumentTypeForMethod(GlobalDecl GD) override { in getThisArgumentTypeForMethod() argument
239 auto *MD = cast<CXXMethodDecl>(GD.getDecl()); in getThisArgumentTypeForMethod()
242 GlobalDecl LookupGD = GD; in getThisArgumentTypeForMethod()
246 if (GD.getDtorType() == Dtor_Complete) in getThisArgumentTypeForMethod()
269 adjustThisArgumentForVirtualFunctionCall(CodeGenFunction &CGF, GlobalDecl GD,
325 CGCallee getVirtualFunctionPointer(CodeGenFunction &CGF, GlobalDecl GD,
334 void adjustCallArgsForDestructorThunk(CodeGenFunction &CGF, GlobalDecl GD, in adjustCallArgsForDestructorThunk() argument
336 assert(GD.getDtorType() == Dtor_Deleting && in adjustCallArgsForDestructorThunk()
395 GlobalDecl GD, bool ReturnAdjustment) override { in setThunkLinkage() argument
397 getContext().GetGVALinkageForFunction(cast<FunctionDecl>(GD.getDecl())); in setThunkLinkage()
597 CharUnits getVirtualFunctionPrologueThisAdjustment(GlobalDecl GD) override;
714 void emitCXXStructor(GlobalDecl GD) override;
1089 bool MicrosoftCXXABI::HasThisReturn(GlobalDecl GD) const { in HasThisReturn()
1090 return isa<CXXConstructorDecl>(GD.getDecl()); in HasThisReturn()
1093 static bool isDeletingDtor(GlobalDecl GD) { in isDeletingDtor() argument
1094 return isa<CXXDestructorDecl>(GD.getDecl()) && in isDeletingDtor()
1095 GD.getDtorType() == Dtor_Deleting; in isDeletingDtor()
1098 bool MicrosoftCXXABI::hasMostDerivedReturn(GlobalDecl GD) const { in hasMostDerivedReturn()
1099 return isDeletingDtor(GD); in hasMostDerivedReturn()
1306 MicrosoftCXXABI::buildStructorSignature(GlobalDecl GD, in buildStructorSignature() argument
1310 if (isa<CXXDestructorDecl>(GD.getDecl()) && in buildStructorSignature()
1311 GD.getDtorType() == Dtor_Deleting) { in buildStructorSignature()
1316 auto *CD = dyn_cast<CXXConstructorDecl>(GD.getDecl()); in buildStructorSignature()
1398 MicrosoftCXXABI::getVirtualFunctionPrologueThisAdjustment(GlobalDecl GD) { in getVirtualFunctionPrologueThisAdjustment() argument
1399 const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl()); in getVirtualFunctionPrologueThisAdjustment()
1404 if (GD.getDtorType() == Dtor_Complete) in getVirtualFunctionPrologueThisAdjustment()
1409 GD = GlobalDecl(DD, Dtor_Deleting); in getVirtualFunctionPrologueThisAdjustment()
1413 CGM.getMicrosoftVTableContext().getMethodVFTableLocation(GD); in getVirtualFunctionPrologueThisAdjustment()
1433 CodeGenFunction &CGF, GlobalDecl GD, Address This, in adjustThisArgumentForVirtualFunctionCall() argument
1438 CharUnits Adjustment = getVirtualFunctionPrologueThisAdjustment(GD); in adjustThisArgumentForVirtualFunctionCall()
1447 const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl()); in adjustThisArgumentForVirtualFunctionCall()
1449 GlobalDecl LookupGD = GD; in adjustThisArgumentForVirtualFunctionCall()
1453 if (GD.getDtorType() == Dtor_Complete) in adjustThisArgumentForVirtualFunctionCall()
1468 if (isa<CXXDestructorDecl>(MD) && GD.getDtorType() == Dtor_Base) in adjustThisArgumentForVirtualFunctionCall()
1637 GlobalDecl GD(DD, Type); in EmitDestructorCall() local
1638 CGCallee Callee = CGCallee::forDirect(CGM.getAddrOfCXXStructor(GD), GD); in EmitDestructorCall()
1655 CGF.EmitCXXDestructorCall(GD, Callee, This.getPointer(), ThisTy, in EmitDestructorCall()
1927 GlobalDecl GD, in getVirtualFunctionPointer() argument
1935 adjustThisArgumentForVirtualFunctionCall(CGF, GD, This, true); in getVirtualFunctionPointer()
1937 auto *MethodDecl = cast<CXXMethodDecl>(GD.getDecl()); in getVirtualFunctionPointer()
1942 MethodVFTableLocation ML = VFTContext.getMethodVFTableLocation(GD); in getVirtualFunctionPointer()
1972 CGCallee Callee(GD, VFunc); in getVirtualFunctionPointer()
1987 GlobalDecl GD(Dtor, Dtor_Deleting); in EmitVirtualDestructorCall() local
1989 &CGM.getTypes().arrangeCXXStructorDeclaration(GD); in EmitVirtualDestructorCall()
1991 CGCallee Callee = CGCallee::forVirtual(CE, GD, This, Ty); in EmitVirtualDestructorCall()
2005 This = adjustThisArgumentForVirtualFunctionCall(CGF, GD, This, true); in EmitVirtualDestructorCall()
2006 RValue RV = CGF.EmitCXXDestructorCall(GD, Callee, This.getPointer(), ThisTy, in EmitVirtualDestructorCall()
4036 void MicrosoftCXXABI::emitCXXStructor(GlobalDecl GD) { in emitCXXStructor() argument
4037 if (auto *ctor = dyn_cast<CXXConstructorDecl>(GD.getDecl())) { in emitCXXStructor()
4040 CGM.codegenCXXStructor(GD.getWithCtorType(Ctor_Complete)); in emitCXXStructor()
4045 auto *dtor = cast<CXXDestructorDecl>(GD.getDecl()); in emitCXXStructor()
4050 if (GD.getDtorType() == Dtor_Complete && in emitCXXStructor()
4052 GD = GD.getWithDtorType(Dtor_Base); in emitCXXStructor()
4058 if (GD.getDtorType() == Dtor_Base && !CGM.TryEmitBaseDestructorAsAlias(dtor)) in emitCXXStructor()
4061 llvm::Function *Fn = CGM.codegenCXXStructor(GD); in emitCXXStructor()