re PR other/35094 (RTL dump file letters hosed and partly undocumented)
authorJan Hubicka <jh@suse.cz>
Wed, 19 Mar 2008 11:22:40 +0000 (12:22 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Wed, 19 Mar 2008 11:22:40 +0000 (11:22 +0000)
* gcc.dg/20050811-2.c: Update dumping flags.
* gcc.dg/sms-2.c: Update dumping flags.
* gcc.dg/var-expand1.c: Update dumping flags.
* gcc.dg/var-expand3.c: Update dumping flags.
* gcc.dg/pr30957-1.c: Update dumping flags.
* gcc.dg/20050811-1.c: Update dumping flags.
* gcc.dg/cpp/cmdlne-dI-M.C: Do not xfail.
* gcc.dg/cpp/cmdlne-dM-M.C: Do not xfail.

PR other/35094
* toplev.c (decode_d_option): Handle all CPP flags.
* tree-vrp.c: Update tree_pass descriptors.
* regrename.c: Update tree_pass descriptors.
* fwprop.c: Update tree_pass descriptors.
* doc/invoke.texi: Remove documentation of dropped -d? flags.
* tree-into-ssa.c: Update tree_pass descriptors.
* tree-dump.c: Update tree_pass descriptors.
* tree-complex.c: Update tree_pass descriptors.
* tree-dump.h: Update tree_pass descriptors.
* see.c: Update tree_pass descriptors.
* cgraphbuild.c: Update tree_pass descriptors.
* tracer.c: Update tree_pass descriptors.
* tree-loop-distribution.c: Update tree_pass descriptors.
* cgraph.c: Update tree_pass descriptors.
* postreload-gcse.c: Update tree_pass descriptors.
* postreload.c: Update tree_pass descriptors.
* tree-ssa-loop-ch.c: Update tree_pass descriptors.
* tree-tailcall.c: Update tree_pass descriptors.
* tree-pass.h (tree_opt_pass): Rename to ...
(opt_pass) ... this one; add "type" field and remove letter field.
(gimple_opt_pass, rtl_opt_pass, simple_ipa_opt_pass): New.
(execute_pass_list, execute_ipa_pass_list, all_passes, all_ipa_passes,
all_lowering_passes): Update declaration.
* ipa-cp.c: Update tree_pass descriptors.
* final.c: Update tree_pass descriptors.
* omp-low.c: Update tree_pass descriptors.
* tree-ssa-dse.c: Update tree_pass descriptors.
* ipa-reference.c: Update tree_pass descriptors.
* tree-ssa-uncprop.c: Update tree_pass descriptors.
* auto-inc-dec.c: Update tree_pass descriptors.
* reorg.c: Update tree_pass descriptors.
* cgraphunit.c: Update tree_pass descriptors.
* tree-ssa-copyrename.c: Update tree_pass descriptors.
* tree-ssa-ccp.c: Update tree_pass descriptors.
* df-core.c: Update tree_pass descriptors.
* mode-switching.c: Update tree_pass descriptors.
* tree-nomudflap.c: Update tree_pass descriptors.
* modulo-sched.c: Update tree_pass descriptors.
* ipa-pure-const.c: Update tree_pass descriptors.
* cse.c: Update tree_pass descriptors.
* web.c: Update tree_pass descriptors.
* tree-stdarg.c: Update tree_pass descriptors.
* tree-ssa-math-opts.c: Update tree_pass descriptors.
* tree-ssa-dom.c: Update tree_pass descriptors.
* tree-nrv.c: Update tree_pass descriptors.
* tree-ssa-alias.c: Update tree_pass descriptors.
* loop-init.c: Update tree_pass descriptors.
* gimple-low.c: Update tree_pass descriptors.
* ipa-inline.c: Update tree_pass descriptors.
* tree-ssa-sink.c: Update tree_pass descriptors.
* global.c: Update tree_pass descriptors.
* ifcvt.c: Update tree_pass descriptors.
* jump.c: Update tree_pass descriptors.
* predict.c: Update tree_pass descriptors.
* tree-ssa-loop.c: Update tree_pass descriptors.
* recog.c: Update tree_pass descriptors.
* dse.c: Update tree_pass descriptors.
* tree-ssa-ifcombine.c: Update tree_pass descriptors.
* tree-eh.c: Update tree_pass descriptors.
* regmove.c: Update tree_pass descriptors.
* local-alloc.c
* function.c: Update tree_pass descriptors.
* tree-vectorizer.c: Update tree_pass descriptors.
* gcse.c: Update tree_pass descriptors.
* ipa-type-escape.c: Update tree_pass descriptors.
* tree-if-conv.c: Update tree_pass descriptors.
* init-regs.c: Update tree_pass descriptors.
* ipa.c: Update tree_pass descriptors.
* tree-ssa-phiopt.c: Update tree_pass descriptors.
* rtl-factoring.c: Update tree_pass descriptors.
* lower-subreg.c: Update tree_pass descriptors.
* bt-load.c: Update tree_pass descriptors.
* tree-dfa.c: Update tree_pass descriptors.
* except.c: Update tree_pass descriptors.
* emit-rtl.c: Update tree_pass descriptors.
* cfgexpand.c: Update tree_pass descriptors.
* tree-cfgcleanup.c: Update tree_pass descriptors.
* cfgcleanup.c: Update tree_pass descriptors.
* tree-ssa-pre.c: Update tree_pass descriptors.
* tree-sra.c: Update tree_pass descriptors.
* tree-mudflap.c: Update tree_pass descriptors.
* tree-ssa-copy.c: Update tree_pass descriptors.
* cfglayout.c: Update tree_pass descriptors.
* tree-ssa-forwprop.c: Update tree_pass descriptors.
* tree-ssa-dce.c: Update tree_pass descriptors.
* tree-ssa.c: Update tree_pass descriptors.
* regclass.c: Update tree_pass descriptors.
* integrate.c: Update tree_pass descriptors.
* tree-optimize.c: Update tree_pass descriptors.
* tree-ssa-phiprop.c: Update tree_pass descriptors.
* tree-object-size.c: Update tree_pass descriptors.
* combine.c: Update tree_pass descriptors.
* tree-outof-ssa.c: Update tree_pass descriptors.
* bb-reorder.c: Update tree_pass descriptors.
* stack-ptr-mod.c: Update tree_pass descriptors.
* var-tracking.c: Update tree_pass descriptors.
* tree-profile.c: Update tree_pass descriptors.
* tree-vect-generic.c: Update tree_pass descriptors.
* reg-stack.c: Update tree_pass descriptors.
* sched-rgn.c: Update tree_pass descriptors.
* tree-ssa-structalias.c: Update tree_pass descriptors.
* tree-cfg.c: Update tree_pass descriptors.
* passes.c (current_pass): Update declaration.
(finish_optimization_passes): Update.
(all_passes, all_ipa_passes, all_lowering_passes): Update declaration.
(register_one_dump_file, register_dump_files_1, next_pass_1):
  Update arguments.
(init_optimization_passes): Update handling of new types.
(execute_one_pass, execute_pass_list, execute_ipa_pass_list): Update.
* ipa-struct-reorg.c: Update tree_pass descriptors.
* tree-ssa-reassoc.c: Update tree_pass descriptors.
* combine-stack-adj.c: Update tree_pass descriptors.
* cfgrtl.c: Update tree_pass descriptors.
* dce.c: Update tree_pass descriptors.
* tree-ssanames.c: Update tree_pass descriptors.

From-SVN: r133342

116 files changed:
gcc/ChangeLog
gcc/auto-inc-dec.c
gcc/bb-reorder.c
gcc/bt-load.c
gcc/cfgcleanup.c
gcc/cfgexpand.c
gcc/cfglayout.c
gcc/cfgrtl.c
gcc/cgraph.c
gcc/cgraphbuild.c
gcc/cgraphunit.c
gcc/combine-stack-adj.c
gcc/combine.c
gcc/cse.c
gcc/dce.c
gcc/df-core.c
gcc/doc/invoke.texi
gcc/dse.c
gcc/emit-rtl.c
gcc/except.c
gcc/final.c
gcc/function.c
gcc/fwprop.c
gcc/gcse.c
gcc/gimple-low.c
gcc/global.c
gcc/ifcvt.c
gcc/init-regs.c
gcc/integrate.c
gcc/ipa-cp.c
gcc/ipa-inline.c
gcc/ipa-pure-const.c
gcc/ipa-reference.c
gcc/ipa-struct-reorg.c
gcc/ipa-type-escape.c
gcc/ipa.c
gcc/jump.c
gcc/local-alloc.c
gcc/loop-init.c
gcc/lower-subreg.c
gcc/matrix-reorg.c
gcc/mode-switching.c
gcc/modulo-sched.c
gcc/omp-low.c
gcc/passes.c
gcc/postreload-gcse.c
gcc/postreload.c
gcc/predict.c
gcc/recog.c
gcc/reg-stack.c
gcc/regclass.c
gcc/regmove.c
gcc/regrename.c
gcc/reorg.c
gcc/rtl-factoring.c
gcc/sched-rgn.c
gcc/see.c
gcc/stack-ptr-mod.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/20050811-1.c
gcc/testsuite/gcc.dg/20050811-2.c
gcc/testsuite/gcc.dg/cpp/cmdlne-dI-M.c
gcc/testsuite/gcc.dg/cpp/cmdlne-dM-M.c
gcc/testsuite/gcc.dg/pr30957-1.c
gcc/testsuite/gcc.dg/sms-2.c
gcc/testsuite/gcc.dg/var-expand1.c
gcc/testsuite/gcc.dg/var-expand3.c
gcc/toplev.c
gcc/tracer.c
gcc/tree-cfg.c
gcc/tree-cfgcleanup.c
gcc/tree-complex.c
gcc/tree-dfa.c
gcc/tree-dump.c
gcc/tree-dump.h
gcc/tree-eh.c
gcc/tree-if-conv.c
gcc/tree-into-ssa.c
gcc/tree-loop-distribution.c
gcc/tree-mudflap.c
gcc/tree-nomudflap.c
gcc/tree-nrv.c
gcc/tree-object-size.c
gcc/tree-optimize.c
gcc/tree-outof-ssa.c
gcc/tree-pass.h
gcc/tree-profile.c
gcc/tree-sra.c
gcc/tree-ssa-alias.c
gcc/tree-ssa-ccp.c
gcc/tree-ssa-copy.c
gcc/tree-ssa-copyrename.c
gcc/tree-ssa-dce.c
gcc/tree-ssa-dom.c
gcc/tree-ssa-dse.c
gcc/tree-ssa-forwprop.c
gcc/tree-ssa-ifcombine.c
gcc/tree-ssa-loop-ch.c
gcc/tree-ssa-loop.c
gcc/tree-ssa-math-opts.c
gcc/tree-ssa-phiopt.c
gcc/tree-ssa-phiprop.c
gcc/tree-ssa-pre.c
gcc/tree-ssa-reassoc.c
gcc/tree-ssa-sink.c
gcc/tree-ssa-structalias.c
gcc/tree-ssa-uncprop.c
gcc/tree-ssa.c
gcc/tree-ssanames.c
gcc/tree-stdarg.c
gcc/tree-tailcall.c
gcc/tree-vect-generic.c
gcc/tree-vectorizer.c
gcc/tree-vrp.c
gcc/var-tracking.c
gcc/web.c

index 0dc711d..845455c 100644 (file)
@@ -1,3 +1,122 @@
+2008-03-19  Jan Hubicka  <jh@suse.cz>
+
+       PR other/35094
+       * toplev.c (decode_d_option): Handle all CPP flags.
+       * tree-vrp.c: Update tree_pass descriptors.
+       * regrename.c: Update tree_pass descriptors.
+       * fwprop.c: Update tree_pass descriptors.
+       * doc/invoke.texi: Remove documentation of dropped -d? flags.
+       * tree-into-ssa.c: Update tree_pass descriptors.
+       * tree-dump.c: Update tree_pass descriptors.
+       * tree-complex.c: Update tree_pass descriptors.
+       * tree-dump.h: Update tree_pass descriptors.
+       * see.c: Update tree_pass descriptors.
+       * cgraphbuild.c: Update tree_pass descriptors.
+       * tracer.c: Update tree_pass descriptors.
+       * tree-loop-distribution.c: Update tree_pass descriptors.
+       * cgraph.c: Update tree_pass descriptors.
+       * postreload-gcse.c: Update tree_pass descriptors.
+       * postreload.c: Update tree_pass descriptors.
+       * tree-ssa-loop-ch.c: Update tree_pass descriptors.
+       * tree-tailcall.c: Update tree_pass descriptors.
+       * tree-pass.h (tree_opt_pass): Rename to ...
+       (opt_pass) ... this one; add "type" field and remove letter field.
+       (gimple_opt_pass, rtl_opt_pass, simple_ipa_opt_pass): New.
+       (execute_pass_list, execute_ipa_pass_list, all_passes, all_ipa_passes,
+       all_lowering_passes): Update declaration.
+       * ipa-cp.c: Update tree_pass descriptors.
+       * final.c: Update tree_pass descriptors.
+       * omp-low.c: Update tree_pass descriptors.
+       * tree-ssa-dse.c: Update tree_pass descriptors.
+       * ipa-reference.c: Update tree_pass descriptors.
+       * tree-ssa-uncprop.c: Update tree_pass descriptors.
+       * auto-inc-dec.c: Update tree_pass descriptors.
+       * reorg.c: Update tree_pass descriptors.
+       * cgraphunit.c: Update tree_pass descriptors.
+       * tree-ssa-copyrename.c: Update tree_pass descriptors.
+       * tree-ssa-ccp.c: Update tree_pass descriptors.
+       * df-core.c: Update tree_pass descriptors.
+       * mode-switching.c: Update tree_pass descriptors.
+       * tree-nomudflap.c: Update tree_pass descriptors.
+       * modulo-sched.c: Update tree_pass descriptors.
+       * ipa-pure-const.c: Update tree_pass descriptors.
+       * cse.c: Update tree_pass descriptors.
+       * web.c: Update tree_pass descriptors.
+       * tree-stdarg.c: Update tree_pass descriptors.
+       * tree-ssa-math-opts.c: Update tree_pass descriptors.
+       * tree-ssa-dom.c: Update tree_pass descriptors.
+       * tree-nrv.c: Update tree_pass descriptors.
+       * tree-ssa-alias.c: Update tree_pass descriptors.
+       * loop-init.c: Update tree_pass descriptors.
+       * gimple-low.c: Update tree_pass descriptors.
+       * ipa-inline.c: Update tree_pass descriptors.
+       * tree-ssa-sink.c: Update tree_pass descriptors.
+       * global.c: Update tree_pass descriptors.
+       * ifcvt.c: Update tree_pass descriptors.
+       * jump.c: Update tree_pass descriptors.
+       * predict.c: Update tree_pass descriptors.
+       * tree-ssa-loop.c: Update tree_pass descriptors.
+       * recog.c: Update tree_pass descriptors.
+       * dse.c: Update tree_pass descriptors.
+       * tree-ssa-ifcombine.c: Update tree_pass descriptors.
+       * tree-eh.c: Update tree_pass descriptors.
+       * regmove.c: Update tree_pass descriptors.
+       * local-alloc.c
+       * function.c: Update tree_pass descriptors.
+       * tree-vectorizer.c: Update tree_pass descriptors.
+       * gcse.c: Update tree_pass descriptors.
+       * ipa-type-escape.c: Update tree_pass descriptors.
+       * tree-if-conv.c: Update tree_pass descriptors.
+       * init-regs.c: Update tree_pass descriptors.
+       * ipa.c: Update tree_pass descriptors.
+       * tree-ssa-phiopt.c: Update tree_pass descriptors.
+       * rtl-factoring.c: Update tree_pass descriptors.
+       * lower-subreg.c: Update tree_pass descriptors.
+       * bt-load.c: Update tree_pass descriptors.
+       * tree-dfa.c: Update tree_pass descriptors.
+       * except.c: Update tree_pass descriptors.
+       * emit-rtl.c: Update tree_pass descriptors.
+       * cfgexpand.c: Update tree_pass descriptors.
+       * tree-cfgcleanup.c: Update tree_pass descriptors.
+       * cfgcleanup.c: Update tree_pass descriptors.
+       * tree-ssa-pre.c: Update tree_pass descriptors.
+       * tree-sra.c: Update tree_pass descriptors.
+       * tree-mudflap.c: Update tree_pass descriptors.
+       * tree-ssa-copy.c: Update tree_pass descriptors.
+       * cfglayout.c: Update tree_pass descriptors.
+       * tree-ssa-forwprop.c: Update tree_pass descriptors.
+       * tree-ssa-dce.c: Update tree_pass descriptors.
+       * tree-ssa.c: Update tree_pass descriptors.
+       * regclass.c: Update tree_pass descriptors.
+       * integrate.c: Update tree_pass descriptors.
+       * tree-optimize.c: Update tree_pass descriptors.
+       * tree-ssa-phiprop.c: Update tree_pass descriptors.
+       * tree-object-size.c: Update tree_pass descriptors.
+       * combine.c: Update tree_pass descriptors.
+       * tree-outof-ssa.c: Update tree_pass descriptors.
+       * bb-reorder.c: Update tree_pass descriptors.
+       * stack-ptr-mod.c: Update tree_pass descriptors.
+       * var-tracking.c: Update tree_pass descriptors.
+       * tree-profile.c: Update tree_pass descriptors.
+       * tree-vect-generic.c: Update tree_pass descriptors.
+       * reg-stack.c: Update tree_pass descriptors.
+       * sched-rgn.c: Update tree_pass descriptors.
+       * tree-ssa-structalias.c: Update tree_pass descriptors.
+       * tree-cfg.c: Update tree_pass descriptors.
+       * passes.c (current_pass): Update declaration.
+       (finish_optimization_passes): Update.
+       (all_passes, all_ipa_passes, all_lowering_passes): Update declaration.
+       (register_one_dump_file, register_dump_files_1, next_pass_1):
+       Update arguments.
+       (init_optimization_passes): Update handling of new types.
+       (execute_one_pass, execute_pass_list, execute_ipa_pass_list): Update.
+       * ipa-struct-reorg.c: Update tree_pass descriptors.
+       * tree-ssa-reassoc.c: Update tree_pass descriptors.
+       * combine-stack-adj.c: Update tree_pass descriptors.
+       * cfgrtl.c: Update tree_pass descriptors.
+       * dce.c: Update tree_pass descriptors.
+       * tree-ssanames.c: Update tree_pass descriptors.
+
 2008-03-19  Richard Guenther  <rguenther@suse.de>
 
        PR middle-end/35609
 
 2008-03-17  Richard Guenther  <rguenther@suse.de>
 
-       * tree-pretty-print.c: Include predict.h.
-       (dump_generic_node): Dump predictor.
-       * tree.h (PREDICT_EXPR_OUTCOME, PREDICT_EXPR_PREDICTION): Update.
-       * tree-gimple.c (is_gimple_stmt): Add PREDICT_EXPR.
-       * gimple-low.c (lower_stmt): Likewise.
-       * expr.c (expand_expr_real): Likewise.
-       * predict.c (tree_bb_level_predictions): Use PREDICT_EXPRs and remove
-       them.
-       (build_predict_expr, build_predict_expr): New.
-       * predict.h (predictor_name, build_predict_expr): Update.
-       * c-typeck.c (c_finish_bc_stmt): Add prediction.
-       * gimplify.c (gimplify_expr): Add PREDICT_EXPR.
-       * predict.def (PRED_CONTINUE): Update hitrate.
-       * tree.def (PREDICT_EXPR): Define.
-       * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Mark PREDICT_EXPR;
-       do not handle BIND_EXPR.
-       * tree-inline.c (estimate_num_insns_1): PREDICT_EXPR is free.
-       * tree-cfg.c (verify_gimple_stmt): PREDICT_EXPR is valid.
-       * tree-ssa-operands.c (get_expr_operands): PREDICT_EXPR takes no
-       operands.
-
-2008-03-17  Richard Guenther  <rguenther@suse.de>
-
        PR tree-optimization/19637
        * fold-const.c (fold_unary): Remove restrictions of removing
        intermediate pointer-conversions (P2)(P1)P0.
index 2e2d047..8dbcecf 100644 (file)
@@ -1540,8 +1540,10 @@ gate_auto_inc_dec (void)
 }
 
 
-struct tree_opt_pass pass_inc_dec =
+struct rtl_opt_pass pass_inc_dec =
 {
+ {
+  RTL_PASS,
   "auto-inc-dec",                       /* name */
   gate_auto_inc_dec,                    /* gate */
   rest_of_handle_auto_inc_dec,          /* execute */
@@ -1555,6 +1557,6 @@ struct tree_opt_pass pass_inc_dec =
   0,                                    /* todo_flags_start */
   TODO_dump_func | 
   TODO_df_finish,                       /* todo_flags_finish */
-  0                                     /* letter */
+ }
 };
 
index 18e9405..3b59fcd 100644 (file)
@@ -2096,8 +2096,10 @@ done:
   return 0;
 }
 
-struct tree_opt_pass pass_duplicate_computed_gotos =
+struct rtl_opt_pass pass_duplicate_computed_gotos =
 {
+ {
+  RTL_PASS,
   "compgotos",                          /* name */
   gate_duplicate_computed_gotos,        /* gate */
   duplicate_computed_gotos,             /* execute */
@@ -2110,7 +2112,7 @@ struct tree_opt_pass pass_duplicate_computed_gotos =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_dump_func | TODO_verify_rtl_sharing,/* todo_flags_finish */
-  0                                     /* letter */
+ }
 };
 
 
@@ -2239,8 +2241,10 @@ rest_of_handle_reorder_blocks (void)
   return 0;
 }
 
-struct tree_opt_pass pass_reorder_blocks =
+struct rtl_opt_pass pass_reorder_blocks =
 {
+ {
+  RTL_PASS,
   "bbro",                               /* name */
   gate_handle_reorder_blocks,           /* gate */
   rest_of_handle_reorder_blocks,        /* execute */
@@ -2253,7 +2257,7 @@ struct tree_opt_pass pass_reorder_blocks =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_dump_func | TODO_verify_rtl_sharing,/* todo_flags_finish */
-  'B'                                   /* letter */
+ }
 };
 
 static bool
@@ -2277,8 +2281,10 @@ rest_of_handle_partition_blocks (void)
   return 0;
 }
 
-struct tree_opt_pass pass_partition_blocks =
+struct rtl_opt_pass pass_partition_blocks =
 {
+ {
+  RTL_PASS,
   "bbpart",                             /* name */
   gate_handle_partition_blocks,         /* gate */
   rest_of_handle_partition_blocks,      /* execute */
@@ -2290,8 +2296,8 @@ struct tree_opt_pass pass_partition_blocks =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_dump_func | TODO_verify_rtl_sharing,/* todo_flags_finish */
-  0                                     /* letter */
+  TODO_dump_func | TODO_verify_rtl_sharing/* todo_flags_finish */
+ }
 };
 
 
index c30f2c3..188faeb 100644 (file)
@@ -1505,8 +1505,10 @@ rest_of_handle_branch_target_load_optimize1 (void)
   return 0;
 }
 
-struct tree_opt_pass pass_branch_target_load_optimize1 =
+struct rtl_opt_pass pass_branch_target_load_optimize1 =
 {
+ {
+  RTL_PASS,
   "btl1",                               /* name */
   gate_handle_branch_target_load_optimize1,      /* gate */
   rest_of_handle_branch_target_load_optimize1,   /* execute */
@@ -1521,7 +1523,7 @@ struct tree_opt_pass pass_branch_target_load_optimize1 =
   TODO_dump_func |
   TODO_verify_rtl_sharing |
   TODO_ggc_collect,                     /* todo_flags_finish */
-  'd'                                   /* letter */
+ }
 };
 
 static bool
@@ -1553,8 +1555,10 @@ rest_of_handle_branch_target_load_optimize2 (void)
   return 0;
 }
 
-struct tree_opt_pass pass_branch_target_load_optimize2 =
+struct rtl_opt_pass pass_branch_target_load_optimize2 =
 {
+ {
+  RTL_PASS,
   "btl2",                               /* name */
   gate_handle_branch_target_load_optimize2,      /* gate */
   rest_of_handle_branch_target_load_optimize2,   /* execute */
@@ -1568,6 +1572,6 @@ struct tree_opt_pass pass_branch_target_load_optimize2 =
   0,                                    /* todo_flags_start */
   TODO_dump_func |
   TODO_ggc_collect,                     /* todo_flags_finish */
-  'd'                                   /* letter */
+ }
 };
 
index a95204c..203963e 100644 (file)
@@ -2181,8 +2181,10 @@ rest_of_handle_jump (void)
   return 0;
 }
 
-struct tree_opt_pass pass_jump =
+struct rtl_opt_pass pass_jump =
 {
+ {
+  RTL_PASS,
   "sibling",                            /* name */
   NULL,                                 /* gate */
   rest_of_handle_jump,                 /* execute */
@@ -2195,7 +2197,7 @@ struct tree_opt_pass pass_jump =
   0,                                    /* properties_destroyed */
   TODO_ggc_collect,                     /* todo_flags_start */
   TODO_verify_flow,                     /* todo_flags_finish */
-  'i'                                   /* letter */
+ }
 };
 
 
@@ -2211,8 +2213,10 @@ rest_of_handle_jump2 (void)
 }
 
 
-struct tree_opt_pass pass_jump2 =
+struct rtl_opt_pass pass_jump2 =
 {
+ {
+  RTL_PASS,
   "jump",                               /* name */
   NULL,                                 /* gate */
   rest_of_handle_jump2,                        /* execute */
@@ -2225,7 +2229,7 @@ struct tree_opt_pass pass_jump2 =
   0,                                    /* properties_destroyed */
   TODO_ggc_collect,                     /* todo_flags_start */
   TODO_dump_func | TODO_verify_rtl_sharing,/* todo_flags_finish */
-  'j'                                   /* letter */
+ }
 };
 
 
index 943a070..cd04a62 100644 (file)
@@ -1986,8 +1986,10 @@ tree_expand_cfg (void)
   return 0;
 }
 
-struct tree_opt_pass pass_expand =
+struct gimple_opt_pass pass_expand =
 {
+ {
+  GIMPLE_PASS,
   "expand",                            /* name */
   NULL,                                 /* gate */
   tree_expand_cfg,                     /* execute */
@@ -2001,5 +2003,5 @@ struct tree_opt_pass pass_expand =
   PROP_trees,                          /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_dump_func,                       /* todo_flags_finish */
-  'r'                                  /* letter */
+ }
 };
index 5387b38..0885af7 100644 (file)
@@ -340,8 +340,10 @@ outof_cfg_layout_mode (void)
   return 0;
 }
 
-struct tree_opt_pass pass_into_cfg_layout_mode =
+struct rtl_opt_pass pass_into_cfg_layout_mode =
 {
+ {
+  RTL_PASS,
   "into_cfglayout",                     /* name */
   NULL,                                 /* gate */
   into_cfg_layout_mode,                 /* execute */
@@ -354,11 +356,13 @@ struct tree_opt_pass pass_into_cfg_layout_mode =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_dump_func,                       /* todo_flags_finish */
-  0                                     /* letter */
+ }
 };
 
-struct tree_opt_pass pass_outof_cfg_layout_mode =
+struct rtl_opt_pass pass_outof_cfg_layout_mode =
 {
+ {
+  RTL_PASS,
   "outof_cfglayout",                    /* name */
   NULL,                                 /* gate */
   outof_cfg_layout_mode,                /* execute */
@@ -371,7 +375,7 @@ struct tree_opt_pass pass_outof_cfg_layout_mode =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_dump_func,                       /* todo_flags_finish */
-  0                                     /* letter */
+ }
 };
 \f
 /* Return sope resulting from combination of S1 and S2.  */
index c157e08..a42063b 100644 (file)
@@ -427,8 +427,10 @@ free_bb_for_insn (void)
   return 0;
 }
 
-struct tree_opt_pass pass_free_cfg =
+struct rtl_opt_pass pass_free_cfg =
 {
+ {
+  RTL_PASS,
   NULL,                                 /* name */
   NULL,                                 /* gate */
   free_bb_for_insn,                     /* execute */
@@ -441,7 +443,7 @@ struct tree_opt_pass pass_free_cfg =
   PROP_cfg,                             /* properties_destroyed */
   0,                                    /* todo_flags_start */
   0,                                    /* todo_flags_finish */
-  0                                     /* letter */
+ }
 };
 
 /* Return RTX to emit after when we want to emit code on the entry of function.  */
index 649915e..86940b8 100644 (file)
@@ -1070,7 +1070,7 @@ cgraph_add_new_function (tree fndecl, bool lowered)
           tree_lowering_passes (fndecl);
        bitmap_obstack_initialize (NULL);
        if (!gimple_in_ssa_p (DECL_STRUCT_FUNCTION (fndecl)) && optimize)
-         execute_pass_list (pass_early_local_passes.sub);
+         execute_pass_list (pass_early_local_passes.pass.sub);
        bitmap_obstack_release (NULL);
        tree_rest_of_compilation (fndecl);
        pop_cfun ();
index 2f8d3b0..832fa6e 100644 (file)
@@ -170,8 +170,10 @@ build_cgraph_edges (void)
   return 0;
 }
 
-struct tree_opt_pass pass_build_cgraph_edges =
+struct gimple_opt_pass pass_build_cgraph_edges =
 {
+ {
+  GIMPLE_PASS,
   NULL,                                        /* name */
   NULL,                                        /* gate */
   build_cgraph_edges,                  /* execute */
@@ -183,8 +185,8 @@ struct tree_opt_pass pass_build_cgraph_edges =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  0,                                   /* todo_flags_finish */
-  0                                    /* letter */
+  0                                    /* todo_flags_finish */
+ }
 };
 
 /* Record references to functions and other variables present in the
@@ -238,8 +240,10 @@ rebuild_cgraph_edges (void)
   return 0;
 }
 
-struct tree_opt_pass pass_rebuild_cgraph_edges =
+struct gimple_opt_pass pass_rebuild_cgraph_edges =
 {
+ {
+  GIMPLE_PASS,
   NULL,                                        /* name */
   NULL,                                        /* gate */
   rebuild_cgraph_edges,                        /* execute */
@@ -252,5 +256,5 @@ struct tree_opt_pass pass_rebuild_cgraph_edges =
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
   0,                                   /* todo_flags_finish */
-  0                                    /* letter */
+ }
 };
index 0d6a9fe..7b01248 100644 (file)
@@ -475,7 +475,7 @@ cgraph_process_new_functions (void)
              /* When not optimizing, be sure we run early local passes anyway
                 to expand OMP.  */
              || !optimize)
-           execute_pass_list (pass_early_local_passes.sub);
+           execute_pass_list (pass_early_local_passes.pass.sub);
          free_dominance_info (CDI_POST_DOMINATORS);
          free_dominance_info (CDI_DOMINATORS);
          pop_cfun ();
@@ -858,7 +858,7 @@ cgraph_analyze_function (struct cgraph_node *node)
     {
       bitmap_obstack_initialize (NULL);
       tree_register_cfg_hooks ();
-      execute_pass_list (pass_early_local_passes.sub);
+      execute_pass_list (pass_early_local_passes.pass.sub);
       free_dominance_info (CDI_POST_DOMINATORS);
       free_dominance_info (CDI_DOMINATORS);
       bitmap_obstack_release (NULL);
index 37942bc..bf7cccf 100644 (file)
@@ -472,8 +472,10 @@ rest_of_handle_stack_adjustments (void)
   return 0;
 }
 
-struct tree_opt_pass pass_stack_adjustments =
+struct rtl_opt_pass pass_stack_adjustments =
 {
+ {
+  RTL_PASS,
   "csa",                                /* name */
   gate_handle_stack_adjustments,        /* gate */
   rest_of_handle_stack_adjustments,     /* execute */
@@ -488,6 +490,6 @@ struct tree_opt_pass pass_stack_adjustments =
   TODO_df_finish | TODO_verify_rtl_sharing |
   TODO_dump_func |
   TODO_ggc_collect,                     /* todo_flags_finish */
-  0                                     /* letter */
+ }
 };
 
index b812b33..0fca12d 100644 (file)
@@ -13035,8 +13035,10 @@ rest_of_handle_combine (void)
   return 0;
 }
 
-struct tree_opt_pass pass_combine =
+struct rtl_opt_pass pass_combine =
 {
+ {
+  RTL_PASS,
   "combine",                            /* name */
   gate_handle_combine,                  /* gate */
   rest_of_handle_combine,               /* execute */
@@ -13051,6 +13053,6 @@ struct tree_opt_pass pass_combine =
   TODO_dump_func |
   TODO_df_finish | TODO_verify_rtl_sharing |
   TODO_ggc_collect,                     /* todo_flags_finish */
-  'c'                                   /* letter */
+ }
 };
 
index 82ea2b7..ef135e9 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -7011,8 +7011,10 @@ rest_of_handle_cse (void)
   return 0;
 }
 
-struct tree_opt_pass pass_cse =
+struct rtl_opt_pass pass_cse =
 {
+ {
+  RTL_PASS,
   "cse1",                               /* name */
   gate_handle_cse,                      /* gate */   
   rest_of_handle_cse,                  /* execute */       
@@ -7028,7 +7030,7 @@ struct tree_opt_pass pass_cse =
   TODO_dump_func |
   TODO_ggc_collect |
   TODO_verify_flow,                     /* todo_flags_finish */
-  's'                                   /* letter */
+ }
 };
 
 
@@ -7072,8 +7074,10 @@ rest_of_handle_cse2 (void)
 }
 
 
-struct tree_opt_pass pass_cse2 =
+struct rtl_opt_pass pass_cse2 =
 {
+ {
+  RTL_PASS,
   "cse2",                               /* name */
   gate_handle_cse2,                     /* gate */   
   rest_of_handle_cse2,                 /* execute */       
@@ -7088,7 +7092,7 @@ struct tree_opt_pass pass_cse2 =
   TODO_df_finish | TODO_verify_rtl_sharing |
   TODO_dump_func |
   TODO_ggc_collect |
-  TODO_verify_flow,                     /* todo_flags_finish */
-  't'                                   /* letter */
+  TODO_verify_flow                      /* todo_flags_finish */
+ }
 };
 
index 70b9e22..f8e54bb 100644 (file)
--- a/gcc/dce.c
+++ b/gcc/dce.c
@@ -567,8 +567,10 @@ gate_ud_dce (void)
     && dbg_cnt (dce_ud);
 }
 
-struct tree_opt_pass pass_ud_rtl_dce =
+struct rtl_opt_pass pass_ud_rtl_dce =
 {
+ {
+  RTL_PASS,
   "dce",                                /* name */
   gate_ud_dce,                        /* gate */
   rest_of_handle_ud_dce,              /* execute */
@@ -582,8 +584,8 @@ struct tree_opt_pass pass_ud_rtl_dce =
   0,                                    /* todo_flags_start */
   TODO_dump_func |
   TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_ggc_collect,                     /* todo_flags_finish */
-  'w'                                   /* letter */
+  TODO_ggc_collect                     /* todo_flags_finish */
+ }
 };
 
 
@@ -853,8 +855,10 @@ gate_fast_dce (void)
     && dbg_cnt (dce_fast);
 }
 
-struct tree_opt_pass pass_fast_rtl_dce =
+struct rtl_opt_pass pass_fast_rtl_dce =
 {
+ {
+  RTL_PASS,
   "dce",                                /* name */
   gate_fast_dce,                        /* gate */
   rest_of_handle_fast_dce,              /* execute */
@@ -868,6 +872,6 @@ struct tree_opt_pass pass_fast_rtl_dce =
   0,                                    /* todo_flags_start */
   TODO_dump_func |
   TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_ggc_collect,                     /* todo_flags_finish */
-  'w'                                   /* letter */
+  TODO_ggc_collect                      /* todo_flags_finish */
+ }
 };
index 5404000..1cd49b1 100644 (file)
@@ -753,8 +753,10 @@ gate_opt (void)
 }
 
 
-struct tree_opt_pass pass_df_initialize_opt =
+struct rtl_opt_pass pass_df_initialize_opt =
 {
+ {
+  RTL_PASS,
   "dfinit",                             /* name */
   gate_opt,                             /* gate */
   rest_of_handle_df_initialize,         /* execute */
@@ -766,8 +768,8 @@ struct tree_opt_pass pass_df_initialize_opt =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  0,                                    /* todo_flags_finish */
-  'z'                                   /* letter */
+  0                                     /* todo_flags_finish */
+ }
 };
 
 
@@ -778,8 +780,10 @@ gate_no_opt (void)
 }
 
 
-struct tree_opt_pass pass_df_initialize_no_opt =
+struct rtl_opt_pass pass_df_initialize_no_opt =
 {
+ {
+  RTL_PASS,
   "dfinit",                             /* name */
   gate_no_opt,                          /* gate */
   rest_of_handle_df_initialize,         /* execute */
@@ -791,8 +795,8 @@ struct tree_opt_pass pass_df_initialize_no_opt =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  0,                                    /* todo_flags_finish */
-  'z'                                   /* letter */
+  0                                     /* todo_flags_finish */
+ }
 };
 
 
@@ -825,8 +829,10 @@ rest_of_handle_df_finish (void)
 }
 
 
-struct tree_opt_pass pass_df_finish =
+struct rtl_opt_pass pass_df_finish =
 {
+ {
+  RTL_PASS,
   "dfinish",                            /* name */
   NULL,                                        /* gate */
   rest_of_handle_df_finish,             /* execute */
@@ -838,8 +844,8 @@ struct tree_opt_pass pass_df_finish =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  0,                                    /* todo_flags_finish */
-  'z'                                   /* letter */
+  0                                     /* todo_flags_finish */
+ }
 };
 
 
index 27bf020..8b3d49a 100644 (file)
@@ -4446,39 +4446,31 @@ letters for use in @var{letters} and @var{pass}, and their meanings:
 @opindex dA
 Annotate the assembler output with miscellaneous debugging information.
 
-@item -dB
 @itemx -fdump-rtl-bbro
-@opindex dB
 @opindex fdump-rtl-bbro
 Dump after block reordering, to @file{@var{file}.148r.bbro}.
 
-@item -dc
 @itemx -fdump-rtl-combine
-@opindex dc
 @opindex fdump-rtl-combine
 Dump after the RTL instruction combination pass, to the file
 @file{@var{file}.129r.combine}.
 
-@item -dC
 @itemx -fdump-rtl-ce1
 @itemx -fdump-rtl-ce2
-@opindex dC
 @opindex fdump-rtl-ce1
 @opindex fdump-rtl-ce2
-@option{-dC} and @option{-fdump-rtl-ce1} enable dumping after the
-first if conversion, to the file @file{@var{file}.117r.ce1}.  @option{-dC}
-and @option{-fdump-rtl-ce2} enable dumping after the second if
+@option{-fdump-rtl-ce1} enable dumping after the
+first if conversion, to the file @file{@var{file}.117r.ce1}. 
+@option{-fdump-rtl-ce2} enable dumping after the second if
 conversion, to the file @file{@var{file}.130r.ce2}.
 
-@item -dd
 @itemx -fdump-rtl-btl
 @itemx -fdump-rtl-dbr
-@opindex dd
 @opindex fdump-rtl-btl
 @opindex fdump-rtl-dbr
-@option{-dd} and @option{-fdump-rtl-btl} enable dumping after branch
-target load optimization, to @file{@var{file}.31.btl}.  @option{-dd}
-and @option{-fdump-rtl-dbr} enable dumping after delayed branch
+@option{-fdump-rtl-btl} enable dumping after branch
+target load optimization, to @file{@var{file}.31.btl}.  
+@option{-fdump-rtl-dbr} enable dumping after delayed branch
 scheduling, to @file{@var{file}.36.dbr}.
 
 @item -dD
@@ -4486,74 +4478,54 @@ scheduling, to @file{@var{file}.36.dbr}.
 Dump all macro definitions, at the end of preprocessing, in addition to
 normal output.
 
-@item -dE
 @itemx -fdump-rtl-ce3
-@opindex dE
 @opindex fdump-rtl-ce3
 Dump after the third if conversion, to @file{@var{file}.146r.ce3}.
 
-@item -df
 @itemx -fdump-rtl-cfg
 @itemx -fdump-rtl-life
-@opindex df
 @opindex fdump-rtl-cfg
 @opindex fdump-rtl-life
-@option{-df} and @option{-fdump-rtl-cfg} enable dumping after control
-and data flow analysis, to @file{@var{file}.116r.cfg}.  @option{-df}
-and @option{-fdump-rtl-cfg} enable dumping dump after life analysis,
+@option{-fdump-rtl-cfg} enable dumping after control
+and data flow analysis, to @file{@var{file}.116r.cfg}.  
+@option{-fdump-rtl-cfg} enable dumping dump after life analysis,
 to @file{@var{file}.128r.life1} and @file{@var{file}.135r.life2}.
 
-@item -dg
 @itemx -fdump-rtl-greg
-@opindex dg
 @opindex fdump-rtl-greg
 Dump after global register allocation, to @file{@var{file}.139r.greg}.
 
-@item -dG
 @itemx -fdump-rtl-gcse
 @itemx -fdump-rtl-bypass
-@opindex dG
 @opindex fdump-rtl-gcse
 @opindex fdump-rtl-bypass
-@option{-dG} and @option{-fdump-rtl-gcse} enable dumping after GCSE, to
-@file{@var{file}.114r.gcse}.  @option{-dG} and @option{-fdump-rtl-bypass}
+@option{-fdump-rtl-gcse} enable dumping after GCSE, to
+@file{@var{file}.114r.gcse}.  @option{-fdump-rtl-bypass}
 enable dumping after jump bypassing and control flow optimizations, to
 @file{@var{file}.115r.bypass}.
 
-@item -dh
 @itemx -fdump-rtl-eh
-@opindex dh
 @opindex fdump-rtl-eh
 Dump after finalization of EH handling code, to @file{@var{file}.02.eh}.
 
-@item -di
 @itemx -fdump-rtl-sibling
-@opindex di
 @opindex fdump-rtl-sibling
 Dump after sibling call optimizations, to @file{@var{file}.106r.sibling}.
 
-@item -dj
 @itemx -fdump-rtl-jump
-@opindex dj
 @opindex fdump-rtl-jump
 Dump after the first jump optimization, to @file{@var{file}.112r.jump}.
 
-@item -dk
 @itemx -fdump-rtl-stack
-@opindex dk
 @opindex fdump-rtl-stack
 Dump after conversion from GCC's "flat register file" registers to the
 x87's stack-like registers, to @file{@var{file}.152r.stack}.
 
-@item -dl
 @itemx -fdump-rtl-lreg
-@opindex dl
 @opindex fdump-rtl-lreg
 Dump after local register allocation, to @file{@var{file}.138r.lreg}.
 
-@item -dL
 @itemx -fdump-rtl-loop2
-@opindex dL
 @opindex fdump-rtl-loop2
 @option{-dL} and @option{-fdump-rtl-loop2} enable dumping after the
 loop optimization pass, to @file{@var{file}.119r.loop2},
@@ -4561,107 +4533,75 @@ loop optimization pass, to @file{@var{file}.119r.loop2},
 @file{@var{file}.121r.loop2_invariant}, and
 @file{@var{file}.125r.loop2_done}.
 
-@item -dm
 @itemx -fdump-rtl-sms
-@opindex dm
 @opindex fdump-rtl-sms
 Dump after modulo scheduling, to @file{@var{file}.136r.sms}.
 
-@item -dM
 @itemx -fdump-rtl-mach
-@opindex dM
 @opindex fdump-rtl-mach
 Dump after performing the machine dependent reorganization pass, to
 @file{@var{file}.155r.mach} if that pass exists.
 
-@item -dn
 @itemx -fdump-rtl-rnreg
-@opindex dn
 @opindex fdump-rtl-rnreg
 Dump after register renumbering, to @file{@var{file}.147r.rnreg}.
 
-@item -dN
 @itemx -fdump-rtl-regmove
-@opindex dN
 @opindex fdump-rtl-regmove
 Dump after the register move pass, to @file{@var{file}.132r.regmove}.
 
-@item -do
 @itemx -fdump-rtl-postreload
-@opindex do
 @opindex fdump-rtl-postreload
 Dump after post-reload optimizations, to @file{@var{file}.24.postreload}.
 
-@item -dr
 @itemx -fdump-rtl-expand
-@opindex dr
 @opindex fdump-rtl-expand
 Dump after RTL generation, to @file{@var{file}.104r.expand}.
 
-@item -dR
 @itemx -fdump-rtl-sched2
-@opindex dR
 @opindex fdump-rtl-sched2
 Dump after the second scheduling pass, to @file{@var{file}.149r.sched2}.
 
-@item -ds
 @itemx -fdump-rtl-cse
-@opindex ds
 @opindex fdump-rtl-cse
 Dump after CSE (including the jump optimization that sometimes follows
 CSE), to @file{@var{file}.113r.cse}.
 
-@item -dS
 @itemx -fdump-rtl-sched1
-@opindex dS
 @opindex fdump-rtl-sched1
 Dump after the first scheduling pass, to @file{@var{file}.136r.sched1}.
 
-@item -dt
 @itemx -fdump-rtl-cse2
-@opindex dt
 @opindex fdump-rtl-cse2
 Dump after the second CSE pass (including the jump optimization that
 sometimes follows CSE), to @file{@var{file}.127r.cse2}.
 
-@item -dT
 @itemx -fdump-rtl-tracer
-@opindex dT
 @opindex fdump-rtl-tracer
 Dump after running tracer, to @file{@var{file}.118r.tracer}.
 
-@item -dV
 @itemx -fdump-rtl-vpt
 @itemx -fdump-rtl-vartrack
-@opindex dV
 @opindex fdump-rtl-vpt
 @opindex fdump-rtl-vartrack
-@option{-dV} and @option{-fdump-rtl-vpt} enable dumping after the value
-profile transformations, to @file{@var{file}.10.vpt}.  @option{-dV}
-and @option{-fdump-rtl-vartrack} enable dumping after variable tracking,
+@option{-fdump-rtl-vpt} enable dumping after the value
+profile transformations, to @file{@var{file}.10.vpt}.
+@option{-fdump-rtl-vartrack} enable dumping after variable tracking,
 to @file{@var{file}.154r.vartrack}.
 
-@item -dw
 @itemx -fdump-rtl-flow2
-@opindex dw
 @opindex fdump-rtl-flow2
 Dump after the second flow pass, to @file{@var{file}.142r.flow2}.
 
-@item -dz
 @itemx -fdump-rtl-peephole2
-@opindex dz
 @opindex fdump-rtl-peephole2
 Dump after the peephole pass, to @file{@var{file}.145r.peephole2}.
 
-@item -dZ
 @itemx -fdump-rtl-web
-@opindex dZ
 @opindex fdump-rtl-web
 Dump after live range splitting, to @file{@var{file}.126r.web}.
 
-@item -da
 @itemx -fdump-rtl-all
-@opindex da
 @opindex fdump-rtl-all
 Produce all the dumps listed above.
 
index 48df350..fea7afa 100644 (file)
--- a/gcc/dse.c
+++ b/gcc/dse.c
@@ -3303,8 +3303,10 @@ gate_dse2 (void)
     && dbg_cnt (dse2);
 }
 
-struct tree_opt_pass pass_rtl_dse1 =
+struct rtl_opt_pass pass_rtl_dse1 =
 {
+ {
+  RTL_PASS,
   "dse1",                               /* name */
   gate_dse1,                            /* gate */
   rest_of_handle_dse,                   /* execute */
@@ -3318,12 +3320,14 @@ struct tree_opt_pass pass_rtl_dse1 =
   0,                                    /* todo_flags_start */
   TODO_dump_func |
   TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_ggc_collect,                     /* todo_flags_finish */
-  'w'                                   /* letter */
+  TODO_ggc_collect                      /* todo_flags_finish */
+ }
 };
 
-struct tree_opt_pass pass_rtl_dse2 =
+struct rtl_opt_pass pass_rtl_dse2 =
 {
+ {
+  RTL_PASS,
   "dse2",                               /* name */
   gate_dse2,                            /* gate */
   rest_of_handle_dse,                   /* execute */
@@ -3337,6 +3341,6 @@ struct tree_opt_pass pass_rtl_dse2 =
   0,                                    /* todo_flags_start */
   TODO_dump_func |
   TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_ggc_collect,                     /* todo_flags_finish */
-  'w'                                   /* letter */
+  TODO_ggc_collect                      /* todo_flags_finish */
+ }
 };
index 8628d52..02680a9 100644 (file)
@@ -2181,8 +2181,10 @@ unshare_all_rtl (void)
   return 0;
 }
 
-struct tree_opt_pass pass_unshare_all_rtl =
+struct rtl_opt_pass pass_unshare_all_rtl =
 {
+ {
+  RTL_PASS,
   "unshare",                            /* name */
   NULL,                                 /* gate */
   unshare_all_rtl,                      /* execute */
@@ -2194,8 +2196,8 @@ struct tree_opt_pass pass_unshare_all_rtl =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_dump_func | TODO_verify_rtl_sharing, /* todo_flags_finish */
-  0                                     /* letter */
+  TODO_dump_func | TODO_verify_rtl_sharing /* todo_flags_finish */
+ }
 };
 
 
index 0fbda61..9c18ebd 100644 (file)
@@ -2843,8 +2843,10 @@ set_nothrow_function_flags (void)
   return 0;
 }
 
-struct tree_opt_pass pass_set_nothrow_function_flags =
+struct rtl_opt_pass pass_set_nothrow_function_flags =
 {
+ {
+  RTL_PASS,
   NULL,                                 /* name */
   NULL,                                 /* gate */
   set_nothrow_function_flags,           /* execute */
@@ -2857,7 +2859,7 @@ struct tree_opt_pass pass_set_nothrow_function_flags =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   0,                                    /* todo_flags_finish */
-  0                                     /* letter */
+ }
 };
 
 \f
@@ -3372,8 +3374,10 @@ convert_to_eh_region_ranges (void)
   return 0;
 }
 
-struct tree_opt_pass pass_convert_to_eh_region_ranges =
+struct rtl_opt_pass pass_convert_to_eh_region_ranges =
 {
+ {
+  RTL_PASS,
   "eh-ranges",                          /* name */
   NULL,                                 /* gate */
   convert_to_eh_region_ranges,          /* execute */
@@ -3386,7 +3390,7 @@ struct tree_opt_pass pass_convert_to_eh_region_ranges =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_dump_func,                      /* todo_flags_finish */
-  0                                     /* letter */
+ }
 };
 
 \f
@@ -3995,8 +3999,10 @@ rest_of_handle_eh (void)
   return 0;
 }
 
-struct tree_opt_pass pass_rtl_eh =
+struct rtl_opt_pass pass_rtl_eh =
 {
+ {
+  RTL_PASS,
   "eh",                                 /* name */
   gate_handle_eh,                       /* gate */
   rest_of_handle_eh,                   /* execute */
@@ -4008,8 +4014,8 @@ struct tree_opt_pass pass_rtl_eh =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_dump_func,                       /* todo_flags_finish */
-  'h'                                   /* letter */
+  TODO_dump_func                        /* todo_flags_finish */
+ }
 };
 
 #include "gt-except.h"
index 05d60d5..189b83f 100644 (file)
@@ -794,8 +794,10 @@ compute_alignments (void)
   return 0;
 }
 
-struct tree_opt_pass pass_compute_alignments =
+struct rtl_opt_pass pass_compute_alignments =
 {
+ {
+  RTL_PASS,
   "alignments",                         /* name */
   NULL,                                 /* gate */
   compute_alignments,                   /* execute */
@@ -808,8 +810,8 @@ struct tree_opt_pass pass_compute_alignments =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_dump_func | TODO_verify_rtl_sharing
-  | TODO_ggc_collect,                   /* todo_flags_finish */
-  0                                     /* letter */
+  | TODO_ggc_collect                    /* todo_flags_finish */
+ }
 };
 
 \f
@@ -4169,8 +4171,10 @@ rest_of_handle_final (void)
   return 0;
 }
 
-struct tree_opt_pass pass_final =
+struct rtl_opt_pass pass_final =
 {
+ {
+  RTL_PASS,
   NULL,                                 /* name */
   NULL,                                 /* gate */
   rest_of_handle_final,                 /* execute */
@@ -4182,8 +4186,8 @@ struct tree_opt_pass pass_final =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_ggc_collect,                     /* todo_flags_finish */
-  0                                     /* letter */
+  TODO_ggc_collect                      /* todo_flags_finish */
+ }
 };
 
 
@@ -4195,8 +4199,10 @@ rest_of_handle_shorten_branches (void)
   return 0;
 }
 
-struct tree_opt_pass pass_shorten_branches =
+struct rtl_opt_pass pass_shorten_branches =
 {
+ {
+  RTL_PASS,
   "shorten",                            /* name */
   NULL,                                 /* gate */
   rest_of_handle_shorten_branches,      /* execute */
@@ -4208,8 +4214,8 @@ struct tree_opt_pass pass_shorten_branches =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_dump_func,                       /* todo_flags_finish */
-  0                                     /* letter */
+  TODO_dump_func                        /* todo_flags_finish */
+ }
 };
 
 
@@ -4277,8 +4283,10 @@ rest_of_clean_state (void)
   return 0;
 }
 
-struct tree_opt_pass pass_clean_state =
+struct rtl_opt_pass pass_clean_state =
 {
+ {
+  RTL_PASS,
   NULL,                                 /* name */
   NULL,                                 /* gate */
   rest_of_clean_state,                  /* execute */
@@ -4290,7 +4298,7 @@ struct tree_opt_pass pass_clean_state =
   0,                                    /* properties_provided */
   PROP_rtl,                             /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  0,                                    /* todo_flags_finish */
-  0                                     /* letter */
+  0                                     /* todo_flags_finish */
+ }
 };
 
index 275b702..4e2da89 100644 (file)
@@ -1737,8 +1737,10 @@ instantiate_virtual_regs (void)
   return 0;
 }
 
-struct tree_opt_pass pass_instantiate_virtual_regs =
+struct rtl_opt_pass pass_instantiate_virtual_regs =
 {
+ {
+  RTL_PASS,
   "vregs",                              /* name */
   NULL,                                 /* gate */
   instantiate_virtual_regs,             /* execute */
@@ -1750,8 +1752,8 @@ struct tree_opt_pass pass_instantiate_virtual_regs =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_dump_func,                       /* todo_flags_finish */
-  0                                     /* letter */
+  TODO_dump_func                        /* todo_flags_finish */
+ }
 };
 
 \f
@@ -4042,8 +4044,10 @@ init_function_for_compilation (void)
   return 0;
 }
 
-struct tree_opt_pass pass_init_function =
+struct rtl_opt_pass pass_init_function =
 {
+ {
+  RTL_PASS,
   NULL,                                 /* name */
   NULL,                                 /* gate */   
   init_function_for_compilation,        /* execute */       
@@ -4055,8 +4059,8 @@ struct tree_opt_pass pass_init_function =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  0,                                    /* todo_flags_finish */
-  0                                     /* letter */
+  0                                     /* todo_flags_finish */
+ }
 };
 
 
@@ -5595,8 +5599,10 @@ used_types_insert (tree t)
     used_types_insert_helper (t, cfun);
 }
 
-struct tree_opt_pass pass_leaf_regs =
+struct rtl_opt_pass pass_leaf_regs =
 {
+ {
+  RTL_PASS,
   NULL,                                 /* name */
   NULL,                                 /* gate */
   rest_of_handle_check_leaf_regs,       /* execute */
@@ -5608,8 +5614,8 @@ struct tree_opt_pass pass_leaf_regs =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  0,                                    /* todo_flags_finish */
-  0                                     /* letter */
+  0                                     /* todo_flags_finish */
+ }
 };
 
 static unsigned int
@@ -5626,8 +5632,10 @@ rest_of_handle_thread_prologue_and_epilogue (void)
   return 0;
 }
 
-struct tree_opt_pass pass_thread_prologue_and_epilogue =
+struct rtl_opt_pass pass_thread_prologue_and_epilogue =
 {
+ {
+  RTL_PASS,
   "pro_and_epilogue",                   /* name */
   NULL,                                 /* gate */
   rest_of_handle_thread_prologue_and_epilogue, /* execute */
@@ -5642,8 +5650,8 @@ struct tree_opt_pass pass_thread_prologue_and_epilogue =
   TODO_dump_func |
   TODO_df_verify |
   TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_ggc_collect,                     /* todo_flags_finish */
-  'w'                                   /* letter */
+  TODO_ggc_collect                      /* todo_flags_finish */
+ }
 };
 \f
 
@@ -5823,8 +5831,10 @@ rest_of_match_asm_constraints (void)
   return TODO_df_finish;
 }
 
-struct tree_opt_pass pass_match_asm_constraints =
+struct rtl_opt_pass pass_match_asm_constraints =
 {
+ {
+  RTL_PASS,
   "asmcons",                           /* name */
   NULL,                                        /* gate */
   rest_of_match_asm_constraints,       /* execute */
@@ -5836,8 +5846,8 @@ struct tree_opt_pass pass_match_asm_constraints =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func,                       /* todo_flags_finish */
-  0                                     /* letter */
+  TODO_dump_func                       /* todo_flags_finish */
+ }
 };
 
 
index 089c571..b0ae1ba 100644 (file)
@@ -1021,8 +1021,10 @@ fwprop (void)
   return 0;
 }
 
-struct tree_opt_pass pass_rtl_fwprop =
+struct rtl_opt_pass pass_rtl_fwprop =
 {
+ {
+  RTL_PASS,
   "fwprop1",                            /* name */
   gate_fwprop,                         /* gate */
   fwprop,                              /* execute */
@@ -1035,8 +1037,8 @@ struct tree_opt_pass pass_rtl_fwprop =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_dump_func,                       /* todo_flags_finish */
-  0                                     /* letter */
+  TODO_dump_func                        /* todo_flags_finish */
+ }
 };
 
 static unsigned int
@@ -1063,8 +1065,10 @@ fwprop_addr (void)
   return 0;
 }
 
-struct tree_opt_pass pass_rtl_fwprop_addr =
+struct rtl_opt_pass pass_rtl_fwprop_addr =
 {
+ {
+  RTL_PASS,
   "fwprop2",                            /* name */
   gate_fwprop,                         /* gate */
   fwprop_addr,                         /* execute */
@@ -1077,6 +1081,6 @@ struct tree_opt_pass pass_rtl_fwprop_addr =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_dump_func,                       /* todo_flags_finish */
-  0                                     /* letter */
+  TODO_dump_func                        /* todo_flags_finish */
+ }
 };
index c9c8b4c..201e42c 100644 (file)
@@ -6691,8 +6691,10 @@ rest_of_handle_jump_bypass (void)
   return 0;
 }
 
-struct tree_opt_pass pass_jump_bypass =
+struct rtl_opt_pass pass_jump_bypass =
 {
+ {
+  RTL_PASS,
   "bypass",                             /* name */
   gate_handle_jump_bypass,              /* gate */   
   rest_of_handle_jump_bypass,           /* execute */       
@@ -6705,8 +6707,8 @@ struct tree_opt_pass pass_jump_bypass =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_dump_func |
-  TODO_ggc_collect | TODO_verify_flow,  /* todo_flags_finish */
-  'G'                                   /* letter */
+  TODO_ggc_collect | TODO_verify_flow   /* todo_flags_finish */
+ }
 };
 
 
@@ -6760,8 +6762,10 @@ rest_of_handle_gcse (void)
   return 0;
 }
 
-struct tree_opt_pass pass_gcse =
+struct rtl_opt_pass pass_gcse =
 {
+ {
+  RTL_PASS,
   "gcse1",                              /* name */
   gate_handle_gcse,                     /* gate */   
   rest_of_handle_gcse,                 /* execute */       
@@ -6775,8 +6779,8 @@ struct tree_opt_pass pass_gcse =
   0,                                    /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing |
   TODO_dump_func |
-  TODO_verify_flow | TODO_ggc_collect,  /* todo_flags_finish */
-  'G'                                   /* letter */
+  TODO_verify_flow | TODO_ggc_collect   /* todo_flags_finish */
+ }
 };
 
 
index 7330464..09ca304 100644 (file)
@@ -148,8 +148,10 @@ lower_function_body (void)
   return 0;
 }
 
-struct tree_opt_pass pass_lower_cf = 
+struct gimple_opt_pass pass_lower_cf = 
 {
+ {
+  GIMPLE_PASS,
   "lower",                             /* name */
   NULL,                                        /* gate */
   lower_function_body,                 /* execute */
@@ -161,8 +163,8 @@ struct tree_opt_pass pass_lower_cf =
   PROP_gimple_lcf,                     /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func,                      /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func                       /* todo_flags_finish */
+ }
 };
 
 
@@ -790,8 +792,10 @@ mark_used_blocks (void)
 }
 
 
-struct tree_opt_pass pass_mark_used_blocks = 
+struct gimple_opt_pass pass_mark_used_blocks = 
 {
+ {
+  GIMPLE_PASS,
   "blocks",                            /* name */
   NULL,                                        /* gate */
   mark_used_blocks,                    /* execute */
@@ -803,6 +807,6 @@ struct tree_opt_pass pass_mark_used_blocks =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func,                      /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func                       /* todo_flags_finish */
+ }
 };
index ca9f4fb..f88da11 100644 (file)
@@ -1783,7 +1783,7 @@ rest_of_handle_global_alloc (void)
       failure = reload (get_insns (), 0);
     }
 
-  if (dump_enabled_p (pass_global_alloc.static_pass_number))
+  if (dump_enabled_p (pass_global_alloc.pass.static_pass_number))
     {
       timevar_push (TV_DUMP);
       dump_global_regs (dump_file);
@@ -1817,8 +1817,10 @@ rest_of_handle_global_alloc (void)
   return 0;
 }
 
-struct tree_opt_pass pass_global_alloc =
+struct rtl_opt_pass pass_global_alloc =
 {
+ {
+  RTL_PASS,
   "greg",                               /* name */
   NULL,                                 /* gate */
   rest_of_handle_global_alloc,          /* execute */
@@ -1831,7 +1833,7 @@ struct tree_opt_pass pass_global_alloc =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_dump_func | TODO_verify_rtl_sharing
-  | TODO_ggc_collect,                   /* todo_flags_finish */
-  'g'                                   /* letter */
+  | TODO_ggc_collect                    /* todo_flags_finish */
+ }
 };
 
index cab4fbd..98b707a 100644 (file)
@@ -4143,8 +4143,10 @@ rest_of_handle_if_conversion (void)
   return 0;
 }
 
-struct tree_opt_pass pass_rtl_ifcvt =
+struct rtl_opt_pass pass_rtl_ifcvt =
 {
+ {
+  RTL_PASS,
   "ce1",                                /* name */
   gate_handle_if_conversion,            /* gate */
   rest_of_handle_if_conversion,         /* execute */
@@ -4157,8 +4159,8 @@ struct tree_opt_pass pass_rtl_ifcvt =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_dump_func,                       /* todo_flags_finish */
-  'C'                                   /* letter */
+  TODO_dump_func                        /* todo_flags_finish */
+ }
 };
 
 static bool
@@ -4178,8 +4180,10 @@ rest_of_handle_if_after_combine (void)
   return 0;
 }
 
-struct tree_opt_pass pass_if_after_combine =
+struct rtl_opt_pass pass_if_after_combine =
 {
+ {
+  RTL_PASS,
   "ce2",                                /* name */
   gate_handle_if_after_combine,         /* gate */
   rest_of_handle_if_after_combine,      /* execute */
@@ -4193,8 +4197,8 @@ struct tree_opt_pass pass_if_after_combine =
   0,                                    /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing |
   TODO_dump_func |
-  TODO_ggc_collect,                     /* todo_flags_finish */
-  'C'                                   /* letter */
+  TODO_ggc_collect                      /* todo_flags_finish */
+ }
 };
 
 
@@ -4213,8 +4217,10 @@ rest_of_handle_if_after_reload (void)
 }
 
 
-struct tree_opt_pass pass_if_after_reload =
+struct rtl_opt_pass pass_if_after_reload =
 {
+ {
+  RTL_PASS,
   "ce3",                                /* name */
   gate_handle_if_after_reload,          /* gate */
   rest_of_handle_if_after_reload,       /* execute */
@@ -4228,6 +4234,6 @@ struct tree_opt_pass pass_if_after_reload =
   0,                                    /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing |
   TODO_dump_func |
-  TODO_ggc_collect,                     /* todo_flags_finish */
-  'E'                                   /* letter */
+  TODO_ggc_collect                      /* todo_flags_finish */
+ }
 };
index b835de0..83abe71 100644 (file)
@@ -139,8 +139,10 @@ rest_of_handle_initialize_regs (void)
   return 0;
 }
 
-struct tree_opt_pass pass_initialize_regs =
+struct rtl_opt_pass pass_initialize_regs =
 {
+ {
+  RTL_PASS,
   "init-regs",                          /* name */
   gate_initialize_regs,                 /* gate */
   rest_of_handle_initialize_regs,       /* execute */
@@ -153,6 +155,6 @@ struct tree_opt_pass pass_initialize_regs =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_dump_func |
-  TODO_df_finish,                       /* todo_flags_finish */
-  0                                     /* letter */
+  TODO_df_finish                        /* todo_flags_finish */
+ }
 };
index 7eb29f2..55ac31d 100644 (file)
@@ -298,8 +298,10 @@ emit_initial_value_sets (void)
   return 0;
 }
 
-struct tree_opt_pass pass_initial_value_sets =
+struct rtl_opt_pass pass_initial_value_sets =
 {
+ {
+  RTL_PASS,
   "initvals",                           /* name */
   NULL,                                 /* gate */
   emit_initial_value_sets,              /* execute */
@@ -311,8 +313,8 @@ struct tree_opt_pass pass_initial_value_sets =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_dump_func,                       /* todo_flags_finish */
-  0                                     /* letter */
+  TODO_dump_func                        /* todo_flags_finish */
+ }
 };
 
 /* If the backend knows where to allocate pseudos for hard
index 088319d..4d9e0a4 100644 (file)
@@ -1136,7 +1136,10 @@ cgraph_gate_cp (void)
   return flag_ipa_cp;
 }
 
-struct tree_opt_pass pass_ipa_cp = {
+struct simple_ipa_opt_pass pass_ipa_cp = 
+{
+ {
+  SIMPLE_IPA_PASS,
   "cp",                                /* name */
   cgraph_gate_cp,              /* gate */
   ipcp_driver,                 /* execute */
@@ -1148,6 +1151,6 @@ struct tree_opt_pass pass_ipa_cp = {
   PROP_trees,                  /* properties_provided */
   0,                           /* properties_destroyed */
   0,                           /* todo_flags_start */
-  TODO_dump_cgraph | TODO_dump_func,   /* todo_flags_finish */
-  0                            /* letter */
+  TODO_dump_cgraph | TODO_dump_func    /* todo_flags_finish */
+ }
 };
index 06d00e3..f251fbe 100644 (file)
@@ -1426,8 +1426,10 @@ cgraph_gate_inlining (void)
   return flag_inline_trees;
 }
 
-struct tree_opt_pass pass_ipa_inline = 
+struct simple_ipa_opt_pass pass_ipa_inline = 
 {
+ {
+  SIMPLE_IPA_PASS,
   "inline",                            /* name */
   cgraph_gate_inlining,                        /* gate */
   cgraph_decide_inlining,              /* execute */
@@ -1440,8 +1442,8 @@ struct tree_opt_pass pass_ipa_inline =
   0,                                   /* properties_destroyed */
   TODO_remove_functions,               /* todo_flags_finish */
   TODO_dump_cgraph | TODO_dump_func
-  | TODO_remove_functions,             /* todo_flags_finish */
-  0                                    /* letter */
+  | TODO_remove_functions              /* todo_flags_finish */
+ }
 };
 
 /* Because inlining might remove no-longer reachable nodes, we need to
@@ -1479,8 +1481,10 @@ cgraph_gate_early_inlining (void)
   return flag_inline_trees && flag_early_inlining;
 }
 
-struct tree_opt_pass pass_early_inline = 
+struct gimple_opt_pass pass_early_inline = 
 {
+ {
+  GIMPLE_PASS,
   "einline",                           /* name */
   cgraph_gate_early_inlining,          /* gate */
   cgraph_early_inlining,               /* execute */
@@ -1492,8 +1496,8 @@ struct tree_opt_pass pass_early_inline =
   PROP_cfg,                            /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func,                      /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func                       /* todo_flags_finish */
+ }
 };
 
 /* When inlining shall be performed.  */
@@ -1507,8 +1511,10 @@ cgraph_gate_ipa_early_inlining (void)
 
 /* IPA pass wrapper for early inlining pass.  We need to run early inlining
    before tree profiling so we have stand alone IPA pass for doing so.  */
-struct tree_opt_pass pass_ipa_early_inline = 
+struct simple_ipa_opt_pass pass_ipa_early_inline = 
 {
+ {
+  SIMPLE_IPA_PASS,
   "einline_ipa",                       /* name */
   cgraph_gate_ipa_early_inlining,      /* gate */
   NULL,                                        /* execute */
@@ -1520,8 +1526,8 @@ struct tree_opt_pass pass_ipa_early_inline =
   PROP_cfg,                            /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_cgraph,                    /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_cgraph                     /* todo_flags_finish */
+ }
 };
 
 /* Compute parameters of functions used by inliner.  */
@@ -1554,8 +1560,10 @@ gate_inline_passes (void)
   return flag_inline_trees;
 }
 
-struct tree_opt_pass pass_inline_parameters = 
+struct gimple_opt_pass pass_inline_parameters = 
 {
+ {
+  GIMPLE_PASS,
   NULL,                                        /* name */
   gate_inline_passes,                  /* gate */
   compute_inline_parameters,           /* execute */
@@ -1567,8 +1575,8 @@ struct tree_opt_pass pass_inline_parameters =
   PROP_cfg,                            /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  0,                                   /* todo_flags_finish */
-  0                                    /* letter */
+  0                                    /* todo_flags_finish */
+ }
 };
 
 /* Apply inline plan to the function.  */
@@ -1609,8 +1617,10 @@ apply_inline (void)
   return todo | execute_fixup_cfg ();
 }
 
-struct tree_opt_pass pass_apply_inline = 
+struct gimple_opt_pass pass_apply_inline = 
 {
+ {
+  GIMPLE_PASS,
   "apply_inline",                      /* name */
   NULL,                                        /* gate */
   apply_inline,                                /* execute */
@@ -1623,8 +1633,8 @@ struct tree_opt_pass pass_apply_inline =
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
   TODO_dump_func | TODO_verify_flow
-  | TODO_verify_stmts,                 /* todo_flags_finish */
-  0                                    /* letter */
+  | TODO_verify_stmts                  /* todo_flags_finish */
+ }
 };
 
 #include "gt-ipa-inline.h"
index eb4262a..c180e35 100644 (file)
@@ -769,8 +769,10 @@ gate_pure_const (void)
          && !(errorcount || sorrycount));
 }
 
-struct tree_opt_pass pass_ipa_pure_const =
+struct simple_ipa_opt_pass pass_ipa_pure_const =
 {
+ {
+  SIMPLE_IPA_PASS,
   "pure-const",                                /* name */
   gate_pure_const,                     /* gate */
   static_execute,                      /* execute */
@@ -782,8 +784,8 @@ struct tree_opt_pass pass_ipa_pure_const =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  0,                                    /* todo_flags_finish */
-  0                                    /* letter */
+  0                                     /* todo_flags_finish */
+ }
 };
 
 
index 87d8c2f..71c0ec5 100644 (file)
@@ -1319,8 +1319,10 @@ gate_reference (void)
          && !(errorcount || sorrycount));
 }
 
-struct tree_opt_pass pass_ipa_reference =
+struct simple_ipa_opt_pass pass_ipa_reference =
 {
+ {
+  SIMPLE_IPA_PASS,
   "static-var",                                /* name */
   gate_reference,                      /* gate */
   static_execute,                      /* execute */
@@ -1332,8 +1334,8 @@ struct tree_opt_pass pass_ipa_reference =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  0,                                    /* todo_flags_finish */
-  0                                    /* letter */
+  0                                     /* todo_flags_finish */
+ }
 };
 
 #include "gt-ipa-reference.h"
index 515dba6..10eedec 100644 (file)
@@ -4038,8 +4038,10 @@ struct_reorg_gate (void)
     && (optimize > 0);
 }
 
-struct tree_opt_pass pass_ipa_struct_reorg = 
+struct simple_ipa_opt_pass pass_ipa_struct_reorg = 
 {
+ {
+  SIMPLE_IPA_PASS,
   "ipa_struct_reorg",            /* name */
   struct_reorg_gate,             /* gate */
   reorg_structs_drive,           /* execute */
@@ -4051,6 +4053,6 @@ struct tree_opt_pass pass_ipa_struct_reorg =
   0,                             /* properties_provided */
   0,                             /* properties_destroyed */
   TODO_verify_ssa,               /* todo_flags_start */
-  TODO_dump_func | TODO_verify_ssa,    /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func | TODO_verify_ssa     /* todo_flags_finish */
+ }
 };
index 2aedb95..9cd9caa 100644 (file)
@@ -2196,8 +2196,10 @@ gate_type_escape_vars (void)
          && !(errorcount || sorrycount));
 }
 
-struct tree_opt_pass pass_ipa_type_escape =
+struct simple_ipa_opt_pass pass_ipa_type_escape =
 {
+ {
+  SIMPLE_IPA_PASS,
   "type-escape-var",                   /* name */
   gate_type_escape_vars,               /* gate */
   type_escape_execute,                 /* execute */
@@ -2209,7 +2211,7 @@ struct tree_opt_pass pass_ipa_type_escape =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  0,                                    /* todo_flags_finish */
-  0                                    /* letter */
+  0                                     /* todo_flags_finish */
+ }
 };
 
index 0bfe255..16023be 100644 (file)
--- a/gcc/ipa.c
+++ b/gcc/ipa.c
@@ -278,8 +278,10 @@ function_and_variable_visibility (void)
   return 0;
 }
 
-struct tree_opt_pass pass_ipa_function_and_variable_visibility = 
+struct simple_ipa_opt_pass pass_ipa_function_and_variable_visibility = 
 {
+ {
+  SIMPLE_IPA_PASS,
   "visibility",                                /* name */
   NULL,                                        /* gate */
   function_and_variable_visibility,    /* execute */
@@ -291,6 +293,6 @@ struct tree_opt_pass pass_ipa_function_and_variable_visibility =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_remove_functions | TODO_dump_cgraph,/* todo_flags_finish */
-  0                                    /* letter */
+  TODO_remove_functions | TODO_dump_cgraph/* todo_flags_finish */
+ }
 };
index 4564cd1..1aa0c6d 100644 (file)
@@ -122,8 +122,10 @@ cleanup_barriers (void)
   return 0;
 }
 
-struct tree_opt_pass pass_cleanup_barriers =
+struct rtl_opt_pass pass_cleanup_barriers =
 {
+ {
+  RTL_PASS,
   "barriers",                           /* name */
   NULL,                                 /* gate */
   cleanup_barriers,                     /* execute */
@@ -135,8 +137,8 @@ struct tree_opt_pass pass_cleanup_barriers =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_dump_func,                       /* todo_flags_finish */
-  0                                     /* letter */
+  TODO_dump_func                        /* todo_flags_finish */
+ }
 };
 
 \f
index 9569a36..0d6d908 100644 (file)
@@ -2632,8 +2632,10 @@ rest_of_handle_local_alloc (void)
   return 0;
 }
 
-struct tree_opt_pass pass_local_alloc =
+struct rtl_opt_pass pass_local_alloc =
 {
+ {
+  RTL_PASS,
   "lreg",                               /* name */
   NULL,                                 /* gate */
   rest_of_handle_local_alloc,           /* execute */
@@ -2646,7 +2648,7 @@ struct tree_opt_pass pass_local_alloc =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_dump_func |
-  TODO_ggc_collect,                     /* todo_flags_finish */
-  'l'                                   /* letter */
+  TODO_ggc_collect                      /* todo_flags_finish */
+ }
 };
 
index 57f9768..8337571 100644 (file)
@@ -140,8 +140,10 @@ gate_handle_loop2 (void)
              ));
 }
 
-struct tree_opt_pass pass_loop2 =
+struct rtl_opt_pass pass_loop2 =
 {
+ {
+  RTL_PASS,
   "loop2",                              /* name */
   gate_handle_loop2,                   /* gate */
   NULL,                                 /* execute */
@@ -154,8 +156,8 @@ struct tree_opt_pass pass_loop2 =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_dump_func |
-  TODO_ggc_collect,                     /* todo_flags_finish */
-  'L'                                   /* letter */
+  TODO_ggc_collect                      /* todo_flags_finish */
+ }
 };
 
 \f
@@ -172,8 +174,10 @@ rtl_loop_init (void)
   return 0;
 }
 
-struct tree_opt_pass pass_rtl_loop_init =
+struct rtl_opt_pass pass_rtl_loop_init =
 {
+ {
+  RTL_PASS,
   "loop2_init",                           /* name */
   NULL,                                 /* gate */
   rtl_loop_init,                        /* execute */
@@ -185,8 +189,8 @@ struct tree_opt_pass pass_rtl_loop_init =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_dump_func | TODO_verify_rtl_sharing, /* todo_flags_finish */
-  'L'                                   /* letter */
+  TODO_dump_func | TODO_verify_rtl_sharing /* todo_flags_finish */
+ }
 };
 
 \f
@@ -205,8 +209,10 @@ rtl_loop_done (void)
   return 0;
 }
 
-struct tree_opt_pass pass_rtl_loop_done =
+struct rtl_opt_pass pass_rtl_loop_done =
 {
+ {
+  RTL_PASS,
   "loop2_done",                          /* name */
   NULL,                                 /* gate */
   rtl_loop_done,                        /* execute */
@@ -218,8 +224,8 @@ struct tree_opt_pass pass_rtl_loop_done =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_dump_func | TODO_verify_rtl_sharing, /* todo_flags_finish */
-  'L'                                   /* letter */
+  TODO_dump_func | TODO_verify_rtl_sharing /* todo_flags_finish */
+ }
 };
 
 \f
@@ -238,8 +244,10 @@ rtl_move_loop_invariants (void)
   return 0;
 }
 
-struct tree_opt_pass pass_rtl_move_loop_invariants =
+struct rtl_opt_pass pass_rtl_move_loop_invariants =
 {
+ {
+  RTL_PASS,
   "loop2_invariant",                    /* name */
   gate_rtl_move_loop_invariants,        /* gate */
   rtl_move_loop_invariants,             /* execute */
@@ -253,8 +261,8 @@ struct tree_opt_pass pass_rtl_move_loop_invariants =
   0,                                    /* todo_flags_start */ 
   TODO_df_verify |
   TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_dump_func,                       /* todo_flags_finish */
-  'L'                                   /* letter */
+  TODO_dump_func                        /* todo_flags_finish */
+ }
 };
 
 \f
@@ -273,8 +281,10 @@ rtl_unswitch (void)
   return 0;
 }
 
-struct tree_opt_pass pass_rtl_unswitch =
+struct rtl_opt_pass pass_rtl_unswitch =
 {
+ {
+  RTL_PASS,
   "loop2_unswitch",                      /* name */
   gate_rtl_unswitch,                    /* gate */
   rtl_unswitch,                         /* execute */
@@ -287,7 +297,7 @@ struct tree_opt_pass pass_rtl_unswitch =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_dump_func | TODO_verify_rtl_sharing, /* todo_flags_finish */
-  'L'                                   /* letter */
+ }
 };
 
 \f
@@ -319,8 +329,10 @@ rtl_unroll_and_peel_loops (void)
   return 0;
 }
 
-struct tree_opt_pass pass_rtl_unroll_and_peel_loops =
+struct rtl_opt_pass pass_rtl_unroll_and_peel_loops =
 {
+ {
+  RTL_PASS,
   "loop2_unroll",                        /* name */
   gate_rtl_unroll_and_peel_loops,       /* gate */
   rtl_unroll_and_peel_loops,            /* execute */
@@ -333,7 +345,7 @@ struct tree_opt_pass pass_rtl_unroll_and_peel_loops =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_dump_func | TODO_verify_rtl_sharing, /* todo_flags_finish */
-  'L'                                   /* letter */
+ }
 };
 
 \f
@@ -358,8 +370,10 @@ rtl_doloop (void)
   return 0;
 }
 
-struct tree_opt_pass pass_rtl_doloop =
+struct rtl_opt_pass pass_rtl_doloop =
 {
+ {
+  RTL_PASS,
   "loop2_doloop",                        /* name */
   gate_rtl_doloop,                      /* gate */
   rtl_doloop,                           /* execute */
@@ -371,7 +385,7 @@ struct tree_opt_pass pass_rtl_doloop =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_dump_func | TODO_verify_rtl_sharing, /* todo_flags_finish */
-  'L'                                   /* letter */
+  TODO_dump_func | TODO_verify_rtl_sharing /* todo_flags_finish */
+ }
 };
 
index fa3a2c8..c3b29a8 100644 (file)
@@ -1425,8 +1425,10 @@ rest_of_handle_lower_subreg2 (void)
   return 0;
 }
 
-struct tree_opt_pass pass_lower_subreg =
+struct rtl_opt_pass pass_lower_subreg =
 {
+ {
+  RTL_PASS,
   "subreg",                            /* name */
   gate_handle_lower_subreg,             /* gate */
   rest_of_handle_lower_subreg,          /* execute */
@@ -1440,12 +1442,14 @@ struct tree_opt_pass pass_lower_subreg =
   0,                                    /* todo_flags_start */
   TODO_dump_func |
   TODO_ggc_collect |
-  TODO_verify_flow,                     /* todo_flags_finish */
-  'u'                                   /* letter */
+  TODO_verify_flow                      /* todo_flags_finish */
+ }
 };
 
-struct tree_opt_pass pass_lower_subreg2 =
+struct rtl_opt_pass pass_lower_subreg2 =
 {
+ {
+  RTL_PASS,
   "subreg2",                           /* name */
   gate_handle_lower_subreg,             /* gate */
   rest_of_handle_lower_subreg2,          /* execute */
@@ -1460,6 +1464,6 @@ struct tree_opt_pass pass_lower_subreg2 =
   TODO_df_finish | TODO_verify_rtl_sharing |
   TODO_dump_func |
   TODO_ggc_collect |
-  TODO_verify_flow,                     /* todo_flags_finish */
-  'U'                                   /* letter */
+  TODO_verify_flow                      /* todo_flags_finish */
+ }
 };
index 38b0d5e..8a2734d 100644 (file)
@@ -2317,7 +2317,10 @@ gate_matrix_reorg (void)
   return flag_ipa_matrix_reorg && flag_whole_program;
 }
 
-struct tree_opt_pass pass_ipa_matrix_reorg = {
+struct simple_ipa_opt_pass pass_ipa_matrix_reorg = 
+{
+ {
+  SIMPLE_IPA_PASS,
   "matrix-reorg",              /* name */
   gate_matrix_reorg,           /* gate */
   matrix_reorg,                        /* execute */
@@ -2329,6 +2332,6 @@ struct tree_opt_pass pass_ipa_matrix_reorg = {
   PROP_trees,                  /* properties_provided */
   0,                           /* properties_destroyed */
   0,                           /* todo_flags_start */
-  TODO_dump_cgraph | TODO_dump_func,   /* todo_flags_finish */
-  0                            /* letter */
+  TODO_dump_cgraph | TODO_dump_func    /* todo_flags_finish */
+ }
 };
index 5f4f95f..23269b8 100644 (file)
@@ -756,8 +756,10 @@ rest_of_handle_mode_switching (void)
 }
 
 
-struct tree_opt_pass pass_mode_switching =
+struct rtl_opt_pass pass_mode_switching =
 {
+ {
+  RTL_PASS,
   "mode-sw",                            /* name */
   gate_mode_switching,                  /* gate */
   rest_of_handle_mode_switching,        /* execute */
@@ -770,6 +772,6 @@ struct tree_opt_pass pass_mode_switching =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_dump_func,                       /* todo_flags_finish */
-  0                                     /* letter */
+  TODO_dump_func                        /* todo_flags_finish */
+ }
 };
index 3d710ad..f2193d4 100644 (file)
@@ -2871,8 +2871,10 @@ rest_of_handle_sms (void)
   return 0;
 }
 
-struct tree_opt_pass pass_sms =
+struct rtl_opt_pass pass_sms =
 {
+ {
+  RTL_PASS,
   "sms",                                /* name */
   gate_handle_sms,                      /* gate */
   rest_of_handle_sms,                   /* execute */
@@ -2886,7 +2888,7 @@ struct tree_opt_pass pass_sms =
   TODO_dump_func,                       /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing |
   TODO_dump_func |
-  TODO_ggc_collect,                     /* todo_flags_finish */
-  'm'                                   /* letter */
+  TODO_ggc_collect                      /* todo_flags_finish */
+ }
 };
 
index 340c621..45602c2 100644 (file)
@@ -4195,8 +4195,10 @@ gate_expand_omp_ssa (void)
   return flag_openmp_ssa && flag_openmp != 0 && errorcount == 0;
 }
 
-struct tree_opt_pass pass_expand_omp_ssa = 
+struct gimple_opt_pass pass_expand_omp_ssa = 
 {
+ {
+  GIMPLE_PASS,
   "ompexpssa",                         /* name */
   gate_expand_omp_ssa,                 /* gate */
   execute_expand_omp,                  /* execute */
@@ -4208,8 +4210,8 @@ struct tree_opt_pass pass_expand_omp_ssa =
   PROP_gimple_lomp,                    /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func,                      /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func                       /* todo_flags_finish */
+ }
 };
 
 /* OMP expansion -- the default pass, run before creation of SSA form.  */
@@ -4221,8 +4223,10 @@ gate_expand_omp (void)
          && flag_openmp != 0 && errorcount == 0);
 }
 
-struct tree_opt_pass pass_expand_omp = 
+struct gimple_opt_pass pass_expand_omp = 
 {
+ {
+  GIMPLE_PASS,
   "ompexp",                            /* name */
   gate_expand_omp,                     /* gate */
   execute_expand_omp,                  /* execute */
@@ -4234,8 +4238,8 @@ struct tree_opt_pass pass_expand_omp =
   PROP_gimple_lomp,                    /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func,                      /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func                       /* todo_flags_finish */
+ }
 };
 \f
 /* Routines to lower OpenMP directives into OMP-GIMPLE.  */
@@ -5081,8 +5085,10 @@ gate_lower_omp (void)
   return flag_openmp != 0;
 }
 
-struct tree_opt_pass pass_lower_omp = 
+struct gimple_opt_pass pass_lower_omp = 
 {
+ {
+  GIMPLE_PASS,
   "omplower",                          /* name */
   gate_lower_omp,                      /* gate */
   execute_lower_omp,                   /* execute */
@@ -5094,8 +5100,8 @@ struct tree_opt_pass pass_lower_omp =
   PROP_gimple_lomp,                    /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func,                      /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func                       /* todo_flags_finish */
+ }
 };
 \f
 /* The following is a utility to diagnose OpenMP structured block violations.
index bec473a..833bdbd 100644 (file)
@@ -104,7 +104,7 @@ along with GCC; see the file COPYING3.  If not see
 
 /* This is used for debugging.  It allows the current pass to printed
    from anywhere in compilation.  */
-struct tree_opt_pass *current_pass;
+struct opt_pass *current_pass;
 
 /* Call from anywhere to find out what pass this is.  Useful for
    printing out debugging information deep inside an service
@@ -246,19 +246,19 @@ finish_optimization_passes (void)
   timevar_push (TV_DUMP);
   if (profile_arc_flag || flag_test_coverage || flag_branch_probabilities)
     {
-      dump_file = dump_begin (pass_profile.static_pass_number, NULL);
+      dump_file = dump_begin (pass_profile.pass.static_pass_number, NULL);
       end_branch_prob ();
       if (dump_file)
-       dump_end (pass_profile.static_pass_number, dump_file);
+       dump_end (pass_profile.pass.static_pass_number, dump_file);
     }
 
   if (optimize > 0)
     {
-      dump_file = dump_begin (pass_combine.static_pass_number, NULL);
+      dump_file = dump_begin (pass_combine.pass.static_pass_number, NULL);
       if (dump_file)
        {
          dump_combine_total_stats (dump_file);
-          dump_end (pass_combine.static_pass_number, dump_file);
+          dump_end (pass_combine.pass.static_pass_number, dump_file);
        }
     }
 
@@ -284,8 +284,10 @@ gate_rest_of_compilation (void)
   return !(rtl_dump_and_exit || flag_syntax_only || errorcount || sorrycount);
 }
 
-struct tree_opt_pass pass_rest_of_compilation =
+struct gimple_opt_pass pass_rest_of_compilation =
 {
+ {
+  GIMPLE_PASS,
   NULL,                                 /* name */
   gate_rest_of_compilation,             /* gate */
   NULL,                                 /* execute */
@@ -297,8 +299,8 @@ struct tree_opt_pass pass_rest_of_compilation =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_ggc_collect,                     /* todo_flags_finish */
-  0                                     /* letter */
+  TODO_ggc_collect                      /* todo_flags_finish */
+ }
 };
 
 static bool
@@ -307,8 +309,10 @@ gate_postreload (void)
   return reload_completed;
 }
 
-struct tree_opt_pass pass_postreload =
+struct rtl_opt_pass pass_postreload =
 {
+ {
+  RTL_PASS,
   NULL,                                 /* name */
   gate_postreload,                      /* gate */
   NULL,                                 /* execute */
@@ -320,21 +324,21 @@ struct tree_opt_pass pass_postreload =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_ggc_collect | TODO_verify_rtl_sharing, /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_ggc_collect | TODO_verify_rtl_sharing /* todo_flags_finish */
+ }
 };
 
 
 
 /* The root of the compilation pass tree, once constructed.  */
-struct tree_opt_pass *all_passes, *all_ipa_passes, *all_lowering_passes;
+struct opt_pass *all_passes, *all_ipa_passes, *all_lowering_passes;
 
 /* 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.  */
 
 static void
-register_one_dump_file (struct tree_opt_pass *pass, bool ipa, int properties)
+register_one_dump_file (struct opt_pass *pass, bool ipa, int properties)
 {
   char *dot_name, *flag_name, *glob_name;
   const char *prefix;
@@ -358,13 +362,13 @@ register_one_dump_file (struct tree_opt_pass *pass, bool ipa, int properties)
   flag_name = concat (prefix, pass->name, num, NULL);
   glob_name = concat (prefix, pass->name, NULL);
   pass->static_pass_number = dump_register (dot_name, flag_name, glob_name,
-                                            flags, pass->letter);
+                                            flags);
 }
 
 /* Recursive worker function for register_dump_files.  */
 
 static int 
-register_dump_files_1 (struct tree_opt_pass *pass, bool ipa, int properties)
+register_dump_files_1 (struct opt_pass *pass, bool ipa, int properties)
 {
   do
     {
@@ -398,7 +402,7 @@ register_dump_files_1 (struct tree_opt_pass *pass, bool ipa, int properties)
    the pipeline.  */
 
 static void 
-register_dump_files (struct tree_opt_pass *pass, bool ipa, int properties)
+register_dump_files (struct opt_pass *pass, bool ipa, int properties)
 {
   pass->properties_required |= properties;
   register_dump_files_1 (pass, ipa, properties);
@@ -407,14 +411,14 @@ register_dump_files (struct tree_opt_pass *pass, bool ipa, int properties)
 /* Add a pass to the pass list. Duplicate the pass if it's already
    in the list.  */
 
-static struct tree_opt_pass **
-next_pass_1 (struct tree_opt_pass **list, struct tree_opt_pass *pass)
+static struct opt_pass **
+next_pass_1 (struct opt_pass **list, struct opt_pass *pass)
 {
   /* A nonzero static_pass_number indicates that the
      pass is already in the list.  */
   if (pass->static_pass_number)
     {
-      struct tree_opt_pass *new;
+      struct opt_pass *new;
 
       new = xmalloc (sizeof (*new));
       memcpy (new, pass, sizeof (*new));
@@ -467,9 +471,9 @@ next_pass_1 (struct tree_opt_pass **list, struct tree_opt_pass *pass)
 void
 init_optimization_passes (void)
 {
-  struct tree_opt_pass **p;
+  struct opt_pass **p;
 
-#define NEXT_PASS(PASS)  (p = next_pass_1 (p, &PASS))
+#define NEXT_PASS(PASS)  (p = next_pass_1 (p, &((PASS).pass)))
 
  /* All passes needed to lower the function into shape optimizers can
     operate on.  These passes are always run first on the function, but
@@ -497,21 +501,21 @@ init_optimization_passes (void)
   NEXT_PASS (pass_ipa_function_and_variable_visibility);
   NEXT_PASS (pass_ipa_early_inline);
     {
-      struct tree_opt_pass **p = &pass_ipa_early_inline.sub;
+      struct opt_pass **p = &pass_ipa_early_inline.pass.sub;
       NEXT_PASS (pass_early_inline);
       NEXT_PASS (pass_inline_parameters);
       NEXT_PASS (pass_rebuild_cgraph_edges);
     }
   NEXT_PASS (pass_early_local_passes);
     {
-      struct tree_opt_pass **p = &pass_early_local_passes.sub;
+      struct opt_pass **p = &pass_early_local_passes.pass.sub;
       NEXT_PASS (pass_tree_profile);
       NEXT_PASS (pass_cleanup_cfg);
       NEXT_PASS (pass_init_datastructures);
       NEXT_PASS (pass_expand_omp);
       NEXT_PASS (pass_all_early_optimizations);
        {
-         struct tree_opt_pass **p = &pass_all_early_optimizations.sub;
+         struct opt_pass **p = &pass_all_early_optimizations.pass.sub;
          NEXT_PASS (pass_referenced_vars);
          NEXT_PASS (pass_reset_cc_flags);
          NEXT_PASS (pass_build_ssa);
@@ -555,7 +559,7 @@ init_optimization_passes (void)
   NEXT_PASS (pass_apply_inline);
   NEXT_PASS (pass_all_optimizations);
     {
-      struct tree_opt_pass **p = &pass_all_optimizations.sub;
+      struct opt_pass **p = &pass_all_optimizations.pass.sub;
       NEXT_PASS (pass_create_structure_vars);
       /* ??? pass_build_alias is a dummy pass that ensures that we
         execute TODO_rebuild_alias at this point even if
@@ -614,7 +618,7 @@ init_optimization_passes (void)
       NEXT_PASS (pass_sink_code);
       NEXT_PASS (pass_tree_loop);
        {
-         struct tree_opt_pass **p = &pass_tree_loop.sub;
+         struct opt_pass **p = &pass_tree_loop.pass.sub;
          NEXT_PASS (pass_tree_loop_init);
          NEXT_PASS (pass_copy_prop);
          NEXT_PASS (pass_dce_loop);
@@ -631,7 +635,7 @@ init_optimization_passes (void)
          NEXT_PASS (pass_if_conversion);
          NEXT_PASS (pass_vectorize);
            {
-             struct tree_opt_pass **p = &pass_vectorize.sub;
+             struct opt_pass **p = &pass_vectorize.pass.sub;
              NEXT_PASS (pass_lower_vector_ssa);
              NEXT_PASS (pass_dce_loop);
            }
@@ -685,7 +689,7 @@ init_optimization_passes (void)
   NEXT_PASS (pass_expand);
   NEXT_PASS (pass_rest_of_compilation);
     {
-      struct tree_opt_pass **p = &pass_rest_of_compilation.sub;
+      struct opt_pass **p = &pass_rest_of_compilation.pass.sub;
       NEXT_PASS (pass_init_function);
       NEXT_PASS (pass_jump);
       NEXT_PASS (pass_rtl_eh);
@@ -705,7 +709,7 @@ init_optimization_passes (void)
         efficiently.  */
       NEXT_PASS (pass_loop2);
        {
-         struct tree_opt_pass **p = &pass_loop2.sub;
+         struct opt_pass **p = &pass_loop2.pass.sub;
          NEXT_PASS (pass_rtl_loop_init);
          NEXT_PASS (pass_rtl_move_loop_invariants);
          NEXT_PASS (pass_rtl_unswitch);
@@ -743,7 +747,7 @@ init_optimization_passes (void)
       NEXT_PASS (pass_subregs_of_mode_finish);
       NEXT_PASS (pass_postreload);
        {
-         struct tree_opt_pass **p = &pass_postreload.sub;
+         struct opt_pass **p = &pass_postreload.pass.sub;
          NEXT_PASS (pass_postreload_cse);
          NEXT_PASS (pass_gcse2);
          NEXT_PASS (pass_split_after_reload);
@@ -764,7 +768,7 @@ init_optimization_passes (void)
          NEXT_PASS (pass_sched2);
          NEXT_PASS (pass_stack_regs);
            {
-             struct tree_opt_pass **p = &pass_stack_regs.sub;
+             struct opt_pass **p = &pass_stack_regs.pass.sub;
              NEXT_PASS (pass_split_before_regstack);
              NEXT_PASS (pass_stack_regs_run);
            }
@@ -1056,13 +1060,13 @@ verify_curr_properties (void *data)
 static void
 update_properties_after_pass (void *data)
 {
-  struct tree_opt_pass *pass = data;
+  struct opt_pass *pass = data;
   cfun->curr_properties = (cfun->curr_properties | pass->properties_provided)
                           & ~pass->properties_destroyed;
 }
 
 static bool
-execute_one_pass (struct tree_opt_pass *pass)
+execute_one_pass (struct opt_pass *pass)
 {
   bool initializing_dump;
   unsigned int todo_after = 0;
@@ -1169,7 +1173,7 @@ execute_one_pass (struct tree_opt_pass *pass)
 }
 
 void
-execute_pass_list (struct tree_opt_pass *pass)
+execute_pass_list (struct opt_pass *pass)
 {
   do
     {
@@ -1183,7 +1187,7 @@ execute_pass_list (struct tree_opt_pass *pass)
 /* Same as execute_pass_list but assume that subpasses of IPA passes
    are local passes.  */
 void
-execute_ipa_pass_list (struct tree_opt_pass *pass)
+execute_ipa_pass_list (struct opt_pass *pass)
 {
   do
     {
index 805608d..ef78fde 100644 (file)
@@ -1318,8 +1318,10 @@ rest_of_handle_gcse2 (void)
   return 0;
 }
 
-struct tree_opt_pass pass_gcse2 =
+struct rtl_opt_pass pass_gcse2 =
 {
+ {
+  RTL_PASS,
   "gcse2",                              /* name */
   gate_handle_gcse2,                    /* gate */
   rest_of_handle_gcse2,                 /* execute */
@@ -1332,7 +1334,7 @@ struct tree_opt_pass pass_gcse2 =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_dump_func | TODO_verify_rtl_sharing
-  | TODO_verify_flow | TODO_ggc_collect,/* todo_flags_finish */
-  'J'                                   /* letter */
+  | TODO_verify_flow | TODO_ggc_collect /* todo_flags_finish */
+ }
 };
 
index 674160b..7e40728 100644 (file)
@@ -1585,8 +1585,10 @@ rest_of_handle_postreload (void)
   return 0;
 }
 
-struct tree_opt_pass pass_postreload_cse =
+struct rtl_opt_pass pass_postreload_cse =
 {
+ {
+  RTL_PASS,
   "postreload",                         /* name */
   gate_handle_postreload,               /* gate */
   rest_of_handle_postreload,            /* execute */
@@ -1599,7 +1601,7 @@ struct tree_opt_pass pass_postreload_cse =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_dump_func,                       /* todo_flags_finish */
-  'o'                                   /* letter */
+  TODO_dump_func                        /* todo_flags_finish */
+ }
 };
 
index a20b352..4174333 100644 (file)
@@ -1939,8 +1939,10 @@ predictor_name (enum br_predictor predictor)
   return predictor_info[predictor].name;
 }
 
-struct tree_opt_pass pass_profile = 
+struct gimple_opt_pass pass_profile = 
 {
+ {
+  GIMPLE_PASS,
   "profile",                           /* name */
   gate_estimate_probability,           /* gate */
   tree_estimate_probability,           /* execute */
@@ -1952,6 +1954,6 @@ struct tree_opt_pass pass_profile =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_ggc_collect | TODO_verify_ssa,                  /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_ggc_collect | TODO_verify_ssa                   /* todo_flags_finish */
+ }
 };
index 2629adc..7303b2a 100644 (file)
@@ -3312,8 +3312,10 @@ rest_of_handle_peephole2 (void)
   return 0;
 }
 
-struct tree_opt_pass pass_peephole2 =
+struct rtl_opt_pass pass_peephole2 =
 {
+ {
+  RTL_PASS,
   "peephole2",                          /* name */
   gate_handle_peephole2,                /* gate */
   rest_of_handle_peephole2,             /* execute */
@@ -3326,8 +3328,8 @@ struct tree_opt_pass pass_peephole2 =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_dump_func,                       /* todo_flags_finish */
-  'z'                                   /* letter */
+  TODO_dump_func                       /* todo_flags_finish */
+ }
 };
 
 static unsigned int
@@ -3337,8 +3339,10 @@ rest_of_handle_split_all_insns (void)
   return 0;
 }
 
-struct tree_opt_pass pass_split_all_insns =
+struct rtl_opt_pass pass_split_all_insns =
 {
+ {
+  RTL_PASS,
   "split1",                             /* name */
   NULL,                                 /* gate */
   rest_of_handle_split_all_insns,       /* execute */
@@ -3350,8 +3354,8 @@ struct tree_opt_pass pass_split_all_insns =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_dump_func,                       /* todo_flags_finish */
-  0                                     /* letter */
+  TODO_dump_func                        /* todo_flags_finish */
+ }
 };
 
 static unsigned int
@@ -3365,8 +3369,10 @@ rest_of_handle_split_after_reload (void)
   return 0;
 }
 
-struct tree_opt_pass pass_split_after_reload =
+struct rtl_opt_pass pass_split_after_reload =
 {
+ {
+  RTL_PASS,
   "split2",                             /* name */
   NULL,                                 /* gate */
   rest_of_handle_split_after_reload,    /* execute */
@@ -3378,8 +3384,8 @@ struct tree_opt_pass pass_split_after_reload =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_dump_func,                       /* todo_flags_finish */
-  0                                     /* letter */
+  TODO_dump_func                        /* todo_flags_finish */
+ }
 };
 
 static bool
@@ -3407,8 +3413,10 @@ rest_of_handle_split_before_regstack (void)
   return 0;
 }
 
-struct tree_opt_pass pass_split_before_regstack =
+struct rtl_opt_pass pass_split_before_regstack =
 {
+ {
+  RTL_PASS,
   "split3",                             /* name */
   gate_handle_split_before_regstack,    /* gate */
   rest_of_handle_split_before_regstack, /* execute */
@@ -3420,8 +3428,8 @@ struct tree_opt_pass pass_split_before_regstack =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_dump_func,                       /* todo_flags_finish */
-  0                                     /* letter */
+  TODO_dump_func                        /* todo_flags_finish */
+ }
 };
 
 static bool
@@ -3443,8 +3451,10 @@ rest_of_handle_split_before_sched2 (void)
   return 0;
 }
 
-struct tree_opt_pass pass_split_before_sched2 =
+struct rtl_opt_pass pass_split_before_sched2 =
 {
+ {
+  RTL_PASS,
   "split4",                             /* name */
   gate_handle_split_before_sched2,      /* gate */
   rest_of_handle_split_before_sched2,   /* execute */
@@ -3457,8 +3467,8 @@ struct tree_opt_pass pass_split_before_sched2 =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_verify_flow |
-  TODO_dump_func,                       /* todo_flags_finish */
-  0                                     /* letter */
+  TODO_dump_func                        /* todo_flags_finish */
+ }
 };
 
 /* The placement of the splitting that we do for shorten_branches
@@ -3473,8 +3483,10 @@ gate_do_final_split (void)
 #endif 
 }
 
-struct tree_opt_pass pass_split_for_shorten_branches =
+struct rtl_opt_pass pass_split_for_shorten_branches =
 {
+ {
+  RTL_PASS,
   "split5",                             /* name */
   gate_do_final_split,                  /* gate */
   split_all_insns_noflow,               /* execute */
@@ -3486,8 +3498,8 @@ struct tree_opt_pass pass_split_for_shorten_branches =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_dump_func | TODO_verify_rtl_sharing, /* todo_flags_finish */
-  0                                     /* letter */
+  TODO_dump_func | TODO_verify_rtl_sharing /* todo_flags_finish */
+ }
 };
 
 
index 248a8c2..5a6443b 100644 (file)
@@ -3202,8 +3202,10 @@ gate_handle_stack_regs (void)
 #endif
 }
 
-struct tree_opt_pass pass_stack_regs =
+struct rtl_opt_pass pass_stack_regs =
 {
+ {
+  RTL_PASS,
   NULL,                                 /* name */
   gate_handle_stack_regs,               /* gate */
   NULL,                                        /* execute */
@@ -3215,8 +3217,8 @@ struct tree_opt_pass pass_stack_regs =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  0,                                    /* todo_flags_finish */
-  0                                     /* letter */
+  0                                     /* todo_flags_finish */
+ }
 };
 
 /* Convert register usage from flat register file usage to a stack
@@ -3231,8 +3233,10 @@ rest_of_handle_stack_regs (void)
   return 0;
 }
 
-struct tree_opt_pass pass_stack_regs_run =
+struct rtl_opt_pass pass_stack_regs_run =
 {
+ {
+  RTL_PASS,
   "stack",                              /* name */
   NULL,                                 /* gate */
   rest_of_handle_stack_regs,            /* execute */
@@ -3246,6 +3250,6 @@ struct tree_opt_pass pass_stack_regs_run =
   0,                                    /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing |
   TODO_dump_func |
-  TODO_ggc_collect,                     /* todo_flags_finish */
-  'k'                                   /* letter */
+  TODO_ggc_collect                      /* todo_flags_finish */
+ }
 };
index 911a19a..200f3ee 100644 (file)
@@ -1059,8 +1059,10 @@ regclass_init (void)
   return 1;
 }
 
-struct tree_opt_pass pass_regclass_init =
+struct rtl_opt_pass pass_regclass_init =
 {
+ {
+  RTL_PASS,
   "regclass",                           /* name */
   NULL,                                 /* gate */
   regclass_init,                        /* execute */
@@ -1072,8 +1074,8 @@ struct tree_opt_pass pass_regclass_init =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  0,                                    /* todo_flags_finish */
-  'k'                                   /* letter */
+  0                                     /* todo_flags_finish */
+ }
 };
 
 
@@ -2670,8 +2672,10 @@ gate_subregs_of_mode_init (void)
 #endif
 }
 
-struct tree_opt_pass pass_subregs_of_mode_init =
+struct rtl_opt_pass pass_subregs_of_mode_init =
 {
+ {
+  RTL_PASS,
   "subregs_of_mode_init",               /* name */
   gate_subregs_of_mode_init,            /* gate */
   init_subregs_of_mode,                 /* execute */
@@ -2683,12 +2687,14 @@ struct tree_opt_pass pass_subregs_of_mode_init =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  0,                                    /* todo_flags_finish */
-  0                                     /* letter */
+  0                                     /* todo_flags_finish */
+ }
 };
 
-struct tree_opt_pass pass_subregs_of_mode_finish =
+struct rtl_opt_pass pass_subregs_of_mode_finish =
 {
+ {
+  RTL_PASS,
   "subregs_of_mode_finish",               /* name */
   gate_subregs_of_mode_init,            /* gate */
   finish_subregs_of_mode,               /* execute */
@@ -2700,8 +2706,8 @@ struct tree_opt_pass pass_subregs_of_mode_finish =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  0,                                    /* todo_flags_finish */
-  0                                     /* letter */
+  0                                     /* todo_flags_finish */
+ }
 };
 
 
index 5a2f9c9..925cb9d 100644 (file)
@@ -2135,8 +2135,10 @@ rest_of_handle_regmove (void)
   return 0;
 }
 
-struct tree_opt_pass pass_regmove =
+struct rtl_opt_pass pass_regmove =
 {
+ {
+  RTL_PASS,
   "regmove",                            /* name */
   gate_handle_regmove,                  /* gate */
   rest_of_handle_regmove,               /* execute */
@@ -2150,7 +2152,7 @@ struct tree_opt_pass pass_regmove =
   0,                                    /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing |
   TODO_dump_func |
-  TODO_ggc_collect,                     /* todo_flags_finish */
-  'N'                                   /* letter */
+  TODO_ggc_collect                      /* todo_flags_finish */
+ }
 };
 
index 74112c3..cfc0881 100644 (file)
@@ -1938,8 +1938,10 @@ rest_of_handle_regrename (void)
   return 0;
 }
 
-struct tree_opt_pass pass_regrename =
+struct rtl_opt_pass pass_regrename =
 {
+ {
+  RTL_PASS,
   "rnreg",                              /* name */
   gate_handle_regrename,                /* gate */
   rest_of_handle_regrename,             /* execute */
@@ -1952,8 +1954,8 @@ struct tree_opt_pass pass_regrename =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_dump_func,                       /* todo_flags_finish */
-  'n'                                   /* letter */
+  TODO_dump_func                        /* todo_flags_finish */
+ }
 };
 
 static bool
@@ -1971,8 +1973,10 @@ rest_of_handle_cprop (void)
   return 0;
 }
 
-struct tree_opt_pass pass_cprop_hardreg =
+struct rtl_opt_pass pass_cprop_hardreg =
 {
+ {
+  RTL_PASS,
   "cprop_hardreg",                      /* name */
   gate_handle_cprop,                    /* gate */
   rest_of_handle_cprop,                 /* execute */
@@ -1984,7 +1988,7 @@ struct tree_opt_pass pass_cprop_hardreg =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_dump_func | TODO_verify_rtl_sharing, /* todo_flags_finish */
-  'n'                                   /* letter */
+  TODO_dump_func | TODO_verify_rtl_sharing /* todo_flags_finish */
+ }
 };
 
index 985c118..8db19b4 100644 (file)
@@ -4066,8 +4066,10 @@ rest_of_handle_delay_slots (void)
   return 0;
 }
 
-struct tree_opt_pass pass_delay_slots =
+struct rtl_opt_pass pass_delay_slots =
 {
+ {
+  RTL_PASS,
   "dbr",                                /* name */
   gate_handle_delay_slots,              /* gate */
   rest_of_handle_delay_slots,           /* execute */
@@ -4080,8 +4082,8 @@ struct tree_opt_pass pass_delay_slots =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_dump_func |
-  TODO_ggc_collect,                     /* todo_flags_finish */
-  'd'                                   /* letter */
+  TODO_ggc_collect                      /* todo_flags_finish */
+ }
 };
 
 /* Machine dependent reorg pass.  */
@@ -4099,8 +4101,10 @@ rest_of_handle_machine_reorg (void)
   return 0;
 }
 
-struct tree_opt_pass pass_machine_reorg =
+struct rtl_opt_pass pass_machine_reorg =
 {
+ {
+  RTL_PASS,
   "mach",                               /* name */
   gate_handle_machine_reorg,            /* gate */
   rest_of_handle_machine_reorg,         /* execute */
@@ -4113,6 +4117,6 @@ struct tree_opt_pass pass_machine_reorg =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_dump_func |
-  TODO_ggc_collect,                     /* todo_flags_finish */
-  'M'                                   /* letter */
+  TODO_ggc_collect                      /* todo_flags_finish */
+ }
 };
index 20e9cf2..77c2197 100644 (file)
@@ -1428,7 +1428,10 @@ rest_of_rtl_seqabstr (void)
   return 0;
 }
 
-struct tree_opt_pass pass_rtl_seqabstr = {
+struct rtl_opt_pass pass_rtl_seqabstr = 
+{
+ {
+  RTL_PASS,
   "seqabstr",                           /* name */
   gate_rtl_seqabstr,                    /* gate */
   rest_of_rtl_seqabstr,                 /* execute */
@@ -1442,6 +1445,6 @@ struct tree_opt_pass pass_rtl_seqabstr = {
   0,                                    /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing |
   TODO_dump_func |
-  TODO_ggc_collect,                     /* todo_flags_finish */
-  'Q'                                   /* letter */
+  TODO_ggc_collect                      /* todo_flags_finish */
+ }
 };
index b340bd5..e62046b 100644 (file)
@@ -3192,8 +3192,10 @@ rest_of_handle_sched2 (void)
   return 0;
 }
 
-struct tree_opt_pass pass_sched =
+struct rtl_opt_pass pass_sched =
 {
+ {
+  RTL_PASS,
   "sched1",                             /* name */
   gate_handle_sched,                    /* gate */
   rest_of_handle_sched,                 /* execute */
@@ -3208,12 +3210,14 @@ struct tree_opt_pass pass_sched =
   TODO_df_finish | TODO_verify_rtl_sharing |
   TODO_dump_func |
   TODO_verify_flow |
-  TODO_ggc_collect,                     /* todo_flags_finish */
-  'S'                                   /* letter */
+  TODO_ggc_collect                      /* todo_flags_finish */
+ }
 };
 
-struct tree_opt_pass pass_sched2 =
+struct rtl_opt_pass pass_sched2 =
 {
+ {
+  RTL_PASS,
   "sched2",                             /* name */
   gate_handle_sched2,                   /* gate */
   rest_of_handle_sched2,                /* execute */
@@ -3228,7 +3232,7 @@ struct tree_opt_pass pass_sched2 =
   TODO_df_finish | TODO_verify_rtl_sharing |
   TODO_dump_func |
   TODO_verify_flow |
-  TODO_ggc_collect,                     /* todo_flags_finish */
-  'R'                                   /* letter */
+  TODO_ggc_collect                      /* todo_flags_finish */
+ }
 };
 
index d932f51..c6f584c 100644 (file)
--- a/gcc/see.c
+++ b/gcc/see.c
@@ -3859,8 +3859,10 @@ rest_of_handle_see (void)
   return 0;
 }
 
-struct tree_opt_pass pass_see =
+struct rtl_opt_pass pass_see =
 {
+ {
+  RTL_PASS,
   "see",                               /* name */
   gate_handle_see,                     /* gate */
   rest_of_handle_see,                  /* execute */
@@ -3874,7 +3876,7 @@ struct tree_opt_pass pass_see =
   0,                                   /* todo_flags_start */
   TODO_df_verify |
   TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_dump_func,                      /* todo_flags_finish */
-  'u'                                  /* letter */
+  TODO_dump_func                       /* todo_flags_finish */
+ }
 };
 
index a5c85a5..e37fcc3 100644 (file)
@@ -91,8 +91,10 @@ rest_of_handle_stack_ptr_mod (void)
   return 0;
 }
 
-struct tree_opt_pass pass_stack_ptr_mod =
+struct rtl_opt_pass pass_stack_ptr_mod =
 {
+ {
+  RTL_PASS,
   NULL,                                        /* name */
   NULL,                                 /* gate */
   rest_of_handle_stack_ptr_mod,         /* execute */
@@ -104,6 +106,6 @@ struct tree_opt_pass pass_stack_ptr_mod =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  0,                                    /* todo_flags_finish */
-  0                                     /* letter */
+  0                                     /* todo_flags_finish */
+ }
 };
index 2aacfe4..7365b81 100644 (file)
@@ -1,3 +1,14 @@
+2008-03-19  Jan Hubicka  <jh@suse.cz>
+
+       * gcc.dg/20050811-2.c: Update dumping flags.
+       * gcc.dg/sms-2.c: Update dumping flags.
+       * gcc.dg/var-expand1.c: Update dumping flags.
+       * gcc.dg/var-expand3.c: Update dumping flags.
+       * gcc.dg/pr30957-1.c: Update dumping flags.
+       * gcc.dg/20050811-1.c: Update dumping flags.
+       * gcc.dg/cpp/cmdlne-dI-M.C: Do not xfail.
+       * gcc.dg/cpp/cmdlne-dM-M.C: Do not xfail.
+
 2008-03-19  Richard Guenther  <rguenther@suse.de>
 
        PR middle-end/35609
index cfc1816..a9f860b 100644 (file)
@@ -1,6 +1,6 @@
-/* Test whether -dav doesn't crash.  */
+/* Test whether -dv -fdump-rtl-all doesn't crash.  */
 /* { dg-do compile } */
-/* { dg-options "-O2 -dav" } */
+/* { dg-options "-O2 -dv -fdump-rtl-all" } */
 
 int foo (void)
 {
index 2f1d48b..ffd1f39 100644 (file)
@@ -1,6 +1,6 @@
 /* Test whether -dov doesn't crash.  */
 /* { dg-do compile } */
-/* { dg-options "-O2 -dov" } */
+/* { dg-options "-O2 -dv -fdump-rtl-postreload" } */
 
 int foo (void)
 {
index c003d5a..a30b4bc 100644 (file)
@@ -13,4 +13,4 @@ int variable;
 
 /* { dg-final { scan-file-not cmdlne-dI-M.i "(^|\\n)#define foo bar($|\\n)" } }
    { dg-final { scan-file-not cmdlne-dI-M.i "variable" } }
-   { dg-final { scan-file cmdlne-dI-M.i "(^|\\n)cmdlne-dI-M.*:\[^\\n\]*cmdlne-dI-M.c" { xfail *-*-* } } } */
+   { dg-final { scan-file cmdlne-dI-M.i "(^|\\n)cmdlne-dI-M.*:\[^\\n\]*cmdlne-dI-M.c" } } */
index fb21f40..193168e 100644 (file)
@@ -12,4 +12,4 @@ int variable;
 
 /* { dg-final { scan-file cmdlne-dM-M.i "(^|\\n)#define foo bar($|\\n)" } }
    { dg-final { scan-file-not cmdlne-dM-M.i "variable" } }
-   { dg-final { scan-file cmdlne-dM-M.i "(^|\\n)cmdlne-dM-M\[^\\n\]*:\[^\\n\]*cmdlne-dM-M.c" { xfail *-*-* } } } */
+   { dg-final { scan-file cmdlne-dM-M.i "(^|\\n)cmdlne-dM-M\[^\\n\]*:\[^\\n\]*cmdlne-dM-M.c"} } */
index 44cdf9d..65b98fa 100644 (file)
@@ -6,7 +6,7 @@
    they can not co-exist; also under -funsafe-math-optimizations, so we
    expect it to fail.  */
 /* { dg-require-effective-target hard_float } */
-/* { dg-options "-O2 -funroll-loops -funsafe-math-optimizations -fvariable-expansion-in-unroller -dL" } */
+/* { dg-options "-O2 -funroll-loops -funsafe-math-optimizations -fvariable-expansion-in-unroller -fdump-rtl-loop2_unroll" } */
 
 extern void abort (void);
 extern void exit (int);
index 918f6c8..04d0482 100644 (file)
@@ -2,7 +2,7 @@
    traversal of the loops after versioning.  */
 
 /* { dg-do compile } */
-/* { dg-options "-O2 -fmodulo-sched -dm" } */
+/* { dg-options "-O2 -fmodulo-sched -fdump-rtl-sms" } */
 
 
 void
index 707e346..3904407 100644 (file)
@@ -2,7 +2,7 @@
 /* We don't (and don't want to) perform this optimisation on soft-float
    targets, where each addition is a library call.  */
 /* { dg-require-effective-target hard_float } */
-/* { dg-options "-O2 -funroll-loops --fast-math -fvariable-expansion-in-unroller -dL" } */
+/* { dg-options "-O2 -funroll-loops --fast-math -fvariable-expansion-in-unroller -fdump-rtl-loop2_unroll" } */
 
 extern void abort (void);
 
index 6ccf59e..e82fb3c 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do run { target { powerpc*-*-* && powerpc_altivec_ok } } }} */
-/* { dg-options "-O2 -funroll-loops -ffast-math -fvariable-expansion-in-unroller -maltivec -dL" } */
+/* { dg-options "-O2 -funroll-loops -ffast-math -fvariable-expansion-in-unroller -maltivec -fdump-rtl-loop2" } */
 
 #include "altivec.h"
 extern void abort (void);
index 12777aa..e6460ad 100644 (file)
@@ -1062,6 +1062,8 @@ decode_d_option (const char *arg)
        break;
       case 'D':        /* These are handled by the preprocessor.  */
       case 'I':
+      case 'M':
+      case 'N':
        break;
       case 'H':
        setup_core_dumping();
index e822382..1d5099a 100644 (file)
@@ -378,8 +378,10 @@ gate_tracer (void)
   return (optimize > 0 && flag_tracer && flag_reorder_blocks);
 }
 
-struct tree_opt_pass pass_tracer =
+struct gimple_opt_pass pass_tracer =
 {
+ {
+  GIMPLE_PASS,
   "tracer",                             /* name */
   gate_tracer,                          /* gate */
   tracer,                               /* execute */
@@ -393,6 +395,6 @@ struct tree_opt_pass pass_tracer =
   0,                                    /* todo_flags_start */
   TODO_dump_func
     | TODO_update_ssa
-    | TODO_verify_ssa,                  /* todo_flags_finish */
-  'T'                                   /* letter */
+    | TODO_verify_ssa                   /* todo_flags_finish */
+ }
 };
index 3295664..c4b9bff 100644 (file)
@@ -212,8 +212,10 @@ execute_build_cfg (void)
   return 0;
 }
 
-struct tree_opt_pass pass_build_cfg =
+struct gimple_opt_pass pass_build_cfg =
 {
+ {
+  GIMPLE_PASS,
   "cfg",                               /* name */
   NULL,                                        /* gate */
   execute_build_cfg,                   /* execute */
@@ -225,8 +227,8 @@ struct tree_opt_pass pass_build_cfg =
   PROP_cfg,                            /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_verify_stmts | TODO_cleanup_cfg,        /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_verify_stmts | TODO_cleanup_cfg /* todo_flags_finish */
+ }
 };
 
 /* Search the CFG for any computed gotos.  If found, factor them to a
@@ -1933,8 +1935,10 @@ remove_useless_stmts (void)
 }
 
 
-struct tree_opt_pass pass_remove_useless_stmts =
+struct gimple_opt_pass pass_remove_useless_stmts =
 {
+ {
+  GIMPLE_PASS,
   "useless",                           /* name */
   NULL,                                        /* gate */
   remove_useless_stmts,                        /* execute */
@@ -1946,8 +1950,8 @@ struct tree_opt_pass pass_remove_useless_stmts =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func,                      /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func                       /* todo_flags_finish */
+ }
 };
 
 /* Remove PHI nodes associated with basic block BB and all edges out of BB.  */
@@ -6898,8 +6902,10 @@ split_critical_edges (void)
   return 0;
 }
 
-struct tree_opt_pass pass_split_crit_edges =
+struct gimple_opt_pass pass_split_crit_edges =
 {
+ {
+  GIMPLE_PASS,
   "crited",                          /* name */
   NULL,                          /* gate */
   split_critical_edges,          /* execute */
@@ -6911,8 +6917,8 @@ struct tree_opt_pass pass_split_crit_edges =
   PROP_no_crit_edges,            /* properties_provided */
   0,                             /* properties_destroyed */
   0,                             /* todo_flags_start */
-  TODO_dump_func,                /* todo_flags_finish */
-  0                              /* letter */
+  TODO_dump_func                 /* todo_flags_finish */
+ }
 };
 
 \f
@@ -7068,8 +7074,10 @@ extract_true_false_edges_from_block (basic_block b,
     }
 }
 
-struct tree_opt_pass pass_warn_function_return =
+struct gimple_opt_pass pass_warn_function_return =
 {
+ {
+  GIMPLE_PASS,
   NULL,                                        /* name */
   NULL,                                        /* gate */
   execute_warn_function_return,                /* execute */
@@ -7081,8 +7089,8 @@ struct tree_opt_pass pass_warn_function_return =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  0,                                   /* todo_flags_finish */
-  0                                    /* letter */
+  0                                    /* todo_flags_finish */
+ }
 };
 
 /* Emit noreturn warnings.  */
@@ -7100,8 +7108,10 @@ execute_warn_function_noreturn (void)
   return 0;
 }
 
-struct tree_opt_pass pass_warn_function_noreturn =
+struct gimple_opt_pass pass_warn_function_noreturn =
 {
+ {
+  GIMPLE_PASS,
   NULL,                                        /* name */
   NULL,                                        /* gate */
   execute_warn_function_noreturn,      /* execute */
@@ -7113,6 +7123,6 @@ struct tree_opt_pass pass_warn_function_noreturn =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  0,                                   /* todo_flags_finish */
-  0                                    /* letter */
+  0                                    /* todo_flags_finish */
+ }
 };
index aaaacd9..8970a9b 100644 (file)
@@ -930,7 +930,10 @@ gate_merge_phi (void)
   return 1;
 }
 
-struct tree_opt_pass pass_merge_phi = {
+struct gimple_opt_pass pass_merge_phi = 
+{
+ {
+  GIMPLE_PASS,
   "mergephi",                  /* name */
   gate_merge_phi,              /* gate */
   merge_phi_nodes,             /* execute */
@@ -943,6 +946,6 @@ struct tree_opt_pass pass_merge_phi = {
   0,                           /* properties_destroyed */
   0,                           /* todo_flags_start */
   TODO_dump_func | TODO_ggc_collect    /* todo_flags_finish */
-  | TODO_verify_ssa,
-  0                            /* letter */
+  | TODO_verify_ssa
+ }
 };
index 10fa0ae..4703e78 100644 (file)
@@ -1534,8 +1534,10 @@ tree_lower_complex (void)
   return 0;
 }
 
-struct tree_opt_pass pass_lower_complex = 
+struct gimple_opt_pass pass_lower_complex = 
 {
+ {
+  GIMPLE_PASS,
   "cplxlower",                         /* name */
   0,                                   /* gate */
   tree_lower_complex,                  /* execute */
@@ -1550,8 +1552,8 @@ struct tree_opt_pass pass_lower_complex =
   TODO_dump_func
     | TODO_ggc_collect
     | TODO_update_ssa
-    | TODO_verify_stmts,               /* todo_flags_finish */
-  0                                    /* letter */
+    | TODO_verify_stmts                        /* todo_flags_finish */
+ }
 };
 
 \f
@@ -1582,8 +1584,10 @@ gate_no_optimization (void)
   return optimize == 0 || sorrycount || errorcount;
 }
 
-struct tree_opt_pass pass_lower_complex_O0 = 
+struct gimple_opt_pass pass_lower_complex_O0 = 
 {
+ {
+  GIMPLE_PASS,
   "cplxlower0",                                /* name */
   gate_no_optimization,                        /* gate */
   tree_lower_complex_O0,               /* execute */
@@ -1597,5 +1601,5 @@ struct tree_opt_pass pass_lower_complex_O0 =
   0,                                   /* todo_flags_start */
   TODO_dump_func | TODO_ggc_collect
     | TODO_verify_stmts,               /* todo_flags_finish */
-  0                                    /* letter */
+ }
 };
index 3495816..23e3ba7 100644 (file)
@@ -96,8 +96,10 @@ find_referenced_vars (void)
   return 0;
 }
 
-struct tree_opt_pass pass_referenced_vars =
+struct gimple_opt_pass pass_referenced_vars =
 {
+ {
+  GIMPLE_PASS,
   NULL,                                        /* name */
   NULL,                                        /* gate */
   find_referenced_vars,                        /* execute */
@@ -109,8 +111,8 @@ struct tree_opt_pass pass_referenced_vars =
   PROP_referenced_vars,                        /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  0,                                    /* todo_flags_finish */
-  0                                    /* letter */
+  0                                     /* todo_flags_finish */
+ }
 };
 
 
index a377deb..bc01773 100644 (file)
@@ -831,7 +831,7 @@ static const struct dump_option_value_info dump_options[] =
 
 unsigned int
 dump_register (const char *suffix, const char *swtch, const char *glob,
-              int flags, int letter)
+              int flags)
 {
   static int next_dump = FIRST_AUTO_NUMBERED_DUMP;
   int num = next_dump++;
@@ -855,7 +855,6 @@ dump_register (const char *suffix, const char *swtch, const char *glob,
   extra_dump_files[this].glob = glob;
   extra_dump_files[this].flags = flags;
   extra_dump_files[this].num = num;
-  extra_dump_files[this].letter = letter;
 
   return this + TDI_end;
 }
index 30efb10..72c2868 100644 (file)
@@ -94,7 +94,7 @@ extern void debug_function (tree, int);
 extern int dump_flag (dump_info_p, int, const_tree);
 
 extern unsigned int dump_register (const char *, const char *, const char *, 
-                                  int, int);
+                                  int);
 
 
 #endif /* ! GCC_TREE_DUMP_H */
index 44d5a6d..06e4b5a 100644 (file)
@@ -1725,8 +1725,10 @@ lower_eh_constructs (void)
   return 0;
 }
 
-struct tree_opt_pass pass_lower_eh =
+struct gimple_opt_pass pass_lower_eh =
 {
+ {
+  GIMPLE_PASS,
   "eh",                                        /* name */
   NULL,                                        /* gate */
   lower_eh_constructs,                 /* execute */
@@ -1738,8 +1740,8 @@ struct tree_opt_pass pass_lower_eh =
   PROP_gimple_leh,                     /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func,                      /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func                       /* todo_flags_finish */
+ }
 };
 
 \f
@@ -2244,8 +2246,10 @@ refactor_eh (void)
   return 0;
 }
 
-struct tree_opt_pass pass_refactor_eh =
+struct gimple_opt_pass pass_refactor_eh =
 {
+ {
+  GIMPLE_PASS,
   "ehopt",                             /* name */
   NULL,                                        /* gate */
   refactor_eh,                         /* execute */
@@ -2257,6 +2261,6 @@ struct tree_opt_pass pass_refactor_eh =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func,                      /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func                       /* todo_flags_finish */
+ }
 };
index ec34929..5c285ef 100644 (file)
@@ -1160,8 +1160,10 @@ gate_tree_if_conversion (void)
   return flag_tree_vectorize != 0;
 }
 
-struct tree_opt_pass pass_if_conversion =
+struct gimple_opt_pass pass_if_conversion =
 {
+ {
+  GIMPLE_PASS,
   "ifcvt",                             /* name */
   gate_tree_if_conversion,             /* gate */
   main_tree_if_conversion,             /* execute */
@@ -1173,7 +1175,7 @@ struct tree_opt_pass pass_if_conversion =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func | TODO_verify_loops | TODO_verify_stmts | TODO_verify_flow,   
+  TODO_dump_func | TODO_verify_loops | TODO_verify_stmts | TODO_verify_flow
                                         /* todo_flags_finish */
-  0                                    /* letter */
+ }
 };
index c55f736..efb315b 100644 (file)
@@ -2298,8 +2298,10 @@ rewrite_into_ssa (void)
 }
 
 
-struct tree_opt_pass pass_build_ssa = 
+struct gimple_opt_pass pass_build_ssa = 
 {
+ {
+  GIMPLE_PASS,
   "ssa",                               /* name */
   NULL,                                        /* gate */
   rewrite_into_ssa,                    /* execute */
@@ -2313,8 +2315,8 @@ struct tree_opt_pass pass_build_ssa =
   0,                                   /* todo_flags_start */
   TODO_dump_func
     | TODO_verify_ssa
-    | TODO_remove_unused_locals,       /* todo_flags_finish */
-  0                                    /* letter */
+    | TODO_remove_unused_locals                /* todo_flags_finish */
+ }
 };
 
 
index 2d4a5d6..c380854 100644 (file)
@@ -1155,8 +1155,10 @@ gate_tree_loop_distribution (void)
   return flag_tree_loop_distribution != 0;
 }
 
-struct tree_opt_pass pass_loop_distribution =
+struct gimple_opt_pass pass_loop_distribution =
 {
+ {
+  GIMPLE_PASS,
   "ldist",                     /* name */
   gate_tree_loop_distribution,  /* gate */
   tree_loop_distribution,       /* execute */
@@ -1168,6 +1170,6 @@ struct tree_opt_pass pass_loop_distribution =
   0,                           /* properties_provided */
   0,                           /* properties_destroyed */
   0,                           /* todo_flags_start */
-  TODO_dump_func | TODO_verify_loops,            /* todo_flags_finish */
-  0                             /* letter */  
+  TODO_dump_func | TODO_verify_loops            /* todo_flags_finish */
+ }
 };
index 190a3d3..cb0b449 100644 (file)
@@ -1303,8 +1303,10 @@ gate_mudflap (void)
   return flag_mudflap != 0;
 }
 
-struct tree_opt_pass pass_mudflap_1 = 
+struct gimple_opt_pass pass_mudflap_1 = 
 {
+ {
+  GIMPLE_PASS,
   "mudflap1",                           /* name */
   gate_mudflap,                         /* gate */
   execute_mudflap_function_decls,       /* execute */
@@ -1316,12 +1318,14 @@ struct tree_opt_pass pass_mudflap_1 =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_dump_func,                       /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func                        /* todo_flags_finish */
+ }
 };
 
-struct tree_opt_pass pass_mudflap_2 = 
+struct gimple_opt_pass pass_mudflap_2 = 
 {
+ {
+  GIMPLE_PASS,
   "mudflap2",                           /* name */
   gate_mudflap,                         /* gate */
   execute_mudflap_function_ops,         /* execute */
@@ -1334,8 +1338,8 @@ struct tree_opt_pass pass_mudflap_2 =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_verify_flow | TODO_verify_stmts
-  | TODO_dump_func,                     /* todo_flags_finish */
-  0                                    /* letter */
+  | TODO_dump_func                      /* todo_flags_finish */
+ }
 };
 
 #include "gt-tree-mudflap.h"
index a59b9da..8d1ae75 100644 (file)
@@ -90,8 +90,10 @@ gate_mudflap (void)
   return flag_mudflap != 0;
 }
 
-struct tree_opt_pass pass_mudflap_1 = 
+struct gimple_opt_pass pass_mudflap_1 = 
 {
+ {
+  GIMPLE_PASS,
   "mudflap1",                          /* name */
   gate_mudflap,                         /* gate */
   NULL,                                        /* execute */
@@ -103,12 +105,14 @@ struct tree_opt_pass pass_mudflap_1 =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  0,                                    /* todo_flags_finish */
-  0                                    /* letter */
+  0                                     /* todo_flags_finish */
+ }
 };
 
-struct tree_opt_pass pass_mudflap_2 = 
+struct gimple_opt_pass pass_mudflap_2 = 
 {
+ {
+  GIMPLE_PASS,
   "mudflap2",                          /* name */
   gate_mudflap,                         /* gate */
   NULL,                                        /* execute */
@@ -120,8 +124,8 @@ struct tree_opt_pass pass_mudflap_2 =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  0,                                    /* todo_flags_finish */
-  0                                    /* letter */
+  0                                     /* todo_flags_finish */
+ }
 };
 
 /* Instead of:
index ef5ee67..7330d28 100644 (file)
@@ -221,8 +221,10 @@ tree_nrv (void)
   return 0;
 }
 
-struct tree_opt_pass pass_nrv = 
+struct gimple_opt_pass pass_nrv = 
 {
+ {
+  GIMPLE_PASS,
   "nrv",                               /* name */
   NULL,                                        /* gate */
   tree_nrv,                            /* execute */
@@ -234,8 +236,8 @@ struct tree_opt_pass pass_nrv =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func | TODO_ggc_collect,                   /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func | TODO_ggc_collect                    /* todo_flags_finish */
+ }
 };
 
 /* Determine (pessimistically) whether DEST is available for NRV
@@ -312,8 +314,10 @@ execute_return_slot_opt (void)
   return 0;
 }
 
-struct tree_opt_pass pass_return_slot = 
+struct gimple_opt_pass pass_return_slot = 
 {
+ {
+  GIMPLE_PASS,
   "retslot",                           /* name */
   NULL,                                        /* gate */
   execute_return_slot_opt,             /* execute */
@@ -325,6 +329,6 @@ struct tree_opt_pass pass_return_slot =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  0,                                   /* todo_flags_finish */
-  0                                    /* letter */
+  0                                    /* todo_flags_finish */
+ }
 };
index 371e3e5..bc99ae7 100644 (file)
@@ -1063,8 +1063,10 @@ compute_object_sizes (void)
   return 0;
 }
 
-struct tree_opt_pass pass_object_sizes =
+struct gimple_opt_pass pass_object_sizes =
 {
+ {
+  GIMPLE_PASS,
   "objsz",                             /* name */
   NULL,                                        /* gate */
   compute_object_sizes,                        /* execute */
@@ -1076,6 +1078,6 @@ struct tree_opt_pass pass_object_sizes =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func | TODO_verify_ssa,    /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func | TODO_verify_ssa     /* todo_flags_finish */
+ }
 };
index 544d75d..b6a9b93 100644 (file)
@@ -61,8 +61,10 @@ gate_all_optimizations (void)
          && (!(errorcount || sorrycount) || gimple_in_ssa_p (cfun)));
 }
 
-struct tree_opt_pass pass_all_optimizations =
+struct gimple_opt_pass pass_all_optimizations =
 {
+ {
+  GIMPLE_PASS,
   NULL,                                        /* name */
   gate_all_optimizations,              /* gate */
   NULL,                                        /* execute */
@@ -74,8 +76,8 @@ struct tree_opt_pass pass_all_optimizations =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  0,                                   /* todo_flags_finish */
-  0                                    /* letter */
+  0                                    /* todo_flags_finish */
+ }
 };
 
 /* Gate: execute, or not, all of the non-trivial optimizations.  */
@@ -87,8 +89,10 @@ gate_all_early_local_passes (void)
   return (!errorcount && !sorrycount);
 }
 
-struct tree_opt_pass pass_early_local_passes =
+struct simple_ipa_opt_pass pass_early_local_passes =
 {
+ {
+  SIMPLE_IPA_PASS,
   "early_local_cleanups",              /* name */
   gate_all_early_local_passes,         /* gate */
   NULL,                                        /* execute */
@@ -100,8 +104,8 @@ struct tree_opt_pass pass_early_local_passes =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_remove_functions,               /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_remove_functions                        /* todo_flags_finish */
+ }
 };
 
 static unsigned int
@@ -122,8 +126,10 @@ gate_all_early_optimizations (void)
          && !(errorcount || sorrycount));
 }
 
-struct tree_opt_pass pass_all_early_optimizations =
+struct gimple_opt_pass pass_all_early_optimizations =
 {
+ {
+  GIMPLE_PASS,
   "early_optimizations",               /* name */
   gate_all_early_optimizations,                /* gate */
   execute_early_local_optimizations,   /* execute */
@@ -135,8 +141,8 @@ struct tree_opt_pass pass_all_early_optimizations =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  0,                                   /* todo_flags_finish */
-  0                                    /* letter */
+  0                                    /* todo_flags_finish */
+ }
 };
 
 /* Pass: cleanup the CFG just before expanding trees to RTL.
@@ -151,8 +157,10 @@ execute_cleanup_cfg_pre_ipa (void)
   return 0;
 }
 
-struct tree_opt_pass pass_cleanup_cfg =
+struct gimple_opt_pass pass_cleanup_cfg =
 {
+ {
+  GIMPLE_PASS,
   "cleanup_cfg",                       /* name */
   NULL,                                        /* gate */
   execute_cleanup_cfg_pre_ipa,         /* execute */
@@ -164,8 +172,8 @@ struct tree_opt_pass pass_cleanup_cfg =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func,                                      /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func                       /* todo_flags_finish */
+ }
 };
 
 
@@ -184,8 +192,10 @@ execute_cleanup_cfg_post_optimizing (void)
   return 0;
 }
 
-struct tree_opt_pass pass_cleanup_cfg_post_optimizing =
+struct gimple_opt_pass pass_cleanup_cfg_post_optimizing =
 {
+ {
+  GIMPLE_PASS,
   "final_cleanup",                     /* name */
   NULL,                                        /* gate */
   execute_cleanup_cfg_post_optimizing, /* execute */
@@ -197,8 +207,8 @@ struct tree_opt_pass pass_cleanup_cfg_post_optimizing =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func,                                      /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func                       /* todo_flags_finish */
+ }
 };
 
 /* Pass: do the actions required to finish with tree-ssa optimization
@@ -216,8 +226,10 @@ execute_free_datastructures (void)
   return 0;
 }
 
-struct tree_opt_pass pass_free_datastructures =
+struct gimple_opt_pass pass_free_datastructures =
 {
+ {
+  GIMPLE_PASS,
   NULL,                                        /* name */
   NULL,                                        /* gate */
   execute_free_datastructures,                 /* execute */
@@ -229,8 +241,8 @@ struct tree_opt_pass pass_free_datastructures =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  0,                                   /* todo_flags_finish */
-  0                                    /* letter */
+  0                                    /* todo_flags_finish */
+ }
 };
 /* Pass: free cfg annotations.  */
 
@@ -243,8 +255,10 @@ execute_free_cfg_annotations (void)
   return 0;
 }
 
-struct tree_opt_pass pass_free_cfg_annotations =
+struct gimple_opt_pass pass_free_cfg_annotations =
 {
+ {
+  GIMPLE_PASS,
   NULL,                                        /* name */
   NULL,                                        /* gate */
   execute_free_cfg_annotations,                /* execute */
@@ -256,8 +270,8 @@ struct tree_opt_pass pass_free_cfg_annotations =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  0,                                   /* todo_flags_finish */
-  0                                    /* letter */
+  0                                    /* todo_flags_finish */
+ }
 };
 
 /* Pass: fixup_cfg.  IPA passes, compilation of earlier functions or inlining
@@ -330,8 +344,10 @@ gate_init_datastructures (void)
   return (optimize >= 1);
 }
 
-struct tree_opt_pass pass_init_datastructures =
+struct gimple_opt_pass pass_init_datastructures =
 {
+ {
+  GIMPLE_PASS,
   NULL,                                        /* name */
   gate_init_datastructures,            /* gate */
   execute_init_datastructures,         /* execute */
@@ -343,8 +359,8 @@ struct tree_opt_pass pass_init_datastructures =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  0,                                   /* todo_flags_finish */
-  0                                    /* letter */
+  0                                    /* todo_flags_finish */
+ }
 };
 
 void
@@ -358,7 +374,7 @@ tree_lowering_passes (tree fn)
   bitmap_obstack_initialize (NULL);
   execute_pass_list (all_lowering_passes);
   if (optimize && cgraph_global_info_ready)
-    execute_pass_list (pass_early_local_passes.sub);
+    execute_pass_list (pass_early_local_passes.pass.sub);
   free_dominance_info (CDI_POST_DOMINATORS);
   free_dominance_info (CDI_DOMINATORS);
   compact_blocks ();
index be8a459..12ce1b9 100644 (file)
@@ -1466,8 +1466,10 @@ rewrite_out_of_ssa (void)
 
 /* Define the parameters of the out of SSA pass.  */
 
-struct tree_opt_pass pass_del_ssa = 
+struct gimple_opt_pass pass_del_ssa = 
 {
+ {
+  GIMPLE_PASS,
   "optimized",                         /* name */
   NULL,                                        /* gate */
   rewrite_out_of_ssa,                  /* execute */
@@ -1483,6 +1485,6 @@ struct tree_opt_pass pass_del_ssa =
     | TODO_verify_stmts,               /* todo_flags_start */
   TODO_dump_func
   | TODO_ggc_collect
-  | TODO_remove_unused_locals,         /* todo_flags_finish */
-  0                                    /* letter */
+  | TODO_remove_unused_locals          /* todo_flags_finish */
+ }
 };
index 55aa5fc..9c698ca 100644 (file)
@@ -88,9 +88,16 @@ extern const char *dump_file_name;
 /* 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
+/* Describe one pass; this is the common part shared across different pass
+   types.  */
+struct opt_pass
 {
+  /* Optimization pass type.  */
+  enum opt_pass_type {
+    GIMPLE_PASS,
+    RTL_PASS,
+    SIMPLE_IPA_PASS
+  } type;
   /* Terse name of the pass used as a fragment of the dump file name.  */
   const char *name;
 
@@ -104,10 +111,10 @@ struct tree_opt_pass
   unsigned int (*execute) (void);
 
   /* A list of sub-passes to run, dependent on gate predicate.  */
-  struct tree_opt_pass *sub;
+  struct opt_pass *sub;
 
   /* Next in the list of passes to run, independent of gate predicate.  */
-  struct tree_opt_pass *next;
+  struct opt_pass *next;
 
   /* Static pass number, used as a fragment of the dump file name.  */
   int static_pass_number;
@@ -124,9 +131,25 @@ struct tree_opt_pass
   /* Flags indicating common sets things to do before and after.  */
   unsigned int todo_flags_start;
   unsigned int todo_flags_finish;
+};
+
+/* Description or GIMPLE pass.  */
+struct gimple_opt_pass
+{
+  struct opt_pass pass;
+};
 
-  /* Letter for RTL dumps.  */
-  char letter;
+/* Decription of RTL pass.  */
+struct rtl_opt_pass
+{
+  struct opt_pass pass;
+};
+
+/* Description if simple IPA pass.  Simple IPA passes have just one execute
+   hook.  */
+struct simple_ipa_opt_pass
+{
+  struct opt_pass pass;
 };
 
 /* Define a tree dump switch.  */
@@ -240,222 +263,222 @@ struct dump_file_info
 
 extern void tree_lowering_passes (tree decl);
 
-extern struct tree_opt_pass pass_mudflap_1;
-extern struct tree_opt_pass pass_mudflap_2;
-extern struct tree_opt_pass pass_remove_useless_stmts;
-extern struct tree_opt_pass pass_lower_cf;
-extern struct tree_opt_pass pass_refactor_eh;
-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_early_tree_profile;
-extern struct tree_opt_pass pass_cleanup_cfg;
-extern struct tree_opt_pass pass_referenced_vars;
-extern struct tree_opt_pass pass_sra;
-extern struct tree_opt_pass pass_sra_early;
-extern struct tree_opt_pass pass_tail_recursion;
-extern struct tree_opt_pass pass_tail_calls;
-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;
-extern struct tree_opt_pass pass_record_bounds;
-extern struct tree_opt_pass pass_if_conversion;
-extern struct tree_opt_pass pass_loop_distribution;
-extern struct tree_opt_pass pass_vectorize;
-extern struct tree_opt_pass pass_complete_unroll;
-extern struct tree_opt_pass pass_parallelize_loops;
-extern struct tree_opt_pass pass_loop_prefetch;
-extern struct tree_opt_pass pass_iv_optimize;
-extern struct tree_opt_pass pass_tree_loop_done;
-extern struct tree_opt_pass pass_ch;
-extern struct tree_opt_pass pass_ccp;
-extern struct tree_opt_pass pass_phi_only_cprop;
-extern struct tree_opt_pass pass_build_ssa;
-extern struct tree_opt_pass pass_del_ssa;
-extern struct tree_opt_pass pass_build_alias;
-extern struct tree_opt_pass pass_dominator;
-extern struct tree_opt_pass pass_dce;
-extern struct tree_opt_pass pass_dce_loop;
-extern struct tree_opt_pass pass_cd_dce;
-extern struct tree_opt_pass pass_merge_phi;
-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_O0;
-extern struct tree_opt_pass pass_lower_complex;
-extern struct tree_opt_pass pass_lower_vector;
-extern struct tree_opt_pass pass_lower_vector_ssa;
-extern struct tree_opt_pass pass_lower_omp;
-extern struct tree_opt_pass pass_expand_omp;
-extern struct tree_opt_pass pass_expand_omp_ssa;
-extern struct tree_opt_pass pass_object_sizes;
-extern struct tree_opt_pass pass_fold_builtins;
-extern struct tree_opt_pass pass_stdarg;
-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_cselim;
-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_simple_dse;
-extern struct tree_opt_pass pass_nrv;
-extern struct tree_opt_pass pass_mark_used_blocks;
-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_sink_code;
-extern struct tree_opt_pass pass_fre;
-extern struct tree_opt_pass pass_linear_transform;
-extern struct tree_opt_pass pass_check_data_deps;
-extern struct tree_opt_pass pass_copy_prop;
-extern struct tree_opt_pass pass_store_ccp;
-extern struct tree_opt_pass pass_vrp;
-extern struct tree_opt_pass pass_create_structure_vars;
-extern struct tree_opt_pass pass_uncprop;
-extern struct tree_opt_pass pass_return_slot;
-extern struct tree_opt_pass pass_reassoc;
-extern struct tree_opt_pass pass_rebuild_cgraph_edges;
-extern struct tree_opt_pass pass_build_cgraph_edges;
-extern struct tree_opt_pass pass_reset_cc_flags;
+extern struct gimple_opt_pass pass_mudflap_1;
+extern struct gimple_opt_pass pass_mudflap_2;
+extern struct gimple_opt_pass pass_remove_useless_stmts;
+extern struct gimple_opt_pass pass_lower_cf;
+extern struct gimple_opt_pass pass_refactor_eh;
+extern struct gimple_opt_pass pass_lower_eh;
+extern struct gimple_opt_pass pass_build_cfg;
+extern struct gimple_opt_pass pass_tree_profile;
+extern struct gimple_opt_pass pass_early_tree_profile;
+extern struct gimple_opt_pass pass_cleanup_cfg;
+extern struct gimple_opt_pass pass_referenced_vars;
+extern struct gimple_opt_pass pass_sra;
+extern struct gimple_opt_pass pass_sra_early;
+extern struct gimple_opt_pass pass_tail_recursion;
+extern struct gimple_opt_pass pass_tail_calls;
+extern struct gimple_opt_pass pass_tree_loop;
+extern struct gimple_opt_pass pass_tree_loop_init;
+extern struct gimple_opt_pass pass_lim;
+extern struct gimple_opt_pass pass_tree_unswitch;
+extern struct gimple_opt_pass pass_predcom;
+extern struct gimple_opt_pass pass_iv_canon;
+extern struct gimple_opt_pass pass_scev_cprop;
+extern struct gimple_opt_pass pass_empty_loop;
+extern struct gimple_opt_pass pass_record_bounds;
+extern struct gimple_opt_pass pass_if_conversion;
+extern struct gimple_opt_pass pass_loop_distribution;
+extern struct gimple_opt_pass pass_vectorize;
+extern struct gimple_opt_pass pass_complete_unroll;
+extern struct gimple_opt_pass pass_parallelize_loops;
+extern struct gimple_opt_pass pass_loop_prefetch;
+extern struct gimple_opt_pass pass_iv_optimize;
+extern struct gimple_opt_pass pass_tree_loop_done;
+extern struct gimple_opt_pass pass_ch;
+extern struct gimple_opt_pass pass_ccp;
+extern struct gimple_opt_pass pass_phi_only_cprop;
+extern struct gimple_opt_pass pass_build_ssa;
+extern struct gimple_opt_pass pass_del_ssa;
+extern struct gimple_opt_pass pass_build_alias;
+extern struct gimple_opt_pass pass_dominator;
+extern struct gimple_opt_pass pass_dce;
+extern struct gimple_opt_pass pass_dce_loop;
+extern struct gimple_opt_pass pass_cd_dce;
+extern struct gimple_opt_pass pass_merge_phi;
+extern struct gimple_opt_pass pass_split_crit_edges;
+extern struct gimple_opt_pass pass_pre;
+extern struct gimple_opt_pass pass_profile;
+extern struct gimple_opt_pass pass_lower_complex_O0;
+extern struct gimple_opt_pass pass_lower_complex;
+extern struct gimple_opt_pass pass_lower_vector;
+extern struct gimple_opt_pass pass_lower_vector_ssa;
+extern struct gimple_opt_pass pass_lower_omp;
+extern struct gimple_opt_pass pass_expand_omp;
+extern struct gimple_opt_pass pass_expand_omp_ssa;
+extern struct gimple_opt_pass pass_object_sizes;
+extern struct gimple_opt_pass pass_fold_builtins;
+extern struct gimple_opt_pass pass_stdarg;
+extern struct gimple_opt_pass pass_early_warn_uninitialized;
+extern struct gimple_opt_pass pass_late_warn_uninitialized;
+extern struct gimple_opt_pass pass_cse_reciprocals;
+extern struct gimple_opt_pass pass_cse_sincos;
+extern struct gimple_opt_pass pass_convert_to_rsqrt;
+extern struct gimple_opt_pass pass_warn_function_return;
+extern struct gimple_opt_pass pass_warn_function_noreturn;
+extern struct gimple_opt_pass pass_cselim;
+extern struct gimple_opt_pass pass_phiopt;
+extern struct gimple_opt_pass pass_forwprop;
+extern struct gimple_opt_pass pass_phiprop;
+extern struct gimple_opt_pass pass_tree_ifcombine;
+extern struct gimple_opt_pass pass_dse;
+extern struct gimple_opt_pass pass_simple_dse;
+extern struct gimple_opt_pass pass_nrv;
+extern struct gimple_opt_pass pass_mark_used_blocks;
+extern struct gimple_opt_pass pass_rename_ssa_copies;
+extern struct gimple_opt_pass pass_expand;
+extern struct gimple_opt_pass pass_rest_of_compilation;
+extern struct gimple_opt_pass pass_sink_code;
+extern struct gimple_opt_pass pass_fre;
+extern struct gimple_opt_pass pass_linear_transform;
+extern struct gimple_opt_pass pass_check_data_deps;
+extern struct gimple_opt_pass pass_copy_prop;
+extern struct gimple_opt_pass pass_store_ccp;
+extern struct gimple_opt_pass pass_vrp;
+extern struct gimple_opt_pass pass_create_structure_vars;
+extern struct gimple_opt_pass pass_uncprop;
+extern struct gimple_opt_pass pass_return_slot;
+extern struct gimple_opt_pass pass_reassoc;
+extern struct gimple_opt_pass pass_rebuild_cgraph_edges;
+extern struct gimple_opt_pass pass_build_cgraph_edges;
+extern struct gimple_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;
-extern struct tree_opt_pass pass_ipa_reference;
-extern struct tree_opt_pass pass_ipa_pure_const;
-extern struct tree_opt_pass pass_ipa_type_escape;
-extern struct tree_opt_pass pass_ipa_pta;
-extern struct tree_opt_pass pass_ipa_struct_reorg;
-extern struct tree_opt_pass pass_early_local_passes;
-extern struct tree_opt_pass pass_ipa_increase_alignment;
-extern struct tree_opt_pass pass_ipa_function_and_variable_visibility;
-
-extern struct tree_opt_pass pass_all_optimizations;
-extern struct tree_opt_pass pass_cleanup_cfg_post_optimizing;
-extern struct tree_opt_pass pass_free_cfg_annotations;
-extern struct tree_opt_pass pass_free_datastructures;
-extern struct tree_opt_pass pass_init_datastructures;
-extern struct tree_opt_pass pass_fixup_cfg;
-
-extern struct tree_opt_pass pass_init_function;
-extern struct tree_opt_pass pass_jump;
-extern struct tree_opt_pass pass_rtl_eh;
-extern struct tree_opt_pass pass_initial_value_sets;
-extern struct tree_opt_pass pass_unshare_all_rtl;
-extern struct tree_opt_pass pass_instantiate_virtual_regs;
-extern struct tree_opt_pass pass_rtl_fwprop;
-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;
-extern struct tree_opt_pass pass_rtl_ifcvt;
-extern struct tree_opt_pass pass_tracer;
-
-extern struct tree_opt_pass pass_into_cfg_layout_mode;
-extern struct tree_opt_pass pass_outof_cfg_layout_mode;
-
-extern struct tree_opt_pass pass_loop2;
-extern struct tree_opt_pass pass_rtl_loop_init;
-extern struct tree_opt_pass pass_rtl_move_loop_invariants;
-extern struct tree_opt_pass pass_rtl_unswitch;
-extern struct tree_opt_pass pass_rtl_unroll_and_peel_loops;
-extern struct tree_opt_pass pass_rtl_doloop;
-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_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_sms;
-extern struct tree_opt_pass pass_sched;
-extern struct tree_opt_pass pass_local_alloc;
-extern struct tree_opt_pass pass_global_alloc;
-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_postreload_cse;
-extern struct tree_opt_pass pass_gcse2;
-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_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;
-extern struct tree_opt_pass pass_free_cfg;
-extern struct tree_opt_pass pass_machine_reorg;
-extern struct tree_opt_pass pass_cleanup_barriers;
-extern struct tree_opt_pass pass_delay_slots;
-extern struct tree_opt_pass pass_split_for_shorten_branches;
-extern struct tree_opt_pass pass_split_before_regstack;
-extern struct tree_opt_pass pass_convert_to_eh_region_ranges;
-extern struct tree_opt_pass pass_shorten_branches;
-extern struct tree_opt_pass pass_set_nothrow_function_flags;
-extern struct tree_opt_pass pass_final;
-extern struct tree_opt_pass pass_rtl_seqabstr;
-extern struct tree_opt_pass pass_release_ssa_names;
-extern struct tree_opt_pass pass_early_inline;
-extern struct tree_opt_pass pass_inline_parameters;
-extern struct tree_opt_pass pass_apply_inline;
-extern struct tree_opt_pass pass_all_early_optimizations;
-extern struct tree_opt_pass pass_update_address_taken;
+extern struct simple_ipa_opt_pass pass_ipa_matrix_reorg;
+extern struct simple_ipa_opt_pass pass_ipa_cp;
+extern struct simple_ipa_opt_pass pass_ipa_inline;
+extern struct simple_ipa_opt_pass pass_ipa_early_inline;
+extern struct simple_ipa_opt_pass pass_ipa_reference;
+extern struct simple_ipa_opt_pass pass_ipa_pure_const;
+extern struct simple_ipa_opt_pass pass_ipa_type_escape;
+extern struct simple_ipa_opt_pass pass_ipa_pta;
+extern struct simple_ipa_opt_pass pass_ipa_struct_reorg;
+extern struct simple_ipa_opt_pass pass_early_local_passes;
+extern struct simple_ipa_opt_pass pass_ipa_increase_alignment;
+extern struct simple_ipa_opt_pass pass_ipa_function_and_variable_visibility;
+
+extern struct gimple_opt_pass pass_all_optimizations;
+extern struct gimple_opt_pass pass_cleanup_cfg_post_optimizing;
+extern struct gimple_opt_pass pass_free_cfg_annotations;
+extern struct gimple_opt_pass pass_free_datastructures;
+extern struct gimple_opt_pass pass_init_datastructures;
+extern struct gimple_opt_pass pass_fixup_cfg;
+
+extern struct rtl_opt_pass pass_init_function;
+extern struct rtl_opt_pass pass_jump;
+extern struct rtl_opt_pass pass_rtl_eh;
+extern struct rtl_opt_pass pass_initial_value_sets;
+extern struct rtl_opt_pass pass_unshare_all_rtl;
+extern struct rtl_opt_pass pass_instantiate_virtual_regs;
+extern struct rtl_opt_pass pass_rtl_fwprop;
+extern struct rtl_opt_pass pass_rtl_fwprop_addr;
+extern struct rtl_opt_pass pass_jump2;
+extern struct rtl_opt_pass pass_lower_subreg;
+extern struct rtl_opt_pass pass_cse;
+extern struct rtl_opt_pass pass_fast_rtl_dce;
+extern struct rtl_opt_pass pass_ud_rtl_dce;
+extern struct rtl_opt_pass pass_rtl_dce;
+extern struct rtl_opt_pass pass_rtl_dse1;
+extern struct rtl_opt_pass pass_rtl_dse2;
+extern struct rtl_opt_pass pass_rtl_dse3;
+extern struct rtl_opt_pass pass_gcse;
+extern struct rtl_opt_pass pass_jump_bypass;
+extern struct rtl_opt_pass pass_profiling;
+extern struct rtl_opt_pass pass_rtl_ifcvt;
+extern struct gimple_opt_pass pass_tracer;
+
+extern struct rtl_opt_pass pass_into_cfg_layout_mode;
+extern struct rtl_opt_pass pass_outof_cfg_layout_mode;
+
+extern struct rtl_opt_pass pass_loop2;
+extern struct rtl_opt_pass pass_rtl_loop_init;
+extern struct rtl_opt_pass pass_rtl_move_loop_invariants;
+extern struct rtl_opt_pass pass_rtl_unswitch;
+extern struct rtl_opt_pass pass_rtl_unroll_and_peel_loops;
+extern struct rtl_opt_pass pass_rtl_doloop;
+extern struct rtl_opt_pass pass_rtl_loop_done;
+
+extern struct rtl_opt_pass pass_web;
+extern struct rtl_opt_pass pass_cse2;
+extern struct rtl_opt_pass pass_df_initialize_opt;
+extern struct rtl_opt_pass pass_df_initialize_no_opt;
+extern struct rtl_opt_pass pass_regclass_init;
+extern struct rtl_opt_pass pass_subregs_of_mode_init;
+extern struct rtl_opt_pass pass_subregs_of_mode_finish;
+extern struct rtl_opt_pass pass_inc_dec;
+extern struct rtl_opt_pass pass_stack_ptr_mod;
+extern struct rtl_opt_pass pass_initialize_regs;
+extern struct rtl_opt_pass pass_combine;
+extern struct rtl_opt_pass pass_if_after_combine;
+extern struct rtl_opt_pass pass_partition_blocks;
+extern struct rtl_opt_pass pass_match_asm_constraints;
+extern struct rtl_opt_pass pass_regmove;
+extern struct rtl_opt_pass pass_split_all_insns;
+extern struct rtl_opt_pass pass_lower_subreg2;
+extern struct rtl_opt_pass pass_mode_switching;
+extern struct rtl_opt_pass pass_see;
+extern struct rtl_opt_pass pass_sms;
+extern struct rtl_opt_pass pass_sched;
+extern struct rtl_opt_pass pass_local_alloc;
+extern struct rtl_opt_pass pass_global_alloc;
+extern struct rtl_opt_pass pass_postreload;
+extern struct rtl_opt_pass pass_clean_state;
+extern struct rtl_opt_pass pass_branch_prob;
+extern struct rtl_opt_pass pass_value_profile_transformations;
+extern struct rtl_opt_pass pass_postreload_cse;
+extern struct rtl_opt_pass pass_gcse2;
+extern struct rtl_opt_pass pass_split_after_reload;
+extern struct rtl_opt_pass pass_branch_target_load_optimize1;
+extern struct rtl_opt_pass pass_thread_prologue_and_epilogue;
+extern struct rtl_opt_pass pass_stack_adjustments;
+extern struct rtl_opt_pass pass_peephole2;
+extern struct rtl_opt_pass pass_if_after_reload;
+extern struct rtl_opt_pass pass_regrename;
+extern struct rtl_opt_pass pass_cprop_hardreg;
+extern struct rtl_opt_pass pass_reorder_blocks;
+extern struct rtl_opt_pass pass_branch_target_load_optimize2;
+extern struct rtl_opt_pass pass_leaf_regs;
+extern struct rtl_opt_pass pass_split_before_sched2;
+extern struct rtl_opt_pass pass_sched2;
+extern struct rtl_opt_pass pass_stack_regs;
+extern struct rtl_opt_pass pass_stack_regs_run;
+extern struct rtl_opt_pass pass_df_finish;
+extern struct rtl_opt_pass pass_compute_alignments;
+extern struct rtl_opt_pass pass_duplicate_computed_gotos;
+extern struct rtl_opt_pass pass_variable_tracking;
+extern struct rtl_opt_pass pass_free_cfg;
+extern struct rtl_opt_pass pass_machine_reorg;
+extern struct rtl_opt_pass pass_cleanup_barriers;
+extern struct rtl_opt_pass pass_delay_slots;
+extern struct rtl_opt_pass pass_split_for_shorten_branches;
+extern struct rtl_opt_pass pass_split_before_regstack;
+extern struct rtl_opt_pass pass_convert_to_eh_region_ranges;
+extern struct rtl_opt_pass pass_shorten_branches;
+extern struct rtl_opt_pass pass_set_nothrow_function_flags;
+extern struct rtl_opt_pass pass_final;
+extern struct rtl_opt_pass pass_rtl_seqabstr;
+extern struct gimple_opt_pass pass_release_ssa_names;
+extern struct gimple_opt_pass pass_early_inline;
+extern struct gimple_opt_pass pass_inline_parameters;
+extern struct gimple_opt_pass pass_apply_inline;
+extern struct gimple_opt_pass pass_all_early_optimizations;
+extern struct gimple_opt_pass pass_update_address_taken;
 
 /* The root of the compilation pass tree, once constructed.  */
-extern struct tree_opt_pass *all_passes, *all_ipa_passes, *all_lowering_passes;
+extern struct 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 execute_pass_list (struct opt_pass *);
+extern void execute_ipa_pass_list (struct opt_pass *);
 extern void print_current_pass (FILE *);
 extern void debug_pass (void);
 
index 57c9f5c..7a70cef 100644 (file)
@@ -443,8 +443,10 @@ tree_profiling (void)
   return 0;
 }
 
-struct tree_opt_pass pass_tree_profile = 
+struct gimple_opt_pass pass_tree_profile = 
 {
+ {
+  GIMPLE_PASS,
   "tree_profile",                      /* name */
   do_tree_profiling,                   /* gate */
   tree_profiling,                      /* execute */
@@ -456,8 +458,8 @@ struct tree_opt_pass pass_tree_profile =
   PROP_gimple_leh | PROP_cfg,          /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_verify_stmts | TODO_dump_func,  /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_verify_stmts | TODO_dump_func   /* todo_flags_finish */
+ }
 };
 
 struct profile_hooks tree_profile_hooks =
index 45142e8..752f87d 100644 (file)
@@ -3680,8 +3680,10 @@ gate_sra (void)
   return flag_tree_sra != 0;
 }
 
-struct tree_opt_pass pass_sra_early =
+struct gimple_opt_pass pass_sra_early =
 {
+ {
+  GIMPLE_PASS,
   "esra",                              /* name */
   gate_sra,                            /* gate */
   tree_sra_early,                      /* execute */
@@ -3696,12 +3698,14 @@ struct tree_opt_pass pass_sra_early =
   TODO_dump_func
   | TODO_update_ssa
   | TODO_ggc_collect
-  | TODO_verify_ssa,                   /* todo_flags_finish */
-  0                                    /* letter */
+  | TODO_verify_ssa                    /* todo_flags_finish */
+ }
 };
 
-struct tree_opt_pass pass_sra =
+struct gimple_opt_pass pass_sra =
 {
+ {
+  GIMPLE_PASS,
   "sra",                               /* name */
   gate_sra,                            /* gate */
   tree_sra,                            /* execute */
@@ -3716,6 +3720,6 @@ struct tree_opt_pass pass_sra =
   TODO_dump_func
   | TODO_update_ssa
   | TODO_ggc_collect
-  | TODO_verify_ssa,                   /* todo_flags_finish */
-  0                                    /* letter */
+  | TODO_verify_ssa                    /* todo_flags_finish */
+ }
 };
index 7ab2f6b..a9ae29f 100644 (file)
@@ -4205,8 +4205,10 @@ gate_structure_vars (void)
   return flag_tree_salias != 0;
 }
 
-struct tree_opt_pass pass_create_structure_vars = 
+struct gimple_opt_pass pass_create_structure_vars = 
 {
+ {
+  GIMPLE_PASS,
   "salias",             /* name */
   gate_structure_vars,  /* gate */
   create_structure_vars, /* execute */
@@ -4218,8 +4220,8 @@ struct tree_opt_pass pass_create_structure_vars =
   0,                    /* properties_provided */
   0,                    /* properties_destroyed */
   0,                    /* todo_flags_start */
-  TODO_dump_func,       /* todo_flags_finish */
-  0                     /* letter */
+  TODO_dump_func        /* todo_flags_finish */
+ }
 };
 
 /* Reset the call_clobbered flags on our referenced vars.  In
@@ -4236,8 +4238,10 @@ reset_cc_flags (void)
   return 0;
 }
 
-struct tree_opt_pass pass_reset_cc_flags =
+struct gimple_opt_pass pass_reset_cc_flags =
 {
+ {
+  GIMPLE_PASS,
   NULL,                 /* name */
   NULL,         /* gate */
   reset_cc_flags, /* execute */
@@ -4249,8 +4253,8 @@ struct tree_opt_pass pass_reset_cc_flags =
   0,                    /* properties_provided */
   0,                    /* properties_destroyed */
   0,                    /* todo_flags_start */
-  0,                    /* todo_flags_finish */
-  0                     /* letter */
+  0                     /* todo_flags_finish */
+ }
 };
 
 static bool
@@ -4260,8 +4264,10 @@ gate_build_alias (void)
 }
 
 
-struct tree_opt_pass pass_build_alias =
+struct gimple_opt_pass pass_build_alias =
 {
+ {
+  GIMPLE_PASS,
   "build_alias",            /* name */
   gate_build_alias,         /* gate */
   NULL,                     /* execute */
@@ -4273,6 +4279,6 @@ struct tree_opt_pass pass_build_alias =
   PROP_alias,               /* properties_provided */
   0,                        /* properties_destroyed */
   0,                        /* todo_flags_start */
-  TODO_rebuild_alias,        /* todo_flags_finish */
-  0                         /* letter */
+  TODO_rebuild_alias        /* todo_flags_finish */
+ }
 };
index 7e51926..2a82c04 100644 (file)
@@ -1495,8 +1495,10 @@ gate_ccp (void)
 }
 
 
-struct tree_opt_pass pass_ccp = 
+struct gimple_opt_pass pass_ccp = 
 {
+ {
+  GIMPLE_PASS,
   "ccp",                               /* name */
   gate_ccp,                            /* gate */
   do_ssa_ccp,                          /* execute */
@@ -1509,8 +1511,8 @@ struct tree_opt_pass pass_ccp =
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
   TODO_dump_func | TODO_verify_ssa
-  | TODO_verify_stmts | TODO_ggc_collect,/* todo_flags_finish */
-  0                                    /* letter */
+  | TODO_verify_stmts | TODO_ggc_collect/* todo_flags_finish */
+ }
 };
 
 
@@ -1531,8 +1533,10 @@ gate_store_ccp (void)
 }
 
 
-struct tree_opt_pass pass_store_ccp = 
+struct gimple_opt_pass pass_store_ccp = 
 {
+ {
+  GIMPLE_PASS,
   "store_ccp",                         /* name */
   gate_store_ccp,                      /* gate */
   do_ssa_store_ccp,                    /* execute */
@@ -1545,8 +1549,8 @@ struct tree_opt_pass pass_store_ccp =
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
   TODO_dump_func | TODO_verify_ssa
-  | TODO_verify_stmts | TODO_ggc_collect,/* todo_flags_finish */
-  0                                    /* letter */
+  | TODO_verify_stmts | TODO_ggc_collect/* todo_flags_finish */
+ }
 };
 
 /* Given a constant value VAL for bitfield FIELD, and a destination
@@ -3026,8 +3030,10 @@ execute_fold_all_builtins (void)
 }
 
 
-struct tree_opt_pass pass_fold_builtins = 
+struct gimple_opt_pass pass_fold_builtins = 
 {
+ {
+  GIMPLE_PASS,
   "fab",                               /* name */
   NULL,                                        /* gate */
   execute_fold_all_builtins,           /* execute */
@@ -3041,6 +3047,6 @@ struct tree_opt_pass pass_fold_builtins =
   0,                                   /* todo_flags_start */
   TODO_dump_func
     | TODO_verify_ssa
-    | TODO_update_ssa,                 /* todo_flags_finish */
-  0                                    /* letter */
+    | TODO_update_ssa                  /* todo_flags_finish */
+ }
 };
index 2cd30c9..bc8a874 100644 (file)
@@ -1062,8 +1062,10 @@ gate_copy_prop (void)
   return flag_tree_copy_prop != 0;
 }
 
-struct tree_opt_pass pass_copy_prop =
+struct gimple_opt_pass pass_copy_prop =
 {
+ {
+  GIMPLE_PASS,
   "copyprop",                          /* name */
   gate_copy_prop,                      /* gate */
   execute_copy_prop,                   /* execute */
@@ -1079,7 +1081,7 @@ struct tree_opt_pass pass_copy_prop =
     | TODO_dump_func
     | TODO_ggc_collect
     | TODO_verify_ssa
-    | TODO_update_ssa,                 /* todo_flags_finish */
-  0                                    /* letter */
+    | TODO_update_ssa                  /* todo_flags_finish */
+ }
 };
 
index d701d43..46b3314 100644 (file)
@@ -389,8 +389,10 @@ gate_copyrename (void)
   return flag_tree_copyrename != 0;
 }
 
-struct tree_opt_pass pass_rename_ssa_copies = 
-{  
+struct gimple_opt_pass pass_rename_ssa_copies = 
+{
+ {
+  GIMPLE_PASS,
   "copyrename",                                /* name */
   gate_copyrename,                     /* gate */
   rename_ssa_copies,                   /* execute */
@@ -402,7 +404,7 @@ struct tree_opt_pass pass_rename_ssa_copies =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */ 
-  TODO_dump_func | TODO_verify_ssa,     /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func | TODO_verify_ssa      /* todo_flags_finish */
+ }
 }; 
 
index 640c1f3..95457eb 100644 (file)
@@ -901,8 +901,10 @@ gate_dce (void)
   return flag_tree_dce != 0;
 }
 
-struct tree_opt_pass pass_dce =
+struct gimple_opt_pass pass_dce =
 {
+ {
+  GIMPLE_PASS,
   "dce",                               /* name */
   gate_dce,                            /* gate */
   tree_ssa_dce,                                /* execute */
@@ -914,12 +916,14 @@ struct tree_opt_pass pass_dce =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func | TODO_verify_ssa,    /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func | TODO_verify_ssa     /* todo_flags_finish */
+ }
 };
 
-struct tree_opt_pass pass_dce_loop =
+struct gimple_opt_pass pass_dce_loop =
 {
+ {
+  GIMPLE_PASS,
   "dceloop",                           /* name */
   gate_dce,                            /* gate */
   tree_ssa_dce_loop,                   /* execute */
@@ -931,12 +935,14 @@ struct tree_opt_pass pass_dce_loop =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func | TODO_verify_ssa,    /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func | TODO_verify_ssa     /* todo_flags_finish */
+ }
 };
 
-struct tree_opt_pass pass_cd_dce =
+struct gimple_opt_pass pass_cd_dce =
 {
+ {
+  GIMPLE_PASS,
   "cddce",                             /* name */
   gate_dce,                            /* gate */
   tree_ssa_cd_dce,                     /* execute */
@@ -949,6 +955,6 @@ struct tree_opt_pass pass_cd_dce =
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
   TODO_dump_func | TODO_verify_ssa
-  | TODO_verify_flow,                  /* todo_flags_finish */
-  0                                    /* letter */
+  | TODO_verify_flow                   /* todo_flags_finish */
+ }
 };
index bc9809e..4d95261 100644 (file)
@@ -367,8 +367,10 @@ gate_dominator (void)
   return flag_tree_dom != 0;
 }
 
-struct tree_opt_pass pass_dominator = 
+struct gimple_opt_pass pass_dominator = 
 {
+ {
+  GIMPLE_PASS,
   "dom",                               /* name */
   gate_dominator,                      /* gate */
   tree_ssa_dominator_optimize,         /* execute */
@@ -383,8 +385,8 @@ struct tree_opt_pass pass_dominator =
   TODO_dump_func
     | TODO_update_ssa
     | TODO_cleanup_cfg
-    | TODO_verify_ssa,                 /* todo_flags_finish */
-  0                                    /* letter */
+    | TODO_verify_ssa                  /* todo_flags_finish */
+ }
 };
 
 
@@ -2533,8 +2535,10 @@ eliminate_degenerate_phis (void)
   return 0;
 }
 
-struct tree_opt_pass pass_phi_only_cprop =
+struct gimple_opt_pass pass_phi_only_cprop =
 {
+ {
+  GIMPLE_PASS,
   "phicprop",                           /* name */
   gate_dominator,                       /* gate */
   eliminate_degenerate_phis,            /* execute */
@@ -2551,6 +2555,6 @@ struct tree_opt_pass pass_phi_only_cprop =
     | TODO_ggc_collect
     | TODO_verify_ssa
     | TODO_verify_stmts
-    | TODO_update_ssa,                 /* todo_flags_finish */
-  0                                     /* letter */
+    | TODO_update_ssa                  /* todo_flags_finish */
+ }
 };
index f2ec9a5..8c96004 100644 (file)
@@ -632,7 +632,10 @@ gate_dse (void)
   return flag_tree_dse != 0;
 }
 
-struct tree_opt_pass pass_dse = {
+struct gimple_opt_pass pass_dse = 
+{
+ {
+  GIMPLE_PASS,
   "dse",                       /* name */
   gate_dse,                    /* gate */
   tree_ssa_dse,                        /* execute */
@@ -648,8 +651,8 @@ struct tree_opt_pass pass_dse = {
   0,                           /* todo_flags_start */
   TODO_dump_func
     | TODO_ggc_collect
-    | TODO_verify_ssa,         /* todo_flags_finish */
-  0                            /* letter */
+    | TODO_verify_ssa          /* todo_flags_finish */
+ }
 };
 
 /* A very simple dead store pass eliminating write only local variables.
@@ -769,8 +772,10 @@ execute_simple_dse (void)
   return todo;
 }
 
-struct tree_opt_pass pass_simple_dse =
+struct gimple_opt_pass pass_simple_dse =
 {
+ {
+  GIMPLE_PASS,
   "sdse",                              /* name */
   NULL,                                        /* gate */
   execute_simple_dse,                  /* execute */
@@ -782,6 +787,6 @@ struct tree_opt_pass pass_simple_dse =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func,                      /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func                       /* todo_flags_finish */
+ }
 };
index 1766869..84553fb 100644 (file)
@@ -1081,7 +1081,10 @@ gate_forwprop (void)
   return 1;
 }
 
-struct tree_opt_pass pass_forwprop = {
+struct gimple_opt_pass pass_forwprop = 
+{
+ {
+  GIMPLE_PASS,
   "forwprop",                  /* name */
   gate_forwprop,               /* gate */
   tree_ssa_forward_propagate_single_use_vars,  /* execute */
@@ -1096,7 +1099,7 @@ struct tree_opt_pass pass_forwprop = {
   TODO_dump_func
   | TODO_ggc_collect
   | TODO_update_ssa
-  | TODO_verify_ssa,           /* todo_flags_finish */
-  0                            /* letter */
+  | TODO_verify_ssa            /* todo_flags_finish */
+ }
 };
 
index eef6f22..cec5868 100644 (file)
@@ -605,7 +605,10 @@ gate_ifcombine (void)
   return 1;
 }
 
-struct tree_opt_pass pass_tree_ifcombine = {
+struct gimple_opt_pass pass_tree_ifcombine = 
+{
+ {
+  GIMPLE_PASS,
   "ifcombine",                 /* name */
   gate_ifcombine,              /* gate */
   tree_ssa_ifcombine,          /* execute */
@@ -620,6 +623,6 @@ struct tree_opt_pass pass_tree_ifcombine = {
   TODO_dump_func
   | TODO_ggc_collect
   | TODO_update_ssa
-  | TODO_verify_ssa,           /* todo_flags_finish */
-  0                            /* letter */
+  | TODO_verify_ssa            /* todo_flags_finish */
+ }
 };
index ff62c68..47b93f8 100644 (file)
@@ -253,8 +253,10 @@ gate_ch (void)
   return flag_tree_ch != 0;
 }
 
-struct tree_opt_pass pass_ch = 
+struct gimple_opt_pass pass_ch = 
 {
+ {
+  GIMPLE_PASS,
   "ch",                                        /* name */
   gate_ch,                             /* gate */
   copy_loop_headers,                   /* execute */
@@ -267,6 +269,6 @@ struct tree_opt_pass pass_ch =
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
   TODO_cleanup_cfg | TODO_dump_func 
-  | TODO_verify_ssa,                   /* todo_flags_finish */
-  0                                    /* letter */
+  | TODO_verify_ssa                    /* todo_flags_finish */
+ }
 };
index 3361834..639fb10 100644 (file)
@@ -55,8 +55,10 @@ gate_tree_loop (void)
   return flag_tree_loop_optimize != 0;
 }
 
-struct tree_opt_pass pass_tree_loop = 
+struct gimple_opt_pass pass_tree_loop = 
 {
+ {
+  GIMPLE_PASS,
   "loop",                              /* name */
   gate_tree_loop,                      /* gate */
   NULL,                                        /* execute */
@@ -68,8 +70,8 @@ struct tree_opt_pass pass_tree_loop =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   TODO_ggc_collect,                    /* todo_flags_start */
-  TODO_dump_func | TODO_verify_ssa | TODO_ggc_collect, /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func | TODO_verify_ssa | TODO_ggc_collect  /* todo_flags_finish */
+ }
 };
 
 /* Loop optimizer initialization.  */
@@ -85,8 +87,10 @@ tree_ssa_loop_init (void)
   return 0;
 }
   
-struct tree_opt_pass pass_tree_loop_init = 
+struct gimple_opt_pass pass_tree_loop_init = 
 {
+ {
+  GIMPLE_PASS,
   "loopinit",                          /* name */
   NULL,                                        /* gate */
   tree_ssa_loop_init,                  /* execute */
@@ -98,8 +102,8 @@ struct tree_opt_pass pass_tree_loop_init =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func | TODO_verify_loops,  /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func | TODO_verify_loops   /* todo_flags_finish */
+ }
 };
 
 /* Loop invariant motion pass.  */
@@ -120,8 +124,10 @@ gate_tree_ssa_loop_im (void)
   return flag_tree_loop_im != 0;
 }
 
-struct tree_opt_pass pass_lim = 
+struct gimple_opt_pass pass_lim = 
 {
+ {
+  GIMPLE_PASS,
   "lim",                               /* name */
   gate_tree_ssa_loop_im,               /* gate */
   tree_ssa_loop_im,                    /* execute */
@@ -133,8 +139,8 @@ struct tree_opt_pass pass_lim =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func | TODO_verify_loops,  /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func | TODO_verify_loops   /* todo_flags_finish */
+ }
 };
 
 /* Loop unswitching pass.  */
@@ -154,8 +160,10 @@ gate_tree_ssa_loop_unswitch (void)
   return flag_unswitch_loops != 0;
 }
 
-struct tree_opt_pass pass_tree_unswitch = 
+struct gimple_opt_pass pass_tree_unswitch = 
 {
+ {
+  GIMPLE_PASS,
   "unswitch",                          /* name */
   gate_tree_ssa_loop_unswitch,         /* gate */
   tree_ssa_loop_unswitch,              /* execute */
@@ -168,8 +176,8 @@ struct tree_opt_pass pass_tree_unswitch =
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
   TODO_ggc_collect | TODO_dump_func
-    | TODO_verify_loops,               /* todo_flags_finish */
-  0                                    /* letter */
+    | TODO_verify_loops                        /* todo_flags_finish */
+ }
 };
 
 /* Predictive commoning.  */
@@ -190,8 +198,10 @@ gate_tree_predictive_commoning (void)
   return flag_predictive_commoning != 0;
 }
 
-struct tree_opt_pass pass_predcom = 
+struct gimple_opt_pass pass_predcom = 
 {
+ {
+  GIMPLE_PASS,
   "pcom",                              /* name */
   gate_tree_predictive_commoning,      /* gate */
   run_tree_predictive_commoning,       /* execute */
@@ -204,8 +214,8 @@ struct tree_opt_pass pass_predcom =
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
   TODO_dump_func | TODO_verify_loops
-    | TODO_update_ssa_only_virtuals,   /* todo_flags_finish */
-  0                                    /* letter */
+    | TODO_update_ssa_only_virtuals    /* todo_flags_finish */
+ }
 };
 
 /* Loop autovectorization.  */
@@ -222,8 +232,10 @@ gate_tree_vectorize (void)
   return flag_tree_vectorize && number_of_loops () > 1;
 }
 
-struct tree_opt_pass pass_vectorize =
+struct gimple_opt_pass pass_vectorize =
 {
+ {
+  GIMPLE_PASS,
   "vect",                               /* name */
   gate_tree_vectorize,                  /* gate */
   tree_vectorize,                       /* execute */
@@ -236,8 +248,8 @@ struct tree_opt_pass pass_vectorize =
   0,                                    /* properties_destroyed */
   TODO_verify_loops,                   /* todo_flags_start */
   TODO_dump_func | TODO_update_ssa
-    | TODO_ggc_collect,                        /* todo_flags_finish */
-  0                                    /* letter */
+    | TODO_ggc_collect                 /* todo_flags_finish */
+ }
 };
 
 /* Loop nest optimizations.  */
@@ -258,8 +270,10 @@ gate_tree_linear_transform (void)
   return flag_tree_loop_linear != 0;
 }
 
-struct tree_opt_pass pass_linear_transform =
+struct gimple_opt_pass pass_linear_transform =
 {
+ {
+  GIMPLE_PASS,
   "ltrans",                            /* name */
   gate_tree_linear_transform,          /* gate */
   tree_linear_transform,                       /* execute */
@@ -273,8 +287,8 @@ struct tree_opt_pass pass_linear_transform =
   0,                                   /* todo_flags_start */
   TODO_dump_func | TODO_verify_loops
     | TODO_update_ssa_only_virtuals
-    | TODO_ggc_collect,                        /* todo_flags_finish */
-  0                                    /* letter */    
+    | TODO_ggc_collect                 /* todo_flags_finish */
+ }
 };
 
 /* Check the correctness of the data dependence analyzers.  */
@@ -295,8 +309,10 @@ gate_check_data_deps (void)
   return flag_check_data_deps != 0;
 }
 
-struct tree_opt_pass pass_check_data_deps =
+struct gimple_opt_pass pass_check_data_deps =
 {
+ {
+  GIMPLE_PASS,
   "ckdd",                              /* name */
   gate_check_data_deps,                        /* gate */
   check_data_deps,                     /* execute */
@@ -308,8 +324,8 @@ struct tree_opt_pass pass_check_data_deps =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func,                      /* todo_flags_finish */
-  0                                    /* letter */    
+  TODO_dump_func                       /* todo_flags_finish */
+ }
 };
 
 /* Canonical induction variable creation pass.  */
@@ -329,8 +345,10 @@ gate_tree_ssa_loop_ivcanon (void)
   return flag_tree_loop_ivcanon != 0;
 }
 
-struct tree_opt_pass pass_iv_canon =
+struct gimple_opt_pass pass_iv_canon =
 {
+ {
+  GIMPLE_PASS,
   "ivcanon",                           /* name */
   gate_tree_ssa_loop_ivcanon,          /* gate */
   tree_ssa_loop_ivcanon,               /* execute */
@@ -342,8 +360,8 @@ struct tree_opt_pass pass_iv_canon =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func | TODO_verify_loops,  /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func | TODO_verify_loops   /* todo_flags_finish */
+ }
 };
 
 /* Propagation of constants using scev.  */
@@ -354,8 +372,10 @@ gate_scev_const_prop (void)
   return flag_tree_scev_cprop;
 }
 
-struct tree_opt_pass pass_scev_cprop =
+struct gimple_opt_pass pass_scev_cprop =
 {
+ {
+  GIMPLE_PASS,
   "sccp",                              /* name */
   gate_scev_const_prop,                        /* gate */
   scev_const_prop,                     /* execute */
@@ -368,9 +388,9 @@ struct tree_opt_pass pass_scev_cprop =
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
   TODO_dump_func | TODO_cleanup_cfg
-    | TODO_update_ssa_only_virtuals,
+    | TODO_update_ssa_only_virtuals
                                        /* todo_flags_finish */
-  0                                    /* letter */
+ }
 };
 
 /* Remove empty loops.  */
@@ -384,8 +404,10 @@ tree_ssa_empty_loop (void)
   return remove_empty_loops ();
 }
 
-struct tree_opt_pass pass_empty_loop =
+struct gimple_opt_pass pass_empty_loop =
 {
+ {
+  GIMPLE_PASS,
   "empty",                             /* name */
   NULL,                                        /* gate */
   tree_ssa_empty_loop,                 /* execute */
@@ -398,8 +420,8 @@ struct tree_opt_pass pass_empty_loop =
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
   TODO_dump_func | TODO_verify_loops 
-    | TODO_ggc_collect,                        /* todo_flags_finish */
-  0                                    /* letter */
+    | TODO_ggc_collect                 /* todo_flags_finish */
+ }
 };
 
 /* Record bounds on numbers of iterations of loops.  */
@@ -415,8 +437,10 @@ tree_ssa_loop_bounds (void)
   return 0;
 }
 
-struct tree_opt_pass pass_record_bounds =
+struct gimple_opt_pass pass_record_bounds =
 {
+ {
+  GIMPLE_PASS,
   NULL,                                        /* name */
   NULL,                                        /* gate */
   tree_ssa_loop_bounds,                        /* execute */
@@ -428,8 +452,8 @@ struct tree_opt_pass pass_record_bounds =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  0,                                   /* todo_flags_finish */
-  0                                    /* letter */
+  0                                    /* todo_flags_finish */
+ }
 };
 
 /* Complete unrolling of loops.  */
@@ -451,8 +475,10 @@ gate_tree_complete_unroll (void)
   return true;
 }
 
-struct tree_opt_pass pass_complete_unroll =
+struct gimple_opt_pass pass_complete_unroll =
 {
+ {
+  GIMPLE_PASS,
   "cunroll",                           /* name */
   gate_tree_complete_unroll,           /* gate */
   tree_complete_unroll,                        /* execute */
@@ -465,8 +491,8 @@ struct tree_opt_pass pass_complete_unroll =
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
   TODO_dump_func | TODO_verify_loops
-    | TODO_ggc_collect,                        /* todo_flags_finish */
-  0                                    /* letter */
+    | TODO_ggc_collect                 /* todo_flags_finish */
+ }
 };
 
 /* Parallelization.  */
@@ -488,8 +514,10 @@ tree_parallelize_loops (void)
   return 0;
 }
 
-struct tree_opt_pass pass_parallelize_loops =
+struct gimple_opt_pass pass_parallelize_loops =
 {
+ {
+  GIMPLE_PASS,
   "parloops",                          /* name */
   gate_tree_parallelize_loops,         /* gate */
   tree_parallelize_loops,                      /* execute */
@@ -501,8 +529,8 @@ struct tree_opt_pass pass_parallelize_loops =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func | TODO_verify_loops,  /* todo_flags_finish */
-  0                                    /* letter */    
+  TODO_dump_func | TODO_verify_loops   /* todo_flags_finish */
+ }
 };
 
 /* Prefetching.  */
@@ -522,8 +550,10 @@ gate_tree_ssa_loop_prefetch (void)
   return flag_prefetch_loop_arrays != 0;
 }
 
-struct tree_opt_pass pass_loop_prefetch =
+struct gimple_opt_pass pass_loop_prefetch =
 {
+ {
+  GIMPLE_PASS,
   "aprefetch",                         /* name */
   gate_tree_ssa_loop_prefetch,         /* gate */
   tree_ssa_loop_prefetch,              /* execute */
@@ -535,8 +565,8 @@ struct tree_opt_pass pass_loop_prefetch =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func | TODO_verify_loops,  /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func | TODO_verify_loops   /* todo_flags_finish */
+ }
 };
 
 /* Induction variable optimizations.  */
@@ -557,8 +587,10 @@ gate_tree_ssa_loop_ivopts (void)
   return flag_ivopts != 0;
 }
 
-struct tree_opt_pass pass_iv_optimize =
+struct gimple_opt_pass pass_iv_optimize =
 {
+ {
+  GIMPLE_PASS,
   "ivopts",                            /* name */
   gate_tree_ssa_loop_ivopts,           /* gate */
   tree_ssa_loop_ivopts,                        /* execute */
@@ -571,8 +603,8 @@ struct tree_opt_pass pass_iv_optimize =
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
   TODO_dump_func | TODO_verify_loops
-  | TODO_update_ssa | TODO_ggc_collect,        /* todo_flags_finish */
-  0                                    /* letter */
+  | TODO_update_ssa | TODO_ggc_collect /* todo_flags_finish */
+ }
 };
 
 /* Loop optimizer finalization.  */
@@ -586,8 +618,10 @@ tree_ssa_loop_done (void)
   return 0;
 }
   
-struct tree_opt_pass pass_tree_loop_done = 
+struct gimple_opt_pass pass_tree_loop_done = 
 {
+ {
+  GIMPLE_PASS,
   "loopdone",                          /* name */
   NULL,                                        /* gate */
   tree_ssa_loop_done,                  /* execute */
@@ -599,6 +633,6 @@ struct tree_opt_pass pass_tree_loop_done =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_cleanup_cfg | TODO_dump_func,   /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_cleanup_cfg | TODO_dump_func    /* todo_flags_finish */
+ }
 };
index 087cca2..49fd170 100644 (file)
@@ -555,8 +555,10 @@ execute_cse_reciprocals (void)
   return 0;
 }
 
-struct tree_opt_pass pass_cse_reciprocals =
+struct gimple_opt_pass pass_cse_reciprocals =
 {
+ {
+  GIMPLE_PASS,
   "recip",                             /* name */
   gate_cse_reciprocals,                        /* gate */
   execute_cse_reciprocals,             /* execute */
@@ -569,8 +571,8 @@ struct tree_opt_pass pass_cse_reciprocals =
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
   TODO_dump_func | TODO_update_ssa | TODO_verify_ssa
-    | TODO_verify_stmts,                /* todo_flags_finish */
-  0                                    /* letter */
+    | TODO_verify_stmts                /* todo_flags_finish */
+ }
 };
 
 /* Records an occurrence at statement USE_STMT in the vector of trees
@@ -761,8 +763,10 @@ gate_cse_sincos (void)
         && optimize;
 }
 
-struct tree_opt_pass pass_cse_sincos =
+struct gimple_opt_pass pass_cse_sincos =
 {
+ {
+  GIMPLE_PASS,
   "sincos",                            /* name */
   gate_cse_sincos,                     /* gate */
   execute_cse_sincos,                  /* execute */
@@ -775,8 +779,8 @@ struct tree_opt_pass pass_cse_sincos =
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
   TODO_dump_func | TODO_update_ssa | TODO_verify_ssa
-    | TODO_verify_stmts,                /* todo_flags_finish */
-  0                                    /* letter */
+    | TODO_verify_stmts                 /* todo_flags_finish */
+ }
 };
 
 /* Find all expressions in the form of sqrt(a/b) and
@@ -853,8 +857,10 @@ gate_convert_to_rsqrt (void)
   return flag_unsafe_math_optimizations && optimize;
 }
 
-struct tree_opt_pass pass_convert_to_rsqrt =
+struct gimple_opt_pass pass_convert_to_rsqrt =
 {
+ {
+  GIMPLE_PASS,
   "rsqrt",                             /* name */
   gate_convert_to_rsqrt,               /* gate */
   execute_convert_to_rsqrt,            /* execute */
@@ -867,6 +873,6 @@ struct tree_opt_pass pass_convert_to_rsqrt =
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
   TODO_dump_func | TODO_update_ssa | TODO_verify_ssa
-    | TODO_verify_stmts,                /* todo_flags_finish */
-  0                                    /* letter */
+    | TODO_verify_stmts                 /* todo_flags_finish */
+ }
 };
index e51bac6..bfe4fed 100644 (file)
@@ -1352,8 +1352,10 @@ gate_phiopt (void)
   return 1;
 }
 
-struct tree_opt_pass pass_phiopt =
+struct gimple_opt_pass pass_phiopt =
 {
+ {
+  GIMPLE_PASS,
   "phiopt",                            /* name */
   gate_phiopt,                         /* gate */
   tree_ssa_phiopt,                     /* execute */
@@ -1369,8 +1371,8 @@ struct tree_opt_pass pass_phiopt =
     | TODO_ggc_collect
     | TODO_verify_ssa
     | TODO_verify_flow
-    | TODO_verify_stmts,               /* todo_flags_finish */
-  0                                    /* letter */
+    | TODO_verify_stmts                        /* todo_flags_finish */
+ }
 };
 
 static bool
@@ -1379,8 +1381,10 @@ gate_cselim (void)
   return flag_tree_cselim;
 }
 
-struct tree_opt_pass pass_cselim =
+struct gimple_opt_pass pass_cselim =
 {
+ {
+  GIMPLE_PASS,
   "cselim",                            /* name */
   gate_cselim,                         /* gate */
   tree_ssa_cs_elim,                    /* execute */
@@ -1396,6 +1400,6 @@ struct tree_opt_pass pass_cselim =
     | TODO_ggc_collect
     | TODO_verify_ssa
     | TODO_verify_flow
-    | TODO_verify_stmts,               /* todo_flags_finish */
-  0                                    /* letter */
+    | TODO_verify_stmts                        /* todo_flags_finish */
+ }
 };
index 273ed2f..2621dae 100644 (file)
@@ -368,7 +368,10 @@ gate_phiprop (void)
   return 1;
 }
 
-struct tree_opt_pass pass_phiprop = {
+struct gimple_opt_pass pass_phiprop = 
+{
+ {
+  GIMPLE_PASS,
   "phiprop",                   /* name */
   gate_phiprop,                        /* gate */
   tree_ssa_phiprop,            /* execute */
@@ -383,6 +386,6 @@ struct tree_opt_pass pass_phiprop = {
   TODO_dump_func
   | TODO_ggc_collect
   | TODO_update_ssa
-  | TODO_verify_ssa,           /* todo_flags_finish */
-  0                            /* letter */
+  | TODO_verify_ssa            /* todo_flags_finish */
+ }
 };
index ad628a3..e6a931d 100644 (file)
@@ -4057,8 +4057,10 @@ gate_pre (void)
   return flag_tree_pre != 0;
 }
 
-struct tree_opt_pass pass_pre =
+struct gimple_opt_pass pass_pre =
 {
+ {
+  GIMPLE_PASS,
   "pre",                               /* name */
   gate_pre,                            /* gate */
   do_pre,                              /* execute */
@@ -4072,8 +4074,8 @@ struct tree_opt_pass pass_pre =
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
   TODO_update_ssa_only_virtuals | TODO_dump_func | TODO_ggc_collect
-  | TODO_verify_ssa, /* todo_flags_finish */
-  0                                    /* letter */
+  | TODO_verify_ssa /* todo_flags_finish */
+ }
 };
 
 
@@ -4091,8 +4093,10 @@ gate_fre (void)
   return flag_tree_fre != 0;
 }
 
-struct tree_opt_pass pass_fre =
+struct gimple_opt_pass pass_fre =
 {
+ {
+  GIMPLE_PASS,
   "fre",                               /* name */
   gate_fre,                            /* gate */
   execute_fre,                         /* execute */
@@ -4104,6 +4108,6 @@ struct tree_opt_pass pass_fre =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func | TODO_ggc_collect | TODO_verify_ssa, /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func | TODO_ggc_collect | TODO_verify_ssa /* todo_flags_finish */
+ }
 };
index 6e6f5f7..19e1039 100644 (file)
@@ -1528,8 +1528,10 @@ gate_tree_ssa_reassoc (void)
   return flag_tree_reassoc != 0;
 }
 
-struct tree_opt_pass pass_reassoc =
+struct gimple_opt_pass pass_reassoc =
 {
+ {
+  GIMPLE_PASS,
   "reassoc",                           /* name */
   gate_tree_ssa_reassoc,               /* gate */
   execute_reassoc,                     /* execute */
@@ -1541,6 +1543,6 @@ struct tree_opt_pass pass_reassoc =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func | TODO_ggc_collect | TODO_verify_ssa, /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func | TODO_ggc_collect | TODO_verify_ssa /* todo_flags_finish */
+ }
 };
index cd57baa..40a3640 100644 (file)
@@ -568,8 +568,10 @@ gate_sink (void)
   return flag_tree_sink != 0;
 }
 
-struct tree_opt_pass pass_sink_code =
+struct gimple_opt_pass pass_sink_code =
 {
+ {
+  GIMPLE_PASS,
   "sink",                              /* name */
   gate_sink,                           /* gate */
   do_sink,                             /* execute */
@@ -585,6 +587,6 @@ struct tree_opt_pass pass_sink_code =
   TODO_update_ssa 
     | TODO_dump_func
     | TODO_ggc_collect
-    | TODO_verify_ssa,                 /* todo_flags_finish */
-  0                                    /* letter */
+    | TODO_verify_ssa                  /* todo_flags_finish */
+ }
 };
index 31ab38f..037f223 100644 (file)
@@ -5630,8 +5630,10 @@ ipa_pta_execute (void)
   return 0;
 }
 
-struct tree_opt_pass pass_ipa_pta =
+struct simple_ipa_opt_pass pass_ipa_pta =
 {
+ {
+  SIMPLE_IPA_PASS,
   "pta",                               /* name */
   gate_ipa_pta,                        /* gate */
   ipa_pta_execute,                     /* execute */
@@ -5643,8 +5645,8 @@ struct tree_opt_pass pass_ipa_pta =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_update_ssa,                      /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_update_ssa                       /* todo_flags_finish */
+ }
 };
 
 /* Initialize the heapvar for statement mapping.  */
index 0b6ab7f..0d19c2d 100644 (file)
@@ -606,8 +606,10 @@ gate_uncprop (void)
   return flag_tree_dom != 0;
 }
 
-struct tree_opt_pass pass_uncprop = 
+struct gimple_opt_pass pass_uncprop = 
 {
+ {
+  GIMPLE_PASS,
   "uncprop",                           /* name */
   gate_uncprop,                                /* gate */
   tree_ssa_uncprop,                    /* execute */
@@ -619,6 +621,6 @@ struct tree_opt_pass pass_uncprop =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func | TODO_verify_ssa,    /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func | TODO_verify_ssa     /* todo_flags_finish */
+ }
 };
index 5a67aa8..128b4e8 100644 (file)
@@ -1530,8 +1530,10 @@ gate_warn_uninitialized (void)
   return warn_uninitialized != 0;
 }
 
-struct tree_opt_pass pass_early_warn_uninitialized =
+struct gimple_opt_pass pass_early_warn_uninitialized =
 {
+ {
+  GIMPLE_PASS,
   NULL,                                        /* name */
   gate_warn_uninitialized,             /* gate */
   execute_early_warn_uninitialized,    /* execute */
@@ -1543,12 +1545,14 @@ struct tree_opt_pass pass_early_warn_uninitialized =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  0,                                    /* todo_flags_finish */
-  0                                    /* letter */
+  0                                     /* todo_flags_finish */
+ }
 };
 
-struct tree_opt_pass pass_late_warn_uninitialized =
+struct gimple_opt_pass pass_late_warn_uninitialized =
 {
+ {
+  GIMPLE_PASS,
   NULL,                                        /* name */
   gate_warn_uninitialized,             /* gate */
   execute_late_warn_uninitialized,     /* execute */
@@ -1560,8 +1564,8 @@ struct tree_opt_pass pass_late_warn_uninitialized =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  0,                                    /* todo_flags_finish */
-  0                                    /* letter */
+  0                                     /* todo_flags_finish */
+ }
 };
 
 /* Compute TREE_ADDRESSABLE for local variables.  */
@@ -1643,8 +1647,10 @@ execute_update_addresses_taken (void)
   return 0;
 }
 
-struct tree_opt_pass pass_update_address_taken =
+struct gimple_opt_pass pass_update_address_taken =
 {
+ {
+  GIMPLE_PASS,
   "addressables",                      /* name */
   NULL,                                        /* gate */
   execute_update_addresses_taken,      /* execute */
@@ -1656,6 +1662,6 @@ struct tree_opt_pass pass_update_address_taken =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_update_ssa,                      /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_update_ssa                       /* todo_flags_finish */
+ }
 };
index 956dd00..d418bc1 100644 (file)
@@ -343,8 +343,10 @@ release_dead_ssa_names (void)
   return 0;
 }
 
-struct tree_opt_pass pass_release_ssa_names =
+struct gimple_opt_pass pass_release_ssa_names =
 {
+ {
+  GIMPLE_PASS,
   "release_ssa",                       /* name */
   NULL,                                        /* gate */
   release_dead_ssa_names,              /* execute */
@@ -356,6 +358,6 @@ struct tree_opt_pass pass_release_ssa_names =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  0,                                   /* todo_flags_finish */
-  0                                    /* letter */
+  0                                    /* todo_flags_finish */
+ }
 };
index 8a27529..54693d1 100644 (file)
@@ -904,8 +904,10 @@ finish:
 }
 
 
-struct tree_opt_pass pass_stdarg =
+struct gimple_opt_pass pass_stdarg =
 {
+ {
+  GIMPLE_PASS,
   "stdarg",                            /* name */
   gate_optimize_stdarg,                        /* gate */
   execute_optimize_stdarg,             /* execute */
@@ -917,6 +919,6 @@ struct tree_opt_pass pass_stdarg =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func,                      /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func                       /* todo_flags_finish */
+ }
 };
index bd3da88..a4430ec 100644 (file)
@@ -1017,8 +1017,10 @@ execute_tail_calls (void)
   return tree_optimize_tail_calls_1 (true);
 }
 
-struct tree_opt_pass pass_tail_recursion = 
+struct gimple_opt_pass pass_tail_recursion = 
 {
+ {
+  GIMPLE_PASS,
   "tailr",                             /* name */
   gate_tail_calls,                     /* gate */
   execute_tail_recursion,              /* execute */
@@ -1030,12 +1032,14 @@ struct tree_opt_pass pass_tail_recursion =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func | TODO_verify_ssa,    /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func | TODO_verify_ssa     /* todo_flags_finish */
+ }
 };
 
-struct tree_opt_pass pass_tail_calls = 
+struct gimple_opt_pass pass_tail_calls = 
 {
+ {
+  GIMPLE_PASS,
   "tailc",                             /* name */
   gate_tail_calls,                     /* gate */
   execute_tail_calls,                  /* execute */
@@ -1047,6 +1051,6 @@ struct tree_opt_pass pass_tail_calls =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func | TODO_verify_ssa,    /* todo_flags_finish */
-  0                                    /* letter */
+  TODO_dump_func | TODO_verify_ssa     /* todo_flags_finish */
+ }
 };
index 76a51e0..a4026d6 100644 (file)
@@ -527,8 +527,10 @@ expand_vector_operations (void)
   return 0;
 }
 
-struct tree_opt_pass pass_lower_vector = 
+struct gimple_opt_pass pass_lower_vector = 
 {
+ {
+  GIMPLE_PASS,
   "veclower",                          /* name */
   0,                                   /* gate */
   expand_vector_operations,            /* execute */
@@ -541,12 +543,14 @@ struct tree_opt_pass pass_lower_vector =
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
   TODO_dump_func | TODO_ggc_collect
-    | TODO_verify_stmts,               /* todo_flags_finish */
-  0                                    /* letter */
+    | TODO_verify_stmts                        /* todo_flags_finish */
+ }
 };
 
-struct tree_opt_pass pass_lower_vector_ssa = 
+struct gimple_opt_pass pass_lower_vector_ssa = 
 {
+ {
+  GIMPLE_PASS,
   "veclower2",                         /* name */
   gate_expand_vector_operations,       /* gate */
   expand_vector_operations,            /* execute */
@@ -560,8 +564,8 @@ struct tree_opt_pass pass_lower_vector_ssa =
   0,                                   /* todo_flags_start */
   TODO_dump_func | TODO_update_ssa     /* todo_flags_finish */
     | TODO_verify_ssa
-    | TODO_verify_stmts | TODO_verify_flow,
-  0                                    /* letter */
+    | TODO_verify_stmts | TODO_verify_flow
+ }
 };
 
 #include "gt-tree-vect-generic.h"
index 7f631fb..ac3f843 100644 (file)
@@ -2767,8 +2767,10 @@ gate_increase_alignment (void)
   return flag_section_anchors && flag_tree_vectorize;
 }
 
-struct tree_opt_pass pass_ipa_increase_alignment = 
+struct simple_ipa_opt_pass pass_ipa_increase_alignment = 
 {
+ {
+  SIMPLE_IPA_PASS,
   "increase_alignment",                        /* name */
   gate_increase_alignment,             /* gate */
   increase_alignment,                  /* execute */
@@ -2780,6 +2782,6 @@ struct tree_opt_pass pass_ipa_increase_alignment =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  0,                                   /* todo_flags_finish */
-  0                                    /* letter */
+  0                                    /* todo_flags_finish */
+ }
 };
index eaeaea0..5944e6a 100644 (file)
@@ -6207,8 +6207,10 @@ gate_vrp (void)
   return flag_tree_vrp != 0;
 }
 
-struct tree_opt_pass pass_vrp =
+struct gimple_opt_pass pass_vrp =
 {
+ {
+  GIMPLE_PASS,
   "vrp",                               /* name */
   gate_vrp,                            /* gate */
   execute_vrp,                         /* execute */
@@ -6224,6 +6226,6 @@ struct tree_opt_pass pass_vrp =
     | TODO_ggc_collect
     | TODO_verify_ssa
     | TODO_dump_func
-    | TODO_update_ssa,                 /* todo_flags_finish */
-  0                                    /* letter */
+    | TODO_update_ssa                  /* todo_flags_finish */
+ }
 };
index b8db269..de996ac 100644 (file)
@@ -3406,8 +3406,10 @@ gate_handle_var_tracking (void)
 
 
 
-struct tree_opt_pass pass_variable_tracking =
+struct rtl_opt_pass pass_variable_tracking =
 {
+ {
+  RTL_PASS,
   "vartrack",                           /* name */
   gate_handle_var_tracking,             /* gate */
   variable_tracking_main,               /* execute */
@@ -3419,7 +3421,7 @@ struct tree_opt_pass pass_variable_tracking =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_dump_func | TODO_verify_rtl_sharing,/* todo_flags_finish */
-  'V'                                   /* letter */
+  TODO_dump_func | TODO_verify_rtl_sharing/* todo_flags_finish */
+ }
 };
 
index f45d344..ada150e 100644 (file)
--- a/gcc/web.c
+++ b/gcc/web.c
@@ -371,8 +371,10 @@ web_main (void)
   return 0;
 }
 \f
-struct tree_opt_pass pass_web =
+struct rtl_opt_pass pass_web =
 {
+ {
+  RTL_PASS,
   "web",                                /* name */
   gate_handle_web,                      /* gate */
   web_main,                            /* execute */
@@ -385,7 +387,7 @@ struct tree_opt_pass pass_web =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing | 
-  TODO_dump_func,                       /* todo_flags_finish */
-  'Z'                                   /* letter */
+  TODO_dump_func                        /* todo_flags_finish */
+ }
 };