Joos1W Compiler Framework
All Classes Functions Typedefs Pages
tir::BinaryInst Class Referencefinal

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>

Inheritance diagram for tir::BinaryInst:

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
 
Instructionoperator= (const Instruction &)=delete
 
Instructionoperator= (Instruction &&)=delete
 
virtual bool isTerminator () const
 
void insertBefore (Instruction *inst)
 
void insertAfter (Instruction *inst)
 
auto * parent () const
 
Instructionnext () const
 
Instructionprev () 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
 
ValuegetChild (unsigned idx) const
 
- Public Member Functions inherited from tir::Value
 Value (Context &ctx, Type *type)
 
tir::Contextctx ()
 
auto users ()
 
auto users () const
 
Typetype () 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 BinaryInstCreate (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
 

Detailed Description

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.


The documentation for this class was generated from the following files: