Lines Matching refs:GD
77 bool isThisCompleteObject(GlobalDecl GD) const override {
80 if (isa<CXXDestructorDecl>(GD.getDecl())) {
81 switch (GD.getDtorType()) {
94 if (isa<CXXConstructorDecl>(GD.getDecl())) {
95 switch (GD.getCtorType()) {
207 buildStructorSignature(GlobalDecl GD,
271 CGCallee getVirtualFunctionPointer(CodeGenFunction &CGF, GlobalDecl GD,
285 void setThunkLinkage(llvm::Function *Thunk, bool ForVTable, GlobalDecl GD,
291 CGM.setGVProperties(Thunk, GD);
378 bool NeedsVTTParameter(GlobalDecl GD) override;
411 void emitCXXStructor(GlobalDecl GD) override;
470 bool HasThisReturn(GlobalDecl GD) const override {
471 return (isa<CXXConstructorDecl>(GD.getDecl()) || (
472 isa<CXXDestructorDecl>(GD.getDecl()) &&
473 GD.getDtorType() != Dtor_Deleting));
505 bool HasThisReturn(GlobalDecl GD) const override {
506 return isa<CXXConstructorDecl>(GD.getDecl()) ||
507 (isa<CXXDestructorDecl>(GD.getDecl()) &&
508 GD.getDtorType() != Dtor_Deleting);
523 bool HasThisReturn(GlobalDecl GD) const override {
524 return isa<CXXConstructorDecl>(GD.getDecl()) ||
525 (isa<CXXDestructorDecl>(GD.getDecl()) &&
526 GD.getDtorType() != Dtor_Deleting);
1615 ItaniumCXXABI::buildStructorSignature(GlobalDecl GD,
1623 if ((isa<CXXConstructorDecl>(GD.getDecl()) ? GD.getCtorType() == Ctor_Base
1624 : GD.getDtorType() == Dtor_Base) &&
1625 cast<CXXMethodDecl>(GD.getDecl())->getParent()->getNumVBases() != 0) {
1712 GlobalDecl GD(DD, Type);
1713 return CGF.GetVTTParameter(GD, ForVirtualBase, Delegating);
1721 GlobalDecl GD(DD, Type);
1731 Callee = CGCallee::forDirect(CGM.getAddrOfCXXStructor(GD), GD);
1733 CGF.EmitCXXDestructorCall(GD, Callee, This.getPointer(), ThisTy, VTT, VTTTy,
1941 GlobalDecl GD,
1945 auto *MethodDecl = cast<CXXMethodDecl>(GD.getDecl());
1949 uint64_t VTableIndex = CGM.getItaniumVTableContext().getMethodVTableIndex(GD);
1993 CGCallee Callee(GD, VFunc);
2006 GlobalDecl GD(Dtor, DtorType);
2008 &CGM.getTypes().arrangeCXXStructorDeclaration(GD);
2010 CGCallee Callee = CGCallee::forVirtual(CE, GD, This, Ty);
2019 GD, Callee, This.getPointer(), ThisTy, nullptr,
3022 bool ItaniumCXXABI::NeedsVTTParameter(GlobalDecl GD) {
3023 const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
3030 if (isa<CXXConstructorDecl>(MD) && GD.getCtorType() == Ctor_Base)
3034 if (isa<CXXDestructorDecl>(MD) && GD.getDtorType() == Dtor_Base)
4291 void ItaniumCXXABI::emitCXXStructor(GlobalDecl GD) {
4292 auto *MD = cast<CXXMethodDecl>(GD.getDecl());
4298 if (CD ? GD.getCtorType() == Ctor_Complete
4299 : GD.getDtorType() == Dtor_Complete) {
4302 BaseDecl = GD.getWithCtorType(Ctor_Base);
4304 BaseDecl = GD.getWithDtorType(Dtor_Base);
4307 emitConstructorDestructorAlias(CGM, GD, BaseDecl);
4312 StringRef MangledName = CGM.getMangledName(GD);
4323 if (DD && GD.getDtorType() == Dtor_Base &&
4340 llvm::Function *Fn = CGM.codegenCXXStructor(GD);