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 | |
struct opt_pass * | current_pass |
bool | first_pass_instance |
enum opt_pass_type |
enum pass_positioning_ops |
void debug_pass | ( | void | ) |
Call from the debugger to get the current pass name.
References print_current_pass().
void disable_pass | ( | const char * | ) |
void do_per_function_toporder | ( | void(*)(void *) | , |
void * | |||
) |
Declare for plugins.
void dump_passes | ( | void | ) |
Dump all optimization passes.
References gcc::pass_manager::dump_passes(), g, and gcc::context::get_passes().
Referenced by finalize_compilation_unit().
void enable_pass | ( | const char * | ) |
void execute_all_ipa_stmt_fixups | ( | struct cgraph_node * | , |
gimple * | |||
) |
void execute_all_ipa_transforms | ( | void | ) |
For the current function, execute all ipa transforms.
References cfun, cgraph_get_node(), current_function_decl, execute_one_ipa_transform_pass(), and cgraph_node::ipa_transforms_to_apply.
Referenced by apply_ipa_transforms(), and expand_function().
void execute_ipa_pass_list | ( | struct opt_pass * | ) |
void execute_ipa_summary_passes | ( | struct ipa_opt_pass_d * | ) |
bool execute_one_pass | ( | struct opt_pass * | ) |
void execute_pass_list | ( | struct opt_pass * | ) |
bool function_called_by_processed_nodes_p | ( | void | ) |
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 cgraph_edge::caller, cgraph_function_with_gimple_body_p(), cgraph_get_node(), current_function_decl, symtab_node_base::decl, dump_cgraph_node(), dump_file, cgraph_node::global, cgraph_global_info::inlined_to, cgraph_edge::next_caller, cgraph_node::process, and cgraph_node::symbol.
Referenced by skip_function_for_local_pure_const().
const char* get_current_pass_name | ( | void | ) |
void ipa_read_optimization_summaries | ( | void | ) |
Read all the summaries for all_regular_ipa_passes and all_lto_gen_passes.
References gcc::pass_manager::all_lto_gen_passes, gcc::pass_manager::all_regular_ipa_passes, g, gcc::context::get_passes(), and ipa_read_optimization_summaries_1().
void ipa_read_summaries | ( | void | ) |
Read all the summaries for all_regular_ipa_passes and all_lto_gen_passes.
References gcc::pass_manager::all_lto_gen_passes, gcc::pass_manager::all_regular_ipa_passes, g, gcc::context::get_passes(), and ipa_read_summaries_1().
void ipa_write_optimization_summaries | ( | struct lto_symtab_encoder_d * | ) |
void ipa_write_summaries | ( | void | ) |
Write out summaries for all the nodes in the callgraph.
References symtab_node_base::alias, cgraph_function_with_gimple_body_p(), cgraph_n_nodes, compute_ltrans_boundary(), symtab_node_base::decl, symtab_node_base::definition, free(), ipa_reverse_postorder(), ipa_write_summaries_1(), lto_set_symtab_encoder_in_partition(), lto_symtab_encoder_new(), order, pop_cfun(), push_cfun(), renumber_gimple_stmt_uids(), seen_error(), and cgraph_node::symbol.
Referenced by ipa_passes().
gimple_opt_pass* make_pass_asan | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_asan_O0 | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_branch_prob | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_branch_target_load_optimize1 | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_branch_target_load_optimize2 | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_build_alias | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_build_cfg | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_build_cgraph_edges | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_build_ealias | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_build_ssa | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_call_cdce | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_ccp | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_cd_dce | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_ch | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_check_data_deps | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_clean_state | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_cleanup_barriers | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_cleanup_cfg_post_optimizing | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_cleanup_eh | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_combine | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_compare_elim_after_reload | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_complete_unroll | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_complete_unrolli | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_compute_alignments | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_convert_switch | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_convert_to_eh_region_ranges | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_copy_prop | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_cprop_hardreg | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_cse | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_cse2 | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_cse_after_global_opts | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_cse_reciprocals | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_cse_sincos | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_cselim | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_dce | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_dce_loop | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_delay_slots | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_df_finish | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_df_initialize_no_opt | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_df_initialize_opt | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_diagnose_omp_blocks | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_diagnose_tm_blocks | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_dominator | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_dse | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_duplicate_computed_gotos | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_dwarf2_frame | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_early_inline | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_early_ipa_sra | ( | gcc::context * | ctxt | ) |
simple_ipa_opt_pass* make_pass_early_local_passes | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_early_tree_profile | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_early_warn_uninitialized | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_empty_loop | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_expand | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_expand_omp | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_expand_omp_ssa | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_fast_rtl_byte_dce | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_fast_rtl_dce | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_feedback_split_functions | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_final | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_fixup_cfg | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_fold_builtins | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_forwprop | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_fre | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_free_cfg | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_gcse2 | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_graphite | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_graphite_transforms | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_if_after_combine | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_if_after_reload | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_if_conversion | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_inc_dec | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_init_datastructures | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_initialize_regs | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_inline_parameters | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_instantiate_virtual_regs | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_into_cfg_layout_mode | ( | gcc::context * | ctxt | ) |
ipa_opt_pass_d* make_pass_ipa_cdtor_merge | ( | gcc::context * | ctxt | ) |
ipa_opt_pass_d* make_pass_ipa_cp | ( | gcc::context * | ctxt | ) |
simple_ipa_opt_pass* make_pass_ipa_free_inline_summary | ( | gcc::context * | ctxt | ) |
simple_ipa_opt_pass* make_pass_ipa_free_lang_data | ( | gcc::context * | ctxt | ) |
simple_ipa_opt_pass* make_pass_ipa_function_and_variable_visibility | ( | gcc::context * | ctxt | ) |
simple_ipa_opt_pass* make_pass_ipa_increase_alignment | ( | gcc::context * | ctxt | ) |
ipa_opt_pass_d* make_pass_ipa_inline | ( | gcc::context * | ctxt | ) |
simple_ipa_opt_pass* make_pass_ipa_lower_emutls | ( | gcc::context * | ctxt | ) |
IPA Passes
ipa_opt_pass_d* make_pass_ipa_lto_finish_out | ( | gcc::context * | ctxt | ) |
ipa_opt_pass_d* make_pass_ipa_lto_gimple_out | ( | gcc::context * | ctxt | ) |
ipa_opt_pass_d* make_pass_ipa_profile | ( | gcc::context * | ctxt | ) |
simple_ipa_opt_pass* make_pass_ipa_pta | ( | gcc::context * | ctxt | ) |
ipa_opt_pass_d* make_pass_ipa_pure_const | ( | gcc::context * | ctxt | ) |
ipa_opt_pass_d* make_pass_ipa_reference | ( | gcc::context * | ctxt | ) |
simple_ipa_opt_pass* make_pass_ipa_tm | ( | gcc::context * | ctxt | ) |
simple_ipa_opt_pass* make_pass_ipa_tree_profile | ( | gcc::context * | ctxt | ) |
ipa_opt_pass_d* make_pass_ipa_whole_program_visibility | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_ira | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_iv_canon | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_iv_optimize | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_jump | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_jump2 | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_late_warn_uninitialized | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_leaf_regs | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_lim | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_local_pure_const | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_loop2 | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_loop_distribution | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_loop_prefetch | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_lower_cf | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_lower_complex | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_lower_complex_O0 | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_lower_eh | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_lower_eh_dispatch | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_lower_omp | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_lower_resx | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_lower_subreg | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_lower_subreg2 | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_lower_tm | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_lower_vector | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_lower_vector_ssa | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_machine_reorg | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_match_asm_constraints | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_merge_phi | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_mode_switching | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_mudflap_1 | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_mudflap_2 | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_nrv | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_object_sizes | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_optimize_bswap | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_optimize_widening_mul | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_outof_cfg_layout_mode | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_parallelize_loops | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_partition_blocks | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_peephole2 | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_phi_only_cprop | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_phiopt | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_phiprop | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_postreload_cse | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_pre | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_predcom | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_profile | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_reassoc | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_rebuild_cgraph_edges | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_record_bounds | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_ree | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_refactor_eh | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_reginfo_init | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_regmove | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_regrename | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_release_ssa_names | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_reload | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_remove_cgraph_callee_edges | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_rename_ssa_copies | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_reorder_blocks | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_return_slot | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_rtl_cprop | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_rtl_dce | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_rtl_doloop | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_rtl_dse1 | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_rtl_dse2 | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_rtl_dse3 | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_rtl_fwprop | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_rtl_fwprop_addr | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_rtl_hoist | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_rtl_ifcvt | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_rtl_loop_done | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_rtl_loop_init | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_rtl_move_loop_invariants | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_rtl_pre | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_rtl_seqabstr | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_rtl_store_motion | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_rtl_unroll_and_peel_loops | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_rtl_unswitch | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_scev_cprop | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_sched | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_sched2 | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_set_nothrow_function_flags | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_shorten_branches | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_sink_code | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_slp_vectorize | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_sms | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_split_after_reload | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_split_all_insns | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_split_before_regstack | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_split_before_sched2 | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_split_crit_edges | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_split_for_shorten_branches | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_split_functions | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_sra | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_sra_early | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_stack_adjustments | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_stack_ptr_mod | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_stack_regs | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_stack_regs_run | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_stdarg | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_strength_reduction | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_strip_predict_hints | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_strlen | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_tail_calls | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_tail_recursion | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_thread_prologue_and_epilogue | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_tm_edges | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_tm_init | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_tm_mark | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_tm_memopt | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_tracer | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_tree_ifcombine | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_tree_loop | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_tree_loop_done | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_tree_loop_init | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_tree_unswitch | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_tsan | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_tsan_O0 | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_ud_rtl_dce | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_uncprop | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_update_address_taken | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_value_profile_transformations | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_variable_tracking | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_vectorize | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_vrp | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_vtable_verify | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_warn_function_noreturn | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_warn_function_return | ( | gcc::context * | ctxt | ) |
gimple_opt_pass* make_pass_warn_unused_result | ( | gcc::context * | ctxt | ) |
rtl_opt_pass* make_pass_web | ( | gcc::context * | ctxt | ) |
void pass_fini_dump_file | ( | struct opt_pass * | ) |
bool pass_init_dump_file | ( | struct opt_pass * | ) |
void print_current_pass | ( | FILE * | ) |
void register_one_dump_file | ( | struct opt_pass * | ) |
void register_pass | ( | struct register_pass_info * | ) |
unsigned int tail_merge_optimize | ( | unsigned | int | ) |
Referenced by do_pre().
struct opt_pass* current_pass |
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 connect_traces(), curr_statistics_hash(), execute_one_ipa_transform_pass(), execute_one_pass(), print_current_pass(), statistics_counter_event(), statistics_fini_pass(), statistics_fini_pass_2(), and statistics_histogram_event().
bool first_pass_instance |
Set to true if the pass is called the first time during compilation of the current function. Note that using this information in the optimization passes is considered not to be clean, and it should be avoided if possible. This flag is currently used to prevent loops from being peeled repeatedly in jump threading; it will be removed once we preserve loop structures throughout the compilation -- we will be able to mark the affected loops directly in jump threading, and avoid peeling them next time.
Referenced by acceptable_pow_call(), execute_todo(), reassociate_bb(), and tree_ssa_dominator_optimize().