Lines Matching defs:MPT
428 GetNullMemberPointerFields(const MemberPointerType *MPT,
468 bool MemberPointerConstantIsNull(const MemberPointerType *MPT,
483 llvm::Type *ConvertMemberPointerType(const MemberPointerType *MPT) override;
485 bool isZeroInitializable(const MemberPointerType *MPT) override;
487 llvm::Constant *EmitNullMemberPointer(const MemberPointerType *MPT) override;
489 llvm::Constant *EmitMemberDataPointer(const MemberPointerType *MPT,
492 llvm::Constant *EmitMemberPointer(const APValue &MP, QualType MPT) override;
497 const MemberPointerType *MPT,
502 const MemberPointerType *MPT) override;
507 const MemberPointerType *MPT) override;
519 const MemberPointerType *MPT) override;
1804 bool MicrosoftCXXABI::isZeroInitializable(const MemberPointerType *MPT) {
1807 if (MPT->isMemberFunctionPointer())
1813 const CXXRecordDecl *RD = MPT->getMostRecentCXXRecordDecl();
1820 MicrosoftCXXABI::ConvertMemberPointerType(const MemberPointerType *MPT) {
1821 const CXXRecordDecl *RD = MPT->getMostRecentCXXRecordDecl();
1824 if (MPT->isMemberFunctionPointer())
1829 if (MSInheritanceAttr::hasNVOffsetField(MPT->isMemberFunctionPointer(),
1843 GetNullMemberPointerFields(const MemberPointerType *MPT,
1846 const CXXRecordDecl *RD = MPT->getMostRecentCXXRecordDecl();
1848 if (MPT->isMemberFunctionPointer()) {
1858 if (MSInheritanceAttr::hasNVOffsetField(MPT->isMemberFunctionPointer(),
1868 MicrosoftCXXABI::EmitNullMemberPointer(const MemberPointerType *MPT) {
1870 GetNullMemberPointerFields(MPT, fields);
1874 assert(Res->getType() == ConvertMemberPointerType(MPT));
1913 MicrosoftCXXABI::EmitMemberDataPointer(const MemberPointerType *MPT,
1915 const CXXRecordDecl *RD = MPT->getMostRecentCXXRecordDecl();
1928 const MemberPointerType *MPT = MPType->castAs<MemberPointerType>();
1931 return EmitNullMemberPointer(MPT);
1938 return BuildMemberPointer(MPT->getMostRecentCXXRecordDecl(), MD,
1943 return EmitMemberDataPointer(MPT, ThisAdjustment + FieldOffset);
2005 const MemberPointerType *MPT,
2024 const CXXRecordDecl *RD = MPT->getMostRecentCXXRecordDecl();
2026 if (MSInheritanceAttr::hasOnlyOneField(MPT->isMemberFunctionPointer(),
2049 if (MPT->isMemberFunctionPointer()) {
2064 const MemberPointerType *MPT) {
2068 if (MPT->isMemberFunctionPointer())
2071 GetNullMemberPointerFields(MPT, fields);
2080 if (MPT->isMemberFunctionPointer())
2092 bool MicrosoftCXXABI::MemberPointerConstantIsNull(const MemberPointerType *MPT,
2095 if (MPT->isMemberFunctionPointer()) {
2103 if (isZeroInitializable(MPT) && Val->isNullValue())
2109 GetNullMemberPointerFields(MPT, Fields);
2204 const MemberPointerType *MPT) {
2205 assert(MPT->isMemberDataPointer());
2208 CGF.ConvertTypeForMem(MPT->getPointeeType())->getPointerTo(AS);
2210 const CXXRecordDecl *RD = MPT->getMostRecentCXXRecordDecl();
2246 getInheritanceFromMemptr(const MemberPointerType *MPT) {
2247 return MPT->getMostRecentCXXRecordDecl()->getMSInheritanceModel();
2439 llvm::Value *MemPtr, const MemberPointerType *MPT) {
2440 assert(MPT->isMemberFunctionPointer());
2442 MPT->getPointeeType()->castAs<FunctionProtoType>();
2443 const CXXRecordDecl *RD = MPT->getMostRecentCXXRecordDecl();
2461 if (MSInheritanceAttr::hasNVOffsetField(MPT, Inheritance))