LLVM
15.0.0git
|
!cond(condition_1: value1, ... More...
#include "llvm/TableGen/Record.h"
Public Types | |
using | const_case_iterator = SmallVectorImpl< Init * >::const_iterator |
using | const_val_iterator = SmallVectorImpl< Init * >::const_iterator |
Public Member Functions | |
CondOpInit (const CondOpInit &)=delete | |
CondOpInit & | operator= (const CondOpInit &)=delete |
void | Profile (FoldingSetNodeID &ID) const |
RecTy * | getValType () const |
unsigned | getNumConds () const |
Init * | getCond (unsigned Num) const |
Init * | getVal (unsigned Num) const |
ArrayRef< Init * > | getConds () const |
ArrayRef< Init * > | getVals () const |
Init * | Fold (Record *CurRec) const |
Init * | resolveReferences (Resolver &R) const override |
This function 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... | |
bool | isComplete () const override |
Is this a complete value with no unset (uninitialized) subvalues? More... | |
std::string | getAsString () const override |
Convert this value to a literal form. More... | |
const_case_iterator | arg_begin () const |
const_case_iterator | arg_end () const |
size_t | case_size () const |
bool | case_empty () const |
const_val_iterator | name_begin () const |
const_val_iterator | name_end () const |
size_t | val_size () const |
bool | val_empty () const |
Init * | getBit (unsigned Bit) const override |
Get the Init value of the specified bit. More... | |
![]() | |
TypedInit (const TypedInit &)=delete | |
TypedInit & | operator= (const TypedInit &)=delete |
RecTy * | getType () const |
Get the type of the Init as a RecTy. More... | |
RecordKeeper & | getRecordKeeper () const |
Get the record keeper that initialized this Init. More... | |
Init * | getCastTo (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. More... | |
Init * | convertInitializerTo (RecTy *Ty) const override |
Convert to a value whose type is Ty , or return null if this is not possible. More... | |
Init * | convertInitializerBitRange (ArrayRef< unsigned > Bits) const override |
This function is used to implement the bit range selection operator. More... | |
Init * | convertInitListSlice (ArrayRef< unsigned > Elements) const override |
This function 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... | |
![]() | |
InitKind | getKind () const |
Get the kind (type) of the value. More... | |
RecordKeeper & | getRecordKeeper () const |
Get the record keeper that initialized this Init. More... | |
Init (const Init &)=delete | |
Init & | operator= (const Init &)=delete |
virtual | ~Init ()=default |
void | print (raw_ostream &OS) const |
Print this value. More... | |
virtual std::string | getAsUnquotedString () const |
Convert this value to a literal form, without adding quotes around a string. 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... | |
TrailingObjects ()=default | |
TrailingObjects (const TrailingObjects &)=delete | |
TrailingObjects (TrailingObjects &&)=delete | |
TrailingObjects & | operator= (const TrailingObjects &)=delete |
TrailingObjects & | operator= (TrailingObjects &&)=delete |
Static Public Member Functions | |
static bool | classof (const Init *I) |
static CondOpInit * | get (ArrayRef< Init * > C, ArrayRef< Init * > V, RecTy *Type) |
![]() | |
static bool | classof (const Init *I) |
![]() | |
static constexpr std::enable_if_t< std::is_same< Foo< TrailingTys... >, Foo< Tys... > >::value, size_t > | 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_t< std::is_same< Foo< TrailingTys... >, Foo< Tys... > >::value, size_t > | 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_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_AnonymousNameInit, 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 |
!cond(condition_1: value1, ...
, condition_n: value) Selects the first value for which condition is true. Otherwise reports an error.
|
delete |
|
inline |
Definition at line 1014 of file Record.h.
References getConds().
|
inline |
Definition at line 1015 of file Record.h.
References getConds().
Definition at line 972 of file Record.h.
References I, and llvm::Init::IK_CondOpInit.
Definition at line 2162 of file Record.cpp.
References Cond, llvm::Init::convertInitializerTo(), llvm::IntRecTy::get(), getCond(), llvm::Record::getLoc(), llvm::Record::getName(), llvm::TypedInit::getRecordKeeper(), getVal(), getValType(), i, llvm::PrintFatalError(), and this.
Definition at line 2114 of file Record.cpp.
References llvm::BumpPtrAllocatorImpl< AllocatorT, SlabSize, SizeThreshold, GrowthDelay >::Allocate(), llvm::detail::RecordKeeperImpl::Allocator, assert(), llvm::ArrayRef< T >::begin(), llvm::ArrayRef< T >::end(), llvm::RecordKeeper::getImpl(), llvm::RecTy::getRecordKeeper(), I, ProfileCondOpInit(), llvm::ArrayRef< T >::size(), and llvm::detail::RecordKeeperImpl::TheCondOpInitPool.
Referenced by resolveReferences().
|
overridevirtual |
Convert this value to a literal form.
Implements llvm::Init.
Definition at line 2208 of file Record.cpp.
References llvm::Init::getAsString(), getCond(), getNumConds(), getVal(), and i.
|
overridevirtual |
Get the Init
value of the specified bit.
Implements llvm::Init.
Definition at line 2219 of file Record.cpp.
References llvm::tgtok::Bit, and llvm::VarBitInit::get().
|
inline |
Definition at line 985 of file Record.h.
References assert().
Referenced by Fold(), and getAsString().
Definition at line 995 of file Record.h.
References llvm::makeArrayRef().
Referenced by arg_begin(), arg_end(), isComplete(), isConcrete(), and resolveReferences().
|
inline |
Definition at line 983 of file Record.h.
Referenced by getAsString().
|
inline |
Definition at line 990 of file Record.h.
References assert().
Referenced by Fold(), and getAsString().
Definition at line 999 of file Record.h.
References llvm::makeArrayRef().
Referenced by isComplete(), isConcrete(), name_begin(), name_end(), and resolveReferences().
|
inline |
Definition at line 981 of file Record.h.
Referenced by Fold(), and resolveReferences().
|
overridevirtual |
Is this a complete value with no unset (uninitialized) subvalues?
Reimplemented from llvm::Init.
Definition at line 2196 of file Record.cpp.
References getConds(), and getVals().
|
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 2184 of file Record.cpp.
References getConds(), and getVals().
|
inline |
|
inline |
|
delete |
void CondOpInit::Profile | ( | FoldingSetNodeID & | ID | ) | const |
Definition at line 2107 of file Record.cpp.
References llvm::makeArrayRef(), and ProfileCondOpInit().
This function 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 2139 of file Record.cpp.
References get(), getConds(), getVals(), getValType(), and llvm::Init::resolveReferences().