|
LLVM 22.0.0git
|
'[classname]' - Type of record values that have zero or more superclasses. More...
#include "llvm/TableGen/Record.h"
Public Types | |
| using | const_record_iterator = const Record *const * |
| Public Types inherited from llvm::RecTy | |
| enum | RecTyKind { BitRecTyKind , BitsRecTyKind , IntRecTyKind , StringRecTyKind , ListRecTyKind , DagRecTyKind , RecordRecTyKind } |
| Subclass discriminator (for dyn_cast<> et al.) More... | |
Public Member Functions | |
| RecordRecTy (const RecordRecTy &)=delete | |
| RecordRecTy & | operator= (const RecordRecTy &)=delete |
| void | operator delete (void *Ptr) |
| void | Profile (FoldingSetNodeID &ID) const |
| ArrayRef< const Record * > | getClasses () const |
| const_record_iterator | classes_begin () const |
| const_record_iterator | classes_end () const |
| std::string | getAsString () const override |
| bool | isSubClassOf (const Record *Class) const |
| bool | typeIsConvertibleTo (const RecTy *RHS) const override |
| Return true if all values of 'this' type can be converted to the specified type. | |
| bool | typeIsA (const RecTy *RHS) const override |
| Return true if 'this' type is equal to or a subtype of RHS. | |
| Public Member Functions inherited from llvm::RecTy | |
| RecTy (RecTyKind K, RecordKeeper &RK) | |
| virtual | ~RecTy ()=default |
| RecTyKind | getRecTyKind () const |
| RecordKeeper & | getRecordKeeper () const |
| Return the RecordKeeper that uniqued this Type. | |
| void | print (raw_ostream &OS) const |
| void | dump () const |
| const ListRecTy * | getListTy () const |
| Returns the type representing list<thistype>. | |
| Public Member Functions inherited from llvm::FoldingSetBase::Node | |
| Node ()=default | |
| void * | getNextInBucket () const |
| void | SetNextInBucket (void *N) |
Static Public Member Functions | |
| static bool | classof (const RecTy *RT) |
| static const RecordRecTy * | get (RecordKeeper &RK, ArrayRef< const Record * > Classes) |
| Get the record type with the given non-redundant list of superclasses. | |
| static const RecordRecTy * | get (const Record *Class) |
Friends | |
| class | Record |
'[classname]' - Type of record values that have zero or more superclasses.
The list of superclasses is non-redundant, i.e. only contains classes that are not the superclass of some other listed class.
| using llvm::RecordRecTy::const_record_iterator = const Record *const * |
|
delete |
|
inline |
Definition at line 267 of file Record.h.
References getClasses().
|
inline |
Definition at line 268 of file Record.h.
References getClasses().
Definition at line 250 of file Record.h.
References llvm::RecTy::getRecTyKind(), llvm::RecTy::RecordRecTyKind, and llvm::RecTy::RecTy().
|
static |
Definition at line 279 of file Record.cpp.
|
static |
Get the record type with the given non-redundant list of superclasses.
Definition at line 242 of file Record.cpp.
References detail::RecordKeeperImpl::Allocator, detail::RecordKeeperImpl::AnyRecord, assert(), llvm::ArrayRef< T >::empty(), llvm::FoldingSetImpl< Derived, T >::FindNodeOrInsertPos(), llvm::FoldingSetImpl< Derived, T >::InsertNode(), isSubClassOf(), ProfileRecordRecTy(), Record, detail::RecordKeeperImpl::RecordTypePool, llvm::SmallVectorTemplateCommon< T, typename >::size(), llvm::sort(), and llvm::TrailingObjects< RecordRecTy, const Record * >::totalSizeToAlloc().
Referenced by get(), llvm::Record::getType(), and resolveRecordTypes().
|
overridevirtual |
Implements llvm::RecTy.
Definition at line 288 of file Record.cpp.
References getClasses(), and Record.
Definition at line 261 of file Record.h.
References llvm::TrailingObjects< RecordRecTy, const Record * >::getTrailingObjects().
Referenced by classes_begin(), classes_end(), getAsString(), isSubClassOf(), and Profile().
Definition at line 302 of file Record.cpp.
References llvm::any_of(), getClasses(), llvm::Record::isSubClassOf(), and Record.
Referenced by get().
|
inline |
|
delete |
| void RecordRecTy::Profile | ( | FoldingSetNodeID & | ID | ) | const |
Definition at line 284 of file Record.cpp.
References getClasses(), and ProfileRecordRecTy().
Return true if 'this' type is equal to or a subtype of RHS.
For example, a bit set is not an int, but they are convertible.
Reimplemented from llvm::RecTy.
Definition at line 321 of file Record.cpp.
References llvm::RecTy::RecTy(), and typeIsConvertibleTo().
Referenced by llvm::ExistsOpInit::Fold().
Return true if all values of 'this' type can be converted to the specified type.
Reimplemented from llvm::RecTy.
Definition at line 308 of file Record.cpp.
References llvm::all_of(), llvm::dyn_cast(), Record, and llvm::RecTy::RecTy().
Referenced by typeIsA().
|
friend |
Definition at line 236 of file Record.h.
References Record.
Referenced by get(), get(), getAsString(), isSubClassOf(), Record, and typeIsConvertibleTo().