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:
- include/llvm/TableGen/Record.h
- lib/TableGen/Record.cpp