X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Ftree-pass.h;h=e210798e63e4aa9e98279345d634e2dbc1de9f9c;hb=f6b25e1c30aa1500028eb3b716469fa428ee094b;hp=299255cea758a26f2b3c34497bc8f2b5c31658c5;hpb=7e0311aec8e6ab97a323f24623f2d0da6bb2d779;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/tree-pass.h b/gcc/tree-pass.h index 299255cea75..e210798e63e 100644 --- a/gcc/tree-pass.h +++ b/gcc/tree-pass.h @@ -6,7 +6,7 @@ This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, @@ -15,9 +15,8 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING. If not, write to -the Free Software Foundation, 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ +along with GCC; see the file COPYING3. If not see +. */ #ifndef GCC_TREE_PASS_H @@ -218,8 +217,13 @@ struct dump_file_info for the passes that are handed to register_dump_files. */ #define TODO_set_props (1 << 15) +/* 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. */ +#define TODO_df_finish (1 << 16) + /* Internally used for the first instance of a pass. */ -#define TODO_mark_first_instance (1 << 16) +#define TODO_mark_first_instance (1 << 17) #define TODO_update_ssa_any \ (TODO_update_ssa \ @@ -250,6 +254,7 @@ extern struct tree_opt_pass pass_tree_loop; extern struct tree_opt_pass pass_tree_loop_init; extern struct tree_opt_pass pass_lim; extern struct tree_opt_pass pass_tree_unswitch; +extern struct tree_opt_pass pass_predcom; extern struct tree_opt_pass pass_iv_canon; extern struct tree_opt_pass pass_scev_cprop; extern struct tree_opt_pass pass_empty_loop; @@ -287,11 +292,13 @@ extern struct tree_opt_pass pass_early_warn_uninitialized; extern struct tree_opt_pass pass_late_warn_uninitialized; extern struct tree_opt_pass pass_cse_reciprocals; extern struct tree_opt_pass pass_cse_sincos; +extern struct tree_opt_pass pass_convert_to_rsqrt; extern struct tree_opt_pass pass_warn_function_return; extern struct tree_opt_pass pass_warn_function_noreturn; extern struct tree_opt_pass pass_phiopt; extern struct tree_opt_pass pass_forwprop; extern struct tree_opt_pass pass_phiprop; +extern struct tree_opt_pass pass_tree_ifcombine; extern struct tree_opt_pass pass_dse; extern struct tree_opt_pass pass_nrv; extern struct tree_opt_pass pass_mark_used_blocks; @@ -315,6 +322,7 @@ extern struct tree_opt_pass pass_build_cgraph_edges; extern struct tree_opt_pass pass_reset_cc_flags; /* IPA Passes */ +extern struct tree_opt_pass pass_ipa_matrix_reorg; extern struct tree_opt_pass pass_ipa_cp; extern struct tree_opt_pass pass_ipa_inline; extern struct tree_opt_pass pass_ipa_early_inline; @@ -344,6 +352,12 @@ extern struct tree_opt_pass pass_rtl_fwprop_addr; extern struct tree_opt_pass pass_jump2; extern struct tree_opt_pass pass_lower_subreg; extern struct tree_opt_pass pass_cse; +extern struct tree_opt_pass pass_fast_rtl_dce; +extern struct tree_opt_pass pass_ud_rtl_dce; +extern struct tree_opt_pass pass_rtl_dce; +extern struct tree_opt_pass pass_rtl_dse1; +extern struct tree_opt_pass pass_rtl_dse2; +extern struct tree_opt_pass pass_rtl_dse3; extern struct tree_opt_pass pass_gcse; extern struct tree_opt_pass pass_jump_bypass; extern struct tree_opt_pass pass_profiling; @@ -363,16 +377,23 @@ extern struct tree_opt_pass pass_rtl_loop_done; extern struct tree_opt_pass pass_web; extern struct tree_opt_pass pass_cse2; -extern struct tree_opt_pass pass_life; +extern struct tree_opt_pass pass_df_initialize_opt; +extern struct tree_opt_pass pass_df_initialize_no_opt; +extern struct tree_opt_pass pass_regclass_init; +extern struct tree_opt_pass pass_subregs_of_mode_init; +extern struct tree_opt_pass pass_subregs_of_mode_finish; +extern struct tree_opt_pass pass_inc_dec; +extern struct tree_opt_pass pass_stack_ptr_mod; +extern struct tree_opt_pass pass_initialize_regs; extern struct tree_opt_pass pass_combine; extern struct tree_opt_pass pass_if_after_combine; extern struct tree_opt_pass pass_partition_blocks; +extern struct tree_opt_pass pass_match_asm_constraints; extern struct tree_opt_pass pass_regmove; extern struct tree_opt_pass pass_split_all_insns; extern struct tree_opt_pass pass_lower_subreg2; extern struct tree_opt_pass pass_mode_switching; extern struct tree_opt_pass pass_see; -extern struct tree_opt_pass pass_recompute_reg_usage; extern struct tree_opt_pass pass_sms; extern struct tree_opt_pass pass_sched; extern struct tree_opt_pass pass_local_alloc; @@ -381,19 +402,24 @@ extern struct tree_opt_pass pass_postreload; extern struct tree_opt_pass pass_clean_state; extern struct tree_opt_pass pass_branch_prob; extern struct tree_opt_pass pass_value_profile_transformations; -extern struct tree_opt_pass pass_remove_death_notes; extern struct tree_opt_pass pass_postreload_cse; extern struct tree_opt_pass pass_gcse2; -extern struct tree_opt_pass pass_flow2; +extern struct tree_opt_pass pass_split_after_reload; +extern struct tree_opt_pass pass_branch_target_load_optimize1; +extern struct tree_opt_pass pass_thread_prologue_and_epilogue; extern struct tree_opt_pass pass_stack_adjustments; extern struct tree_opt_pass pass_peephole2; extern struct tree_opt_pass pass_if_after_reload; extern struct tree_opt_pass pass_regrename; +extern struct tree_opt_pass pass_cprop_hardreg; extern struct tree_opt_pass pass_reorder_blocks; -extern struct tree_opt_pass pass_branch_target_load_optimize; +extern struct tree_opt_pass pass_branch_target_load_optimize2; extern struct tree_opt_pass pass_leaf_regs; +extern struct tree_opt_pass pass_split_before_sched2; extern struct tree_opt_pass pass_sched2; extern struct tree_opt_pass pass_stack_regs; +extern struct tree_opt_pass pass_stack_regs_run; +extern struct tree_opt_pass pass_df_finish; extern struct tree_opt_pass pass_compute_alignments; extern struct tree_opt_pass pass_duplicate_computed_gotos; extern struct tree_opt_pass pass_variable_tracking; @@ -419,6 +445,8 @@ extern struct tree_opt_pass *all_passes, *all_ipa_passes, *all_lowering_passes; extern void execute_pass_list (struct tree_opt_pass *); extern void execute_ipa_pass_list (struct tree_opt_pass *); +extern void print_current_pass (FILE *); +extern void debug_pass (void); /* 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