|
GCC Middle and Back End API Reference
|

Go to the source code of this file.
Data Structures | |
| struct | pass_data |
| class | opt_pass |
| class | gimple_opt_pass |
| class | rtl_opt_pass |
| class | ipa_opt_pass_d |
| class | simple_ipa_opt_pass |
| struct | register_pass_info |
Namespaces | |
| namespace | gcc |
Enumerations | |
| enum | opt_pass_type { GIMPLE_PASS , RTL_PASS , SIMPLE_IPA_PASS , IPA_PASS } |
| enum | pass_positioning_ops { PASS_POS_INSERT_AFTER , PASS_POS_INSERT_BEFORE , PASS_POS_REPLACE } |
Variables | |
| opt_pass * | current_pass |
| #define PENDING_TODO_force_next_scalar_cleanup (1 << 1) |
To-do flags for pending_TODOs.
Tell the next scalar cleanup pass that there is work for it to do.
Referenced by tree_predictive_commoning(), and tree_unroll_loops_completely_1().
| #define PROP_assumptions_done (1 << 19) |
Referenced by symbol_table::compile(), execute_one_pass(), and cgraph_node::verify_node().
| #define PROP_cfg (1 << 3) |
Referenced by function_reader::create_function(), dump_function_to_file(), dump_properties(), emergency_dump_function(), execute_function_dump(), execute_function_todo(), execute_one_pass(), free_after_compilation(), gimple_nop_convert(), init_lowered_empty_function(), pass_init_dump_file(), and print_rtl_with_bb().
| #define PROP_cfglayout (1 << 9) |
Referenced by dump_properties(), and skip_pass().
| #define PROP_gimple (PROP_gimple_any | PROP_gimple_lcf | PROP_gimple_leh | PROP_gimple_lomp) |
| #define PROP_gimple_any (1 << 0) |
| #define PROP_gimple_eomp (1 << 13) |
| #define PROP_gimple_lbitint (1 << 20) |
Referenced by build_call_internal(), and maybe_optimize_var().
| #define PROP_gimple_lcf (1 << 1) |
Referenced by dump_function_to_file(), dump_properties(), and init_lowered_empty_function().
| #define PROP_gimple_lcx (1 << 10) |
Referenced by dump_properties().
| #define PROP_gimple_leh (1 << 2) |
Referenced by dump_properties(), and init_lowered_empty_function().
| #define PROP_gimple_lomp (1 << 8) |
Referenced by dump_properties().
| #define PROP_gimple_lomp_dev (1 << 16) |
Referenced by dump_properties(), expand_call_inline(), expand_omp_simd(), and omp_adjust_chunk_size().
| #define PROP_gimple_lva (1 << 14) |
Referenced by expand_call_inline(), expand_ifn_va_arg(), gimplify_function_tree(), and gimplify_va_arg_expr().
| #define PROP_gimple_lvec (1 << 12) |
| #define PROP_gimple_opt_math (1 << 15) |
Referenced by canonicalize_math_p(), and canonicalize_math_p().
| #define PROP_last_full_fold (1 << 21) |
Referenced by fold_before_rtl_expansion_p().
| #define PROP_loop_opts_done (1 << 18) |
| #define PROP_loops (1 << 11) |
| #define PROP_no_crit_edges (1 << 6) |
Referenced by dump_properties().
| #define PROP_objsz (1 << 4) |
| #define PROP_rtl (1 << 7) |
| #define PROP_rtl_split_insns (1 << 17) |
| #define PROP_ssa (1 << 5) |
| #define TODO_cleanup_cfg (1 << 5) |
Referenced by autofdo::auto_profile(), canonicalize_induction_variables(), do_ssa_ccp(), eliminate_dom_walker::eliminate_cleanup(), eliminate_dom_walker::eliminate_stmt(), loop_distribution::execute(), execute_cleanup_cfg_post_optimizing(), execute_cleanup_eh_1(), execute_copy_prop(), execute_early_expand_coro_ifns(), execute_expand_omp(), execute_fixup_cfg(), execute_function_todo(), execute_reassoc(), execute_split_functions(), expand_vector_operations(), gimple_lower_bitint(), gimple_ssa_isolate_erroneous_paths(), move_computations_worker(), optimize_inline_calls(), perform_intra_sra(), perform_tree_ssa_dce(), process_bb(), sink_common_stores_to_bb(), strip_predict_hints(), tail_merge_optimize(), back_threader::thread_blocks(), tree_if_conversion(), tree_loop_unroll_and_jam(), tree_lower_complex(), tree_optimize_tail_calls_1(), tree_predictive_commoning(), tree_profiling(), tree_ssa_prefetch_arrays(), tree_ssa_split_loops(), try_vectorize_loop_1(), and tsan_pass().
| #define TODO_df_finish (1 << 17) |
Call df_finish at the end of the pass. This is done after all of the dumpers have been allowed to run so that they have access to the instance before it is destroyed.
Referenced by execute_todo().
| #define TODO_df_verify (1 << 18) |
Call df_verify at the end of the pass if checking is enabled.
Referenced by execute_todo().
| #define TODO_discard_function (1 << 23) |
Release function body (unless assumption function) and stop pass manager.
Referenced by execute_oacc_loop_designation(), and execute_one_pass().
| #define TODO_do_not_ggc_collect (1 << 1) |
To-do flags.
Note (1ul << 31) is reserved for TODO_verify_il.
Referenced by execute_one_ipa_transform_pass(), and execute_one_pass().
| #define TODO_dump_symtab (1 << 7) |
Referenced by execute_todo().
| #define TODO_mark_first_instance (1 << 19) |
Internally used for the first instance of a pass.
Referenced by add_pass_instance(), and position_pass().
| #define TODO_rebuild_alias (1 << 20) |
Rebuild aliasing info.
Referenced by execute_function_todo().
| #define TODO_rebuild_cgraph_edges (1 << 22) |
Rebuild the callgraph edges.
Referenced by execute_feedback_split_functions(), and execute_function_todo().
| #define TODO_remove_functions (1 << 8) |
Referenced by execute_todo(), ipa_devirt(), ipa_icf::ipa_icf_driver(), ipa_inline(), and propagate().
| #define TODO_remove_unused_locals (1 << 15) |
Some passes leave unused local variables that can be removed from cfun->local_decls. This reduces the size of dump files and the memory footprint for VAR_DECLs.
Referenced by execute_function_todo(), and optimize_inline_calls().
| #define TODO_update_address_taken (1 << 21) |
Rebuild the addressable-vars bitmap and do register promotion.
Referenced by execute_function_todo(), and optimize_inline_calls().
| #define TODO_update_ssa (1 << 11) |
To-do flags for calls to update_ssa.
Update the SSA form inserting PHI nodes for newly exposed symbols and virtual names marked for updating. When updating real names, only insert PHI nodes for a real name O_j in blocks reached by all the new and old definitions for O_j. If the iterated dominance frontier for O_j is not pruned, we may end up inserting PHI nodes in blocks that have one or more edges with no incoming definition for O_j. This would lead to uninitialized warnings for O_j's symbol.
Referenced by autofdo::afdo_annotate_cfg(), canonicalize_induction_variables(), loop_distribution::execute(), execute_cleanup_cfg_post_optimizing(), execute_fixup_cfg(), execute_ranger_vrp(), execute_split_functions(), execute_update_addresses_taken(), expand_ifn_va_arg_1(), expand_omp_taskreg(), expand_thunk(), gimple_lower_bitint(), gimple_nop_convert(), gimple_ssa_isolate_erroneous_paths(), insert_updated_phi_nodes_for(), loop_invariant_motion_in_fun(), optimize_inline_calls(), perform_intra_sra(), perform_tree_ssa_dce(), repair_loop_structures(), rewrite_into_loop_closed_ssa_1(), simd_clone_adjust(), tree_function_versioning(), tree_predictive_commoning(), tree_profiling(), tree_ssa_split_loops(), tree_transform_and_unroll_loop(), tree_unroll_loops_completely(), and update_ssa().
| #define TODO_update_ssa_any |
(1ul << 31) is reserved for TODO_verify_il.
Internally used in execute_function_todo().
Referenced by execute_function_todo(), execute_todo(), and inline_transform().
| #define TODO_update_ssa_full_phi (1 << 13) |
Insert PHI nodes everywhere they are needed. No pruning of the IDF is done. This is used by passes that need the PHI nodes for O_j even if it means that some arguments will come from the default definition of O_j's symbol. WARNING: If you need to use this flag, chances are that your pass may be doing something wrong. Inserting PHI nodes for an old name where not all edges carry a new replacement may lead to silent codegen errors or spurious uninitialized warnings.
Referenced by insert_updated_phi_nodes_for(), and update_ssa().
| #define TODO_update_ssa_no_phi (1 << 12) |
Update the SSA form without inserting any new PHI nodes at all. This is used by passes that have either inserted all the PHI nodes themselves or passes that need only to patch use-def and def-def chains for virtuals (e.g., DCE).
Referenced by gen_parallel_loop(), rewrite_into_loop_closed_ssa_1(), tree_transform_and_unroll_loop(), tree_unswitch_single_loop(), update_ssa(), vect_loop_versioning(), version_loop_by_alias_check(), and version_loop_for_if_conversion().
| #define TODO_update_ssa_only_virtuals (1 << 14) |
Passes that update the SSA form on their own may want to delegate the updating of virtual names to the generic updater. Since FUD chains are easier to maintain, this simplifies the work they need to do. NOTE: If this flag is used, any OLD->NEW mappings for real names are explicitly destroyed and only the symbols marked for renaming are processed.
Referenced by access_with_size_object_size(), compute_fn_summary(), execute_cleanup_eh_1(), execute_expand_omp(), cgraph_node::expand(), cgraph_node::get_body(), gimple_lower_bitint(), inline_transform(), ipa_tm_transform_clone(), ipa_tm_transform_transaction(), ipcp_transform_function(), sink_clobbers(), strdup_object_size(), tree_optimize_tail_calls_1(), tree_predictive_commoning(), tree_ssa_prefetch_arrays(), tree_unroll_loops_completely(), try_vectorize_loop_1(), update_ssa(), and vect_transform_loops().
| enum opt_pass_type |
| enum pass_positioning_ops |
|
extern |
Call from the debugger to get the current pass name.
References debug_pass(), and print_current_pass().
Referenced by debug_pass(), and make_pass_rtl_seqabstr().
|
extern |
Disable pass specified by ARG.
References disable_pass(), and enable_disable_pass().
Referenced by disable_pass(), handle_common_deferred_options(), and ipa_write_optimization_summaries().
Declare for plugins.
If we are in IPA mode (i.e., current_function_decl is NULL), call function CALLBACK for every function in the call graph. Otherwise, call CALLBACK on the current function. This function is global so that plugins can use it.
References symbol_table::add_cgraph_duplication_hook(), symbol_table::add_cgraph_insertion_hook(), symbol_table::add_cgraph_removal_hook(), cfun, symbol_table::cgraph_count, hash_set< KeyId, Lazy, Traits >::contains(), current_function_decl, DECL_STRUCT_FUNCTION, do_per_function_toporder(), duplicate_cgraph_node_to_order(), free(), i, insert_cgraph_node_to_order(), ipa_reverse_postorder(), NULL, pop_cfun(), push_cfun(), symbol_table::remove_cgraph_duplication_hook(), symbol_table::remove_cgraph_insertion_hook(), remove_cgraph_node_from_order(), symbol_table::remove_cgraph_removal_hook(), and symtab.
Referenced by do_per_function_toporder(), execute_ipa_pass_list(), and ipa_write_optimization_summaries().
|
extern |
Dump all optimization passes.
References dump_passes(), gcc::pass_manager::dump_passes(), g, and gcc::context::get_passes().
Referenced by dump_passes(), symbol_table::finalize_compilation_unit(), and ipa_write_optimization_summaries().
|
extern |
This function is called when an internal compiler error is encountered. Ensure that function dump is made available before compiler is aborted.
References cfun, current_pass, symbol_table::dump(), dump_file, dump_file_name, dump_flags, emergency_dump_function(), execute_function_dump(), finish_graph_dump_file(), fnotice(), GIMPLE_PASS, IPA_PASS, pass_data::name, PROP_cfg, RTL_PASS, symtab, TDF_GRAPH, and pass_data::type.
Referenced by emergency_dump_function(), internal_error_function(), and make_pass_rtl_seqabstr().
|
extern |
Enable pass specified by ARG.
References enable_disable_pass(), and enable_pass().
Referenced by enable_pass(), handle_common_deferred_options(), and ipa_write_optimization_summaries().
|
extern |
Execute stmt fixup hooks of all IPA passes for NODE and STMTS.
References gcc::pass_manager::all_regular_ipa_passes, execute_all_ipa_stmt_fixups(), execute_ipa_stmt_fixups(), g, and gcc::context::get_passes().
Referenced by execute_all_ipa_stmt_fixups(), input_function(), and make_pass_rtl_seqabstr().
|
extern |
For the current function, execute all ipa transforms.
References account_profile(), cfun, check_profile_consistency(), current_function_decl, DECL_STRUCT_FUNCTION, execute_all_ipa_transforms(), execute_one_ipa_transform_pass(), g, gcc_checking_assert, cgraph_node::get(), gcc::pass_manager::get_pass_for_id(), gcc::context::get_passes(), IPA_PASS, pop_cfun(), PROP_gimple, push_cfun(), RTL_PASS, and pass_data::type.
Referenced by execute_all_ipa_transforms(), cgraph_node::expand(), cgraph_node::get_body(), and make_pass_rtl_seqabstr().
|
extern |
Same as execute_pass_list but assume that subpasses of IPA passes are local passes.
References cfun, current_function_decl, do_per_function_toporder(), execute_ipa_pass_list(), execute_one_pass(), execute_pass_list(), gcc_assert, gcc_unreachable, GIMPLE_PASS, invoke_plugin_callbacks(), IPA_PASS, opt_pass::next, NULL, symbol_table::process_new_functions(), SIMPLE_IPA_PASS, opt_pass::sub, symtab, and pass_data::type.
Referenced by symbol_table::compile(), execute_ipa_pass_list(), ipa_passes(), and make_pass_rtl_seqabstr().
|
extern |
Execute summary generation for all of the passes in IPA_PASS.
References cfun, current_pass, execute_ipa_summary_passes(), opt_pass::gate(), ipa_opt_pass_d::generate_summary, IPA_PASS, opt_pass::next, pass_fini_dump_file(), pass_init_dump_file(), timevar_pop(), timevar_push(), pass_data::tv_id, and pass_data::type.
Referenced by execute_ipa_summary_passes(), ipa_passes(), and make_pass_rtl_seqabstr().
Execute PASS.
References account_profile(), account_profile_1(), account_profile_in_list(), CDI_DOMINATORS, CDI_POST_DOMINATORS, cfun, check_profile_consistency(), current_function_decl, current_pass, do_per_function(), dom_info_available_p(), dump_file, opt_pass::execute(), execute_function_dump(), execute_one_pass(), execute_todo(), FOR_EACH_FUNCTION_WITH_GIMPLE_BODY, free_dominance_info(), g, opt_pass::gate(), gcc_assert, gcc_checking_assert, cgraph_node::get(), gcc::context::get_channels(), pub_sub::channel< Subscriber >::get_if_active(), in_gimple_form, invoke_plugin_callbacks(), IPA_PASS, pass_data::name, NULL, override_gate_status(), gcc::compiler_channels::pass_events_channel, pass_fini_dump_file(), pass_init_dump_file(), pop_cfun(), symbol_table::process_new_functions(), PROP_assumptions_done, PROP_cfg, PROP_gimple, pass_data::properties_required, redirect_edge_var_map_empty(), cgraph_node::release_body(), report_heap_memory_use(), RTL_PASS, should_skip_pass_p(), SIMPLE_IPA_PASS, skip_pass(), opt_pass::static_pass_number, opt_pass::sub, symtab, timevar_pop(), timevar_push(), TODO_discard_function, TODO_do_not_ggc_collect, pass_data::todo_flags_finish, pass_data::todo_flags_start, TODO_verify_il, pass_data::tv_id, TV_NONE, pass_data::type, update_properties_after_pass(), and verify_curr_properties().
Referenced by execute_ipa_pass_list(), execute_one_pass(), execute_pass_list_1(), and make_pass_rtl_seqabstr().
References CDI_DOMINATORS, CDI_POST_DOMINATORS, function::cfg, cfun, execute_pass_list(), execute_pass_list_1(), free_dominance_info(), and gcc_assert.
Referenced by cgraph_node::add_new_function(), cgraph_node::analyze(), gcc::pass_manager::execute_early_local_passes(), execute_ipa_pass_list(), execute_pass_list(), cgraph_node::expand(), make_pass_rtl_seqabstr(), and run_rtl_passes().
|
extern |
Called by local passes to see if function is called by already processed nodes. Because we process nodes in topological order, this means that function is in recursive cycle or we introduced new direct calls.
References current_function_decl, dump_file, function_called_by_processed_nodes_p(), cgraph_node::get(), NULL, and TREE_ASM_WRITTEN.
Referenced by function_called_by_processed_nodes_p(), ipa_write_optimization_summaries(), and skip_function_for_local_pure_const().
|
extern |
Read all the summaries for all_regular_ipa_passes.
References gcc::pass_manager::all_regular_ipa_passes, g, gcc::context::get_passes(), ipa_read_optimization_summaries(), and ipa_read_optimization_summaries_1().
Referenced by ipa_read_optimization_summaries(), and ipa_write_optimization_summaries().
|
extern |
Read all the summaries for all_regular_ipa_passes.
References gcc::pass_manager::all_regular_ipa_passes, g, gcc::context::get_passes(), ipa_read_summaries(), and ipa_read_summaries_1().
Referenced by ipa_read_summaries(), and ipa_write_optimization_summaries().
|
extern |
|
extern |
Write out summaries for all the nodes in the callgraph.
References symbol_table::cgraph_count, compute_ltrans_boundary(), dump_begin(), dump_end(), dump_file, symbol_table::first_asm_symbol(), FOR_EACH_DEFINED_FUNCTION, FOR_EACH_DEFINED_VARIABLE, free(), gcc_assert, gimple_has_body_p(), i, ipa_reverse_postorder(), ipa_write_summaries(), ipa_write_summaries_1(), lto_prepare_function_for_streaming(), lto_set_symtab_encoder_in_partition(), lto_symtab_encoder_new(), symtab_node::need_lto_streaming, toplevel_node::next, NULL, safe_as_a(), seen_error(), select_what_to_stream(), streamer_dump_file, symtab, and TDI_lto_stream_out.
Referenced by ipa_passes(), ipa_write_summaries(), and make_pass_rtl_seqabstr().
|
extern |
References make_pass_adjust_alignment().
Referenced by make_pass_adjust_alignment(), and make_pass_sprintf_length().
|
extern |
Make an instance of the analyzer pass.
References make_pass_analyzer().
Referenced by make_pass_analyzer(), and make_pass_sprintf_length().
|
extern |
References make_pass_array_bounds(), pass_array_bounds::pass_array_bounds(), and pass_data_array_bounds.
Referenced by make_pass_array_bounds(), and make_pass_check_data_deps().
|
extern |
References make_pass_asan().
Referenced by make_pass_asan().
|
extern |
References make_pass_asan_O0().
Referenced by make_pass_asan_O0().
|
extern |
References make_pass_assumptions().
Referenced by make_pass_assumptions(), and make_pass_check_data_deps().
|
extern |
References make_pass_backprop().
Referenced by make_pass_backprop(), and make_pass_dispatcher_calls().
|
extern |
References make_pass_branch_prob().
Referenced by make_pass_branch_prob().
|
extern |
References make_pass_build_alias().
Referenced by make_pass_build_alias(), and make_pass_empty_loop().
|
extern |
References make_pass_build_cfg().
Referenced by make_pass_build_cfg().
|
extern |
References make_pass_build_cgraph_edges().
Referenced by make_pass_build_cgraph_edges(), and make_pass_check_data_deps().
|
extern |
References make_pass_build_ealias().
Referenced by make_pass_build_ealias(), and make_pass_empty_loop().
|
extern |
References make_pass_build_ssa().
Referenced by make_pass_build_ssa(), and make_pass_empty_loop().
|
extern |
References make_pass_build_ssa_passes().
Referenced by make_pass_build_ssa_passes(), and make_pass_sprintf_length().
|
extern |
References make_pass_call_cdce().
Referenced by make_pass_call_cdce(), and make_pass_empty_loop().
|
extern |
References make_pass_ccp().
Referenced by make_pass_ccp(), and make_pass_empty_loop().
|
extern |
References make_pass_cd_dce().
Referenced by make_pass_cd_dce(), and make_pass_empty_loop().
|
extern |
References make_pass_ch().
Referenced by make_pass_ch(), and make_pass_empty_loop().
|
extern |
References make_pass_ch_vect().
Referenced by make_pass_ch_vect(), and make_pass_empty_loop().
|
extern |
References make_pass_array_bounds(), make_pass_assumptions(), make_pass_build_cgraph_edges(), make_pass_check_data_deps(), make_pass_copy_prop(), make_pass_diagnose_tm_blocks(), make_pass_early_vrp(), make_pass_fast_vrp(), make_pass_feedback_split_functions(), make_pass_ipa_oacc(), make_pass_ipa_oacc_kernels(), make_pass_isolate_erroneous_paths(), make_pass_local_pure_const(), make_pass_lower_tm(), make_pass_nothrow(), make_pass_oacc_kernels(), make_pass_reassoc(), make_pass_rebuild_cgraph_edges(), make_pass_remove_cgraph_callee_edges(), make_pass_return_slot(), make_pass_sanopt(), make_pass_split_functions(), make_pass_strength_reduction(), make_pass_tm_edges(), make_pass_tm_init(), make_pass_tm_mark(), make_pass_tm_memopt(), make_pass_tracer(), make_pass_ubsan(), make_pass_uncprop(), make_pass_vrp(), make_pass_vtable_verify(), make_pass_warn_nonnull_compare(), make_pass_warn_restrict(), and make_pass_warn_unused_result().
Referenced by make_pass_check_data_deps().
|
extern |
References make_pass_clean_state().
Referenced by make_pass_clean_state(), and make_pass_fast_rtl_byte_dce().
|
extern |
References make_pass_cleanup_barriers().
Referenced by make_pass_cleanup_barriers(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_cleanup_cfg_post_optimizing().
Referenced by make_pass_cleanup_cfg_post_optimizing(), and make_pass_dispatcher_calls().
|
extern |
References make_pass_cleanup_eh().
Referenced by make_pass_cleanup_eh(), and make_pass_early_tree_profile().
|
extern |
References make_pass_combine().
Referenced by make_pass_combine(), and make_pass_rtl_dse3().
|
extern |
References make_pass_compare_elim_after_reload().
Referenced by make_pass_compare_elim_after_reload(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_complete_unroll().
Referenced by make_pass_complete_unroll(), and make_pass_empty_loop().
|
extern |
References make_pass_complete_unrolli().
Referenced by make_pass_complete_unrolli(), and make_pass_empty_loop().
|
extern |
References make_pass_compute_alignments().
Referenced by make_pass_compute_alignments(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_convert_switch().
Referenced by make_pass_convert_switch(), and make_pass_rtl_seqabstr().
|
extern |
References make_pass_convert_to_eh_region_ranges().
Referenced by make_pass_convert_to_eh_region_ranges(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_copy_prop().
Referenced by make_pass_check_data_deps(), and make_pass_copy_prop().
|
extern |
References make_pass_coroutine_early_expand_ifns().
Referenced by make_pass_coroutine_early_expand_ifns(), and make_pass_sprintf_length().
|
extern |
References make_pass_coroutine_lower_builtins().
Referenced by make_pass_coroutine_lower_builtins(), and make_pass_sprintf_length().
|
extern |
References make_pass_cprop_hardreg().
Referenced by make_pass_cprop_hardreg(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_crc_optimization().
Referenced by make_pass_crc_optimization(), and make_pass_empty_loop().
|
extern |
References make_pass_cse().
Referenced by make_pass_cse(), and make_pass_dispatcher_calls().
|
extern |
References make_pass_cse2().
Referenced by make_pass_cse2(), and make_pass_rtl_dse3().
|
extern |
References make_pass_cse_after_global_opts().
Referenced by make_pass_cse_after_global_opts(), and make_pass_rtl_dse3().
|
extern |
References make_pass_cse_reciprocals().
Referenced by make_pass_cse_reciprocals(), and make_pass_empty_loop().
|
extern |
References make_pass_cse_sincos().
Referenced by make_pass_cse_sincos(), and make_pass_empty_loop().
|
extern |
References make_pass_cselim().
Referenced by make_pass_cselim(), and make_pass_empty_loop().
|
extern |
References make_pass_dce().
Referenced by make_pass_dce(), and make_pass_empty_loop().
|
extern |
References make_pass_delay_slots().
Referenced by make_pass_delay_slots(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_dep_fusion().
Referenced by make_pass_dep_fusion(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_df_finish().
Referenced by make_pass_df_finish(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_df_initialize_no_opt().
Referenced by make_pass_df_initialize_no_opt(), and make_pass_rtl_dse3().
|
extern |
References make_pass_df_initialize_opt().
Referenced by make_pass_df_initialize_opt(), and make_pass_rtl_dse3().
|
extern |
References make_pass_diagnose_omp_blocks().
Referenced by make_pass_diagnose_omp_blocks(), and make_pass_empty_loop().
|
extern |
References make_pass_diagnose_tm_blocks().
Referenced by make_pass_check_data_deps(), and make_pass_diagnose_tm_blocks().
|
extern |
References make_pass_backprop(), make_pass_cleanup_cfg_post_optimizing(), make_pass_cse(), make_pass_dispatcher_calls(), make_pass_expand(), make_pass_fast_rtl_dce(), make_pass_fixup_cfg(), make_pass_instantiate_virtual_regs(), make_pass_ipa_cdtor_merge(), make_pass_ipa_comdats(), make_pass_ipa_locality_cloning(), make_pass_ipa_modref(), make_pass_ipa_profile(), make_pass_ipa_single_use(), make_pass_jump(), make_pass_jump2(), make_pass_lower_subreg(), make_pass_omp_simd_clone(), make_pass_rtl_fwprop(), make_pass_rtl_fwprop_addr(), and make_pass_ud_rtl_dce().
Referenced by make_pass_dispatcher_calls().
|
extern |
References make_pass_dominator().
Referenced by make_pass_dominator(), and make_pass_empty_loop().
|
extern |
References make_pass_dse().
Referenced by make_pass_dse(), and make_pass_empty_loop().
|
extern |
References make_pass_duplicate_computed_gotos().
Referenced by make_pass_duplicate_computed_gotos(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_dwarf2_frame().
Referenced by make_pass_dwarf2_frame(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_early_inline().
Referenced by make_pass_early_inline(), and make_pass_rtl_seqabstr().
|
extern |
References make_pass_early_object_sizes().
Referenced by make_pass_early_object_sizes(), and make_pass_empty_loop().
|
extern |
References make_pass_early_remat().
Referenced by make_pass_early_remat(), and make_pass_fast_rtl_byte_dce().
|
extern |
References make_pass_early_thread_jumps().
Referenced by make_pass_early_thread_jumps(), and make_pass_empty_loop().
|
extern |
References make_pass_cleanup_eh(), make_pass_early_tree_profile(), make_pass_fix_loops(), make_pass_iv_canon(), make_pass_lim(), make_pass_linterchange(), make_pass_loop_jam(), make_pass_loop_split(), make_pass_loop_versioning(), make_pass_musttail(), make_pass_predcom(), make_pass_scev_cprop(), make_pass_sra(), make_pass_sra_early(), make_pass_tail_calls(), make_pass_tail_recursion(), make_pass_tree_loop(), make_pass_tree_loop_init(), make_pass_tree_no_loop(), and make_pass_tree_unswitch().
Referenced by make_pass_early_tree_profile().
|
extern |
References make_pass_early_vrp().
Referenced by make_pass_check_data_deps(), and make_pass_early_vrp().
|
extern |
References make_pass_early_warn_uninitialized().
Referenced by make_pass_early_warn_uninitialized(), and make_pass_empty_loop().
|
extern |
References make_pass_build_alias(), make_pass_build_ealias(), make_pass_build_ssa(), make_pass_call_cdce(), make_pass_ccp(), make_pass_cd_dce(), make_pass_ch(), make_pass_ch_vect(), make_pass_complete_unroll(), make_pass_complete_unrolli(), make_pass_crc_optimization(), make_pass_cse_reciprocals(), make_pass_cse_sincos(), make_pass_cselim(), make_pass_dce(), make_pass_diagnose_omp_blocks(), make_pass_dominator(), make_pass_dse(), make_pass_early_object_sizes(), make_pass_early_thread_jumps(), make_pass_early_warn_uninitialized(), make_pass_empty_loop(), make_pass_expand_omp(), make_pass_expand_omp_ssa(), make_pass_expand_pow(), make_pass_forwprop(), make_pass_graphite(), make_pass_graphite_transforms(), make_pass_if_conversion(), make_pass_if_to_switch(), make_pass_iv_optimize(), make_pass_laddress(), make_pass_late_warn_uninitialized(), make_pass_loop_distribution(), make_pass_loop_prefetch(), make_pass_lower_bitint(), make_pass_lower_bitint_O0(), make_pass_lower_complex(), make_pass_lower_complex_O0(), make_pass_lower_omp(), make_pass_lower_switch(), make_pass_lower_switch_O0(), make_pass_lower_vector(), make_pass_lower_vector_ssa(), make_pass_merge_phi(), make_pass_nrv(), make_pass_oacc_device_lower(), make_pass_oacc_loop_designation(), make_pass_object_sizes(), make_pass_omp_device_lower(), make_pass_omp_oacc_kernels_decompose(), make_pass_omp_oacc_neuter_broadcast(), make_pass_omp_target_link(), make_pass_optimize_bswap(), make_pass_optimize_widening_mul(), make_pass_parallelize_loops(), make_pass_phiopt(), make_pass_phiprop(), make_pass_post_ipa_warn(), make_pass_pre(), make_pass_pre_slp_scalar_cleanup(), make_pass_profile(), make_pass_rebuild_frequencies(), make_pass_sccopy(), make_pass_simduid_cleanup(), make_pass_slp_vectorize(), make_pass_split_crit_edges(), make_pass_stdarg(), make_pass_store_merging(), make_pass_strip_predict_hints(), make_pass_strlen(), make_pass_thread_jumps(), make_pass_thread_jumps_full(), make_pass_tree_ifcombine(), make_pass_tree_loop_done(), make_pass_vectorize(), make_pass_warn_access(), make_pass_warn_function_noreturn(), make_pass_warn_function_return(), make_pass_warn_printf(), make_pass_warn_recursion(), and tail_merge_optimize().
Referenced by make_pass_empty_loop().
|
extern |
References make_pass_expand().
Referenced by make_pass_dispatcher_calls(), and make_pass_expand().
|
extern |
References make_pass_expand_omp().
Referenced by make_pass_empty_loop(), and make_pass_expand_omp().
|
extern |
References make_pass_expand_omp_ssa().
Referenced by make_pass_empty_loop(), and make_pass_expand_omp_ssa().
|
extern |
References make_pass_expand_pow().
Referenced by make_pass_empty_loop(), and make_pass_expand_pow().
|
extern |
References make_pass_ext_dce().
Referenced by make_pass_ext_dce(), and make_pass_rtl_dse3().
|
extern |
References make_pass_clean_state(), make_pass_early_remat(), make_pass_fast_rtl_byte_dce(), make_pass_ira(), make_pass_live_range_shrinkage(), make_pass_lower_subreg3(), make_pass_mode_switching(), make_pass_reload(), make_pass_sched(), and make_pass_sms().
Referenced by make_pass_fast_rtl_byte_dce().
|
extern |
References make_pass_fast_rtl_dce().
Referenced by make_pass_dispatcher_calls(), and make_pass_fast_rtl_dce().
|
extern |
References make_pass_fast_vrp().
Referenced by make_pass_check_data_deps(), and make_pass_fast_vrp().
|
extern |
References make_pass_feedback_split_functions().
Referenced by make_pass_check_data_deps(), and make_pass_feedback_split_functions().
|
extern |
References make_pass_final().
Referenced by make_pass_final(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_fix_loops().
Referenced by make_pass_early_tree_profile(), and make_pass_fix_loops().
|
extern |
References make_pass_fixup_cfg().
Referenced by make_pass_dispatcher_calls(), and make_pass_fixup_cfg().
|
extern |
References make_pass_fold_mem_offsets().
Referenced by make_pass_fold_mem_offsets(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_forwprop().
Referenced by make_pass_empty_loop(), and make_pass_forwprop().
|
extern |
References make_pass_fre().
Referenced by make_pass_fre(), and make_pass_rename_ssa_copies().
|
extern |
References make_pass_free_cfg().
Referenced by make_pass_free_cfg(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_gcse2().
Referenced by make_pass_gcse2(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_gimple_isel().
Referenced by make_pass_gimple_isel(), and make_pass_rtl_seqabstr().
|
extern |
References make_pass_graphite().
Referenced by make_pass_empty_loop(), and make_pass_graphite().
|
extern |
References make_pass_graphite_transforms().
Referenced by make_pass_empty_loop(), and make_pass_graphite_transforms().
|
extern |
Instantiate a hardcmp pass.
References make_pass_harden_compares().
Referenced by make_pass_harden_compares(), and make_pass_rtl_seqabstr().
|
extern |
Instantiate a hardcbr pass.
References make_pass_harden_conditional_branches().
Referenced by make_pass_harden_conditional_branches(), and make_pass_rtl_seqabstr().
|
extern |
Instantiate a hardcfr pass.
References make_pass_harden_control_flow_redundancy().
Referenced by make_pass_harden_control_flow_redundancy(), and make_pass_rtl_seqabstr().
|
extern |
References make_pass_hardreg_pre().
Referenced by make_pass_hardreg_pre(), and make_pass_rtl_dse3().
|
extern |
References IFCVT_AFTER_COMBINE, and make_pass_if_after_combine().
Referenced by make_pass_if_after_combine(), and make_pass_rtl_dse3().
|
extern |
References IFCVT_AFTER_RELOAD, and make_pass_if_after_reload().
Referenced by make_pass_if_after_reload(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_if_conversion().
Referenced by make_pass_empty_loop(), and make_pass_if_conversion().
|
extern |
References make_pass_if_to_switch().
Referenced by make_pass_empty_loop(), and make_pass_if_to_switch().
|
extern |
References make_pass_inc_dec().
Referenced by make_pass_inc_dec(), and make_pass_rtl_dse3().
|
extern |
References make_pass_initialize_regs().
Referenced by make_pass_initialize_regs(), and make_pass_rtl_dse3().
|
extern |
References make_pass_instantiate_virtual_regs().
Referenced by make_pass_dispatcher_calls(), and make_pass_instantiate_virtual_regs().
|
extern |
References make_pass_into_cfg_layout_mode().
Referenced by make_pass_into_cfg_layout_mode(), and make_pass_rtl_dse3().
|
extern |
References make_pass_ipa_asm_lgen().
Referenced by make_pass_ipa_asm_lgen(), and make_pass_sprintf_length().
|
extern |
References make_pass_ipa_asm_wpa().
Referenced by make_pass_ipa_asm_wpa(), and make_pass_sprintf_length().
|
extern |
References make_pass_ipa_auto_profile().
Referenced by make_pass_ipa_auto_profile(), and make_pass_sprintf_length().
|
extern |
References make_pass_ipa_auto_profile_offline().
Referenced by make_pass_ipa_auto_profile_offline(), and make_pass_sprintf_length().
|
extern |
References make_pass_ipa_cdtor_merge().
Referenced by make_pass_dispatcher_calls(), and make_pass_ipa_cdtor_merge().
|
extern |
References make_pass_ipa_comdats().
Referenced by make_pass_dispatcher_calls(), and make_pass_ipa_comdats().
|
extern |
References make_pass_ipa_cp().
Referenced by make_pass_ipa_cp(), and make_pass_sprintf_length().
|
extern |
References make_pass_ipa_devirt().
Referenced by make_pass_ipa_devirt(), and make_pass_sprintf_length().
|
extern |
References make_pass_ipa_fn_summary().
Referenced by make_pass_ipa_fn_summary(), and make_pass_sprintf_length().
|
extern |
References make_pass_ipa_free_fn_summary().
Referenced by make_pass_ipa_free_fn_summary(), and make_pass_sprintf_length().
|
extern |
References make_pass_ipa_free_lang_data().
Referenced by make_pass_ipa_free_lang_data(), and make_pass_sprintf_length().
|
extern |
|
extern |
References make_pass_ipa_icf().
Referenced by make_pass_ipa_icf(), and make_pass_sprintf_length().
|
extern |
References make_pass_ipa_increase_alignment().
Referenced by make_pass_ipa_increase_alignment(), and make_pass_sprintf_length().
|
extern |
References make_pass_ipa_inline().
Referenced by make_pass_ipa_inline(), and make_pass_sprintf_length().
|
extern |
References make_pass_ipa_locality_cloning().
Referenced by make_pass_dispatcher_calls(), and make_pass_ipa_locality_cloning().
|
extern |
IPA Passes
References make_pass_ipa_lower_emutls().
Referenced by make_pass_ipa_lower_emutls(), and make_pass_sprintf_length().
|
extern |
References make_pass_ipa_modref().
Referenced by make_pass_dispatcher_calls(), and make_pass_ipa_modref().
|
extern |
References make_pass_ipa_oacc().
Referenced by make_pass_check_data_deps(), and make_pass_ipa_oacc().
|
extern |
References make_pass_ipa_oacc_kernels().
Referenced by make_pass_check_data_deps(), and make_pass_ipa_oacc_kernels().
|
extern |
References make_pass_ipa_odr().
Referenced by make_pass_ipa_odr(), and make_pass_sprintf_length().
|
extern |
References make_pass_ipa_profile().
Referenced by make_pass_dispatcher_calls(), and make_pass_ipa_profile().
|
extern |
References make_pass_ipa_pta().
Referenced by make_pass_ipa_pta(), and make_pass_sprintf_length().
|
extern |
References make_pass_ipa_pure_const().
Referenced by make_pass_ipa_pure_const(), and make_pass_sprintf_length().
|
extern |
References make_pass_ipa_reference().
Referenced by make_pass_ipa_reference(), and make_pass_sprintf_length().
|
extern |
References make_pass_ipa_remove_symbols().
Referenced by make_pass_ipa_remove_symbols(), and make_pass_sprintf_length().
|
extern |
References make_pass_ipa_single_use().
Referenced by make_pass_dispatcher_calls(), and make_pass_ipa_single_use().
|
extern |
References make_pass_ipa_sra().
Referenced by make_pass_ipa_sra(), and make_pass_sprintf_length().
|
extern |
References make_pass_ipa_strub().
Referenced by make_pass_ipa_strub(), and make_pass_sprintf_length().
|
extern |
Create a strub mode pass.
References make_pass_ipa_strub_mode().
Referenced by make_pass_ipa_strub_mode(), and make_pass_sprintf_length().
|
extern |
References make_pass_ipa_tm().
Referenced by make_pass_ipa_tm(), and make_pass_sprintf_length().
|
extern |
References make_pass_ipa_tree_profile().
Referenced by make_pass_ipa_tree_profile(), and make_pass_sprintf_length().
|
extern |
References make_pass_ipa_whole_program_visibility().
Referenced by make_pass_ipa_whole_program_visibility(), and make_pass_sprintf_length().
|
extern |
References make_pass_ira().
Referenced by make_pass_fast_rtl_byte_dce(), and make_pass_ira().
|
extern |
References make_pass_isolate_erroneous_paths().
Referenced by make_pass_check_data_deps(), and make_pass_isolate_erroneous_paths().
|
extern |
References make_pass_iv_canon().
Referenced by make_pass_early_tree_profile(), and make_pass_iv_canon().
|
extern |
References make_pass_iv_optimize().
Referenced by make_pass_empty_loop(), and make_pass_iv_optimize().
|
extern |
References make_pass_jump().
Referenced by make_pass_dispatcher_calls(), and make_pass_jump().
|
extern |
References make_pass_jump2().
Referenced by make_pass_dispatcher_calls(), and make_pass_jump2().
|
extern |
References make_pass_jump_after_combine().
Referenced by make_pass_jump_after_combine(), and make_pass_rtl_dse3().
|
extern |
References make_pass_laddress().
Referenced by make_pass_empty_loop(), and make_pass_laddress().
|
extern |
References make_pass_late_combine().
Referenced by make_pass_late_combine(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_late_thread_prologue_and_epilogue().
Referenced by make_pass_late_thread_prologue_and_epilogue(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_late_warn_uninitialized().
Referenced by make_pass_empty_loop(), and make_pass_late_warn_uninitialized().
|
extern |
References make_pass_leaf_regs().
Referenced by make_pass_leaf_regs(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_lim().
Referenced by make_pass_early_tree_profile(), and make_pass_lim().
|
extern |
References make_pass_linterchange().
Referenced by make_pass_early_tree_profile(), and make_pass_linterchange().
|
extern |
References make_pass_live_range_shrinkage().
Referenced by make_pass_fast_rtl_byte_dce(), and make_pass_live_range_shrinkage().
|
extern |
References make_pass_local_fn_summary().
Referenced by make_pass_local_fn_summary(), and make_pass_rtl_seqabstr().
|
extern |
References make_pass_local_optimization_passes().
Referenced by make_pass_local_optimization_passes(), and make_pass_sprintf_length().
|
extern |
References make_pass_local_pure_const().
Referenced by make_pass_check_data_deps(), and make_pass_local_pure_const().
|
extern |
References make_pass_loop2().
Referenced by make_pass_loop2(), and make_pass_rtl_dse3().
|
extern |
References make_pass_loop_distribution().
Referenced by make_pass_empty_loop(), and make_pass_loop_distribution().
|
extern |
References make_pass_loop_jam().
Referenced by make_pass_early_tree_profile(), and make_pass_loop_jam().
|
extern |
References make_pass_loop_prefetch().
Referenced by make_pass_empty_loop(), and make_pass_loop_prefetch().
|
extern |
References make_pass_loop_split().
Referenced by make_pass_early_tree_profile(), and make_pass_loop_split().
|
extern |
References make_pass_loop_versioning().
Referenced by make_pass_early_tree_profile(), and make_pass_loop_versioning().
|
extern |
References make_pass_lower_bitint().
Referenced by make_pass_empty_loop(), and make_pass_lower_bitint().
|
extern |
References make_pass_lower_bitint_O0().
Referenced by make_pass_empty_loop(), and make_pass_lower_bitint_O0().
|
extern |
References make_pass_lower_cf().
Referenced by make_pass_lower_cf().
|
extern |
References make_pass_lower_complex().
Referenced by make_pass_empty_loop(), and make_pass_lower_complex().
|
extern |
References make_pass_lower_complex_O0().
Referenced by make_pass_empty_loop(), and make_pass_lower_complex_O0().
|
extern |
References make_pass_lower_eh().
Referenced by make_pass_lower_eh().
|
extern |
References make_pass_lower_eh_dispatch().
Referenced by make_pass_lower_eh_dispatch().
|
extern |
References make_pass_lower_omp().
Referenced by make_pass_empty_loop(), and make_pass_lower_omp().
|
extern |
References make_pass_lower_resx().
Referenced by make_pass_lower_resx().
|
extern |
References make_pass_lower_subreg().
Referenced by make_pass_dispatcher_calls(), and make_pass_lower_subreg().
|
extern |
References make_pass_lower_subreg2().
Referenced by make_pass_lower_subreg2(), and make_pass_rtl_dse3().
|
extern |
References make_pass_lower_subreg3().
Referenced by make_pass_fast_rtl_byte_dce(), and make_pass_lower_subreg3().
|
extern |
References make_pass_lower_switch().
Referenced by make_pass_empty_loop(), and make_pass_lower_switch().
|
extern |
References make_pass_lower_switch_O0().
Referenced by make_pass_empty_loop(), and make_pass_lower_switch_O0().
|
extern |
References make_pass_lower_tm().
Referenced by make_pass_check_data_deps(), and make_pass_lower_tm().
|
extern |
References make_pass_lower_vaarg().
Referenced by make_pass_lower_vaarg(), and make_pass_rtl_seqabstr().
|
extern |
References make_pass_lower_vector().
Referenced by make_pass_empty_loop(), and make_pass_lower_vector().
|
extern |
References make_pass_lower_vector_ssa().
Referenced by make_pass_empty_loop(), and make_pass_lower_vector_ssa().
|
extern |
References make_pass_machine_reorg().
Referenced by make_pass_machine_reorg(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_match_asm_constraints().
Referenced by make_pass_match_asm_constraints(), and make_pass_rtl_dse3().
|
extern |
References make_pass_merge_phi().
Referenced by make_pass_empty_loop(), and make_pass_merge_phi().
|
extern |
References make_pass_mode_switching().
Referenced by make_pass_fast_rtl_byte_dce(), and make_pass_mode_switching().
|
extern |
References make_pass_modref().
Referenced by make_pass_modref(), and make_pass_sprintf_length().
|
extern |
References make_pass_musttail().
Referenced by make_pass_early_tree_profile(), and make_pass_musttail().
|
extern |
References make_pass_nothrow().
Referenced by make_pass_check_data_deps(), and make_pass_nothrow().
|
extern |
References make_pass_nrv().
Referenced by make_pass_empty_loop(), and make_pass_nrv().
|
extern |
References make_pass_oacc_device_lower().
Referenced by make_pass_empty_loop(), and make_pass_oacc_device_lower().
|
extern |
References make_pass_oacc_kernels().
Referenced by make_pass_check_data_deps(), and make_pass_oacc_kernels().
|
extern |
References make_pass_oacc_loop_designation().
Referenced by make_pass_empty_loop(), and make_pass_oacc_loop_designation().
|
extern |
References make_pass_object_sizes().
Referenced by make_pass_empty_loop(), and make_pass_object_sizes().
|
extern |
References make_pass_omp_device_lower().
Referenced by make_pass_empty_loop(), and make_pass_omp_device_lower().
|
extern |
References make_pass_omp_oacc_kernels_decompose().
Referenced by make_pass_empty_loop(), and make_pass_omp_oacc_kernels_decompose().
|
extern |
References make_pass_omp_oacc_neuter_broadcast().
Referenced by make_pass_empty_loop(), and make_pass_omp_oacc_neuter_broadcast().
|
extern |
References make_pass_omp_simd_clone().
Referenced by make_pass_dispatcher_calls(), and make_pass_omp_simd_clone().
|
extern |
References make_pass_omp_target_link().
Referenced by make_pass_empty_loop(), and make_pass_omp_target_link().
|
extern |
References make_pass_optimize_bswap().
Referenced by make_pass_empty_loop(), and make_pass_optimize_bswap().
|
extern |
References make_pass_optimize_widening_mul().
Referenced by make_pass_empty_loop(), and make_pass_optimize_widening_mul().
|
extern |
References make_pass_outof_cfg_layout_mode().
Referenced by make_pass_outof_cfg_layout_mode(), and make_pass_rtl_dse3().
|
extern |
References make_pass_parallelize_loops().
Referenced by make_pass_empty_loop(), and make_pass_parallelize_loops().
|
extern |
References make_pass_partition_blocks().
Referenced by make_pass_partition_blocks(), and make_pass_rtl_dse3().
|
extern |
References make_pass_peephole2().
Referenced by make_pass_peephole2(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_phiopt().
Referenced by make_pass_empty_loop(), and make_pass_phiopt().
|
extern |
References make_pass_phiprop().
Referenced by make_pass_empty_loop(), and make_pass_phiprop().
|
extern |
References make_pass_post_ipa_warn().
Referenced by make_pass_empty_loop(), and make_pass_post_ipa_warn().
|
extern |
References make_pass_postreload_cse().
Referenced by make_pass_postreload_cse(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_pre().
Referenced by make_pass_empty_loop(), and make_pass_pre().
|
extern |
References make_pass_pre_slp_scalar_cleanup().
Referenced by make_pass_empty_loop(), and make_pass_pre_slp_scalar_cleanup().
|
extern |
References make_pass_predcom().
Referenced by make_pass_early_tree_profile(), and make_pass_predcom().
|
extern |
References make_pass_profile().
Referenced by make_pass_empty_loop(), and make_pass_profile().
|
extern |
References make_pass_reassoc().
Referenced by make_pass_check_data_deps(), and make_pass_reassoc().
|
extern |
References make_pass_rebuild_cgraph_edges().
Referenced by make_pass_check_data_deps(), and make_pass_rebuild_cgraph_edges().
|
extern |
References make_pass_rebuild_frequencies().
Referenced by make_pass_empty_loop(), and make_pass_rebuild_frequencies().
|
extern |
References make_pass_ree().
Referenced by make_pass_ree(), and make_pass_rtl_dse3().
|
extern |
References make_pass_refactor_eh().
Referenced by make_pass_refactor_eh().
|
extern |
References make_pass_reginfo_init().
Referenced by make_pass_reginfo_init(), and make_pass_rtl_dse3().
|
extern |
References make_pass_regrename().
Referenced by make_pass_regrename(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_release_ssa_names().
Referenced by make_pass_release_ssa_names(), and make_pass_rtl_seqabstr().
|
extern |
References make_pass_reload().
Referenced by make_pass_fast_rtl_byte_dce(), and make_pass_reload().
|
extern |
References make_pass_remove_cgraph_callee_edges().
Referenced by make_pass_check_data_deps(), and make_pass_remove_cgraph_callee_edges().
|
extern |
References make_pass_fre(), make_pass_rename_ssa_copies(), and make_pass_sink_code().
Referenced by make_pass_rename_ssa_copies().
|
extern |
References make_pass_reorder_blocks().
Referenced by make_pass_reorder_blocks(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_return_slot().
Referenced by make_pass_check_data_deps(), and make_pass_return_slot().
|
extern |
References make_pass_rtl_avoid_store_forwarding().
Referenced by make_pass_rtl_avoid_store_forwarding(), and make_pass_rtl_dse3().
|
extern |
References make_pass_rtl_cprop().
Referenced by make_pass_rtl_cprop(), and make_pass_rtl_dse3().
|
extern |
References make_pass_rtl_dce(), make_pass_rtl_dse1(), and make_pass_rtl_dse2().
Referenced by make_pass_rtl_dce().
|
extern |
References make_pass_rtl_doloop().
Referenced by make_pass_rtl_doloop(), and make_pass_rtl_dse3().
|
extern |
References make_pass_rtl_dse1().
Referenced by make_pass_rtl_dce(), and make_pass_rtl_dse1().
|
extern |
References make_pass_rtl_dse2().
Referenced by make_pass_rtl_dce(), and make_pass_rtl_dse2().
|
extern |
References make_pass_combine(), make_pass_cse2(), make_pass_cse_after_global_opts(), make_pass_df_initialize_no_opt(), make_pass_df_initialize_opt(), make_pass_ext_dce(), make_pass_hardreg_pre(), make_pass_if_after_combine(), make_pass_inc_dec(), make_pass_initialize_regs(), make_pass_into_cfg_layout_mode(), make_pass_jump_after_combine(), make_pass_loop2(), make_pass_lower_subreg2(), make_pass_match_asm_constraints(), make_pass_outof_cfg_layout_mode(), make_pass_partition_blocks(), make_pass_ree(), make_pass_reginfo_init(), make_pass_rtl_avoid_store_forwarding(), make_pass_rtl_cprop(), make_pass_rtl_doloop(), make_pass_rtl_dse3(), make_pass_rtl_hoist(), make_pass_rtl_ifcvt(), make_pass_rtl_loop_done(), make_pass_rtl_loop_init(), make_pass_rtl_move_loop_invariants(), make_pass_rtl_pre(), make_pass_rtl_store_motion(), make_pass_rtl_unroll_loops(), make_pass_split_all_insns(), make_pass_stack_ptr_mod(), and make_pass_web().
Referenced by make_pass_rtl_dse3().
|
extern |
References make_pass_rtl_fwprop().
Referenced by make_pass_dispatcher_calls(), and make_pass_rtl_fwprop().
|
extern |
References make_pass_rtl_fwprop_addr().
Referenced by make_pass_dispatcher_calls(), and make_pass_rtl_fwprop_addr().
|
extern |
References make_pass_rtl_hoist().
Referenced by make_pass_rtl_dse3(), and make_pass_rtl_hoist().
|
extern |
References IFCVT_BEFORE_COMBINE, and make_pass_rtl_ifcvt().
Referenced by make_pass_rtl_dse3(), and make_pass_rtl_ifcvt().
|
extern |
References make_pass_rtl_loop_done().
Referenced by make_pass_rtl_dse3(), and make_pass_rtl_loop_done().
|
extern |
References make_pass_rtl_loop_init().
Referenced by make_pass_rtl_dse3(), and make_pass_rtl_loop_init().
|
extern |
References make_pass_rtl_move_loop_invariants().
Referenced by make_pass_rtl_dse3(), and make_pass_rtl_move_loop_invariants().
|
extern |
References make_pass_rtl_pre().
Referenced by make_pass_rtl_dse3(), and make_pass_rtl_pre().
|
extern |
References current_pass, debug_pass(), emergency_dump_function(), execute_all_ipa_stmt_fixups(), execute_all_ipa_transforms(), execute_ipa_pass_list(), execute_ipa_summary_passes(), execute_one_pass(), execute_pass_list(), ipa_write_summaries(), make_pass_convert_switch(), make_pass_early_inline(), make_pass_gimple_isel(), make_pass_harden_compares(), make_pass_harden_conditional_branches(), make_pass_harden_control_flow_redundancy(), make_pass_local_fn_summary(), make_pass_lower_vaarg(), make_pass_release_ssa_names(), make_pass_rtl_seqabstr(), make_pass_update_address_taken(), pass_fini_dump_file(), pass_init_dump_file(), and print_current_pass().
Referenced by make_pass_rtl_seqabstr().
|
extern |
References make_pass_rtl_store_motion().
Referenced by make_pass_rtl_dse3(), and make_pass_rtl_store_motion().
|
extern |
References make_pass_rtl_unroll_loops().
Referenced by make_pass_rtl_dse3(), and make_pass_rtl_unroll_loops().
|
extern |
References make_pass_sancov().
Referenced by make_pass_sancov().
|
extern |
References make_pass_sancov_O0().
Referenced by make_pass_sancov_O0().
|
extern |
References make_pass_sanopt().
Referenced by make_pass_check_data_deps(), and make_pass_sanopt().
|
extern |
References make_pass_sccopy().
Referenced by make_pass_empty_loop(), and make_pass_sccopy().
|
extern |
References make_pass_scev_cprop().
Referenced by make_pass_early_tree_profile(), and make_pass_scev_cprop().
|
extern |
References make_pass_sched().
Referenced by make_pass_fast_rtl_byte_dce(), and make_pass_sched().
|
extern |
References make_pass_sched2().
Referenced by make_pass_sched2(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_sched_fusion().
Referenced by make_pass_sched_fusion(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_set_nothrow_function_flags().
Referenced by make_pass_set_nothrow_function_flags(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_shorten_branches().
Referenced by make_pass_shorten_branches(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_simduid_cleanup().
Referenced by make_pass_empty_loop(), and make_pass_simduid_cleanup().
|
extern |
References make_pass_sink_code().
Referenced by make_pass_rename_ssa_copies(), and make_pass_sink_code().
|
extern |
References make_pass_slp_vectorize().
Referenced by make_pass_empty_loop(), and make_pass_slp_vectorize().
|
extern |
References make_pass_sms().
Referenced by make_pass_fast_rtl_byte_dce(), and make_pass_sms().
|
extern |
References make_pass_split_after_reload().
Referenced by make_pass_split_after_reload(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_split_all_insns().
Referenced by make_pass_rtl_dse3(), and make_pass_split_all_insns().
|
extern |
References make_pass_split_before_regstack().
Referenced by make_pass_split_before_regstack(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_split_before_sched2().
Referenced by make_pass_split_before_sched2(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_split_crit_edges().
Referenced by make_pass_empty_loop(), and make_pass_split_crit_edges().
|
extern |
References make_pass_split_for_shorten_branches().
Referenced by make_pass_split_for_shorten_branches(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_split_functions().
Referenced by make_pass_check_data_deps(), and make_pass_split_functions().
|
extern |
References make_pass_adjust_alignment(), make_pass_analyzer(), make_pass_build_ssa_passes(), make_pass_coroutine_early_expand_ifns(), make_pass_coroutine_lower_builtins(), make_pass_ipa_asm_lgen(), make_pass_ipa_asm_wpa(), make_pass_ipa_auto_profile(), make_pass_ipa_auto_profile_offline(), make_pass_ipa_cp(), make_pass_ipa_devirt(), make_pass_ipa_fn_summary(), make_pass_ipa_free_fn_summary(), make_pass_ipa_free_lang_data(), make_pass_ipa_function_and_variable_visibility(), make_pass_ipa_icf(), make_pass_ipa_increase_alignment(), make_pass_ipa_inline(), make_pass_ipa_lower_emutls(), make_pass_ipa_odr(), make_pass_ipa_pta(), make_pass_ipa_pure_const(), make_pass_ipa_reference(), make_pass_ipa_remove_symbols(), make_pass_ipa_sra(), make_pass_ipa_strub(), make_pass_ipa_strub_mode(), make_pass_ipa_tm(), make_pass_ipa_tree_profile(), make_pass_ipa_whole_program_visibility(), make_pass_local_optimization_passes(), make_pass_modref(), make_pass_sprintf_length(), make_pass_target_clone(), and make_pass_walloca().
Referenced by make_pass_sprintf_length().
|
extern |
References make_pass_sra().
Referenced by make_pass_early_tree_profile(), and make_pass_sra().
|
extern |
References make_pass_sra_early().
Referenced by make_pass_early_tree_profile(), and make_pass_sra_early().
|
extern |
References make_pass_stack_adjustments().
Referenced by make_pass_stack_adjustments(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_stack_ptr_mod().
Referenced by make_pass_rtl_dse3(), and make_pass_stack_ptr_mod().
|
extern |
References make_pass_stack_regs().
Referenced by make_pass_stack_regs(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_stack_regs_run().
Referenced by make_pass_stack_regs_run(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_stdarg().
Referenced by make_pass_empty_loop(), and make_pass_stdarg().
|
extern |
Construct and return a store merging pass object.
References make_pass_store_merging().
Referenced by make_pass_empty_loop(), and make_pass_store_merging().
|
extern |
References make_pass_strength_reduction().
Referenced by make_pass_check_data_deps(), and make_pass_strength_reduction().
|
extern |
References make_pass_strip_predict_hints().
Referenced by make_pass_empty_loop(), and make_pass_strip_predict_hints().
|
extern |
References make_pass_strlen().
Referenced by make_pass_empty_loop(), and make_pass_strlen().
|
extern |
References make_pass_tail_calls().
Referenced by make_pass_early_tree_profile(), and make_pass_tail_calls().
|
extern |
References make_pass_tail_recursion().
Referenced by make_pass_early_tree_profile(), and make_pass_tail_recursion().
|
extern |
References make_pass_target_clone().
Referenced by make_pass_sprintf_length(), and make_pass_target_clone().
|
extern |
References make_pass_thread_jumps().
Referenced by make_pass_empty_loop(), and make_pass_thread_jumps().
|
extern |
References make_pass_thread_jumps_full().
Referenced by make_pass_empty_loop(), and make_pass_thread_jumps_full().
|
extern |
References make_pass_thread_prologue_and_epilogue().
Referenced by make_pass_thread_prologue_and_epilogue(), and make_pass_value_profile_transformations().
|
extern |
References make_pass_tm_edges().
Referenced by make_pass_check_data_deps(), and make_pass_tm_edges().
|
extern |
References make_pass_tm_init().
Referenced by make_pass_check_data_deps(), and make_pass_tm_init().
|
extern |
References make_pass_tm_mark().
Referenced by make_pass_check_data_deps(), and make_pass_tm_mark().
|
extern |
References make_pass_tm_memopt().
Referenced by make_pass_check_data_deps(), and make_pass_tm_memopt().
|
extern |
References make_pass_tracer().
Referenced by make_pass_check_data_deps(), and make_pass_tracer().
|
extern |
References make_pass_tree_ifcombine().
Referenced by make_pass_empty_loop(), and make_pass_tree_ifcombine().
|
extern |
References make_pass_tree_loop().
Referenced by make_pass_early_tree_profile(), and make_pass_tree_loop().
|
extern |
References make_pass_tree_loop_done().
Referenced by make_pass_empty_loop(), and make_pass_tree_loop_done().
|
extern |
References make_pass_tree_loop_init().
Referenced by make_pass_early_tree_profile(), and make_pass_tree_loop_init().
|
extern |
References make_pass_tree_no_loop().
Referenced by make_pass_early_tree_profile(), and make_pass_tree_no_loop().
|
extern |
References make_pass_tree_unswitch().
Referenced by make_pass_early_tree_profile(), and make_pass_tree_unswitch().
|
extern |
References make_pass_tsan().
Referenced by make_pass_tsan().
|
extern |
References make_pass_tsan_O0().
Referenced by make_pass_tsan_O0().
|
extern |
References make_pass_ubsan().
Referenced by make_pass_check_data_deps(), and make_pass_ubsan().
|
extern |
References make_pass_ud_rtl_dce().
Referenced by make_pass_dispatcher_calls(), and make_pass_ud_rtl_dce().
|
extern |
References make_pass_uncprop().
Referenced by make_pass_check_data_deps(), and make_pass_uncprop().
|
extern |
References make_pass_update_address_taken().
Referenced by make_pass_rtl_seqabstr(), and make_pass_update_address_taken().
|
extern |
References make_pass_cleanup_barriers(), make_pass_compare_elim_after_reload(), make_pass_compute_alignments(), make_pass_convert_to_eh_region_ranges(), make_pass_cprop_hardreg(), make_pass_delay_slots(), make_pass_dep_fusion(), make_pass_df_finish(), make_pass_duplicate_computed_gotos(), make_pass_dwarf2_frame(), make_pass_final(), make_pass_fold_mem_offsets(), make_pass_free_cfg(), make_pass_gcse2(), make_pass_if_after_reload(), make_pass_late_combine(), make_pass_late_thread_prologue_and_epilogue(), make_pass_leaf_regs(), make_pass_machine_reorg(), make_pass_peephole2(), make_pass_postreload_cse(), make_pass_regrename(), make_pass_reorder_blocks(), make_pass_sched2(), make_pass_sched_fusion(), make_pass_set_nothrow_function_flags(), make_pass_shorten_branches(), make_pass_split_after_reload(), make_pass_split_before_regstack(), make_pass_split_before_sched2(), make_pass_split_for_shorten_branches(), make_pass_stack_adjustments(), make_pass_stack_regs(), make_pass_stack_regs_run(), make_pass_thread_prologue_and_epilogue(), make_pass_value_profile_transformations(), make_pass_variable_tracking(), and make_pass_zero_call_used_regs().
Referenced by make_pass_value_profile_transformations().
|
extern |
References make_pass_variable_tracking().
Referenced by make_pass_value_profile_transformations(), and make_pass_variable_tracking().
|
extern |
References make_pass_vectorize().
Referenced by make_pass_empty_loop(), and make_pass_vectorize().
|
extern |
References make_pass_vrp().
Referenced by make_pass_check_data_deps(), and make_pass_vrp().
|
extern |
References make_pass_vtable_verify().
Referenced by make_pass_check_data_deps(), and make_pass_vtable_verify().
|
extern |
References make_pass_walloca(), and pass_walloca::pass_walloca().
Referenced by make_pass_sprintf_length(), and make_pass_walloca().
|
extern |
Return a new instance of the pass.
References make_pass_warn_access().
Referenced by make_pass_empty_loop(), and make_pass_warn_access().
|
extern |
References make_pass_warn_function_noreturn().
Referenced by make_pass_empty_loop(), and make_pass_warn_function_noreturn().
|
extern |
References make_pass_warn_function_return().
Referenced by make_pass_empty_loop(), and make_pass_warn_function_return().
|
extern |
References make_pass_warn_nonnull_compare().
Referenced by make_pass_check_data_deps(), and make_pass_warn_nonnull_compare().
|
extern |
References make_pass_warn_printf().
Referenced by make_pass_empty_loop(), and make_pass_warn_printf().
|
extern |
References make_pass_warn_recursion().
Referenced by make_pass_empty_loop(), and make_pass_warn_recursion().
|
extern |
References make_pass_warn_restrict().
Referenced by make_pass_check_data_deps(), and make_pass_warn_restrict().
|
extern |
References make_pass_warn_unused_result().
Referenced by make_pass_check_data_deps(), and make_pass_warn_unused_result().
|
extern |
References make_pass_web().
Referenced by make_pass_rtl_dse3(), and make_pass_web().
|
extern |
References make_pass_zero_call_used_regs().
Referenced by make_pass_value_profile_transformations(), and make_pass_zero_call_used_regs().
|
extern |
Flush PASS dump file.
This is non-static so that plugins can use it.
References gcc::dump_manager::dump_finish(), g, gcc::context::get_dumps(), pass_fini_dump_file(), release_dump_file_name(), opt_pass::static_pass_number, timevar_pop(), and timevar_push().
Referenced by execute_ipa_stmt_fixups(), execute_ipa_summary_passes(), execute_one_ipa_transform_pass(), execute_one_pass(), ipa_read_optimization_summaries_1(), ipa_read_summaries_1(), ipa_write_optimization_summaries_1(), ipa_write_summaries_2(), make_pass_rtl_seqabstr(), and pass_fini_dump_file().
Initialize pass dump file.
This is non-static so that the plugins can use it.
References cfun, clean_graph_dump_file(), current_function_decl, dump_file, dump_file_name, dump_flags, dump_function_header(), gcc::dump_manager::dump_initialized_p(), gcc::dump_manager::dump_start(), g, gcc::dump_manager::get_dump_file_info(), gcc::dump_manager::get_dump_file_name(), gcc::context::get_dumps(), dump_file_info::graph_dump_initialized, pass_init_dump_file(), PROP_cfg, release_dump_file_name(), opt_pass::static_pass_number, TDF_GIMPLE, TDF_GRAPH, timevar_pop(), and timevar_push().
Referenced by execute_ipa_stmt_fixups(), execute_ipa_summary_passes(), execute_one_ipa_transform_pass(), execute_one_pass(), ipa_read_optimization_summaries_1(), ipa_read_summaries_1(), ipa_write_optimization_summaries_1(), ipa_write_summaries_2(), make_pass_rtl_seqabstr(), and pass_init_dump_file().
|
extern |
Call from anywhere to find out what pass this is. Useful for printing out debugging information deep inside an service routine.
References current_pass, pass_data::name, print_current_pass(), and opt_pass::static_pass_number.
Referenced by debug_pass(), make_pass_rtl_seqabstr(), and print_current_pass().
|
extern |
Iterate over the pass tree allocating dump file numbers. We want to do this depth first, and independent of whether the pass is enabled or not.
References g, gcc::context::get_passes(), gcc::pass_manager::register_one_dump_file(), and register_one_dump_file().
Referenced by ipa_write_optimization_summaries(), register_one_dump_file(), and gcc::dump_manager::register_pass().
|
extern |
References g, gcc::context::get_passes(), i, gcc::pass_manager::register_pass(), and register_pass().
|
extern |
Registers a new pass. Either fill out the register_pass_info or specify the individual parameters. The pass object is expected to have been allocated using operator new and the pass manager takes the ownership of the pass object.
Hooks a new pass into the pass lists.
PASS_INFO - pass information that specifies the opt_pass object,
reference pass, instance number, and how to position
the pass
References g, gcc::context::get_passes(), gcc::pass_manager::register_pass(), and register_pass().
Referenced by register_callback(), register_pass(), and register_pass().
|
extern |
Runs tail merge optimization.
References all_clusters, alloc_cluster_vectors(), apply_clusters(), BASIC_BLOCK_FOR_FN, BITMAP_ALLOC, bitmap_empty_p(), BITMAP_FREE, calculate_dominance_info(), CDI_DOMINATORS, cfun, current_function_decl, delete_cluster_vectors(), delete_unreachable_blocks(), delete_worklist(), dom_info_available_p(), dump_file, dump_flags, dump_function_to_file(), EXECUTE_IF_SET_IN_BITMAP, find_clusters(), free_dominance_info(), gcc_assert, i, ifcombine_candidate_bbs, init_worklist(), mark_ssa_maybe_undefs(), mark_virtual_operands_for_renaming(), MAY_HAVE_DEBUG_BIND_STMTS, NULL, reset_cluster_vectors(), same_succ_htab, split_edges_for_insertion(), tail_merge_optimize(), TDF_DETAILS, timevar_pop(), timevar_push(), TODO_cleanup_cfg, tree_ssa_ifcombine_bb(), update_bbs, update_debug_stmts(), update_worklist(), and worklist.
Referenced by make_pass_empty_loop(), and tail_merge_optimize().
|
extern |
Current optimization pass.
This is used for debugging. It allows the current pass to printed from anywhere in compilation. The variable current_pass is also used for statistics and plugins.
Referenced by dump_context::begin_next_optinfo(), connect_traces(), curr_statistics_hash(), emergency_dump_function(), execute_ipa_stmt_fixups(), execute_ipa_summary_passes(), execute_one_ipa_transform_pass(), execute_one_pass(), cgraph_node::get_body(), ipa_read_optimization_summaries_1(), ipa_read_summaries_1(), ipa_write_optimization_summaries_1(), ipa_write_summaries_2(), make_pass_rtl_seqabstr(), opt_problem::opt_problem(), print_current_pass(), pure_const_generate_summary(), pure_const_read_summary(), statistics_counter_event(), statistics_fini_pass(), statistics_fini_pass_2(), and statistics_histogram_event().