LLVM
8.0.1
|
(v a, b) - Represent a DAG tree value. More...
#include "llvm/TableGen/Record.h"
Public Types | |
using | const_arg_iterator = SmallVectorImpl< Init * >::const_iterator |
using | const_name_iterator = SmallVectorImpl< StringInit * >::const_iterator |
Public Member Functions | |
DagInit (const DagInit &)=delete | |
DagInit & | operator= (const DagInit &)=delete |
void | Profile (FoldingSetNodeID &ID) const |
Init * | getOperator () const |
StringInit * | getName () const |
StringRef | getNameStr () const |
unsigned | getNumArgs () const |
Init * | getArg (unsigned Num) const |
StringInit * | getArgName (unsigned Num) const |
StringRef | getArgNameStr (unsigned Num) const |
ArrayRef< Init * > | getArgs () const |
ArrayRef< StringInit * > | getArgNames () 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 the 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... | |
const_arg_iterator | arg_begin () const |
const_arg_iterator | arg_end () const |
size_t | arg_size () const |
bool | arg_empty () const |
const_name_iterator | name_begin () const |
const_name_iterator | name_end () const |
size_t | name_size () const |
bool | name_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 * | 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 * | convertInitializerBitRange (ArrayRef< unsigned > Bits) const override |
This method is used to implement the bitrange selection operator. More... | |
Init * | convertInitListSlice (ArrayRef< unsigned > Elements) const override |
This method is used to implement the list slice 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< DagInit, Init *, StringInit *> | |
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 DagInit * | get (Init *V, StringInit *VN, ArrayRef< Init *> ArgRange, ArrayRef< StringInit *> NameRange) |
static DagInit * | get (Init *V, StringInit *VN, ArrayRef< std::pair< Init *, StringInit *>> Args) |
Static Public Member Functions inherited from llvm::TypedInit | |
static bool | classof (const Init *I) |
Static Public Member Functions inherited from llvm::TrailingObjects< DagInit, Init *, StringInit *> | |
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 |
(v a, b) - Represent a DAG tree value.
DAG inits are required to have at least one value then a (possibly empty) list of arguments. Each argument can have a name associated with it.
using llvm::DagInit::const_arg_iterator = SmallVectorImpl<Init*>::const_iterator |
using llvm::DagInit::const_name_iterator = SmallVectorImpl<StringInit*>::const_iterator |
|
inline |
|
inline |
Definition at line 1232 of file Record.h.
References llvm::AMDGPU::HSAMD::Kernel::Key::Args, and llvm::Init::getKind().
|
static |
Definition at line 1714 of file Record.cpp.
References llvm::BumpPtrAllocatorImpl< AllocatorT, SlabSize, SizeThreshold >::Allocate(), llvm::ArrayRef< T >::begin(), llvm::ArrayRef< T >::end(), llvm::FoldingSetImpl< T >::FindNodeOrInsertPos(), llvm::TrailingObjects< BaseTy, TrailingTys >::getTrailingObjects(), I, llvm::FoldingSetImpl< T >::InsertNode(), ProfileDagInit(), and llvm::ArrayRef< T >::size().
Referenced by llvm::BinOpInit::Fold(), ForeachDagApply(), get(), and resolveReferences().
|
static |
Definition at line 1736 of file Record.cpp.
References Arg, llvm::AMDGPU::HSAMD::Kernel::Key::Args, get(), and llvm::SmallVectorTemplateBase< T >::push_back().
Definition at line 1253 of file Record.h.
References assert().
Referenced by llvm::BinOpInit::Fold(), and ForeachDagApply().
|
inline |
Definition at line 1258 of file Record.h.
References assert().
Referenced by llvm::BinOpInit::Fold(), and ForeachDagApply().
|
inline |
Definition at line 1272 of file Record.h.
References llvm::RecTy::getAsString(), and llvm::makeArrayRef().
Definition at line 1263 of file Record.h.
References llvm::StringInit::getValue().
Definition at line 1268 of file Record.h.
References llvm::makeArrayRef().
|
overridevirtual |
Convert this value to a string form.
Implements llvm::Init.
Definition at line 1780 of file Record.cpp.
Referenced by llvm::BinOpInit::Fold().
This method is used to return the initializer for the specified bit.
Implements llvm::Init.
Definition at line 1296 of file Record.h.
References llvm_unreachable.
|
inline |
|
inline |
Definition at line 1247 of file Record.h.
References llvm::StringInit::getValue().
|
inline |
Definition at line 1251 of file Record.h.
Referenced by llvm::BinOpInit::Fold(), and ForeachDagApply().
|
inline |
Definition at line 1243 of file Record.h.
Referenced by llvm::SetTheory::evaluate(), llvm::BinOpInit::Fold(), and ForeachDagApply().
|
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 1770 of file Record.cpp.
|
inline |
|
inline |
void DagInit::Profile | ( | FoldingSetNodeID & | ID | ) | const |
Definition at line 1749 of file Record.cpp.
References llvm::makeArrayRef(), and ProfileDagInit().
This method is used by classes that refer to other variables which may not be defined at the time the 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 1753 of file Record.cpp.
References Arg, get(), llvm::SmallVectorTemplateBase< T >::push_back(), and llvm::SmallVectorImpl< T >::reserve().