|
LLVM 22.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) |
| void | Profile (FoldingSetNodeID &ID) const |
| ArrayRef< const Init * > | getElements () const |
| ArrayRef< const Init * > | getValues () const |
| const Init * | getElement (unsigned Idx) 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::FoldingSetBase::Node | |
| Node ()=default | |
| void * | getNextInBucket () const |
| void | SetNextInBucket (void *N) |
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 803 of file Record.h.
References getElements().
Definition at line 768 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 741 of file Record.cpp.
References Changed, llvm::dyn_cast(), get(), getElements(), llvm::TypedInit::getType(), I, and size().
|
inline |
Definition at line 804 of file Record.h.
References getElements().
Definition at line 716 of file Record.cpp.
References llvm::BumpPtrAllocatorImpl< AllocatorT, SlabSize, SizeThreshold, GrowthDelay >::Allocate(), llvm::detail::RecordKeeperImpl::Allocator, assert(), llvm::cast(), llvm::RecordKeeper::getImpl(), llvm::RecTy::getRecordKeeper(), I, llvm::isa(), ProfileListInit(), llvm::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(), and resolveReferences().
|
overridevirtual |
Convert this value to a literal form.
Implements llvm::Init.
Definition at line 803 of file Record.cpp.
References llvm::Init::getAsString().
Get the Init value of the specified bit.
Implements llvm::Init.
Definition at line 809 of file Record.h.
References llvm_unreachable.
Definition at line 782 of file Record.h.
References getElements().
Referenced by getElementAsRecord().
Definition at line 770 of file Record.cpp.
References llvm::dyn_cast(), getElement(), and llvm::PrintFatalError().
Definition at line 775 of file Record.h.
References llvm::ArrayRef(), and llvm::TrailingObjects< ListInit, const Init * >::getTrailingObjects().
Referenced by begin(), convertInitializerTo(), end(), getElement(), getValues(), Profile(), and resolveReferences().
Definition at line 784 of file Record.h.
References llvm::cast(), and llvm::TypedInit::getType().
Referenced by resolveReferences().
Definition at line 780 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 793 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 798 of file Record.cpp.
References llvm::all_of(), and llvm::Init::isConcrete().
|
inline |
| void ListInit::Profile | ( | FoldingSetNodeID & | ID | ) | const |
Definition at line 736 of file Record.cpp.
References llvm::cast(), getElements(), llvm::TypedInit::getType(), and ProfileListInit().
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 777 of file Record.cpp.
References Changed, get(), getElements(), getElementType(), llvm::Init::resolveReferences(), and size().
|
inline |
Definition at line 806 of file Record.h.
Referenced by convertInitializerTo(), and resolveReferences().