GCC Middle and Back End API Reference
chain Struct Reference
Collaboration diagram for chain:

Data Fields

enum chain_type type
enum tree_code op
tree rslt_type
struct chainch1
struct chainch2
vec< drefrefs
unsigned length
vec< treevars
vec< treeinits
unsigned has_max_use_after: 1
unsigned all_always_accessed: 1
unsigned combined: 1

Detailed Description

   Chains of data references.  

Field Documentation

unsigned chain::all_always_accessed
     True if all the memory references in the chain are always accessed.  

Referenced by get_chain_root(), and order_drefs().

struct chain* chain::ch1
struct chain * chain::ch2
unsigned chain::combined
     True if this chain was combined together with some other chain.  

Referenced by replace_names_by_phis().

unsigned chain::has_max_use_after
     True if there is a use of a variable with the maximal distance
     that comes after the root in the loop.  

Referenced by find_looparound_phi().

vec<tree> chain::inits
     Initializers for the variables.  
unsigned chain::length
     The maximum distance of the reference in the chain from the root.  

Referenced by find_looparound_phi(), remove_name_from_operation(), and single_nonlooparound_use().

enum tree_code chain::op
     For combination chains, the operator and the two chains that are
     combined, and the type of the result.  
tree chain::rslt_type
enum chain_type chain::type
     Type of the chain.  

Referenced by get_chain_root(), and replace_names_by_phis().

vec<tree> chain::vars
     The variables used to copy the value throughout iterations.  

Referenced by dump_chains(), and single_nonlooparound_use().

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