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... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
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 bool | classof (const Init *I) |
![]() | |
static bool | classof (const Init *I) |
Additional Inherited Members | |
![]() | |
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... | |
![]() | |
OpInit (InitKind K, RecTy *Type, uint8_t Opc) | |
![]() | |
TypedInit (InitKind K, RecTy *T, uint8_t Opc=0) | |
![]() | |
Init (InitKind K, uint8_t Opc=0) | |
![]() | |
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().