LLVM: llvm::TernOpInit Class Reference (original) (raw)
!op (X, Y, Z) - Combine two inits. More...
#include "[llvm/TableGen/Record.h](TableGen%5F2Record%5F8h%5Fsource.html)"
| Public Types | |
|---|---|
| enum | TernaryOp : uint8_t { SUBST, FOREACH, FILTER, IF, DAG, RANGE, SUBSTR, FIND, SETDAGARG, SETDAGNAME } |
| Public Member Functions | |
|---|---|
| TernOpInit (const TernOpInit &)=delete | |
| TernOpInit & | operator= (const TernOpInit &)=delete |
| void | Profile (FoldingSetNodeID &ID) const |
| TernaryOp | getOpcode () const |
| const Init * | getLHS () const |
| const Init * | getMHS () const |
| const Init * | getRHS () const |
| const Init * | Fold (const Record *CurRec) const |
| bool | isComplete () const override |
| Is this a complete value with no unset (uninitialized) subvalues? | |
| 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. | |
| std::string | getAsString () const override |
| Convert this value to a literal form. | |
| Public Member Functions inherited from llvm::OpInit | |
| OpInit (const OpInit &)=delete | |
| OpInit & | operator= (OpInit &)=delete |
| const Init * | getBit (unsigned Bit) const final |
| 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 | isConcrete () const |
| Is this a concrete and fully resolved value without any references or stuck operations? | |
| 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 TernOpInit * | get (TernaryOp opc, const Init *lhs, const Init *mhs, const Init *rhs, const RecTy *Type) |
| Static Public Member Functions inherited from llvm::OpInit | |
| static bool | classof (const Init *I) |
| 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::OpInit | |
| OpInit (InitKind K, const RecTy *Type, uint8_t Opc) | |
| 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 |
!op (X, Y, Z) - Combine two inits.
Definition at line 958 of file Record.h.
◆ TernaryOp
| Enumerator |
|---|
| SUBST |
| FOREACH |
| FILTER |
| IF |
| DAG |
| RANGE |
| SUBSTR |
| FIND |
| SETDAGARG |
| SETDAGNAME |
Definition at line 960 of file Record.h.
◆ classof()
◆ Fold()
Definition at line 1790 of file Record.cpp.
References assert(), DAG, llvm::dyn_cast(), llvm::dyn_cast_or_null(), FILTER, FilterHelper(), FIND, FOREACH, ForeachHelper(), llvm::DagInit::get(), llvm::IntInit::get(), llvm::IntRecTy::get(), llvm::ListInit::get(), llvm::StringInit::get(), llvm::UnsetInit::get(), llvm::VarInit::get(), getDagArgNoByKey(), llvm::Record::getDefInit(), llvm::Record::getLoc(), getOpcode(), llvm::TypedInit::getRecordKeeper(), llvm::TypedInit::getType(), I, IF, llvm::isa(), llvm::Length, llvm::FoldingSetBase::Node::Node(), llvm::PrintError(), llvm::PrintFatalError(), RANGE, SETDAGARG, SETDAGNAME, Size, SUBST, and SUBSTR.
◆ get()
◆ getAsString()
| std::string TernOpInit::getAsString ( ) const | overridevirtual |
|---|
Convert this value to a literal form.
Implements llvm::Init.
Definition at line 2020 of file Record.cpp.
References DAG, FILTER, FIND, FOREACH, getOpcode(), IF, RANGE, SETDAGARG, SETDAGNAME, SUBST, and SUBSTR.
◆ getLHS()
| const Init * llvm::TernOpInit::getLHS ( ) const | inline |
|---|
◆ getMHS()
| const Init * llvm::TernOpInit::getMHS ( ) const | inline |
|---|
◆ getOpcode()
| TernaryOp llvm::TernOpInit::getOpcode ( ) const | inline |
|---|
◆ getRHS()
| const Init * llvm::TernOpInit::getRHS ( ) const | inline |
|---|
◆ isComplete()
| bool llvm::TernOpInit::isComplete ( ) const | inlineoverridevirtual |
|---|
Is this a complete value with no unset (uninitialized) subvalues?
Reimplemented from llvm::Init.
Definition at line 1002 of file Record.h.
◆ operator=()
◆ Profile()
◆ resolveReferences()
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 1990 of file Record.cpp.
References llvm::ShadowResolver::addShadow(), llvm::Init::convertInitializerTo(), llvm::dyn_cast_or_null(), FILTER, FOREACH, llvm::IntRecTy::get(), get(), getOpcode(), llvm::TypedInit::getRecordKeeper(), llvm::TypedInit::getType(), IF, and llvm::Init::resolveReferences().
The documentation for this class was generated from the following files:
- include/llvm/TableGen/Record.h
- lib/TableGen/Record.cpp