LLVM: llvm::TypedInit Class Reference (original) (raw)
This is the common superclass of types that have a specific, explicit type, stored in ValueTy. More...
#include "[llvm/TableGen/Record.h](TableGen%5F2Record%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| TypedInit (const TypedInit &)=delete | |
| TypedInit & | operator= (const TypedInit &)=delete |
| const RecTy * | getType () const |
| Get the type of the Init as a RecTy. | |
| RecordKeeper & | getRecordKeeper () const |
| Get the record keeper that initialized this Init. | |
| const Init * | getCastTo (const RecTy *Ty) const override |
| If this value is convertible to type Ty, return a value whose type is Ty, generating a !cast operation if required. | |
| const Init * | convertInitializerTo (const RecTy *Ty) const override |
| Convert to a value whose type is Ty, or return null if this is not possible. | |
| const Init * | convertInitializerBitRange (ArrayRef< unsigned > Bits) const override |
| This function is used to implement the bit range selection operator. | |
| const RecTy * | getFieldType (const StringInit *FieldName) const override |
| This method is used to implement the FieldInit class. | |
| Public Member Functions inherited from llvm::Init | |
| InitKind | getKind () const |
| Get the kind (type) of the value. | |
| RecordKeeper & | getRecordKeeper () const |
| Get the record keeper that initialized this Init. | |
| Init (const Init &)=delete | |
| Init & | operator= (const Init &)=delete |
| virtual | ~Init ()=default |
| virtual bool | isComplete () const |
| Is this a complete value with no unset (uninitialized) subvalues? | |
| virtual bool | isConcrete () const |
| Is this a concrete and fully resolved value without any references or stuck operations? | |
| void | print (raw_ostream &OS) const |
| Print this value. | |
| virtual std::string | getAsString () const =0 |
| Convert this value to a literal form. | |
| virtual std::string | getAsUnquotedString () const |
| Convert this value to a literal form, without adding quotes around a string. | |
| void | dump () const |
| Debugging method that may be called through a debugger; just invokes print on stderr. | |
| virtual const Init * | resolveReferences (Resolver &R) const |
| This function is used by classes that refer to other variables which may not be defined at the time the expression is formed. | |
| virtual const Init * | getBit (unsigned Bit) const =0 |
| Get the Init value of the specified bit. |
| Additional Inherited Members | |
|---|---|
| Protected Types inherited from llvm::Init | |
| enum | InitKind : uint8_t { IK_First, IK_FirstTypedInit, IK_BitInit, IK_BitsInit, IK_DagInit, IK_DefInit, IK_FieldInit, IK_IntInit, IK_ListInit, IK_FirstOpInit, IK_BinOpInit, IK_TernOpInit, IK_UnOpInit, IK_LastOpInit, IK_CondOpInit, IK_FoldOpInit, IK_IsAOpInit, IK_ExistsOpInit, IK_InstancesOpInit, IK_AnonymousNameInit, IK_StringInit, IK_VarInit, IK_VarBitInit, IK_VarDefInit, IK_LastTypedInit, IK_UnsetInit, IK_ArgumentInit } |
| Discriminator enum (for isa<>, dyn_cast<>, et al.) More... | |
| Protected Attributes inherited from llvm::Init | |
| uint8_t | Opc |
This is the common superclass of types that have a specific, explicit type, stored in ValueTy.
Definition at line 418 of file Record.h.
◆ TypedInit() [2/2]
◆ classof()
◆ convertInitializerBitRange()
This function is used to implement the bit range selection operator.
Given a value, it selects the specified bits, returning them as a new [Init](classllvm%5F1%5F1Init.html) of type bits. If it is not legal to use the bit selection operator on this value, null is returned.
Reimplemented from llvm::Init.
Definition at line 2342 of file Record.cpp.
References llvm::dyn_cast(), llvm::BitsInit::get(), llvm::VarBitInit::get(), getRecordKeeper(), getType(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::SmallVectorImpl< T >::reserve(), and T.
◆ convertInitializerTo()
◆ getCastTo()
If this value is convertible to type Ty, return a value whose type is Ty, generating a !cast operation if required.
Otherwise, return null.
Implements llvm::Init.
Definition at line 2358 of file Record.cpp.
References assert(), llvm::UnOpInit::CAST, llvm::cast(), convertInitializerTo(), llvm::UnOpInit::Fold(), llvm::UnOpInit::get(), getType(), llvm::Init::Init(), and llvm::isa().
◆ getFieldType()
◆ getRecordKeeper()
| RecordKeeper & llvm::TypedInit::getRecordKeeper ( ) const | inline |
|---|
Get the record keeper that initialized this Init.
Definition at line 438 of file Record.h.
Referenced by llvm::BinOpInit::CompareInit(), ConcatStringInits(), llvm::BitsInit::convertInitializerBitRange(), llvm::IntInit::convertInitializerBitRange(), convertInitializerBitRange(), llvm::BitInit::convertInitializerTo(), llvm::BitsInit::convertInitializerTo(), llvm::IntInit::convertInitializerTo(), convertInitializerTo(), llvm::BinOpInit::Fold(), llvm::CondOpInit::Fold(), llvm::ExistsOpInit::Fold(), llvm::IsAOpInit::Fold(), llvm::TernOpInit::Fold(), llvm::UnOpInit::Fold(), llvm::FieldInit::getBit(), llvm::IntInit::getBit(), llvm::OpInit::getBit(), llvm::VarInit::getBit(), llvm::AnonymousNameInit::getNameInit(), llvm::BinOpInit::resolveReferences(), llvm::BitsInit::resolveReferences(), and llvm::TernOpInit::resolveReferences().
◆ getType()
| const RecTy * llvm::TypedInit::getType ( ) const | inline |
|---|
Get the type of the Init as a RecTy.
Definition at line 435 of file Record.h.
Referenced by convertInitializerBitRange(), llvm::DefInit::convertInitializerTo(), llvm::ListInit::convertInitializerTo(), convertInitializerTo(), llvm::BinOpInit::Fold(), llvm::TernOpInit::Fold(), llvm::UnOpInit::Fold(), llvm::BinOpInit::getAsString(), llvm::UnOpInit::getAsString(), llvm::FieldInit::getBit(), llvm::OpInit::getBit(), llvm::VarInit::getBit(), getCastTo(), llvm::ListInit::getElementType(), getFieldType(), llvm::BinOpInit::Profile(), llvm::FoldOpInit::Profile(), llvm::ListInit::Profile(), llvm::TernOpInit::Profile(), llvm::UnOpInit::Profile(), llvm::BinOpInit::resolveReferences(), llvm::FoldOpInit::resolveReferences(), llvm::TernOpInit::resolveReferences(), and llvm::UnOpInit::resolveReferences().
◆ operator=()
The documentation for this class was generated from the following files:
- include/llvm/TableGen/Record.h
- lib/TableGen/Record.cpp