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: