GCC Middle and Back End API Reference
|
#include <df.h>
Data Fields | |
ENUM_BITFIELD(df_ref_class) cl ENUM_BITFIELD(df_ref_type) type int | flags: 16 |
unsigned int | regno |
rtx | reg |
struct df_link * | chain |
struct df_insn_info * | insn_info |
union df_ref_d * | next_reg |
union df_ref_d * | prev_reg |
int | id |
unsigned int | ref_order |
Define a register reference structure. One of these is allocated for every register reference (use or def). Note some register references (e.g., post_inc, subreg) generate both a def and a use.
struct df_link* df_base_ref::chain |
ENUM_BITFIELD (df_ref_class) cl ENUM_BITFIELD (df_ref_type) type int df_base_ref::flags |
These three bitfields are intentionally oversized, in the hope that accesses to 8 and 16-bit fields will usually be quicker.
Type of ref.
int df_base_ref::id |
Location in the ref table. This is only valid after a call to df_maybe_reorganize_[use,def]_refs which is an expensive operation.
struct df_insn_info* df_base_ref::insn_info |
Pointer to the insn info of the containing instruction. FIXME! Currently this is NULL for artificial refs but this will be used when FUDs are added.
union df_ref_d* df_base_ref::next_reg |
For each regno, there are three chains of refs, one for the uses, the eq_uses and the defs. These chains go through the refs themselves rather than using an external structure.
union df_ref_d* df_base_ref::prev_reg |
unsigned int df_base_ref::ref_order |
The index at which the operand was scanned in the insn. This is used to totally order the refs in an insn.
rtx df_base_ref::reg |
unsigned int df_base_ref::regno |