Lines Matching defs:GD

79   bool isThisCompleteObject(GlobalDecl GD) const override {
82 if (isa<CXXDestructorDecl>(GD.getDecl())) {
83 switch (GD.getDtorType()) {
96 if (isa<CXXConstructorDecl>(GD.getDecl())) {
97 switch (GD.getCtorType()) {
253 buildStructorSignature(GlobalDecl GD,
313 CGCallee getVirtualFunctionPointer(CodeGenFunction &CGF, GlobalDecl GD,
328 void setThunkLinkage(llvm::Function *Thunk, bool ForVTable, GlobalDecl GD,
334 CGM.setGVProperties(Thunk, GD);
389 bool NeedsVTTParameter(GlobalDecl GD) override;
425 void emitCXXStructor(GlobalDecl GD) override;
1831 ItaniumCXXABI::buildStructorSignature(GlobalDecl GD,
1839 if ((isa<CXXConstructorDecl>(GD.getDecl()) ? GD.getCtorType() == Ctor_Base
1840 : GD.getDtorType() == Dtor_Base) &&
1841 cast<CXXMethodDecl>(GD.getDecl())->getParent()->getNumVBases() != 0) {
1936 GlobalDecl GD(DD, Type);
1937 return CGF.GetVTTParameter(GD, ForVirtualBase, Delegating);
1945 GlobalDecl GD(DD, Type);
1955 Callee = CGCallee::forDirect(CGM.getAddrOfCXXStructor(GD), GD);
1957 CGF.EmitCXXDestructorCall(GD, Callee, CGF.getAsNaturalPointerTo(This, ThisTy),
2179 GlobalDecl GD,
2184 auto *MethodDecl = cast<CXXMethodDecl>(GD.getDecl());
2187 uint64_t VTableIndex = CGM.getItaniumVTableContext().getMethodVTableIndex(GD);
2232 GD = CGM.getItaniumVTableContext().findOriginalMethod(GD.getCanonicalDecl());
2233 PointerAuth = CGF.EmitPointerAuthInfo(Schema, VTableSlotPtr, GD, QualType());
2235 CGCallee Callee(GD, VFunc, PointerAuth);
2248 GlobalDecl GD(Dtor, DtorType);
2250 &CGM.getTypes().arrangeCXXStructorDeclaration(GD);
2252 CGCallee Callee = CGCallee::forVirtual(CE, GD, This, Ty);
2261 CGF.EmitCXXDestructorCall(GD, Callee, This.emitRawPointer(CGF), ThisTy,
3332 bool ItaniumCXXABI::NeedsVTTParameter(GlobalDecl GD) {
3333 const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
3340 if (isa<CXXConstructorDecl>(MD) && GD.getCtorType() == Ctor_Base)
3344 if (isa<CXXDestructorDecl>(MD) && GD.getDtorType() == Dtor_Base)
4699 void ItaniumCXXABI::emitCXXStructor(GlobalDecl GD) {
4700 auto *MD = cast<CXXMethodDecl>(GD.getDecl());
4706 if (CD ? GD.getCtorType() == Ctor_Complete
4707 : GD.getDtorType() == Dtor_Complete) {
4710 BaseDecl = GD.getWithCtorType(Ctor_Base);
4712 BaseDecl = GD.getWithDtorType(Dtor_Base);
4715 emitConstructorDestructorAlias(CGM, GD, BaseDecl);
4720 StringRef MangledName = CGM.getMangledName(GD);
4731 if (DD && GD.getDtorType() == Dtor_Base &&
4748 llvm::Function *Fn = CGM.codegenCXXStructor(GD);