GCC Middle and Back End API Reference
df_base_ref Struct Reference

#include <df.h>

Collaboration diagram for df_base_ref:

Data Fields

ENUM_BITFIELD(df_ref_class) cl
ENUM_BITFIELD(df_ref_type)
type int 
flags: 16
unsigned int regno
rtx reg
struct df_linkchain
struct df_insn_infoinsn_info
union df_ref_dnext_reg
union df_ref_dprev_reg
int id
unsigned int ref_order

Detailed Description

   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.  

Field Documentation

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

The documentation for this struct was generated from the following file: