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(
115 CGM.setGVProperties(VTT, RD);
118 llvm::GlobalVariable *CodeGenVTables::GetAddrOfVTT(const CXXRecordDecl *RD) {
119 assert(RD->getNumVBases() && "Only classes with virtual bases need a VTT");
124 .mangleCXXVTT(RD, Out);
128 (void) CGM.getCXXABI().getAddrOfVTable(RD, CharUnits());
130 VTTBuilder Builder(CGM.getContext(), RD, /*GenerateDefinition=*/false);
139 CGM.setGVProperties(GV, RD);
143 uint64_t CodeGenVTables::getSubVTTIndex(const CXXRecordDecl *RD,
145 BaseSubobjectPairTy ClassSubobjectPair(RD, Base);
151 VTTBuilder Builder(CGM.getContext(), RD, /*GenerateDefinition=*/false);
158 BaseSubobjectPairTy ClassSubobjectPair(RD, I->first);
170 CodeGenVTables::getSecondaryVirtualPointerIndex(const CXXRecordDecl *RD,
173 SecondaryVirtualPointerIndices.find(std::make_pair(RD, Base));
178 VTTBuilder Builder(CGM.getContext(), RD, /*GenerateDefinition=*/false);
185 std::make_pair(RD, I->first);
190 I = SecondaryVirtualPointerIndices.find(std::make_pair(RD, Base));