|
GCC Middle and Back End API Reference
|

Data Fields | |
| struct loop * | current_loop |
| struct pointer_map_t * | niters |
| unsigned | regs_used |
| unsigned | version_info_size |
| struct version_info * | version_info |
| hash_table< iv_inv_expr_hasher > | inv_expr_tab |
| int | inv_expr_id |
| bitmap | relevant |
| vec< iv_use_p > | iv_uses |
| vec< iv_cand_p > | iv_candidates |
| bitmap | important_candidates |
| unsigned | max_inv_id |
| bool | consider_all_candidates |
| bool | speed |
| bool | body_includes_call |
| bool | loop_single_exit_p |
| 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 |
The currently optimized loop.
Referenced by determine_base_object(), get_expr_id(), get_iv(), rewrite_use_compare(), rewrite_use_nonlinear_expr(), and strip_wrap_conserving_type_conversions().
| 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.
| 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.