|
LLVM
4.0.0
|
!op (X, Y) - Combine two inits. More...
#include <Record.h>
Public Types | |
| enum | BinaryOp : uint8_t { ADD, AND, OR, SHL, SRA, SRL, LISTCONCAT, STRCONCAT, CONCAT, EQ } |
Public Member Functions | |
| BinOpInit (const BinOpInit &Other)=delete | |
| BinOpInit & | operator= (const BinOpInit &Other)=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, MultiClass *CurMultiClass) const override |
| Init * | resolveReferences (Record &R, const RecordVal *RV) 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 &Other)=delete | |
| OpInit & | operator= (OpInit &Other)=delete |
| Init * | resolveListElementReference (Record &R, const RecordVal *RV, unsigned Elt) const override |
| This method is used to implement VarListElementInit::resolveReferences. More... | |
| 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 &Other)=delete | |
| TypedInit & | operator= (const TypedInit &Other)=delete |
| RecTy * | getType () const |
| Init * | convertInitializerTo (RecTy *Ty) const override |
| This virtual function converts to the appropriate Init based on the passed in type. 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... | |
| 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... | |
| virtual Init * | getFieldInit (Record &R, const RecordVal *RV, StringInit *FieldName) const |
| This method complements getFieldType to return the initializer for the specified field. More... | |
| virtual Init * | getBitVar () const |
| This method is used to retrieve the initializer for bit reference. More... | |
| virtual unsigned | getBitNum () const |
| This method is used to retrieve the bit number of a bit reference. More... | |
Public Member Functions inherited from llvm::FoldingSetImpl::Node | |
| Node () | |
| 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 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_BitInit, IK_FirstTypedInit, 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_StringInit, IK_VarInit, IK_VarListElementInit, IK_LastTypedInit, IK_UnsetInit, IK_VarBitInit } |
| 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 838 of file Record.h.
References llvm::Init::getKind(), and llvm::Init::IK_BinOpInit.
Implements llvm::OpInit.
Definition at line 848 of file Record.h.
References assert(), get(), getOpcode(), llvm::TypedInit::getType(), and llvm::ArrayRef< T >::size().
|
overridevirtual |
Implements llvm::OpInit.
Definition at line 777 of file Record.cpp.
References ADD, AND, AMDGPU::RuntimeMD::KeyName::Args, llvm::ListInit::begin(), CONCAT, ConcatStringInits(), llvm::Init::convertInitializerTo(), llvm::dyn_cast(), llvm::SmallVectorTemplateCommon< T >::end(), llvm::ListInit::end(), EQ, llvm::IntRecTy::get(), llvm::IntInit::get(), llvm::ListInit::get(), llvm::DagInit::get(), llvm::DagInit::getArg(), llvm::DagInit::getArgName(), llvm::DefInit::getDef(), llvm::DagInit::getNumArgs(), getOpcode(), llvm::DagInit::getOperator(), llvm::TypedInit::getType(), llvm::IntInit::getValue(), i, llvm::SmallVectorImpl< T >::insert(), L, LISTCONCAT, llvm_unreachable, OR, llvm::PrintFatalError(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), SHL, SRA, SRL, and STRCONCAT.
Referenced by resolveReferences().
Definition at line 748 of file Record.cpp.
References Allocator, llvm::FoldingSet< T >::FindNodeOrInsertPos(), I, llvm::FoldingSetImpl::InsertNode(), and ProfileBinOpInit().
Referenced by clone(), GetStrConcat(), and resolveReferences().
|
overridevirtual |
Convert this value to a string form.
Implements llvm::Init.
Definition at line 879 of file Record.cpp.
References ADD, AND, CONCAT, EQ, llvm::Init::getAsString(), getOpcode(), LISTCONCAT, OR, SHL, SRA, SRL, and STRCONCAT.
|
inline |
Definition at line 864 of file Record.h.
Referenced by getOperand(), and Profile().
|
inlineoverridevirtual |
Implements llvm::OpInit.
|
inline |
Definition at line 863 of file Record.h.
References llvm::Init::Opc.
Referenced by clone(), Fold(), getAsString(), Profile(), and resolveReferences().
Implements llvm::OpInit.
Definition at line 855 of file Record.h.
References getLHS(), getRHS(), and llvm_unreachable.
|
inline |
Definition at line 865 of file Record.h.
Referenced by getOperand(), and Profile().
| void BinOpInit::Profile | ( | FoldingSetNodeID & | ID | ) | const |
Definition at line 766 of file Record.cpp.
References getLHS(), getOpcode(), getRHS(), llvm::TypedInit::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 870 of file Record.cpp.
References Fold(), get(), getOpcode(), llvm::TypedInit::getType(), and llvm::Init::resolveReferences().
1.8.6