Joos1W Compiler Framework
|
Binary instruction. This instruction performs a binary operation on two values. The type of the result is the same as the type of the two operands (which must be the same type also). More...
#include <Instructions.h>
Public Member Functions | |
std::ostream & | print (std::ostream &os) const override |
BinOp | binop () const |
![]() | |
Instruction (Context &ctx, tir::Type *resultTy) | |
Instruction (Context &ctx, tir::Type *resultTy, DataType data) | |
Instruction (const Instruction &)=delete | |
Instruction (Instruction &&)=delete | |
Instruction & | operator= (const Instruction &)=delete |
Instruction & | operator= (Instruction &&)=delete |
virtual bool | isTerminator () const |
void | insertBefore (Instruction *inst) |
void | insertAfter (Instruction *inst) |
auto * | parent () const |
Instruction * | next () const |
Instruction * | prev () const |
auto | nextIter () |
auto | prevIter () |
auto | iter () |
void | eraseFromParent (bool keep=false) |
Removes this instruction from its parent BB if it exists. Also will unlink this instruction from the list, re-linking the previous and next instructions. | |
void | setParent (BasicBlock *parent) |
![]() | |
User (Context &ctx, Type *type) | |
auto | children () const |
auto | numChildren () const |
Value * | getChild (unsigned idx) const |
![]() | |
Value (Context &ctx, Type *type) | |
tir::Context & | ctx () |
auto | users () |
auto | users () const |
Type * | type () const |
void | addUser (User *user) |
void | removeUser (User *user) |
std::string_view | name () const |
auto | nameOpt () const |
void | replaceAllUsesWith (Value *newValue) |
void | setName (std::string_view name) |
std::ostream & | printName (std::ostream &os) const |
void | dump () const |
Static Public Member Functions | |
static BinaryInst * | Create (Context &ctx, BinOp binop, Value *lhs, Value *rhs) |
Additional Inherited Members | |
![]() | |
using | DataType = std::variant< BinOp, Predicate, CastOp, Type *, StructType * > |
![]() | |
template<typename T > | |
constexpr T const & | get () const |
![]() | |
void | addChild (Value *operand) |
void | replaceChild (unsigned idx, Value *operand) |
void | destroy () |
bool | isDestroyed () const |
Binary instruction. This instruction performs a binary operation on two values. The type of the result is the same as the type of the two operands (which must be the same type also).
Definition at line 302 of file Instructions.h.