|
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().