|
GCC Middle and Back End API Reference
|
#include <regrename.h>

Data Fields | |
| struct du_head * | next_chain |
| struct du_chain * | first |
| struct du_chain * | last |
| unsigned | regno |
| int | nregs |
| unsigned | id |
| bitmap_head | conflicts |
| HARD_REG_SET | hard_conflicts |
| unsigned int | need_caller_save_reg:1 |
| unsigned int | cannot_rename:1 |
We keep linked lists of DU_HEAD structures, each of which describes a chain of occurrences of a reg.
| unsigned int du_head::cannot_rename |
Nonzero if the register is used in a way that prevents renaming,
such as the SET_DEST of a CALL_INSN or an asm operand that used
to be a hard register.
Referenced by note_sets_clobbers(), record_operand_use(), and set_incoming_from_chain().
| bitmap_head du_head::conflicts |
A bitmap to record conflicts with other chains.
Referenced by free_chain_data(), record_operand_use(), and set_incoming_from_chain().
| struct du_chain* du_head::first |
The first and last elements of this chain.
Referenced by merge_overlapping_regs(), regrename_chain_from_id(), and set_incoming_from_chain().
| HARD_REG_SET du_head::hard_conflicts |
Conflicts with untracked hard registers.
Referenced by set_incoming_from_chain().
| unsigned du_head::id |
A unique id to be used as an index into the conflicts bitmaps.
Referenced by note_sets_clobbers(), record_operand_use(), and set_incoming_from_chain().
| struct du_chain * du_head::last |
Referenced by set_incoming_from_chain().
| unsigned int du_head::need_caller_save_reg |
Nonzero if the chain crosses a call.
Referenced by record_operand_use(), and set_incoming_from_chain().
| struct du_head* du_head::next_chain |
The next chain.
Referenced by free_chain_data(), record_operand_use(), and verify_reg_tracked().
| int du_head::nregs |
Referenced by record_operand_use(), and regrename_chain_from_id().
| unsigned du_head::regno |
Describes the register being tracked.
Referenced by note_sets_clobbers(), record_operand_use(), and regrename_chain_from_id().