class
ParamBase class for parameters to be used in IR instructions.
Contents
❱ Public types
❱ Public static functions
❱ Constructors, destructors, conversion operators
❱ Public functions
- auto operator=(const Param& other) -> Param&
- Assignment operator.
- auto operator=(Param&& other) -> Param& defaulted
- Move semantics operator.
- auto is_cst() const -> bool
- Return true if it is a constant parameter.
-
auto is_cst(cst_
t val) const -> bool - Return true if it is a constant parameter of value 'val'.
- auto is_reg() const -> bool
- Return true if it is a CPU register parameter.
-
auto is_reg(reg_
t reg) const -> bool - Return if it is the CPU register parameter for 'reg'.
- auto is_tmp() const -> bool
- Return true if it is a tmp register parameter.
-
auto is_tmp(tmp_
t tmp) const -> bool - Return true if it is the tmp register parameter for 'tmp'.
- auto is_addr() const -> bool
- Return true if it is a memory address.
- auto is_none() const -> bool
- Return true if the parameter is empty.
-
auto cst() const -> cst_
t - Return the constant if constant parameter.
-
auto reg() const -> reg_
t - Return the CPU register if register parameter.
-
auto tmp() const -> tmp_
t - Return the tmp register if tmp parameter.
-
auto addr() const -> addr_
t - Return the address if address parameter.
- auto size() const -> size_t
- Return the size in bits of the parameter.
❱ Public variables
❱ Enum documentation
enum class maat:: ir:: Param:: Type: uint8_t
Types of parameters/operands in the IR
Enumerators | |
---|---|
CST |
A constant value. |
REG |
References an actual CPU register in the arch being lifted. |
TMP |
References a temporary register used to hold temporary values but don't correspond to actual CPU registers. |
ADDR |
References a value stored in the RAM at a given address. |
NONE |
None. |