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 743 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 718 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 805 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 772 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 795 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 800 of file Record.cpp.
References llvm::all_of(), and llvm::Init::isConcrete().
|
inline |
void ListInit::Profile | ( | FoldingSetNodeID & | ID | ) | const |
Definition at line 738 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 779 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().