• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/clang/lib/CodeGen/

Lines Matching refs:RD

48 void CodeGenTypes::addRecordTypeName(const RecordDecl *RD,
53 OS << RD->getKindName() << '.';
57 if (RD->getIdentifier()) {
60 if (RD->getDeclContext())
61 RD->printQualifiedName(OS);
63 RD->printName(OS);
64 } else if (const TypedefNameDecl *TDD = RD->getTypedefNameForAnonDecl()) {
121 isSafeToConvert(const RecordDecl *RD, CodeGenTypes &CGT,
125 if (!AlreadyChecked.insert(RD).second)
128 const Type *Key = CGT.getContext().getTagDeclType(RD).getTypePtr();
141 if (const CXXRecordDecl *CRD = dyn_cast<CXXRecordDecl>(RD)) {
150 for (const auto *I : RD->fields())
186 static bool isSafeToConvert(const RecordDecl *RD, CodeGenTypes &CGT) {
191 return isSafeToConvert(RD, CGT, AlreadyChecked);
269 const RecordDecl *RD = cast<RecordDecl>(TD);
270 if (RD->isDependentType()) return;
274 if (RecordDeclTypes.count(Context.getTagDeclType(RD).getTypePtr()))
275 ConvertRecordDeclType(RD);
280 DI->completeType(RD);
283 void CodeGenTypes::RefreshTypeCacheForClass(const CXXRecordDecl *RD) {
284 QualType T = Context.getRecordType(RD);
787 llvm::StructType *CodeGenTypes::ConvertRecordDeclType(const RecordDecl *RD) {
790 const Type *Key = Context.getTagDeclType(RD).getTypePtr();
797 addRecordTypeName(RD, Entry, "");
803 RD = RD->getDefinition();
804 if (!RD || !RD->isCompleteDefinition() || !Ty->isOpaque())
808 if (!isSafeToConvert(RD, *this)) {
809 DeferredRecords.push_back(RD);
819 if (const CXXRecordDecl *CRD = dyn_cast<CXXRecordDecl>(RD)) {
827 std::unique_ptr<CGRecordLayout> Layout = ComputeRecordLayout(RD, Ty);
851 CodeGenTypes::getCGRecordLayout(const RecordDecl *RD) {
852 const Type *Key = Context.getTagDeclType(RD).getTypePtr();
858 ConvertRecordDeclType(RD);
889 const RecordDecl *RD = RT->getDecl();
890 return isZeroInitializable(RD);
901 bool CodeGenTypes::isZeroInitializable(const RecordDecl *RD) {
902 return getCGRecordLayout(RD).isZeroInitializable();