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.
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 last.
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.
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.
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.
void ipa_read_summaries | ( | void | ) |
Read all the summaries for all_regular_ipa_passes and all_lto_gen_passes.
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.
Create the callgraph set in the same order used in cgraph_expand_all_functions. This mostly facilitates debugging, since it causes the gimple file to be processed in the same order as the source code.
When streaming out references to statements as part of some IPA pass summary, the statements need to have uids assigned and the following does that for all the IPA passes here. Naturally, this ordering then matches the one IPA-passes get in their stmt_fixup hooks.
References GIMPLE_PASS, IPA_PASS, ipa_read_summaries_1(), pass_fini_dump_file(), pass_init_dump_file(), ipa_opt_pass_d::read_summary, opt_pass::sub, timevar_pop(), timevar_push(), pass_data::tv_id, and pass_data::type.
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 | ) |
ipa_opt_pass_d* make_pass_ipa_devirt | ( | 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_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_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 | ( | register_pass_info * | ) |
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.
void register_pass | ( | opt_pass * | pass, |
pass_positioning_ops | pos, | ||
const char * | ref_pass_name, | ||
int | ref_pass_inst_number | ||
) |
unsigned int tail_merge_optimize | ( | unsigned | int | ) |
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 gcc::pass_manager::execute_pass_mode_switching(), statistics_fini_pass_3(), and verify_curr_properties().
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.