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 0dc711d43f04b22f4d3b4fa6ca7974fc0491f042..845455ca39c757ce20d52c1b54f684cd7ce4bd7e 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
        * gimplify.c (gimplify_expr): Gimplify second operand of
        OMP_ATOMIC_LOAD.
 
-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
index 2e2d047bf97ef4873e576271b467ea3f68ff1936..8dbcecf93b586d0e5a19c85ba17895b386d28636 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 18e9405a7aea220068f32996fee5dfc4ac6bbc42..3b59fcd8377d736ff75f259f05d37e466481f74f 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 c30f2c3342e75edc5eabe49eba1625a8e1d8bc72..188faeb4f74217c93b1fa15d876e65aaae6ecb49 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 a95204cf4fc498472f3d42f1b0eef0deda4fa735..203963e02ccfb6764a8bbf0e27d6fbd5f9f4e265 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 943a0704168e200d5bc4cf11ef16d553c5349237..cd04a625ec8b70fb0f58fc9eaa846e9d3bebd08e 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 5387b3882601fb8134df6539f6351a3bb114a902..0885af79b3f6134212314d0c2706c6efc0962b2f 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 c157e08d84b18fac54d73f8237b3dfc04effd5ff..a42063b6c4cbb19d51c63e1a58bbbc9044e5c8e1 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 649915e46181d1e3df72e55b7dea752a4597e202..86940b84ed33dd27b778a2c726b402025a0e04df 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 2f8d3b070510e8da453ff471e1309e6f4fbab86c..832fa6eab90e0d98b646acf08ae109b2d924f722 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 0d6a9fed9fcd5424ff6dc9a997d8392b52b1fa2c..7b01248def2b6d6dde2b4a649d39b6836e1a75d7 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 37942bc45192edfbc1be38b8f975bbba477efdfb..bf7cccf2df755e5fc4ce6c69cf8878188ef19c26 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 b812b33ac41da965ed9c346bd1cf7f6cbf2ade58..0fca12da9dbebc466a21bc116c44b83ca479c571 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 82ea2b70da1953d8440fdba3bd4f3a58dfaf4bf1..ef135e99b8f6c5418e4fcf74dd20ed50f4a445dc 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 70b9e2265149cc8fb74d1cfc0f52d5f83b24b891..f8e54bbb5304c37ae46214a74caf6463b5aa19b3 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 5404000ef3972f753041ec55fa200f8e04e0db79..1cd49b133be2920d690c38344c73279416fb471e 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 27bf020d813a824b975fd93f6735d45365097433..8b3d49ae2213e2db26875c0c376b6c4d1c52ea15 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 48df3503b6fff20c926ca3290bfed126065bbbe7..fea7afaca0490179060dac098c0f4a7bc7da5e26 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 8628d5238de4c79533fb32d11ffddadd29ab153d..02680a9c06b21ef878e486772684e5b04ca0adb5 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 0fbda613961a02536354bc119e804dca2ee34b79..9c18ebde765c9e39a325a70e8df13c9c41a0ae65 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 05d60d5d68d4908b93f9afaf95a3fb7b1f54b1c1..189b83fbeee6c42587c1f13fc40bfb159e635e03 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 275b70264cc387868da29d29127f17251acd8f96..4e2da8902140936956783e86f8ad78d8523b93fe 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 089c571a635d87ac60ba95c30aa6850d209ff880..b0ae1ba625cfd847fd1e223882537cae52ca6ffa 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 c9c8b4c32b3e62c722fbf5f5d248bd969f657706..201e42c5a974ef7e9362833d6f20138b4f901fa6 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 7330464ebf1422fa02aaedb2654405d19e65012d..09ca304bca4ec0691832fdc864e974625615ab43 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 ca9f4fb1a8a20c7acf17f7f2603fa90aa9512695..f88da11032138aefb15188c04e7530abf292b619 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 cab4fbdf6b143a9b10c22ae2ce67f3879d84e056..98b707a3e774d0eefc4095d8e59b8d7a766bdca6 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 b835de07513fd3302f36c7909790e49853a21ce0..83abe715971bdeaae516c33df60459a07819af60 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 7eb29f20303fc0c507c9d60cd4a6173d7ac9fafb..55ac31ddf93fa4526fa348efbfb9c9169ae28840 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 088319dc65c1a3c157a310ab2e11f68d2d24abd5..4d9e0a4eb282a7ff0f21d4dbcceb625a8613c86c 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 06d00e355dd8877351906fded844301d829932e0..f251fbebe30f5486430f58581f2396c4613c7dc5 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 eb4262a0047bcbe9b81c356c574795c3176a2e61..c180e35d6c1d552a6696ce60ad9c9e0fafebfc63 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 87d8c2fa14404516dbc38d2e0795f2742ed00433..71c0ec50297714828617ed5e84454c00403d5d6d 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 515dba67206e45e21ed155f0d309ee828cdaec24..10eedec08ec690db9929a1809b2b6d269b1ad4a8 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 2aedb95987e5e6f6ac4c1c4d266cac41ad4f00fb..9cd9caa99df16a200b305db3d8b584bed984d58b 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 0bfe255e9c8e3383525425f46a06f3c386d30804..16023be2dee237333bef2a3215be890503eefba6 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 4564cd105ce2b90744048c1bc3546c5c4ce2169f..1aa0c6db6d873a50e3a3888b5fe24d27dc6415df 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 9569a36e707170f2a15b71f5e01dc64cb17c44e5..0d6d908581a5403633f0285de672b3a90caa50e3 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 57f9768b37722f69b5ebc1a6e553f228947c069b..83375714d44d54de2f4ea3b37f7bb5bb29257630 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 fa3a2c87a985a2a9cb1e625b89b94555db9f6d05..c3b29a84f30add28c16baea0a099910d16d8c900 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 38b0d5e146b8d03472bab1b1a699a5eb81b17664..8a2734d0f0bebd2baf572a61253a96015cfcfbe2 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 5f4f95fa8995eaae531d30de760b8a2c4699dd34..23269b815ddccd910449710d9d812fc8c077db85 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 3d710ad6a434c4195d1832c1c1c8d1947d7ad4fe..f2193d4e41a111f5ca01ff99e8d14e40308359b9 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 340c621d350b8e0984f9166d06953e1c1e8046a0..45602c24d748b704e04404cae2f536c40c709213 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 bec473a06702cb51539b481adfd694a6fe66254b..833bdbd01342d4a75473525d1d48eb82e7ca61ac 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 805608dc5fab463a5154fe31b21fb4ca72a8cf42..ef78fde2179b9731612668b23d1e4c2c681d3faf 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 674160b095461efd8b28a06915bab5f70dbea9f3..7e40728e87684ea4f0e83ab5cd55230de30c2671 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 a20b3526ce385c46fd680ac6621e2649988e70fd..41743331b9e1d9432681efa440dcb302922699fa 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 2629adc3229569fd143dcb7b9e7eb7d376e04062..7303b2a86f30b7b2ccf4b8ded290eaddea47e22a 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 248a8c2b9a5c3162f3a5a899a3f912a48f7d5723..5a6443bd1abbdba50f8e509da24cd63ab8b88dfd 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 911a19aefe67fa2861b2f4e02ed9266fa4e7a447..200f3eefa5812634f32b17ee0d8a656c5876f137 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 5a2f9c92ed971a932ba5fc1a8b294f0f1fd06001..925cb9dcd21609f093a78a79bfd3a81644409be1 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 74112c3ca5337a1513b429ec068949ee5b218e4b..cfc0881be1fb5a37ab4d5ca1a17ae75118037880 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 985c118bc8c5b7dd93333a2d67091a4e0e6942ee..8db19b49d576056d77bc52c0dea35403368a9cc8 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 20e9cf29097936666a92cffc52556d023f532ad3..77c2197b41d70f6702d63e811d7a330fbd12da25 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 b340bd532e43e3d33517041ddc466a52e77520ed..e62046b8cd8240306e470dda86a1dea4548a1ddc 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 d932f51a2668a819036772034e18cc07d13673b3..c6f584cc6537cd951fc15b7e23f15d510faa6411 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 a5c85a5247c4ecfbb200b2c166e9d4fcd60d21e8..e37fcc3e302f8f4e7c1f2410e055530971652467 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 2aacfe4a48078cfd3962c9a0f579ba3604a0525a..7365b81c60531b55c1729384ddd59778f5ec26a6 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 cfc181692c1274ded3833066262c025d1352e7d7..a9f860bb8bdff48ea7843a259017b82b083a0d7e 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 2f1d48b350e80b9fc5a61315684cd27b84f80f29..ffd1f390498bb3bc57d59921694dc8f19913962d 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 c003d5ade98ece3155a825aaf2f4fe1b84448da9..a30b4bc12db8016440e29a41be73f2cc0965d3bc 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 fb21f40f40819c49c06ae992dc096a5572077b22..193168e940f5188dfceb4217c19c3bd57de613d5 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 44cdf9db9b0893adc3e84bf437ab9d7cc185611d..65b98fa533d58747a9411b354cf11c3157a1be5e 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 918f6c82378ce6c23085c84b6a4d2e888ed0b409..04d0482ca8c96c0c28338867e53ade33a342e607 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 707e346d63b49d49ac29b6e6ca72ad05c32f0f3c..3904407c44d41baa2a73dd1015d09b9269f852a7 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 6ccf59ef7eed60ee22fa185827d5fc7d35083a8f..e82fb3ceb28db2214fe2ff381874797882d00e2a 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 12777aa0a4bbdfe6dd1a5b044b19724d93803691..e6460ada469be482d6c923ef47b8e878cda66845 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 e82238201fe14e2d0f561c275234a088656eeabd..1d5099ae05fa8071cc6eceec41e820938a20fd85 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 329566411b05003c645571d699e06d718a599401..c4b9bfff84904fe3f2fc4442f4a3b2a598da0325 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 aaaacd9fb33b1917c5b676f13a14dc0e16ef075c..8970a9b96eb477d6cfc2d64eca46af5e54b310a5 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 10fa0aeb71d1ada799f5447e43b7939c8c92d53a..4703e78d22d655da416858946bafa363459c141f 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 349581671a57507ad581a4bf4148706ef699171d..23e3ba7919a3ddb66b547912adb9ae1776505c1c 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 a377deb959f778e5746292230faed042c055dc75..bc017738efb967921504a1bca7d2249c5acef1b1 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 30efb10d413ff48aa6dc0140cd3eaff40fab7656..72c2868c857142249b945404c0889621915a65fb 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 44d5a6d59dedcfcc303cd057ce265c16e59af5fb..06e4b5a9d07b1df2e4f9aac06d696adacd287e9f 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 ec349297fd109adc7cd9984b8ece7b3bc93d64fa..5c285efba55d59409446837ed7d242f5fdb1c2fe 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 c55f7363697b65edf14e25a769c5a7349e2ee471..efb315b06070b9a9207e624c6c9b091f27093962 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 2d4a5d69373fa38824c8338344696b22bb87f2d5..c380854eab59170dc7fe27283b36d5b21f8c3fa6 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 190a3d3ce2d45ed4770064d27c3bee137b2e6bd6..cb0b44936016d55559d1d3bd710939ac968bb693 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 a59b9da0b4ededf095bf9404f894408b015ef6e3..8d1ae7519b316b1ccf5512da59900668f16fcfa1 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 ef5ee67a2f3119c419c20833dabc631bcd793e34..7330d2896b5e952fce6652bea2f37a3c1e85b71e 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 371e3e52fb3897ee2316448f8ab780f38dd093ee..bc99ae79e49cdecf053e3bf216fe3b632be1bafd 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 544d75daabec7fb55180540e20f0a2f8c6b7291f..b6a9b93ef2812f0aefefe0530ac39763c95dbcff 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 be8a459f40270c7a8964a53f9b8c1abe0a8a00ee..12ce1b9c6927372671b3dfd8dc1897bad41d80d8 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 55aa5fcf77f2b1572f568247aa075330852caaa5..9c698cae42d9db9f6b5bcb6fe6e6eaf1eee2bc50 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 57c9f5c0c5af36bdaf772c21d9dd7674e40b346d..7a70cefad19d4d7a39155df587bb2c242d4e4da3 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 45142e8e14cd07bef93c94b6b23f9231c9282183..752f87da947573f1ddce4b41b7e183d48cca8581 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 7ab2f6b5473eda48a7425625c82482cccc96bae3..a9ae29fa876c4cf74e091eec19eeb845f9be60e5 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 7e519264f7a619dde9c8d800325293626be07015..2a82c0469995fe95aef25b3a77d51d3eeb5fe001 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 2cd30c94eb05e5f71b16ba9476a426f88c34a9c2..bc8a874eeda9ca045e541d60ed48867f8cdda36b 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 d701d4385d375e213be88aa6314b3731ccaeac2c..46b33143cb025f34528e41919b89b6e59dae9807 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 640c1f38f5c44dd6b5da113c5f5569d47db3cc3d..95457eb7fe423de8cf0578963f9556933a4617f4 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 bc9809edfc2981386bf70df38234122793bf94d3..4d95261bc73b83bfe5e248c77851f24057d7cfd5 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 f2ec9a505c76bb6a65ee4fc615bfd8bce3d5b33d..8c960045ce69c14bfc38cb52782bae6a25b5340d 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 1766869d0c46e19e512d1b4207478347caf0f057..84553fbef4207069ccbded81de3af780e4ff7295 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 eef6f22d2a29fd0fc2f7bddea6f3bae8f95266f6..cec5868c6364160a79cc3f9effa5633af91088bc 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 ff62c686c2851d84189347cc11fe695690df05af..47b93f8beebb58b81851832b6745786555b4796b 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 3361834f57c9ea0027be5871862e0dcc5825c73a..639fb10a393950a2b5767c7a3a343cfc9e913eb7 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 087cca2c3d9ef8d032cadd7410a01e24b032846c..49fd1707d1e6a4355b2ebc2d7cad9a12d5bbd334 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 e51bac6232c7bb9b1646de0434372fffa6b31332..bfe4fed4ba6a138b40b97f6b50135d4e6a2cf1f1 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 273ed2fa53b075afab8d7d36214049cd0025a982..2621dae1abdcdc849c4a3a57197d4af345e90536 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 ad628a3191600bcf754f5291b543aff0da552bcc..e6a931d94409090bfcead19a34a8aeb7a796943d 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 6e6f5f7f4425520e713f9c0be060bd77a2c7b328..19e10398168b7e2910c5fa35cca220b09951ac5b 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 cd57baa0d99b8c03113df3bb2e7f33ee1e23a252..40a3640b7368575f7f3f0ac91da1635574c4084f 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 31ab38f8cfa18e33cb844f873e48efd71fc75cb2..037f223c1407a262dca8beaa590434c47a750072 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 0b6ab7f51b328464e29379af391c3cac46c246ac..0d19c2dfa5fb68a84f36c2ce92d5ee3dd0fdaeaa 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 5a67aa8273e80dd53aaa5ceaae4ac46ffe2b7193..128b4e8728326081f4743cfcdd2fa89185bc660e 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 956dd00206d487ef95e1e17228055680bee3321b..d418bc19b5fc8491f4c82c244c34b1f4786a71e0 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 8a275295aa4158f52f92ae3b9251745abbda35eb..54693d11bece4fc9a97b3a181fb16b5f645344a4 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 bd3da88666864ef7b101177593c71a12d20ab513..a4430ec34e2e39ce17034e8039d0155d89cff4b0 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 76a51e0f090b01fa07119ad61dc85431f8a67972..a4026d6acf53e9639abb761ff55d20e208d1c9a8 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 7f631fb6f61a970662f3c7450e00f758c6829a9d..ac3f84370538c6f9c294774d4b946bd8cc8e78c3 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 eaeaea08902c0c9f71ec629c2964d83cbdc7f739..5944e6a95b246101e7acb0d53acba91b9ffb69e7 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 b8db2692f3e86036653306c15a7f298fa74ec4dc..de996acd963050f52bc2b70b40bcf9fb018ae5a4 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 f45d344d9d5fa9f64c5ee1503f7735c081ba3486..ada150ed23ddb048966aa954c053b0910022f865 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 */
+ }
 };