|
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 |
Public Member Functions inherited from tir::Instruction | |
| 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) |
Public Member Functions inherited from tir::User | |
| User (Context &ctx, Type *type) | |
| auto | children () const |
| auto | numChildren () const |
| Value * | getChild (unsigned idx) const |
Public Member Functions inherited from tir::Value | |
| 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 | |
Protected Types inherited from tir::Instruction | |
| using | DataType = std::variant< BinOp, Predicate, CastOp, Type *, StructType * > |
Protected Member Functions inherited from tir::Instruction | |
| template<typename T > | |
| constexpr T const & | get () const |
Protected Member Functions inherited from tir::User | |
| 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.