|
LLVM 22.0.0git
|
X.Y - Represent a reference to a subfield of a variable. More...
#include "llvm/TableGen/Record.h"
Public Member Functions | |
| FieldInit (const FieldInit &)=delete | |
| FieldInit & | operator= (const FieldInit &)=delete |
| const Init * | getRecord () const |
| const StringInit * | getFieldName () const |
| const Init * | getBit (unsigned Bit) const override |
Get the Init value of the specified bit. | |
| const Init * | resolveReferences (Resolver &R) const override |
| This function is used by classes that refer to other variables which may not be defined at the time the expression is formed. | |
| const Init * | Fold (const Record *CurRec) const |
| bool | isConcrete () const override |
| Is this a concrete and fully resolved value without any references or stuck operations? | |
| std::string | getAsString () const override |
| Convert this value to a literal form. | |
| Public Member Functions inherited from llvm::TypedInit | |
| 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? | |
| void | print (raw_ostream &OS) const |
| Print this value. | |
| 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. | |
Static Public Member Functions | |
| static bool | classof (const Init *I) |
| static const FieldInit * | get (const Init *R, const StringInit *FN) |
| Static Public Member Functions inherited from llvm::TypedInit | |
| static bool | classof (const Init *I) |
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 Member Functions inherited from llvm::TypedInit | |
| TypedInit (InitKind K, const RecTy *T, uint8_t Opc=0) | |
| Protected Member Functions inherited from llvm::Init | |
| Init (InitKind K, uint8_t Opc=0) | |
| Protected Attributes inherited from llvm::Init | |
| uint8_t | Opc |
Definition at line 1400 of file Record.h.
References I, and llvm::Init::IK_FieldInit.
Definition at line 2601 of file Record.cpp.
References llvm::dyn_cast(), llvm::Record::getLoc(), llvm::Init::isConcrete(), and llvm::PrintFatalError().
Referenced by resolveReferences().
Definition at line 2580 of file Record.cpp.
References llvm::detail::RecordKeeperImpl::Allocator, I, and llvm::detail::RecordKeeperImpl::TheFieldInitPool.
Referenced by resolveReferences().
|
inlineoverridevirtual |
Convert this value to a literal form.
Implements llvm::Init.
Get the Init value of the specified bit.
Implements llvm::Init.
Definition at line 2588 of file Record.cpp.
References llvm::BitRecTy::get(), llvm::VarBitInit::get(), llvm::TypedInit::getRecordKeeper(), and llvm::TypedInit::getType().
|
inline |
|
overridevirtual |
Is this a concrete and fully resolved value without any references or stuck operations?
Unset values are concrete.
Reimplemented from llvm::Init.
Definition at line 2616 of file Record.cpp.
References llvm::dyn_cast(), and llvm::Init::isConcrete().
This function is used by classes that refer to other variables which may not be defined at the time the expression is formed.
If a value is set for the variable later, this method will be called on users of the value to allow the value to propagate out.
Reimplemented from llvm::Init.
Definition at line 2594 of file Record.cpp.
References Fold(), get(), and llvm::Record::resolveReferences().