12 m_inst(inst), m_primary_arg(arg)
17 m_inst(inst), m_primary_arg(primary_arg), m_secondary_arg(secondary_arg)
23 entity.m_label = value;
31 jump.m_label =
label.m_label;
40 jump.m_label =
label.m_label;
42 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
std::string m_source_file
Instruction
The different bytecodes are stored here.