|
LLVM 24.0.0git
|
[AL, AH, CL] - Represent a list of defs More...
#include "llvm/TableGen/Record.h"
Public Types | |
| using | const_iterator = const Init *const * |
Public Member Functions | |
| ListInit (const ListInit &)=delete | |
| ListInit & | operator= (const ListInit &)=delete |
| void | operator delete (void *Ptr) |
| ArrayRef< const Init * > | getElements () const |
| ArrayRef< const Init * > | getValues () const |
| const Init * | getElement (unsigned Idx) const |
| std::pair< ArrayRef< const Init * >, const RecTy * > | getKey () const |
| const RecTy * | getElementType () const |
| const Record * | getElementAsRecord (unsigned Idx) const |
| 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 * | resolveReferences (Resolver &R) const override |
| This method is used by classes that refer to other variables which may not be defined at the time they expression is formed. | |
| bool | isComplete () const override |
| Is this a complete value with no unset (uninitialized) subvalues? | |
| 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. | |
| const_iterator | begin () const |
| const_iterator | end () const |
| size_t | size () const |
| bool | empty () const |
| const Init * | getBit (unsigned Bit) const override |
Get the Init value of the specified bit. | |
| 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 |
| 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. | |
| Public Member Functions inherited from llvm::FoldingSetNode | |
| FoldingSetNode ()=default | |
| uint32_t | getFoldingSetHash () const |
| void | setFoldingSetHash (uint32_t Hash) |
Static Public Member Functions | |
| static bool | classof (const Init *I) |
| static const ListInit * | get (ArrayRef< const Init * > Range, const RecTy *EltTy) |
| 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 |
|
inline |
Definition at line 806 of file Record.h.
References getElements().
Definition at line 769 of file Record.h.
References I, and llvm::Init::IK_ListInit.
Convert to a value whose type is Ty, or return null if this is not possible.
This can happen if the value's type is convertible to Ty, but there are unresolved references.
Implements llvm::Init.
Definition at line 719 of file Record.cpp.
References Changed, llvm::dyn_cast(), get(), getElements(), llvm::TypedInit::getType(), I, and size().
|
inline |
Definition at line 807 of file Record.h.
References getElements().
Definition at line 702 of file Record.cpp.
References detail::RecordKeeperImpl::Allocator, assert(), llvm::cast(), llvm::RecordKeeper::getImpl(), llvm::RecTy::getRecordKeeper(), I, llvm::UniquingSet< T, Info >::insert(), llvm::isa(), llvm::UniquingSet< T, Info >::lookup(), detail::RecordKeeperImpl::TheListInitPool, and llvm::TrailingObjects< ListInit, const Init * >::totalSizeToAlloc().
Referenced by ConcatListInits(), convertInitializerTo(), FilterHelper(), llvm::BinOpInit::Fold(), llvm::InstancesOpInit::Fold(), llvm::TernOpInit::Fold(), llvm::UnOpInit::Fold(), ForeachHelper(), resolveReferences(), and SortHelper().
|
overridevirtual |
Convert this value to a literal form.
Implements llvm::Init.
Definition at line 782 of file Record.cpp.
References llvm::Init::getAsString().
Referenced by getElementAsRecord().
Get the Init value of the specified bit.
Implements llvm::Init.
Definition at line 812 of file Record.h.
References llvm_unreachable.
Definition at line 781 of file Record.h.
References getElements().
Referenced by getElementAsRecord().
Definition at line 748 of file Record.cpp.
References llvm::dyn_cast(), getAsString(), getElement(), and llvm::PrintFatalError().
Definition at line 774 of file Record.h.
References llvm::ArrayRef(), and llvm::TrailingObjects< ListInit, const Init * >::getTrailingObjects().
Referenced by begin(), convertInitializerTo(), end(), getElement(), getKey(), getValues(), and resolveReferences().
Definition at line 787 of file Record.h.
References llvm::cast(), and llvm::TypedInit::getType().
Referenced by getKey(), and resolveReferences().
Definition at line 783 of file Record.h.
References getElements(), and getElementType().
Definition at line 779 of file Record.h.
References const, getElements(), and getValues().
Referenced by getValues().
|
overridevirtual |
Is this a complete value with no unset (uninitialized) subvalues?
Reimplemented from llvm::Init.
Definition at line 772 of file Record.cpp.
References llvm::all_of(), and llvm::Init::isComplete().
|
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 777 of file Record.cpp.
References llvm::all_of(), and llvm::Init::isConcrete().
This method is used by classes that refer to other variables which may not be defined at the time they 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 756 of file Record.cpp.
References Changed, get(), getElements(), getElementType(), llvm::Init::resolveReferences(), and size().
|
inline |
Definition at line 809 of file Record.h.
Referenced by convertInitializerTo(), and resolveReferences().