X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Ftree-pass.h;h=6250ae6140bfa76ae29a628db366a25b2675b48e;hb=0af923f587d901f674de98b7f93cf7f43ea370ff;hp=cdaf8efefdc5a80ae3f0cf9a13a04719b75451a9;hpb=4ee9c6840ad3fc92a9034343278a1e476ad6872a;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/tree-pass.h b/gcc/tree-pass.h index cdaf8efefdc..6250ae6140b 100644 --- a/gcc/tree-pass.h +++ b/gcc/tree-pass.h @@ -26,9 +26,13 @@ Boston, MA 02111-1307, USA. */ /* Global variables used to communicate with passes. */ extern FILE *dump_file; extern int dump_flags; +extern const char *dump_file_name; extern struct bitmap_head_def *vars_to_rename; +/* Return the dump_file_info for the given phase. */ +extern struct dump_file_info *get_dump_file_info (enum tree_dump_index); + /* Describe one pass. */ struct tree_opt_pass { @@ -50,7 +54,7 @@ struct tree_opt_pass struct tree_opt_pass *next; /* Static pass number, used as a fragment of the dump file name. */ - unsigned int static_pass_number; + int static_pass_number; /* The timevar id associated with this pass. */ /* ??? Ideally would be dynamically assigned. */ @@ -64,6 +68,20 @@ struct tree_opt_pass /* Flags indicating common sets things to do before and after. */ unsigned int todo_flags_start; unsigned int todo_flags_finish; + + /* Letter for RTL dumps. */ + char letter; +}; + +/* Define a tree dump switch. */ +struct dump_file_info +{ + const char *suffix; /* suffix to give output file. */ + const char *swtch; /* command line switch */ + int flags; /* user flags */ + int state; /* state of play */ + int num; /* dump file number */ + int letter; /* enabling letter for RTL dumps */ }; /* Pass properties. */ @@ -75,6 +93,11 @@ struct tree_opt_pass #define PROP_pta (1 << 5) #define PROP_ssa (1 << 6) #define PROP_no_crit_edges (1 << 7) +#define PROP_rtl (1 << 8) +#define PROP_alias (1 << 9) + +#define PROP_trees \ + (PROP_gimple_any | PROP_gimple_lcf | PROP_gimple_leh) /* To-do flags. */ #define TODO_dump_func (1 << 0) /* pass doesn't dump itself */ @@ -96,12 +119,20 @@ extern struct tree_opt_pass pass_lower_eh; extern struct tree_opt_pass pass_build_cfg; extern struct tree_opt_pass pass_tree_profile; extern struct tree_opt_pass pass_referenced_vars; -extern struct tree_opt_pass pass_build_pta; -extern struct tree_opt_pass pass_del_pta; extern struct tree_opt_pass pass_sra; extern struct tree_opt_pass pass_tail_recursion; extern struct tree_opt_pass pass_tail_calls; extern struct tree_opt_pass pass_loop; +extern struct tree_opt_pass pass_loop_init; +extern struct tree_opt_pass pass_lim; +extern struct tree_opt_pass pass_unswitch; +extern struct tree_opt_pass pass_iv_canon; +extern struct tree_opt_pass pass_record_bounds; +extern struct tree_opt_pass pass_if_conversion; +extern struct tree_opt_pass pass_vectorize; +extern struct tree_opt_pass pass_complete_unroll; +extern struct tree_opt_pass pass_iv_optimize; +extern struct tree_opt_pass pass_loop_done; extern struct tree_opt_pass pass_ch; extern struct tree_opt_pass pass_ccp; extern struct tree_opt_pass pass_build_ssa; @@ -113,7 +144,8 @@ extern struct tree_opt_pass pass_may_alias; extern struct tree_opt_pass pass_split_crit_edges; extern struct tree_opt_pass pass_pre; extern struct tree_opt_pass pass_profile; -extern struct tree_opt_pass pass_lower_complex; +extern struct tree_opt_pass pass_pre_expand; +extern struct tree_opt_pass pass_lower_vector_ssa; extern struct tree_opt_pass pass_fold_builtins; extern struct tree_opt_pass pass_early_warn_uninitialized; extern struct tree_opt_pass pass_late_warn_uninitialized; @@ -125,6 +157,9 @@ extern struct tree_opt_pass pass_dse; extern struct tree_opt_pass pass_nrv; extern struct tree_opt_pass pass_remove_useless_vars; extern struct tree_opt_pass pass_rename_ssa_copies; - +extern struct tree_opt_pass pass_expand; +extern struct tree_opt_pass pass_rest_of_compilation; +extern struct tree_opt_pass pass_fre; +extern struct tree_opt_pass pass_linear_transform; #endif /* GCC_TREE_PASS_H */