LLVM
8.0.1
|
[AL, AH, CL] - Represent a list of defs More...
#include "llvm/TableGen/Record.h"
Public Types | |
using | const_iterator = Init *const * |
Public Member Functions | |
ListInit (const ListInit &)=delete | |
ListInit & | operator= (const ListInit &)=delete |
void | operator delete (void *p) |
void | Profile (FoldingSetNodeID &ID) const |
Init * | getElement (unsigned i) const |
RecTy * | getElementType () const |
Record * | getElementAsRecord (unsigned i) const |
Init * | convertInitListSlice (ArrayRef< unsigned > Elements) const override |
This method is used to implement the list slice selection operator. More... | |
Init * | convertInitializerTo (RecTy *Ty) const override |
Convert to an initializer whose type is-a Ty, or return nullptr if this is not possible (this can happen if the initializer's type is convertible to Ty, but there are unresolved references). More... | |
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. More... | |
bool | isConcrete () const override |
Is this a concrete and fully resolved value without any references or stuck operations? Unset values are concrete. More... | |
std::string | getAsString () const override |
Convert this value to a string form. More... | |
ArrayRef< Init * > | getValues () const |
const_iterator | begin () const |
const_iterator | end () const |
size_t | size () const |
bool | empty () const |
Init * | getBit (unsigned Bit) const override |
This method is used to return the initializer for the specified bit. More... | |
Public Member Functions inherited from llvm::TypedInit | |
TypedInit (const TypedInit &)=delete | |
TypedInit & | operator= (const TypedInit &)=delete |
RecTy * | getType () const |
Init * | getCastTo (RecTy *Ty) const override |
If this initializer is convertible to Ty, return an initializer whose type is-a Ty, generating a !cast operation if required. More... | |
Init * | convertInitializerBitRange (ArrayRef< unsigned > Bits) const override |
This method is used to implement the bitrange selection operator. More... | |
RecTy * | getFieldType (StringInit *FieldName) const override |
This method is used to implement the FieldInit class. More... | |
Public Member Functions inherited from llvm::Init | |
InitKind | getKind () const |
Init (const Init &)=delete | |
Init & | operator= (const Init &)=delete |
virtual | ~Init ()=default |
virtual bool | isComplete () const |
This virtual method should be overridden by values that may not be completely specified yet. More... | |
void | print (raw_ostream &OS) const |
Print out this value. More... | |
virtual std::string | getAsUnquotedString () const |
Convert this value to a string form, without adding quote markers. More... | |
void | dump () const |
Debugging method that may be called through a debugger, just invokes print on stderr. More... | |
Public Member Functions inherited from llvm::FoldingSetBase::Node | |
Node ()=default | |
void * | getNextInBucket () const |
void | SetNextInBucket (void *N) |
Public Member Functions inherited from llvm::TrailingObjects< ListInit, Init *> | |
const T * | getTrailingObjects () const |
Returns a pointer to the trailing object array of the given type (which must be one of those specified in the class template). More... | |
T * | getTrailingObjects () |
Returns a pointer to the trailing object array of the given type (which must be one of those specified in the class template). More... | |
Static Public Member Functions | |
static bool | classof (const Init *I) |
static ListInit * | get (ArrayRef< Init *> Range, RecTy *EltTy) |
Static Public Member Functions inherited from llvm::TypedInit | |
static bool | classof (const Init *I) |
Static Public Member Functions inherited from llvm::TrailingObjects< ListInit, Init *> | |
static constexpr std::enable_if< std::is_same< Foo< TrailingTys... >, Foo< Tys... > >::value, size_t >::type | additionalSizeToAlloc (typename trailing_objects_internal::ExtractSecondType< TrailingTys, size_t >::type... Counts) |
Returns the size of the trailing data, if an object were allocated with the given counts (The counts are in the same order as the template arguments). More... | |
static constexpr std::enable_if< std::is_same< Foo< TrailingTys... >, Foo< Tys... > >::value, size_t >::type | totalSizeToAlloc (typename trailing_objects_internal::ExtractSecondType< TrailingTys, size_t >::type... Counts) |
Returns the total size of an object if it were allocated with the given trailing object counts. More... | |
Additional Inherited Members | |
Protected Types inherited from llvm::Init | |
enum | InitKind : uint8_t { IK_First, IK_FirstTypedInit, IK_BitInit, IK_BitsInit, IK_CodeInit, IK_DagInit, IK_DefInit, IK_FieldInit, IK_IntInit, IK_ListInit, IK_FirstOpInit, IK_BinOpInit, IK_TernOpInit, IK_UnOpInit, IK_LastOpInit, IK_FoldOpInit, IK_IsAOpInit, IK_StringInit, IK_VarInit, IK_VarListElementInit, IK_VarBitInit, IK_VarDefInit, IK_LastTypedInit, IK_UnsetInit } |
Discriminator enum (for isa<>, dyn_cast<>, et al.) More... | |
Protected Member Functions inherited from llvm::TypedInit | |
TypedInit (InitKind K, 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 |
using llvm::ListInit::const_iterator = Init *const * |
|
inline |
Definition at line 712 of file Record.h.
Referenced by llvm::BinOpInit::Fold().
Definition at line 677 of file Record.h.
References llvm::Init::getKind().
Convert to an initializer whose type is-a Ty, or return nullptr if this is not possible (this can happen if the initializer's type is convertible to Ty, but there are unresolved references).
Reimplemented from llvm::TypedInit.
Definition at line 584 of file Record.cpp.
References get(), getType(), I, llvm::SmallVectorTemplateBase< T >::push_back(), llvm::SmallVectorImpl< T >::reserve(), and llvm::size().
This method is used to implement the list slice selection operator.
Given an initializer, it selects the specified list elements, returning them as a new init of list type. If it is not legal to take a slice of this, return null.
Reimplemented from llvm::TypedInit.
Definition at line 612 of file Record.cpp.
References get(), llvm::SmallVectorTemplateBase< T >::push_back(), llvm::SmallVectorImpl< T >::reserve(), llvm::ArrayRef< T >::size(), and llvm::size().
|
inline |
Definition at line 713 of file Record.h.
References llvm::sys::path::begin().
Referenced by llvm::BinOpInit::Fold().
Definition at line 556 of file Record.cpp.
References llvm::BumpPtrAllocatorImpl< AllocatorT, SlabSize, SizeThreshold >::Allocate(), assert(), llvm::ArrayRef< T >::begin(), llvm::ArrayRef< T >::empty(), llvm::ArrayRef< T >::end(), llvm::FoldingSetImpl< T >::FindNodeOrInsertPos(), llvm::TrailingObjects< BaseTy, TrailingTys >::getTrailingObjects(), I, llvm::FoldingSetImpl< T >::InsertNode(), ProfileListInit(), and llvm::ArrayRef< T >::size().
Referenced by convertInitializerTo(), llvm::TypedInit::convertInitListSlice(), convertInitListSlice(), llvm::UnOpInit::Fold(), llvm::BinOpInit::Fold(), ForeachHelper(), and resolveReferences().
|
overridevirtual |
Convert this value to a string form.
Implements llvm::Init.
Definition at line 655 of file Record.cpp.
References llvm::Init::getAsString().
This method is used to return the initializer for the specified bit.
Implements llvm::Init.
Definition at line 718 of file Record.h.
References llvm_unreachable.
Definition at line 623 of file Record.cpp.
References assert(), llvm::dyn_cast(), llvm::DefInit::getDef(), and llvm::PrintFatalError().
|
inline |
Definition at line 688 of file Record.h.
References llvm::RecTy::getAsString(), and getType().
Referenced by llvm::BinOpInit::Fold().
Definition at line 708 of file Record.h.
References llvm::makeArrayRef().
Referenced by llvm::Record::getValueAsListOfDefs(), llvm::Record::getValueAsListOfInts(), and llvm::Record::getValueAsListOfStrings().
|
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 647 of file Record.cpp.
References llvm::Init::isConcrete().
void ListInit::Profile | ( | FoldingSetNodeID & | ID | ) | const |
Definition at line 578 of file Record.cpp.
References 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 631 of file Record.cpp.
References E, get(), llvm::SmallVectorTemplateBase< T >::push_back(), llvm::SmallVectorImpl< T >::reserve(), and llvm::size().
|
inline |
Definition at line 715 of file Record.h.
Referenced by llvm::TernOpInit::Fold().