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... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
Node ()=default | |
void * | getNextInBucket () const |
void | SetNextInBucket (void *N) |
![]() | |
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 bool | classof (const Init *I) |
![]() | |
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 | |
![]() | |
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... | |
![]() | |
TypedInit (InitKind K, RecTy *T, uint8_t Opc=0) | |
![]() | |
Init (InitKind K, uint8_t Opc=0) | |
![]() | |
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().