Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:RD

47   void BuildSIClassTypeInfo(const CXXRecordDecl *RD);
52 void BuildVMIClassTypeInfo(const CXXRecordDecl *RD);
257 const CXXRecordDecl *RD = cast<CXXRecordDecl>(RecordTy->getDecl());
258 if (!RD->hasDefinition())
261 if (!RD->isDynamicClass())
264 return !CGM.getVTables().ShouldEmitVTableInThisTU(RD);
338 const CXXRecordDecl *RD = cast<CXXRecordDecl>(Record->getDecl());
339 if (RD->isDynamicClass())
340 return CGM.getVTableLinkage(RD);
352 static bool CanUseSingleInheritance(const CXXRecordDecl *RD) {
354 if (RD->getNumBases() != 1)
358 CXXRecordDecl::base_class_const_iterator Base = RD->bases_begin();
372 BaseDecl->isDynamicClass() != RD->isDynamicClass())
435 const CXXRecordDecl *RD =
438 if (!RD->hasDefinition() || !RD->getNumBases()) {
440 } else if (CanUseSingleInheritance(RD)) {
631 const CXXRecordDecl *RD =
633 if (!RD->hasDefinition() || !RD->getNumBases()) {
638 if (CanUseSingleInheritance(RD))
639 BuildSIClassTypeInfo(RD);
641 BuildVMIClassTypeInfo(RD);
688 const CXXRecordDecl *RD = cast<CXXRecordDecl>(RT->getDecl());
690 CGM.setTypeVisibility(GV, RD, CodeGenModule::TVK_ForRTTI);
691 CGM.setTypeVisibility(TypeName, RD, CodeGenModule::TVK_ForRTTIName);
753 void RTTIBuilder::BuildSIClassTypeInfo(const CXXRecordDecl *RD) {
758 RTTIBuilder(CGM).BuildTypeInfo(RD->bases_begin()->getType());
816 static unsigned ComputeVMIClassTypeInfoFlags(const CXXRecordDecl *RD) {
821 for (CXXRecordDecl::base_class_const_iterator I = RD->bases_begin(),
822 E = RD->bases_end(); I != E; ++I)
831 void RTTIBuilder::BuildVMIClassTypeInfo(const CXXRecordDecl *RD) {
839 unsigned Flags = ComputeVMIClassTypeInfoFlags(RD);
845 Fields.push_back(llvm::ConstantInt::get(UnsignedIntLTy, RD->getNumBases()));
847 if (!RD->getNumBases())
870 for (CXXRecordDecl::base_class_const_iterator I = RD->bases_begin(),
871 E = RD->bases_end(); I != E; ++I) {
889 CGM.getVTableContext().getVirtualBaseOffsetOffset(RD, BaseDecl);
891 const ASTRecordLayout &Layout = CGM.getContext().getASTRecordLayout(RD);