LLVM: llvm::DagInit Class Reference (original) (raw)

(v a, b) - Represent a DAG tree value. More...

#include "[llvm/TableGen/Record.h](TableGen%5F2Record%5F8h%5Fsource.html)"

Public Member Functions
DagInit (const DagInit &)=delete
DagInit & operator= (const DagInit &)=delete
void Profile (FoldingSetNodeID &ID) const
const Init * getOperator () const
const Record * getOperatorAsDef (ArrayRef< SMLoc > Loc) const
const StringInit * getName () const
StringRef getNameStr () const
unsigned getNumArgs () const
const Init * getArg (unsigned Num) const
std::optional< unsigned > getArgNo (StringRef Name) const
This method looks up the specified argument name and returns its argument number or std::nullopt if that argument name does not exist.
const StringInit * getArgName (unsigned Num) const
StringRef getArgNameStr (unsigned Num) const
ArrayRef< const Init * > getArgs () const
ArrayRef< const StringInit * > getArgNames () const
auto getArgAndNames () const
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.
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_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
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
virtual bool isComplete () const
Is this a complete value with no unset (uninitialized) subvalues?
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 DagInit * get (const Init *V, const StringInit *VN, ArrayRef< const Init * > Args, ArrayRef< const StringInit * > ArgNames)
static const DagInit * get (const Init *V, ArrayRef< const Init * > Args, ArrayRef< const StringInit * > ArgNames)
static const DagInit * get (const Init *V, const StringInit *VN, ArrayRef< std::pair< const Init *, const StringInit * > > ArgAndNames)
static const DagInit * get (const Init *V, ArrayRef< std::pair< const Init *, const StringInit * > > ArgAndNames)
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

(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.

Definition at line 1423 of file Record.h.

const_arg_iterator

const_name_iterator

Initial value:

typename SuperClass::const_iterator const_iterator

Definition at line 1518 of file Record.h.

arg_begin()

const_arg_iterator llvm::DagInit::arg_begin ( ) const inline

arg_empty()

bool llvm::DagInit::arg_empty ( ) const inline

arg_end()

const_arg_iterator llvm::DagInit::arg_end ( ) const inline

arg_size()

size_t llvm::DagInit::arg_size ( ) const inline

classof()

get() [1/4]

get() [2/4]

get() [3/4]

Definition at line 2758 of file Record.cpp.

References detail::RecordKeeperImpl::Allocator, assert(), llvm::FoldingSetImpl< Derived, T >::FindNodeOrInsertPos(), llvm::RecordKeeper::getImpl(), I, llvm::FoldingSetImpl< Derived, T >::InsertNode(), ProfileDagInit(), llvm::ArrayRef< T >::size(), detail::RecordKeeperImpl::TheDagInitPool, and llvm::TrailingObjects< DagInit, const Init *, const StringInit * >::totalSizeToAlloc().

Referenced by llvm::BinOpInit::Fold(), llvm::TernOpInit::Fold(), ForeachDagApply(), get(), get(), get(), and resolveReferences().

get() [4/4]

getArg()

getArgAndNames()

auto llvm::DagInit::getArgAndNames ( ) const inline

getArgName()

getArgNames()

getArgNameStr()

getArgNo()

getArgs()

getAsString()

std::string DagInit::getAsString ( ) const overridevirtual

getBit()

getName()

getNameStr()

StringRef llvm::DagInit::getNameStr ( ) const inline

getNumArgs()

unsigned llvm::DagInit::getNumArgs ( ) const inline

getOperator()

const Init * llvm::DagInit::getOperator ( ) const inline

getOperatorAsDef()

isConcrete()

bool DagInit::isConcrete ( ) const overridevirtual

name_begin()

const_name_iterator llvm::DagInit::name_begin ( ) const inline

name_end()

const_name_iterator llvm::DagInit::name_end ( ) const inline

operator=()

Profile()

resolveReferences()


The documentation for this class was generated from the following files: