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 283 of file Record.cpp.
|
static |
Get the record type with the given non-redundant list of superclasses.
Definition at line 246 of file Record.cpp.
References llvm::BumpPtrAllocatorImpl< AllocatorT, SlabSize, SizeThreshold, GrowthDelay >::Allocate(), llvm::detail::RecordKeeperImpl::Allocator, llvm::detail::RecordKeeperImpl::AnyRecord, assert(), llvm::ArrayRef< T >::empty(), llvm::FoldingSetImpl< Derived, T >::FindNodeOrInsertPos(), llvm::FoldingSetImpl< Derived, T >::InsertNode(), isSubClassOf(), ProfileRecordRecTy(), Record, llvm::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 292 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 306 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 288 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 325 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 312 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().