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: