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

Data Fields

struct loopcurrent_loop
struct pointer_map_tniters
unsigned regs_used
unsigned version_info_size
struct version_infoversion_info
hash_table< iv_inv_expr_hasherinv_expr_tab
int inv_expr_id
bitmap relevant
vec< iv_use_piv_uses
vec< iv_cand_piv_candidates
bitmap important_candidates
unsigned max_inv_id
bool consider_all_candidates
bool speed
bool body_includes_call
bool loop_single_exit_p

Field Documentation

bool ivopts_data::body_includes_call
     Whether the loop body includes any function calls.  

Referenced by rewrite_use_compare().

bool ivopts_data::consider_all_candidates
     Whether to consider just related and important candidates when replacing a
     use.  

Referenced by iv_ca_add_use().

struct loop* ivopts_data::current_loop
bitmap ivopts_data::important_candidates
     A bitmap of important candidates.  
int ivopts_data::inv_expr_id
     Loop invariant expression id.  
hash_table<iv_inv_expr_hasher> ivopts_data::inv_expr_tab
     The hashtable of loop invariant expressions created
     by ivopt.  
vec<iv_cand_p> ivopts_data::iv_candidates
     The candidates.  
vec<iv_use_p> ivopts_data::iv_uses
     The uses of induction variables.  
bool ivopts_data::loop_single_exit_p
     Whether the loop body can only be exited via single exit.  

Referenced by determine_use_iv_cost_address(), and rewrite_use_compare().

unsigned ivopts_data::max_inv_id
     The maximum invariant id.  
struct pointer_map_t* ivopts_data::niters
     Numbers of iterations for all exits of the current loop.  

Referenced by adjust_iv_update_pos(), idx_contains_abnormal_ssa_name_p(), and rewrite_use_compare().

unsigned ivopts_data::regs_used
     Number of registers used in it.  
bitmap ivopts_data::relevant
     The bitmap of indices in version_info whose value was changed.  
bool ivopts_data::speed
     Are we optimizing for speed?  

Referenced by determine_use_iv_cost(), get_shiftadd_cost(), and rewrite_use_compare().

struct version_info* ivopts_data::version_info
     The array of information for the ssa names.  
unsigned ivopts_data::version_info_size
     The size of version_info array allocated.  

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