GCC Middle and Back End API Reference
|
#include <cfgloop.h>
Data Fields | |
int | num |
unsigned | ninsns |
basic_block | header |
basic_block | latch |
struct lpt_decision | lpt_decision |
unsigned | av_ninsns |
unsigned | num_nodes |
vec< loop_p, va_gc > * | superloops |
class loop * | inner |
class loop * | next |
void * | aux |
tree | nb_iterations |
bound_wide_int | nb_iterations_upper_bound |
bound_wide_int | nb_iterations_likely_upper_bound |
bound_wide_int | nb_iterations_estimate |
int | safelen |
int | simdlen |
unsigned | constraints |
enum loop_estimation | estimate_state: 8 |
unsigned | any_upper_bound: 1 |
unsigned | any_estimate: 1 |
unsigned | any_likely_upper_bound: 1 |
unsigned | can_be_parallel: 1 |
unsigned | warned_aggressive_loop_optimizations: 1 |
unsigned | dont_vectorize: 1 |
unsigned | force_vectorize: 1 |
unsigned | in_oacc_kernels_region: 1 |
unsigned | finite_p: 1 |
unsigned short | unroll |
unsigned short | owned_clique |
tree | simduid |
int | orig_loop_num |
class nb_iter_bound * | bounds |
struct control_iv * | control_ivs |
struct loop_exit * | exits |
class niter_desc * | simple_loop_desc |
basic_block | former_header |
Structure to hold information for each natural loop.
unsigned loop::any_estimate |
Referenced by adjust_loop_info_after_peeling(), branch_prob(), copy_loop_info(), estimate_numbers_of_iterations(), get_estimated_loop_iterations(), input_cfg(), maybe_flat_loop_profile(), output_cfg(), print_loop_info(), record_niter_bound(), split_loop(), tree_transform_and_unroll_loop(), unroll_loop_constant_iterations(), unroll_loop_runtime_iterations(), vect_do_peeling(), and vect_transform_loop().
unsigned loop::any_likely_upper_bound |
Referenced by adjust_loop_info_after_peeling(), copy_loop_info(), get_likely_max_loop_iterations(), input_cfg(), tree_loop_interchange::interchange_loops(), maybe_flat_loop_profile(), output_cfg(), print_loop_info(), record_niter_bound(), remove_forwarder_block_with_phi(), tree_transform_and_unroll_loop(), unroll_loop_constant_iterations(), unroll_loop_runtime_iterations(), vect_do_peeling(), vect_free_loop_info_assumptions(), and vect_transform_loop().
unsigned loop::any_upper_bound |
Referenced by adjust_loop_info_after_peeling(), ipa_icf_gimple::func_checker::compare_loops(), copy_loop_info(), discover_iteration_bound_by_body_walk(), estimate_numbers_of_iterations(), finite_loop_p(), get_max_loop_iterations(), input_cfg(), tree_loop_interchange::interchange_loops(), maybe_flat_loop_profile(), output_cfg(), print_loop_info(), record_niter_bound(), remove_forwarder_block_with_phi(), remove_redundant_iv_tests(), tree_transform_and_unroll_loop(), vect_do_peeling(), vect_free_loop_info_assumptions(), and vect_transform_loop().
void* loop::aux |
Referenced by calculate_loop_reg_pressure(), compute_added_num_insns(), duplicate_loop_body_to_header_edge(), find_control_dep_blocks(), find_exits(), find_vdef_in_loop(), free_loop_data(), loop_vec_info_for_loop(), move_block_to_fn(), move_sese_region_to_fn(), split_loop_on_cond(), tree_ssa_split_loops(), tree_unswitch_single_loop(), try_vectorize_loop_1(), vect_do_peeling(), version_loop_for_if_conversion(), vuse_semi_invariant_p(), and _loop_vec_info::~_loop_vec_info().
unsigned loop::av_ninsns |
class nb_iter_bound* loop::bounds |
unsigned loop::can_be_parallel |
unsigned loop::constraints |
Referenced by alloc_loop(), copy_loop_info(), loop_constraint_clear(), loop_constraint_set(), and loop_constraint_set_p().
struct control_iv* loop::control_ivs |
Referenced by free_numbers_of_iterations_estimates(), loop_exits_before_overflow(), and record_control_iv().
unsigned loop::dont_vectorize |
Referenced by ipa_icf_gimple::func_checker::compare_loops(), copy_loop_info(), expand_omp_simd(), ifcvt_can_predicate(), input_cfg(), output_cfg(), print_loop_info(), replace_loop_annotate_in_block(), set_uid_loop_bbs(), tree_if_conversion(), try_vectorize_loop_1(), vect_slp_function(), vect_transform_loop(), version_loop_by_alias_check(), version_loop_for_if_conversion(), and versionable_outer_loop_p().
enum loop_estimation loop::estimate_state |
struct loop_exit* loop::exits |
Referenced by add_exit_phis(), alloc_loop(), duplicate_loop_body_to_header_edge(), find_obviously_necessary_stmts(), fix_loop_placement(), flow_loop_free(), get_all_loop_exits(), get_loop_exit_edges(), get_loop_exit_edges_unique_dests(), gimple_duplicate_sese_tail(), loop_exit_for_scaling(), loop_has_exit_edges(), loop_suitable_for_sm(), move_sese_region_to_fn(), rescan_loop_exit(), single_exit(), single_likely_exit(), store_motion_loop(), vect_analyze_loop_form(), vect_get_loop_niters(), and verify_loop_structure().
unsigned loop::finite_p |
unsigned loop::force_vectorize |
Referenced by ipa_icf_gimple::func_checker::compare_loops(), copy_loop_info(), copy_loops(), expand_omp_simd(), ifcvt_can_predicate(), input_cfg(), loop_cost_model(), move_sese_region_to_fn(), oacc_xform_loop(), output_cfg(), print_loop_info(), replace_loop_annotate_in_block(), simd_clone_adjust(), tree_if_conversion(), tree_unroll_loops_completely_1(), try_vectorize_loop(), vect_do_peeling(), vect_estimate_min_profitable_iters(), vect_transform_loop(), vect_transform_loops(), version_loop_by_alias_check(), and version_loop_for_if_conversion().
basic_block loop::former_header |
Referenced by fix_loop_structure(), and mark_loop_for_removal().
basic_block loop::header |
Referenced by _loop_vec_info::_loop_vec_info(), add_header_seq(), add_loop(), add_to_predicate_list(), analyze_and_compute_bitop_with_inv_effect(), analyze_and_compute_bitwise_induction_effect(), loop_cand::analyze_carried_vars(), analyze_function_body(), average_num_loop_insns(), bb_loop_header_p(), bound_difference(), branch_prob(), bypass_block(), calculate_loop_reg_pressure(), loop_cand::can_interchange_p(), canonicalize_loop_ivs(), chain_of_csts_start(), change_loop(), cleanup_tree_cfg_noloop(), combine_blocks(), ipa_icf_gimple::func_checker::compare_loops(), compute_alignments(), compute_live_loop_exits(), connect_loop_phis(), constant_after_peeling(), copy_bbs(), copy_loops(), create_empty_loop_on_edge(), create_iv(), create_loop_tree_node_allocnos(), create_loop_tree_nodes(), create_parallel_loop(), create_preheader(), decide_unrolling(), delete_basic_block(), determine_bb_domination_status(), determine_set_costs(), determine_value_range(), disambiguate_multiple_latches(), discover_iteration_bound_by_body_walk(), do_rpo_vn_1(), draw_cfg_nodes_for_loop(), dump_gimple_bb_header(), duplicate_block(), duplicate_loop_body_to_header_edge(), back_jt_path_registry::duplicate_thread_path(), dw2_build_landing_pads(), easy_exit_values(), eliminate_dom_walker::eliminate_stmt(), eliminate_tail_call(), eliminate_temp_copies(), estimate_loops_at_level(), evaluate_bbs(), expand_gimple_cond(), expand_oacc_for(), expand_omp_atomic_pipeline(), expand_omp_for_generic(), expand_omp_for_ordered_loops(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_simd(), expand_omp_taskloop_for_inner(), expected_loop_iterations_by_profile(), fill_always_executed_in_1(), find_bivs(), find_control_dep_blocks(), find_loop_guard(), find_loop_location(), find_or_create_guard_phi(), find_single_drs(), find_subloop_latch_edge_by_ivs(), find_vdef_in_loop(), fix_bb_placements(), fix_loop_structure(), flow_loop_dump(), flow_loop_nodes_find(), flow_loops_find(), force_nonfallthru(), force_single_succ_latches(), form_subloop(), forwarder_block_p(), fuse_loops(), gather_scalar_reductions(), gen_parallel_loop(), get_loop_body(), get_loop_body_in_bfs_order(), get_loop_body_in_dom_order(), get_loop_body_in_if_conv_order(), get_loop_body_with_size(), get_loop_hot_path(), get_loop_latch_edges(), get_loop_location(), get_minimal_bb(), get_range_query(), get_vop_from_header(), gimple_duplicate_seme_region(), gimple_duplicate_sese_tail(), glb_enum_p(), if_convertible_loop_p(), if_convertible_phi_p(), ifcvt_hoist_invariants(), ifcvt_local_dce(), in_loop_p(), init_loops_structure(), initialize_root_vars(), initialize_root_vars_lm(), initialize_root_vars_store_elim_2(), inner_loop_header_p(), input_cfg(), instantiate_scev_name(), ira_loop_edge_freq(), is_cond_scalar_reduction(), is_feasible_trace(), is_maybe_undefined(), loop_compare_func(), loop_count_in(), loop_edge_to_cancel(), loop_exit_at_end_p(), loop_in_sese_p(), loop_inverted_rev_post_order_compute(), loop_latch_edge(), loop_phi_node_p(), loop_preheader_edge(), loop_version(), make_forwarder_block(), make_forwarders_with_degenerate_phis(), mark_all_loops_for_removal(), mark_bivs(), mark_loop_for_removal(), mark_loops_for_removal(), mark_loops_in_oacc_kernels_region(), maybe_lower_iteration_bound(), merge_latch_edges(), merge_loop_tree(), tree_loop_interchange::move_code_to_inner_loop(), move_sese_region_to_fn(), number_of_iterations_cltz(), number_of_iterations_cltz_complement(), number_of_iterations_popcount(), optimize_loop_for_size_p(), optimize_loop_for_speed_p(), output_cfg(), parallelize_loops(), phi_rank(), predicate_all_scalar_phis(), predicate_bbs(), predict_loops(), print_loop(), print_loop_title(), process_bb(), remove_bb(), remove_edge_and_dominated_blocks(), remove_forwarder_block_with_phi(), rename_variables_in_bb(), report_unroll(), scale_loop_profile(), scale_profile_for_vect_loop(), should_duplicate_loop_header_p(), simd_clone_adjust(), simplify_using_initial_conditions(), sjlj_emit_dispatch_table(), slpeel_tree_duplicate_loop_to_edge_cfg(), slpeel_update_phi_nodes_for_guard1(), sm_seq_valid_bb(), sort_sibling_loops_cmp(), split_edge(), stmt_semi_invariant_p_1(), tail_duplicate(), fwd_jt_path_registry::thread_block_1(), fwd_jt_path_registry::thread_through_loop_header(), transform_to_exit_first_loop(), transform_to_exit_first_loop_alt(), tree_forwarder_block_p(), tree_transform_and_unroll_loop(), tree_unroll_loops_completely_1(), try_create_reduction_list(), try_unroll_loop_completely(), try_vectorize_loop_1(), loop_cand::undo_simple_reduction(), unroll_jam_possible_p(), fwd_jt_path_registry::update_cfg(), vect_analyze_early_break_dependences(), vect_analyze_loop_form(), vect_analyze_scalar_cycles_1(), vect_build_slp_instance(), vect_build_slp_tree_2(), vect_can_advance_ivs_p(), vect_create_epilog_for_reduction(), vect_loop_dist_alias_call(), vect_loop_versioning(), vect_set_loop_control(), vect_setup_realignment(), vect_slp_function(), vect_transform_cycle_phi(), vect_transform_loop(), vect_update_ivs_after_vectorizer(), vectorizable_induction(), vectorizable_load(), vectorizable_nonlinear_induction(), vectorizable_reduction(), vectorizable_simd_clone_call(), verify_loop_structure(), versionable_outer_loop_p(), vn_phi_eq(), vn_phi_insert(), and vn_phi_lookup().
unsigned loop::in_oacc_kernels_region |
Referenced by copy_loop_info(), gate_oacc_kernels(), mark_loops_in_oacc_kernels_region(), parallelize_loops(), and print_loop_info().
class loop* loop::inner |
Referenced by adjust_unroll_factor(), loop_cand::can_interchange_p(), cancel_loop(), cancel_loop_tree(), compute_access_stride(), compute_alignments(), copy_loops(), copy_loops_to(), decide_unrolling(), determine_loop_nest_reuse(), loop_distribution::distribute_loop(), do_not_sink(), do_store_motion(), draw_cfg_nodes_for_loop(), duplicate_loop_body_to_header_edge(), duplicate_subloops(), establish_preds(), estimate_loops_at_level(), loop_distribution::execute(), expand_omp_for_static_chunk(), fill_always_executed_in(), fill_always_executed_in_1(), fill_coldest_and_hotter_out_loop(), loop_distribution::finalize_partitions(), find_loop_guard(), find_loop_nest(), find_loop_nest_1(), fix_loop_structure(), fixup_loop_arrays_after_move(), flow_loop_tree_node_add(), flow_loop_tree_node_remove(), gather_memory_references_ref(), gather_scalar_reductions(), gen_parallel_loop(), get_coldest_out_loop(), get_group_load_store_type(), get_loop_level(), gimple_duplicate_sese_tail(), if_convertible_loop_p(), ifcvt_split_critical_edges(), init_loop_unswitch_info(), vec_info::insert_seq_on_entry(), tree_loop_interchange::interchange(), loop_invariant_motion_in_fun(), loop_parallel_p(), loops_list::loops_list(), mark_loops_in_oacc_kernels_region(), may_use_storent_in_loop_p(), nested_in_vect_loop_p(), oacc_loop_auto_partitions(), oacc_loop_fixed_partitions(), oacc_xform_loop(), optimize_loop_nest_for_size_p(), optimize_loop_nest_for_speed_p(), parallelize_loops(), parloops_is_simple_reduction(), phi_rank(), prepare_perfect_loop_nest(), print_loop(), ref_indep_loop_p(), rename_variables_in_bb(), runtime_alias_check_p(), set_uid_loop_bbs(), slpeel_tree_duplicate_loop_to_edge_cfg(), sort_sibling_loops(), stmt_in_inner_loop_p(), store_motion_loop(), tree_if_conversion(), tree_loop_unroll_and_jam(), tree_ssa_unswitch_loops(), tree_unroll_loops_completely_1(), tree_unswitch_outer_loop(), tree_unswitch_single_loop(), try_peel_loop(), try_unroll_loop_completely(), try_vectorize_loop_1(), unloop(), unroll_jam_possible_p(), vect_analyze_data_ref_dependence(), vect_analyze_loop(), vect_analyze_loop_form(), vect_analyze_scalar_cycles(), vect_build_slp_tree_2(), vect_compute_single_scalar_iteration_cost(), vect_create_epilog_for_reduction(), vect_create_loop_vinfo(), vect_enhance_data_refs_alignment(), vect_is_simple_reduction(), vect_loop_versioning(), vect_setup_realignment(), vect_stmt_relevant_p(), vect_transform_cycle_phi(), vect_transform_loop(), vect_transform_reduction(), vectorizable_induction(), vectorizable_reduction(), version_loop_for_if_conversion(), versionable_outer_loop_p(), and loops_list::walk_loop_tree().
basic_block loop::latch |
Referenced by add_to_dst_predicate_list(), add_to_predicate_list(), analyze_insns_in_loop(), bb_loop_header_p(), jt_path_registry::cancel_invalid_paths(), canonicalize_loop_ivs(), check_simple_exit(), cleanup_empty_eh_merge_phis(), combine_blocks(), ipa_icf_gimple::func_checker::compare_loops(), compute_always_reached(), copy_bbs(), copy_loops(), create_call_for_reduction(), create_empty_loop_on_edge(), create_loop_tree_node_allocnos(), create_loop_tree_nodes(), create_parallel_loop(), create_phi_for_local_result(), create_preheader(), delete_basic_block(), determine_bb_domination_status(), disambiguate_loops_with_multiple_latches(), do_not_sink(), do_warn_aggressive_loop_optimizations(), do_while_loop_p(), doloop_optimize(), draw_cfg_nodes_for_loop(), duplicate_loop_body_to_header_edge(), easy_exit_values(), expand_gimple_cond(), expand_oacc_for(), expand_omp_atomic_pipeline(), expand_omp_for_generic(), expand_omp_for_ordered_loops(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_simd(), expand_omp_taskloop_for_inner(), fill_always_executed_in_1(), fill_sons_in_loop(), find_doloop_use(), find_if_case_2(), find_loop_guard(), find_obviously_necessary_stmts(), find_single_drs(), find_subloop_latch_edge(), find_subloop_latch_edge_by_ivs(), fix_loop_bb_probability(), flow_loop_dump(), flow_loops_find(), force_nonfallthru(), force_single_succ_latches(), form_subloop(), fuse_loops(), get_cond_invariant_branch(), get_loop_body(), get_loop_body_in_bfs_order(), get_loop_body_in_dom_order(), get_loop_body_in_if_conv_order(), get_loop_exit_edges(), get_loop_exit_edges_unique_dests(), get_loop_location(), gimple_duplicate_seme_region(), gimple_duplicate_sese_tail(), idx_infer_loop_bounds(), if_convertible_bb_p(), if_convertible_loop_p_1(), ifcvt_split_critical_edges(), infer_loop_bounds_from_undefined(), init_loops_structure(), interpret_rhs_expr(), ip_end_pos(), ip_normal_pos(), ira_loop_edge_freq(), just_once_each_iteration_p(), last_always_executed_block(), latch_dominating_def(), loop_count_in(), loop_edge_to_cancel(), loop_exit_at_end_p(), loop_in_sese_p(), loop_latch_edge(), loop_preheader_edge(), loop_version(), make_forwarder_block(), mark_loop_for_removal(), may_eliminate_iv(), merge_blocks_move(), merge_latch_edges(), tree_loop_interchange::move_code_to_inner_loop(), num_loop_branches(), number_of_iterations_exit_assumptions(), phi_rank(), back_threader_profitability::possibly_profitable_path_p(), predicate_bbs(), print_loop(), back_threader_profitability::profitable_path_p(), record_estimate(), record_nonwrapping_iv(), remove_bb(), remove_conditions_and_labels(), remove_forwarder_block(), remove_forwarder_block_with_phi(), remove_path(), scale_profile_for_vect_loop(), scev_var_range_cant_overflow(), simd_clone_adjust(), slpeel_can_duplicate_loop_p(), slpeel_tree_duplicate_loop_to_edge_cfg(), split_edge(), split_loop(), split_loop_on_cond(), split_paths(), standard_iv_increment_position(), stmt_after_ip_normal_pos(), fwd_jt_path_registry::thread_through_loop_header(), transform_to_exit_first_loop_alt(), tree_transform_and_unroll_loop(), try_transform_to_exit_first_loop_alt(), unloop(), unloop_loops(), unroll_jam_possible_p(), update_loop_exit_probability_scale_dom_bbs(), vec_init_loop_exit_info(), vect_analyze_early_break_dependences(), vect_analyze_loop_form(), vect_phi_first_order_recurrence_p(), verify_loop_structure(), and versionable_outer_loop_p().
struct lpt_decision loop::lpt_decision |
tree loop::nb_iterations |
Referenced by do_warn_aggressive_loop_optimizations(), estimate_numbers_of_iterations(), free_numbers_of_iterations_estimates(), number_of_latch_executions(), print_loop_info(), process_bb(), record_estimate(), scev_initialize(), scev_reset(), substitute_in_loop_info(), vect_set_loop_condition_normal(), vect_set_loop_condition_partial_vectors(), vect_set_loop_condition_partial_vectors_avx512(), and verify_loop_structure().
bound_wide_int loop::nb_iterations_estimate |
Referenced by adjust_loop_info_after_peeling(), alloc_loop(), copy_loop_info(), get_estimated_loop_iterations(), input_cfg(), maybe_flat_loop_profile(), output_cfg(), print_loop_info(), record_niter_bound(), split_loop(), tree_transform_and_unroll_loop(), unroll_loop_constant_iterations(), unroll_loop_runtime_iterations(), vect_do_peeling(), and vect_transform_loop().
bound_wide_int loop::nb_iterations_likely_upper_bound |
Referenced by adjust_loop_info_after_peeling(), alloc_loop(), copy_loop_info(), get_likely_max_loop_iterations(), input_cfg(), maybe_flat_loop_profile(), output_cfg(), print_loop_info(), record_niter_bound(), tree_transform_and_unroll_loop(), unroll_loop_constant_iterations(), unroll_loop_runtime_iterations(), vect_do_peeling(), and vect_transform_loop().
bound_wide_int loop::nb_iterations_upper_bound |
Referenced by adjust_loop_info_after_peeling(), alloc_loop(), ipa_icf_gimple::func_checker::compare_loops(), copy_loop_info(), discover_iteration_bound_by_body_walk(), estimate_numbers_of_iterations(), get_max_loop_iterations(), input_cfg(), maybe_flat_loop_profile(), maybe_lower_iteration_bound(), output_cfg(), print_loop_info(), record_niter_bound(), remove_redundant_iv_tests(), tree_transform_and_unroll_loop(), unroll_loop_constant_iterations(), unroll_loop_runtime_iterations(), vect_do_peeling(), and vect_transform_loop().
class loop* loop::next |
Referenced by analyze_function_body(), connect_loop_phis(), copy_loops(), copy_loops_to(), determine_loop_nest_reuse(), discover_loops(), do_store_motion(), draw_cfg_nodes_for_loop(), dump_hwloops(), duplicate_loop_body_to_header_edge(), duplicate_subloops(), easy_exit_values(), establish_preds(), estimate_loops_at_level(), fill_always_executed_in(), fill_always_executed_in_1(), fill_coldest_and_hotter_out_loop(), find_loop_guard(), find_loop_nest_1(), fixup_loop_arrays_after_move(), flow_loop_tree_node_add(), flow_loop_tree_node_remove(), free_loops(), fuse_loops(), get_coldest_out_loop(), get_loop_level(), gimple_duplicate_sese_tail(), idx_infer_loop_bounds(), init_loop_unswitch_info(), ira_create_live_range(), loop_invariant_motion_in_fun(), mark_loops_in_oacc_kernels_region(), oacc_loop_sibling_nreverse(), optimize_load_redistribution_1(), optimize_loop_nest_for_size_p(), optimize_loop_nest_for_speed_p(), prepare_perfect_loop_nest(), print_loop_and_siblings(), ref_indep_loop_p(), rename_variables_in_bb(), reorder_loops(), reorg_loops(), sort_sibling_loops(), store_motion_loop(), tree_if_conversion(), tree_optimize_tail_calls_1(), tree_transform_and_unroll_loop(), tree_unroll_loops_completely_1(), tree_unswitch_outer_loop(), unroll_jam_possible_p(), vect_analyze_data_ref_accesses(), vect_analyze_slp(), vect_fixup_scalar_cycles_with_patterns(), vect_loop_versioning(), vect_lower_load_permutations(), versionable_outer_loop_p(), and loops_list::walk_loop_tree().
unsigned loop::ninsns |
int loop::num |
Referenced by access_functions_are_affine_or_constant_p(), add_loop_to_tree(), add_other_self_distances(), add_to_conflicts(), scev_dfs::add_to_evolution(), scev_dfs::add_to_evolution_1(), analyze_and_mark_doloop_use(), loop_cand::analyze_carried_vars(), analyze_evolution_in_loop(), loop_cand::analyze_induction_var(), analyze_memory_references(), analyze_miv_subscript(), analyze_overlapping_iterations(), analyze_scalar_evolution(), analyze_scalar_evolution_1(), analyze_scalar_evolution_in_loop(), any_access_function_variant_p(), bitfields_to_lower_p(), build_classic_dist_vector(), calculate_loop_reg_pressure(), can_sm_ref_p(), canonicalize_loop_induction_variables(), chrec_convert_1(), chrec_convert_aggressive(), compute_alignments(), compute_invariantness(), compute_overall_effect_of_inner_loop(), create_canonical_iv(), create_intersect_range_checks_index(), create_loop_tree_nodes(), create_preheader(), decide_unrolling(), delete_loop(), disambiguate_multiple_latches(), loop_distribution::distribute_loop(), do_rpo_vn_1(), do_while_loop_p(), doloop_optimize(), dr_analyze_innermost(), draw_cfg_nodes_for_loop(), dump_data_dependence_relation(), dump_gimple_bb_header(), dump_induction(), eliminate_dom_walker::eliminate_stmt(), estimate_numbers_of_iterations(), loop_distribution::execute(), execute_sm(), execute_sm_exit(), expected_loop_iterations_by_profile(), fill_always_executed_in_1(), fill_coldest_and_hotter_out_loop(), final_value_replacement_loop(), find_defs(), find_invariants_bb(), find_loop_guard(), find_obviously_necessary_stmts(), find_ref_loc_in_loop_cmp(), find_refs_for_sm(), find_seed_stmts_for_distribution(), find_simple_exit(), finite_function_p(), finite_loop_p(), fix_loop_structure(), fixup_loop_arrays_after_move(), flow_loop_dump(), flow_loops_find(), form_loop_tree(), gather_mem_refs_stmt(), gen_parallel_loop(), generate_loops_for_partition(), get_coldest_out_loop(), get_group_load_store_type(), get_loop(), get_loop_copy(), get_scev_info(), hoist_memory_references(), idx_infer_loop_bounds(), idx_within_array_bound(), ifcvt_split_critical_edges(), index_in_loop_nest(), infer_loop_bounds_from_pointer_arith(), infer_loop_bounds_from_signedness(), init_loop_unswitch_info(), instantiate_scev(), tree_loop_interchange::interchange(), ira_allocate_conflict_vec(), ira_allocate_object_conflicts(), ira_conflict_vector_profitable_p(), loop_niter_by_eval(), loop_parallel_p(), loops_list::loops_list(), mark_irreducible_loops(), maybe_flat_loop_profile(), merge_latch_edges(), move_computations_worker(), number_of_iterations_cond(), object_address_invariant_in_loop_p(), outermost_indep_loop(), parallelize_loops(), place_new_loop(), predict_loops(), prepare_perfect_loop_nest(), print_loop(), print_loop_info(), query_loop_dependence(), record_estimate(), record_loop_dependence(), record_nonwrapping_iv(), ref_indep_loop_p(), same_succ_hash(), scale_dominated_blocks_in_loop(), scale_loop_profile(), scale_strictly_dominated_blocks(), scev_analyzable_p(), set_loop_copy(), set_ref_loaded_in_loop(), set_ref_stored_in_loop(), should_duplicate_loop_header_p(), simple_iv_with_niters(), simplify_loop_version(), simplify_peeled_chrec(), sort_bbs_in_loop_postorder_cmp(), sort_conflict_id_map(), sort_locs_in_loop_postorder_cmp(), loop_distribution::transform_reduction_loop(), tree_estimate_loop_size(), tree_fold_binomial(), tree_ssa_iv_optimize_loop(), tree_ssa_lim_initialize(), tree_ssa_prefetch_arrays(), tree_unroll_loops_completely(), tree_unroll_loops_completely_1(), tree_unswitch_single_loop(), try_peel_loop(), try_unroll_loop_completely(), update_loop_exit_probability_scale_dom_bbs(), vect_analyze_data_ref_dependence(), vect_analyze_scalar_cycles_1(), vect_bb_vectorization_profitable_p(), vect_loop_vectorized_call(), vect_loop_versioning(), vect_prune_runtime_alias_test_list(), vect_slp_function(), vect_transform_reduction(), vectorizable_load(), verify_loop_closed_ssa(), verify_loop_structure(), version_loop_by_alias_check(), version_loop_for_if_conversion(), and loops_list::walk_loop_tree().
unsigned loop::num_nodes |
Referenced by _loop_vec_info::_loop_vec_info(), add_bb_to_loop(), add_loop(), analyze_function_body(), analyze_insns_in_loop(), average_num_loop_insns(), bitfields_to_lower_p(), build_region(), can_duplicate_loop_p(), loop_cand::can_interchange_p(), cancel_loop(), combine_blocks(), compute_added_num_insns(), compute_always_reached(), destroy_loop(), determine_bb_domination_status(), determine_reduction_stmt_1(), df_analyze_loop(), doloop_valid_p(), draw_cfg_nodes_for_loop(), duplicate_loop_body_to_header_edge(), estimate_loops_at_level(), evaluate_bbs(), fill_always_executed_in_1(), find_data_references_in_loop(), find_exits(), find_givs(), find_invariants_body(), find_loop_guard(), find_seed_stmts_for_distribution(), find_simple_exit(), fix_bb_placements(), fix_loop_bb_probability(), fix_loop_placement(), flow_loop_dump(), flow_loops_find(), free_rdg(), fuse_loops(), gather_memory_references(), generate_loops_for_partition(), get_loop_body(), get_loop_body_in_bfs_order(), get_loop_body_in_custom_order(), get_loop_body_in_custom_order(), get_loop_body_in_dom_order(), get_loop_body_in_if_conv_order(), get_loop_exit_edges(), hoist_guard(), if_convertible_loop_p(), if_convertible_loop_p_1(), ifcvt_split_critical_edges(), infer_loop_bounds_from_undefined(), init_loop_unswitch_info(), init_loops_structure(), init_var_map(), insert_gimplified_predicates(), loop_has_blocks_with_irreducible_flag(), loop_has_phi_with_address_arg(), loop_has_vector_phi_nodes(), loop_inverted_rev_post_order_compute(), loop_nest_has_data_refs(), loop_only_exit_p(), loop_rev_post_order_compute(), loop_version(), merge_loop_tree(), tree_loop_interchange::move_code_to_inner_loop(), move_loop_invariants(), move_sese_region_to_fn(), num_loop_branches(), num_loop_insns(), oacc_entry_exit_ok(), optimize_mask_stores(), predicate_all_scalar_phis(), predicate_bbs(), predicate_statements(), predict_loops(), referenced_in_one_insn_in_loop_p(), remove_bb_from_loops(), remove_conditions_and_labels(), reset_debug_uses_in_loop(), rewrite_all_phi_nodes_with_iv(), scale_loop_frequencies(), set_uid_loop_bbs(), should_unroll_loop_p(), simplify_loop_version(), slpeel_can_duplicate_loop_p(), slpeel_tree_duplicate_loop_to_edge_cfg(), split_loop(), split_loop_on_cond(), loop_distribution::stmts_from_loop(), tree_estimate_loop_size(), tree_if_conversion(), tree_num_loop_insns(), tree_ssa_iv_optimize_loop(), tree_unswitch_single_loop(), unloop(), unroll_loop_runtime_iterations(), update_dominators_in_loop(), update_epilogue_loop_vinfo(), vect_analyze_loop_form(), vect_analyze_loop_operations(), vect_compute_single_scalar_iteration_cost(), vect_determine_vectorization_factor(), vect_do_peeling(), vect_get_datarefs_in_loop(), vect_mark_stmts_to_be_vectorized(), vect_transform_loop(), vect_update_vf_for_slp(), verify_loop_closed_ssa(), verify_loop_structure(), and version_loop_for_if_conversion().
int loop::orig_loop_num |
Referenced by generate_loops_for_partition(), vect_loop_dist_alias_call(), and version_loop_by_alias_check().
unsigned short loop::owned_clique |
Referenced by copy_loop_info(), copy_loops(), dr_may_alias_p(), duplicate_insn_chain(), gimple_duplicate_bb(), input_cfg(), and output_cfg().
int loop::safelen |
Referenced by adjust_simduid_builtins(), ipa_icf_gimple::func_checker::compare_loops(), copy_loop_info(), expand_omp_simd(), input_cfg(), oacc_xform_loop(), output_cfg(), replace_loop_annotate_in_block(), simd_clone_adjust(), vect_analyze_data_ref_access(), vect_analyze_data_ref_dependence(), vect_analyze_possibly_independent_ddr(), vect_get_datarefs_in_loop(), vect_transform_loop(), and vectorizable_simd_clone_call().
int loop::simdlen |
tree loop::simduid |
Referenced by _loop_vec_info::_loop_vec_info(), ipa_icf_gimple::func_checker::compare_loops(), copy_loops(), expand_call_inline(), expand_omp_simd(), get_references_in_stmt(), input_cfg(), move_sese_region_to_fn(), output_cfg(), remove_unused_locals(), vect_analyze_loop(), vect_find_stmt_data_reference(), vect_simd_lane_linear(), vect_transform_loop(), and vect_transform_loops().
class niter_desc* loop::simple_loop_desc |
Referenced by free_simple_loop_desc(), get_simple_loop_desc(), and simple_loop_desc().
unsigned short loop::unroll |
Referenced by adjust_unroll_factor(), ipa_icf_gimple::func_checker::compare_loops(), copy_loop_info(), copy_loops(), decide_unroll_constant_iterations(), decide_unroll_runtime_iterations(), decide_unroll_stupid(), decide_unrolling(), input_cfg(), output_cfg(), print_loop_info(), replace_loop_annotate_in_block(), tree_unroll_loops_completely_1(), try_peel_loop(), try_unroll_loop_completely(), and vect_transform_loop().
unsigned loop::warned_aggressive_loop_optimizations |
Referenced by copy_loop_info(), do_warn_aggressive_loop_optimizations(), and print_loop_info().