LLVM
8.0.1
|
!op (X, Y) - Combine two inits. More...
#include "llvm/TableGen/Record.h"
Public Types | |
enum | BinaryOp : uint8_t { ADD, AND, OR, SHL, SRA, SRL, LISTCONCAT, STRCONCAT, CONCAT, EQ, NE, LE, LT, GE, GT } |
Public Member Functions | |
BinOpInit (const BinOpInit &)=delete | |
BinOpInit & | operator= (const BinOpInit &)=delete |
void | Profile (FoldingSetNodeID &ID) const |
OpInit * | clone (ArrayRef< Init *> Operands) const override |
unsigned | getNumOperands () const override |
Init * | getOperand (unsigned i) const override |
BinaryOp | getOpcode () const |
Init * | getLHS () const |
Init * | getRHS () const |
Init * | Fold (Record *CurRec) 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 BinOpInit * | get (BinaryOp opc, Init *lhs, Init *rhs, RecTy *Type) |
static Init * | getStrConcat (Init *lhs, Init *rhs) |
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::BinOpInit::BinaryOp : uint8_t |
Definition at line 814 of file Record.h.
References llvm::Init::getKind().
Implements llvm::OpInit.
Definition at line 825 of file Record.h.
References assert(), get(), getOpcode(), getType(), and llvm::ArrayRef< T >::size().
Definition at line 846 of file Record.cpp.
References llvm::ISD::ADD, llvm::ISD::AND, llvm::AMDGPU::HSAMD::Kernel::Key::Args, llvm::ListInit::begin(), ConcatStringInits(), llvm::dyn_cast(), llvm::SmallVectorTemplateCommon< T >::end(), llvm::ListInit::end(), EQ, llvm::object::Equal, llvm::AArch64CC::GE, llvm::IntRecTy::get(), llvm::BitInit::get(), llvm::IntInit::get(), llvm::ListInit::get(), llvm::DagInit::get(), llvm::DagInit::getArg(), llvm::DagInit::getArgName(), llvm::DagInit::getAsString(), llvm::DefInit::getDef(), llvm::ListInit::getElementType(), llvm::DagInit::getNumArgs(), getOpcode(), llvm::DagInit::getOperator(), llvm::IntInit::getValue(), llvm::StringInit::getValue(), llvm::AArch64CC::GT, llvm::SmallVectorImpl< T >::insert(), llvm::AArch64CC::LE, llvm_unreachable, llvm::AArch64CC::LT, llvm::AArch64CC::NE, OR, llvm::PrintFatalError(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::SmallVectorTemplateBase< T >::push_back(), llvm::ISD::SHL, llvm::ISD::SRA, and llvm::ISD::SRL.
Definition at line 811 of file Record.cpp.
References Allocator, llvm::FoldingSetImpl< T >::FindNodeOrInsertPos(), I, llvm::FoldingSetImpl< T >::InsertNode(), and ProfileBinOpInit().
Referenced by clone(), getStrConcat(), and resolveReferences().
|
overridevirtual |
Convert this value to a string form.
Implements llvm::Init.
Definition at line 973 of file Record.cpp.
References llvm::ISD::ADD, llvm::ISD::AND, EQ, llvm::AArch64CC::GE, getOpcode(), llvm::AArch64CC::GT, llvm::AArch64CC::LE, llvm::AArch64CC::LT, llvm::AArch64CC::NE, OR, llvm::ISD::SHL, llvm::ISD::SRA, and llvm::ISD::SRL.
|
inlineoverridevirtual |
Implements llvm::OpInit.
|
inline |
Definition at line 842 of file Record.h.
References llvm::RecTy::getAsString().
Definition at line 838 of file Record.cpp.
References ConcatStringInits(), llvm::StringRecTy::get(), get(), and STRCONCAT.
Referenced by isObjectStart(), and QualifyName().
void BinOpInit::Profile | ( | FoldingSetNodeID & | ID | ) | const |
Definition at line 827 of file Record.cpp.
References getOpcode(), getType(), and ProfileBinOpInit().
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 963 of file Record.cpp.
References get(), llvm::Resolver::getCurrentRecord(), getOpcode(), getType(), and llvm::Init::resolveReferences().