Code Listener
[unstable] git snapshot
|
high-level representation of an intermediate code instruction More...
#include <storage.hh>
Data Fields | |
Storage * | stor |
instance of Storage which owns the Insn object More... | |
Block * | bb |
reference to a basic block that owns the Insn object More... | |
enum cl_insn_e | code |
kind of instruction, see cl_insn_e documentation More... | |
int | subCode |
some extra instructions partitioning, for now used by CL_INSN_UNOP and CL_INSN_BINOP More... | |
struct cl_loc | loc |
corresponding location in the original source code More... | |
TOperandList | operands |
List of all operands used by the instruction. More... | |
TKillVarList | varsToKill |
list of variables you can safely kill after execution of the insn More... | |
TKillPerTarget | killPerTarget |
similar to varsToKill, but refined for terminal instructions with more than one target. More... | |
TTargetList | targets |
List of all target blocks - useful only for terminal instructions. More... | |
std::vector< unsigned > | loopClosingTargets |
list of indexes of targets that are closing a loop at the CFG level More... | |
high-level representation of an intermediate code instruction
Definition at line 329 of file storage.hh.
Block* bb |
reference to a basic block that owns the Insn object
Definition at line 338 of file storage.hh.
enum cl_insn_e code |
kind of instruction, see cl_insn_e documentation
Definition at line 344 of file storage.hh.
TKillPerTarget killPerTarget |
similar to varsToKill, but refined for terminal instructions with more than one target.
List of kill lists, one kill list per each target of the terminal instruction. If a variable is already killed by varsToKill, it does not appear in killPerTarget again.
Definition at line 406 of file storage.hh.
struct cl_loc loc |
corresponding location in the original source code
Definition at line 357 of file storage.hh.
std::vector<unsigned> loopClosingTargets |
list of indexes of targets that are closing a loop at the CFG level
Definition at line 431 of file storage.hh.
TOperandList operands |
List of all operands used by the instruction.
Their particular semantic is highly dependent on type of the instruction. Let's go to summarize it:
Definition at line 395 of file storage.hh.
Storage* stor |
instance of Storage which owns the Insn object
Definition at line 333 of file storage.hh.
int subCode |
some extra instructions partitioning, for now used by CL_INSN_UNOP and CL_INSN_BINOP
Definition at line 352 of file storage.hh.
TTargetList targets |
List of all target blocks - useful only for terminal instructions.
Their particular semantic is highly dependent on type of the instruction. Let's go to summarize it:
Definition at line 428 of file storage.hh.
TKillVarList varsToKill |
list of variables you can safely kill after execution of the insn
Definition at line 398 of file storage.hh.