maat::ir::AsmInst class

A native instruction lifted into a sequence of IR/PCODE instructions.

❱   Constructors, destructors, conversion operators

AsmInst(uint64_t addr, unsigned int raw_size)
Constructor.

❱   Public functions

auto operator=(const AsmInst& other) -> AsmInst&
Copy assignment.

auto operator=(AsmInst&& other) -> AsmInst&
Move assignment.

auto addr() const -> uint64_t
Address of the first instruction in the block.

auto raw_size() const -> unsigned int
Size of the instruction in bytes.

auto nb_ir_inst() const -> size_t
Return the number of IR instructions of the AsmInst.

auto add_inst(const Inst& instr) -> AsmInst::inst_id
Append the IR instruction 'inst' to the AsmInst and return the id for this instruction.

auto add_inst(Inst&& instr) -> AsmInst::inst_id
Append the IR instruction 'inst' to the AsmInst and return the id for this instruction.

auto add_insts(const inst_list_t& insts) -> AsmInst::inst_id
Append the IR instructions to the AsmInst and return the id of the last added instruction.

auto add_insts(inst_list_t&& insts) -> AsmInst::inst_id
Append the IR instructions to the AsmInst and return the id of the last added instruction.

auto new_tmp() -> tmp_t
Return a free temporary register.

auto instructions() -> AsmInst::inst_list_t&
Get the list of instructions composing this AsmInst.

auto instructions() const -> const AsmInst::inst_list_t&
Get the list of instructions composing this AsmInst.

❱   Public variables

std::string name
Optional name of the basic block.

❱   Protected variables

unsigned int _raw_size
Size of the instruction in bytes.

uint64_t _addr
Address of the instruction in memory.