GCC Middle and Back End API Reference
|
#include <sel-sched-ir.h>
Data Fields | |
rtx | insn_rtx |
struct idata_def | id |
unsigned | hash |
unsigned | hash_rtx |
int | count |
int | cost |
bool | may_trap_p |
Type to represent all needed info to emit an insn. This is a virtual equivalent of the insn. Every insn in the stream has an associated vinsn. This is used to reduce memory consumption basing on the fact that many insns don't change through the scheduler.
vinsn can be either normal or unique. Normal vinsn is the one, that can be cloned multiple times and typically corresponds to normal instruction.
Unique vinsn derivates from CALL, ASM, JUMP (for a while) and other unusual stuff. Such a vinsn is described by its INSN field, which is a reference to the original instruction.
int vinsn_def::cost |
Cached cost of the vinsn. To access it please use vinsn_cost ().
int vinsn_def::count |
Smart pointer counter.
unsigned vinsn_def::hash |
Hash of vinsn. It is computed either from pattern or from rhs using hash_rtx. It is not placed in ID for faster compares.
unsigned vinsn_def::hash_rtx |
Hash of the insn_rtx pattern.
struct idata_def vinsn_def::id |
Its description.
rtx vinsn_def::insn_rtx |
Associated insn.
bool vinsn_def::may_trap_p |
Mark insns that may trap so we don't move them through jumps.