GCC Middle and Back End API Reference
|
Data Fields | |
int | check |
int | reloads_num |
int | calls_num |
bool | after_p |
rtx | insns |
Info about last usage of registers in EBB to do inheritance/split transformation. Inheritance transformation is done from a spilled pseudo and split transformations from a hard register or a pseudo assigned to a hard register.
bool usage_insns::after_p |
It can be true only for splitting. And it means that the restore insn should be put after insn given by the following member.
Referenced by lra_constraints().
int usage_insns::calls_num |
Value of global reloads_nums at the last insn in INSNS.
Referenced by lra_constraints().
int usage_insns::check |
If the value is equal to CURR_USAGE_INSNS_CHECK, then the member value INSNS is valid. The insns is chain of optional debug insns and a finishing non-debug insn using the corresponding reg. The value is also used to mark the registers which are set up in the current insn. The negated insn uid is used for this.
Referenced by lra_constraints().
rtx usage_insns::insns |
Next insns in the current EBB which use the original reg and the original reg value is not changed between the current insn and the next insns. In order words, e.g. for inheritance, if we need to use the original reg value again in the next insns we can try to use the value in a hard register from a reload insn of the current insn.
Referenced by lra_constraints().
int usage_insns::reloads_num |
Value of global reloads_num at the last insn in INSNS.
Referenced by lra_constraints().