Lines Matching defs:RD
43 const CXXRecordDecl *RD) {
44 VTTBuilder Builder(CGM.getContext(), RD, /*GenerateDefinition=*/true);
53 VTables.push_back(GetAddrOfVTTVTable(*this, CGM, RD, *i, Linkage,
63 if (VTTVT.getBase() == RD) {
66 getItaniumVTableContext().getVTableLayout(RD).getAddressPoint(
114 CGM.setGVProperties(VTT, RD);
117 llvm::GlobalVariable *CodeGenVTables::GetAddrOfVTT(const CXXRecordDecl *RD) {
118 assert(RD->getNumVBases() && "Only classes with virtual bases need a VTT");
123 .mangleCXXVTT(RD, Out);
127 (void) CGM.getCXXABI().getAddrOfVTable(RD, CharUnits());
129 VTTBuilder Builder(CGM.getContext(), RD, /*GenerateDefinition=*/false);
138 CGM.setGVProperties(GV, RD);
142 uint64_t CodeGenVTables::getSubVTTIndex(const CXXRecordDecl *RD,
144 BaseSubobjectPairTy ClassSubobjectPair(RD, Base);
150 VTTBuilder Builder(CGM.getContext(), RD, /*GenerateDefinition=*/false);
157 BaseSubobjectPairTy ClassSubobjectPair(RD, I->first);
169 CodeGenVTables::getSecondaryVirtualPointerIndex(const CXXRecordDecl *RD,
172 SecondaryVirtualPointerIndices.find(std::make_pair(RD, Base));
177 VTTBuilder Builder(CGM.getContext(), RD, /*GenerateDefinition=*/false);
184 std::make_pair(RD, I->first);
189 I = SecondaryVirtualPointerIndices.find(std::make_pair(RD, Base));