Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:MD

205   void buildStructorSignature(const CXXMethodDecl *MD, StructorType T,
217 getThisArgumentTypeForMethod(const CXXMethodDecl *MD) override {
218 MD = MD->getCanonicalDecl();
219 if (MD->isVirtual() && !isa<CXXDestructorDecl>(MD)) {
221 CGM.getMicrosoftVTableContext().getMethodVFTableLocation(MD);
231 return MD->getParent();
608 /// \brief Generate a thunk for calling a virtual member function MD.
610 const CXXMethodDecl *MD,
627 llvm::Constant *EmitMemberFunctionPointer(const CXXMethodDecl *MD) override;
669 void emitCXXStructor(const CXXMethodDecl *MD, StructorType Type) override;
1181 const CXXMethodDecl *MD) {
1185 MD->getType()->getAs<FunctionProtoType>()->getCallConv();
1232 MicrosoftCXXABI::buildStructorSignature(const CXXMethodDecl *MD, StructorType T,
1239 auto *CD = dyn_cast<CXXConstructorDecl>(MD);
1265 const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
1268 if (const CXXDestructorDecl *DD = dyn_cast<CXXDestructorDecl>(MD)) {
1287 if (isa<CXXDestructorDecl>(MD))
1292 getContext().getASTRecordLayout(MD->getParent());
1315 const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
1318 if (const CXXDestructorDecl *DD = dyn_cast<CXXDestructorDecl>(MD)) {
1336 if (isa<CXXDestructorDecl>(MD) && GD.getDtorType() == Dtor_Base)
1343 const CXXRecordDecl *Derived = MD->getParent();
1373 const CXXMethodDecl *MD = cast<CXXMethodDecl>(CGF.CurGD.getDecl());
1374 assert(isa<CXXConstructorDecl>(MD) || isa<CXXDestructorDecl>(MD));
1375 if (isa<CXXConstructorDecl>(MD) && MD->getParent()->getNumVBases()) {
1383 const FunctionProtoType *FPT = MD->getType()->castAs<FunctionProtoType>();
1439 const CXXMethodDecl *MD = cast<CXXMethodDecl>(CGF.CurGD.getDecl());
1440 if (isa<CXXConstructorDecl>(MD) && MD->getParent()->getNumVBases()) {
1881 const CXXMethodDecl *MD,
1883 assert(!isa<CXXConstructorDecl>(MD) && !isa<CXXDestructorDecl>(MD) &&
1889 getMangleContext().mangleVirtualMemPtrThunk(MD, Out);
1896 const CGFunctionInfo &FnInfo = CGM.getTypes().arrangeMSMemberPointerThunk(MD);
1903 ThunkFn->setLinkage(MD->isExternallyVisible()
1906 if (MD->isExternallyVisible())
1909 CGM.SetLLVMFunctionAttributes(MD, FnInfo, ThunkFn);
1910 CGM.SetLLVMFunctionAttributesForDefinition(MD, ThunkFn);
1923 CGF.CurGD = GlobalDecl(MD);
1933 FunctionArgs, MD->getLocation(), SourceLocation());
1939 getThisAddress(CGF), ThunkTy->getPointerTo()->getPointerTo(), MD->getParent());
1946 CGF.EmitMustTailThunk(MD, getThisValue(CGF), Callee);
2618 if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(MPD)) {
2619 C = EmitMemberFunctionPointer(MD);
2662 MicrosoftCXXABI::EmitMemberFunctionPointer(const CXXMethodDecl *MD) {
2663 assert(MD->isInstance() && "Member function must not be static!");
2665 MD = MD->getCanonicalDecl();
2667 const CXXRecordDecl *RD = MD->getParent()->getMostRecentDecl();
2672 const FunctionProtoType *FPT = MD->getType()->castAs<FunctionProtoType>();
2673 if (!MD->isVirtual()) {
2678 Ty = Types.GetFunctionType(Types.arrangeCXXMethodDeclaration(MD));
2684 FirstField = CGM.GetAddrOfFunction(MD, Ty);
2688 VTableContext.getMethodVFTableLocation(MD);
2689 FirstField = EmitVirtualMemPtrThunk(MD, ML);
3769 void MicrosoftCXXABI::emitCXXStructor(const CXXMethodDecl *MD,
3771 if (auto *CD = dyn_cast<CXXConstructorDecl>(MD)) {
3775 emitCXXDestructor(CGM, cast<CXXDestructorDecl>(MD), Type);