LLVM API Documentation
#include <Record.h>
Public Types | |
enum | BinaryOp { ADD, AND, SHL, SRA, SRL, LISTCONCAT, STRCONCAT, CONCAT, EQ } |
Public Member Functions | |
OpInit * | clone (std::vector< Init * > &Operands) const override |
int | getNumOperands () const override |
Init * | getOperand (int 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 |
std::string | getAsString () const override |
getAsString - Convert this value to a string form. | |
Static Public Member Functions | |
static bool | classof (const Init *I) |
static BinOpInit * | get (BinaryOp opc, Init *lhs, Init *rhs, RecTy *Type) |
static bool llvm::BinOpInit::classof | ( | const Init * | I | ) | [inline, static] |
Reimplemented from llvm::OpInit.
Definition at line 953 of file Record.h.
References llvm::Init::getKind(), and llvm::Init::IK_BinOpInit.
OpInit* llvm::BinOpInit::clone | ( | std::vector< Init * > & | Operands | ) | const [inline, override, virtual] |
Implements llvm::OpInit.
Definition at line 960 of file Record.h.
References get(), getOpcode(), and llvm::TypedInit::getType().
Init * BinOpInit::Fold | ( | Record * | CurRec, |
MultiClass * | CurMultiClass | ||
) | const [override, virtual] |
Implements llvm::OpInit.
Definition at line 904 of file Record.cpp.
References ADD, AND, llvm::ListInit::begin(), CONCAT, llvm::Init::convertInitializerTo(), llvm::dyn_cast(), llvm::ListInit::end(), EQ, llvm::IntRecTy::get(), get(), llvm::DagInit::getArg(), llvm::DagInit::getArgName(), llvm::DefInit::getDef(), llvm::DagInit::getNumArgs(), getOpcode(), llvm::DagInit::getOperator(), llvm::TypedInit::getType(), llvm::IntInit::getValue(), llvm::StringInit::getValue(), LISTCONCAT, llvm_unreachable, llvm::PrintFatalError(), SHL, SRA, SRL, and STRCONCAT.
Referenced by llvm::QualifyName(), and resolveReferences().
Definition at line 887 of file Record.cpp.
References I.
Referenced by clone(), llvm::StringRecTy::convertValue(), llvm::DagRecTy::convertValue(), Fold(), llvm::QualifyName(), and resolveReferences().
std::string BinOpInit::getAsString | ( | ) | const [override, virtual] |
getAsString - Convert this value to a string form.
Implements llvm::Init.
Definition at line 1004 of file Record.cpp.
References ADD, AND, CONCAT, EQ, llvm::Init::getAsString(), LISTCONCAT, SHL, SRA, SRL, and STRCONCAT.
Init* llvm::BinOpInit::getLHS | ( | ) | const [inline] |
Definition at line 977 of file Record.h.
Referenced by llvm::StringRecTy::convertValue(), llvm::DagRecTy::convertValue(), and getOperand().
int llvm::BinOpInit::getNumOperands | ( | ) | const [inline, override, virtual] |
Implements llvm::OpInit.
BinaryOp llvm::BinOpInit::getOpcode | ( | ) | const [inline] |
Definition at line 976 of file Record.h.
Referenced by clone(), llvm::StringRecTy::convertValue(), llvm::DagRecTy::convertValue(), Fold(), and resolveReferences().
Init* llvm::BinOpInit::getOperand | ( | int | i | ) | const [inline, override, virtual] |
Implements llvm::OpInit.
Init* llvm::BinOpInit::getRHS | ( | ) | const [inline] |
Definition at line 978 of file Record.h.
Referenced by llvm::StringRecTy::convertValue(), llvm::DagRecTy::convertValue(), and getOperand().
Init * BinOpInit::resolveReferences | ( | Record & | R, |
const RecordVal * | RV | ||
) | const [override, virtual] |
resolveReferences - 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 995 of file Record.cpp.
References Fold(), get(), getOpcode(), llvm::TypedInit::getType(), and llvm::Init::resolveReferences().