Joos1W Compiler Framework
|
Load instruction. This instruction loads a value from a pointer. The size of the value loaded is determined by the type of the load instr, not by the type of the pointer. Pointer types are opaque. More...
#include <Instructions.h>
Public Member Functions | |
std::ostream & | print (std::ostream &os) const override |
![]() | |
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 LoadInst * | Create (Context &ctx, Type *type, Value *ptr) |
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 |
Load instruction. This instruction loads a value from a pointer. The size of the value loaded is determined by the type of the load instr, not by the type of the pointer. Pointer types are opaque.
Definition at line 254 of file Instructions.h.