LLVM
8.0.1
|
#include "llvm/TableGen/Record.h"
Public Types | |
enum | RecTyKind { BitRecTyKind, BitsRecTyKind, CodeRecTyKind, IntRecTyKind, StringRecTyKind, ListRecTyKind, DagRecTyKind, RecordRecTyKind } |
Subclass discriminator (for dyn_cast<> et al.) More... | |
Public Member Functions | |
RecTy (RecTyKind K) | |
virtual | ~RecTy ()=default |
RecTyKind | getRecTyKind () const |
virtual std::string | getAsString () const =0 |
void | print (raw_ostream &OS) const |
void | dump () const |
virtual bool | typeIsConvertibleTo (const RecTy *RHS) const |
Return true if all values of 'this' type can be converted to the specified type. More... | |
virtual bool | typeIsA (const RecTy *RHS) const |
Return true if 'this' type is equal to or a subtype of RHS. More... | |
ListRecTy * | getListTy () |
Returns the type representing list<this>. More... | |
|
inline |
|
virtualdefault |
Referenced by RecTy().
LLVM_DUMP_METHOD void RecTy::dump | ( | ) | const |
Definition at line 53 of file Record.cpp.
References llvm::errs(), and print().
Referenced by llvm::RecordKeeper::addExtraGlobal(), llvm::Init::getAsUnquotedString(), llvm::RecordVal::getValue(), llvm::Record::isAnonymous(), and print().
|
pure virtual |
Implemented in llvm::RecordRecTy, llvm::DagRecTy, llvm::ListRecTy, llvm::StringRecTy, llvm::IntRecTy, llvm::CodeRecTy, llvm::BitsRecTy, and llvm::BitRecTy.
Referenced by llvm::BitsInit::allInComplete(), llvm::RecordRecTy::classes_end(), llvm::VarDefInit::classof(), llvm::UnOpInit::Fold(), llvm::StringRecTy::get(), llvm::DagRecTy::get(), llvm::DagInit::getArgNames(), llvm::Init::getAsUnquotedString(), llvm::VarBitInit::getBitNum(), llvm::VarListElementInit::getElementNum(), llvm::ListRecTy::getElementType(), llvm::ListInit::getElementType(), llvm::BitsRecTy::getNumBits(), llvm::UnOpInit::getOperand(), getRecTyKind(), llvm::BinOpInit::getRHS(), llvm::TernOpInit::isComplete(), llvm::FoldOpInit::isComplete(), llvm::IsAOpInit::isComplete(), llvm::IntInit::isConcrete(), llvm::DefInit::isConcrete(), print(), llvm::Init::print(), and QualifiedNameOfImplicitName().
ListRecTy * RecTy::getListTy | ( | ) |
Returns the type representing list<this>.
Definition at line 56 of file Record.cpp.
References Allocator.
Referenced by llvm::ListRecTy::get(), print(), and llvm::resolveTypes().
|
inline |
Definition at line 77 of file Record.h.
References getAsString().
Referenced by llvm::BitRecTy::classof(), llvm::BitsRecTy::classof(), llvm::CodeRecTy::classof(), llvm::IntRecTy::classof(), llvm::StringRecTy::classof(), llvm::ListRecTy::classof(), llvm::DagRecTy::classof(), llvm::RecordRecTy::classof(), typeIsConvertibleTo(), llvm::BitRecTy::typeIsConvertibleTo(), llvm::BitsRecTy::typeIsConvertibleTo(), llvm::CodeRecTy::typeIsConvertibleTo(), llvm::IntRecTy::typeIsConvertibleTo(), and llvm::StringRecTy::typeIsConvertibleTo().
|
inline |
Definition at line 80 of file Record.h.
References dump(), getAsString(), getListTy(), typeIsA(), and typeIsConvertibleTo().
Referenced by dump(), llvm::Init::dump(), llvm::RecordVal::getValue(), llvm::Record::isAnonymous(), and llvm::operator<<().
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 in llvm::RecordRecTy, llvm::ListRecTy, and llvm::BitsRecTy.
Definition at line 67 of file Record.cpp.
Referenced by llvm::RecordRecTy::classes_end(), llvm::TypedInit::convertInitializerTo(), llvm::UnOpInit::Fold(), llvm::TypedInit::getCastTo(), llvm::ListRecTy::getElementType(), llvm::BitsRecTy::getNumBits(), print(), and QualifiedNameOfImplicitName().
Return true if all values of 'this' type can be converted to the specified type.
Reimplemented in llvm::RecordRecTy, llvm::ListRecTy, llvm::StringRecTy, llvm::IntRecTy, llvm::CodeRecTy, llvm::BitsRecTy, and llvm::BitRecTy.
Definition at line 62 of file Record.cpp.
References assert(), and getRecTyKind().
Referenced by llvm::RecordRecTy::classes_end(), llvm::DefInit::convertInitializerTo(), llvm::StringRecTy::get(), llvm::BitRecTy::getAsString(), llvm::CodeRecTy::getAsString(), llvm::IntRecTy::getAsString(), llvm::TypedInit::getCastTo(), llvm::ListRecTy::getElementType(), llvm::BitsRecTy::getNumBits(), print(), llvm::resolveTypes(), llvm::RecordRecTy::typeIsA(), llvm::BitRecTy::typeIsConvertibleTo(), and llvm::BitsRecTy::typeIsConvertibleTo().