|  | 
| OPCODE | opcode () const | 
|  | The instruction opcode as defined in LLVM. 
 | 
|  | ~Instruction () override=default | 
| uint64_t | address () const | 
|  | Address of the instruction. 
 | 
| size_t | size () const | 
|  | Size of the instruction in bytes. 
 | 
| const std::vector< uint8_t > & | raw () const | 
|  | Raw bytes of the current instruction. 
 | 
| std::string | mnemonic () const | 
|  | Instruction mnemonic (e.g. br). 
 | 
| std::string | to_string (bool with_address=true) const | 
|  | Representation of the current instruction in a pretty assembly way. 
 | 
| bool | is_call () const | 
|  | True if the instruction is a call. 
 | 
| bool | is_terminator () const | 
|  | True if the instruction marks the end of a basic block. 
 | 
| bool | is_branch () const | 
|  | True if the instruction is a branch. 
 | 
| bool | is_syscall () const | 
|  | True if the instruction is a syscall. 
 | 
| bool | is_memory_access () const | 
|  | True if the instruction performs a memory access. 
 | 
| bool | is_move_reg () const | 
|  | True if the instruction is a register to register move. 
 | 
| bool | is_add () const | 
|  | True if the instruction performs an arithmetic addition. 
 | 
| bool | is_trap () const | 
|  | True if the instruction is a trap. 
 | 
| bool | is_barrier () const | 
|  | True if the instruction prevents executing the instruction that immediatly follows the current. This includes return or unconditional branch instructions. 
 | 
| bool | is_return () const | 
|  | True if the instruction is a return. 
 | 
| bool | is_indirect_branch () const | 
|  | True if the instruction is and indirect branch. 
 | 
| bool | is_conditional_branch () const | 
|  | True if the instruction is conditionally jumping to the next instruction or an instruction into some other basic block. 
 | 
| bool | is_unconditional_branch () const | 
|  | True if the instruction is jumping (unconditionally) to some other basic block. 
 | 
| bool | is_compare () const | 
|  | True if the instruction is a comparison. 
 | 
| bool | is_move_immediate () const | 
|  | True if the instruction is moving an immediate. 
 | 
| bool | is_bitcast () const | 
|  | True if the instruction is doing a bitcast. 
 | 
| MemoryAccess | memory_access () const | 
|  | Memory access flags. 
 | 
| result< uint64_t > | branch_target () const | 
|  | Given a is_branch() instruction, try to evaluate the address of the destination. 
 | 
| const llvm::MCInst & | mcinst () const | 
|  | Return the underlying llvm::MCInst implementation. 
 | 
| template<class T> | 
| const T * | as () const | 
|  | This function can be used to down cast an Instruction instance: 
 | 
This class represents a Mips instruction (including mips64, mips32).