LLVM
8.0.1
|
!op (X) - Transform an init. More...
#include "llvm/TableGen/Record.h"
Public Types | |
enum | UnaryOp : uint8_t { CAST, HEAD, TAIL, SIZE, EMPTY } |
Public Member Functions | |
UnOpInit (const UnOpInit &)=delete | |
UnOpInit & | operator= (const UnOpInit &)=delete |
void | Profile (FoldingSetNodeID &ID) const |
OpInit * | clone (ArrayRef< Init *> Operands) const override |
unsigned | getNumOperands () const override |
Init * | getOperand (unsigned i) const override |
UnaryOp | getOpcode () const |
Init * | getOperand () const |
Init * | Fold (Record *CurRec, bool IsFinal=false) const |
Init * | resolveReferences (Resolver &R) const override |
This method is used by classes that refer to other variables which may not be defined at the time the expression is formed. More... | |
std::string | getAsString () const override |
Convert this value to a string form. More... | |
Public Member Functions inherited from llvm::OpInit | |
OpInit (const OpInit &)=delete | |
OpInit & | operator= (OpInit &)=delete |
Init * | getBit (unsigned Bit) const override |
This method is used to return the initializer for the specified bit. More... | |
Public Member Functions inherited from llvm::TypedInit | |
TypedInit (const TypedInit &)=delete | |
TypedInit & | operator= (const TypedInit &)=delete |
RecTy * | getType () const |
Init * | getCastTo (RecTy *Ty) const override |
If this initializer is convertible to Ty, return an initializer whose type is-a Ty, generating a !cast operation if required. More... | |
Init * | convertInitializerTo (RecTy *Ty) const override |
Convert to an initializer whose type is-a Ty, or return nullptr if this is not possible (this can happen if the initializer's type is convertible to Ty, but there are unresolved references). More... | |
Init * | convertInitializerBitRange (ArrayRef< unsigned > Bits) const override |
This method is used to implement the bitrange selection operator. More... | |
Init * | convertInitListSlice (ArrayRef< unsigned > Elements) const override |
This method 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... | |
Public Member Functions inherited from llvm::Init | |
InitKind | getKind () const |
Init (const Init &)=delete | |
Init & | operator= (const Init &)=delete |
virtual | ~Init ()=default |
virtual bool | isComplete () const |
This virtual method should be overridden by values that may not be completely specified yet. More... | |
virtual bool | isConcrete () const |
Is this a concrete and fully resolved value without any references or stuck operations? Unset values are concrete. More... | |
void | print (raw_ostream &OS) const |
Print out this value. More... | |
virtual std::string | getAsUnquotedString () const |
Convert this value to a string form, without adding quote markers. More... | |
void | dump () const |
Debugging method that may be called through a debugger, just invokes print on stderr. More... | |
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 UnOpInit * | get (UnaryOp opc, Init *lhs, 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_CodeInit, IK_DagInit, IK_DefInit, IK_FieldInit, IK_IntInit, IK_ListInit, IK_FirstOpInit, IK_BinOpInit, IK_TernOpInit, IK_UnOpInit, IK_LastOpInit, IK_FoldOpInit, IK_IsAOpInit, IK_StringInit, IK_VarInit, IK_VarListElementInit, IK_VarBitInit, IK_VarDefInit, IK_LastTypedInit, IK_UnsetInit } |
Discriminator enum (for isa<>, dyn_cast<>, et al.) More... | |
Protected Member Functions inherited from llvm::OpInit | |
OpInit (InitKind K, RecTy *Type, uint8_t Opc) | |
Protected Member Functions inherited from llvm::TypedInit | |
TypedInit (InitKind K, 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 |
enum llvm::UnOpInit::UnaryOp : uint8_t |
Definition at line 764 of file Record.h.
References llvm::Init::getKind().
Implements llvm::OpInit.
Definition at line 773 of file Record.h.
References assert(), llvm::ArrayRef< T >::begin(), get(), getOpcode(), getType(), and llvm::ArrayRef< T >::size().
Definition at line 698 of file Record.cpp.
References assert(), llvm::Init::convertInitializerTo(), D, llvm::IntInit::get(), llvm::StringInit::get(), llvm::ListInit::get(), llvm::DefInit::get(), llvm::RecTy::getAsString(), llvm::RecordKeeper::getDef(), llvm::Record::getLoc(), llvm::Record::getNameInit(), getOpcode(), llvm::Record::getRecords(), getType(), llvm::TypedInit::getType(), Name, llvm::PrintFatalError(), llvm::RISCVISD::TAIL, and llvm::RecTy::typeIsA().
Referenced by llvm::TypedInit::getCastTo().
Definition at line 679 of file Record.cpp.
References Allocator, llvm::FoldingSetImpl< T >::FindNodeOrInsertPos(), I, llvm::FoldingSetImpl< T >::InsertNode(), and ProfileUnOpInit().
Referenced by clone(), llvm::TypedInit::getCastTo(), and resolveReferences().
|
overridevirtual |
Convert this value to a string form.
Implements llvm::Init.
Definition at line 790 of file Record.cpp.
References getOpcode(), getType(), and llvm::RISCVISD::TAIL.
|
inlineoverridevirtual |
Implements llvm::OpInit.
|
inline |
Definition at line 787 of file Record.h.
References llvm::RecTy::getAsString().
void UnOpInit::Profile | ( | FoldingSetNodeID & | ID | ) | const |
Definition at line 694 of file Record.cpp.
References getOpcode(), getType(), and ProfileUnOpInit().
This method 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 781 of file Record.cpp.
References get(), llvm::Resolver::getCurrentRecord(), getOpcode(), getType(), llvm::Resolver::isFinal(), and llvm::Init::resolveReferences().