12 m_inst(inst), m_primary_arg(arg)
17 m_inst(inst), m_primary_arg(primary_arg), m_secondary_arg(secondary_arg)
22 m_inst(inst), m_primary_arg(inst2), m_secondary_arg(inst3), m_tertiary_arg(inst4)
33 entity.m_label = value;
41 jump.m_label =
label.m_label;
50 jump.m_label =
label.m_label;
52 jump.m_primary_arg = primary_arg;
An entity in the IR is a bundle of information.
static Entity Goto(const Entity &label, Instruction inst=Instruction::JUMP)
static Entity Label(label_t value)
static Entity GotoIf(const Entity &label, bool cond)
static Entity GotoWithArg(const Entity &label, Instruction inst, uint16_t primary_arg)
std::size_t m_source_line
void setSourceLocation(const std::string &filename, std::size_t line)
const std::string & filename() const
void replaceInstruction(Instruction replacement)
std::string m_source_file
Instruction
The different bytecodes are stored here.