public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jan Hubicka <jh@suse.cz>
To: gcc-patches@gcc.gnu.org
Subject: RTL sharing tester (for testing)
Date: Tue, 26 Jun 2007 03:43:00 -0000	[thread overview]
Message-ID: <20070626000132.GC995@kam.mff.cuni.cz> (raw)

Hi,
since dataflow code obviously is making RTL sharing issues worse, I
tried again the RTL sharing checker patch once again (attached in
updated form for mainline for everyone who wants to try and hunt down
some of the issues).

Without any patches I know of only ia-64 to bootstrap with one
regression in testusite (out of i686, x86-64 and PPC each failing for
different reasons), so the problem is still quite bad.  It seems worse
than at early stage1 I tried last time despite the numberous sharing
fixes from dataflow branch, however I hope that number of different
issues is lesser so we can get it into shape that it does not break the
common targets used for development and thus can be enabled by default.

With the patch http://gcc.gnu.org/ml/gcc-patches/2007-06/msg01780.html
I can get i686 and x86-64 into bootstrapland with different 2 testsuite
regressions, both seems to be caused by regmove pass that is fixable by
the same infrastructure as introduced by the patch.

Any help with fixing the issues (or reviewing the aforementioned patch
;) would be very welcome.

Honza

Index: regrename.c
===================================================================
*** regrename.c	(revision 125972)
--- regrename.c	(working copy)
*************** struct tree_opt_pass pass_regrename =
*** 1960,1966 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish |
    TODO_dump_func,                       /* todo_flags_finish */
    'n'                                   /* letter */
  };
--- 1960,1966 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_dump_func,                       /* todo_flags_finish */
    'n'                                   /* letter */
  };
*************** struct tree_opt_pass pass_cprop_hardreg 
*** 1993,1999 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func,                       /* todo_flags_finish */
    'n'                                   /* letter */
  };
  
--- 1993,1999 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func | TODO_verify_rtl_sharing, /* todo_flags_finish */
    'n'                                   /* letter */
  };
  
Index: fwprop.c
===================================================================
*** fwprop.c	(revision 125972)
--- fwprop.c	(working copy)
*************** struct tree_opt_pass pass_rtl_fwprop =
*** 1000,1006 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish |
    TODO_dump_func,                       /* todo_flags_finish */
    0                                     /* letter */
  };
--- 1002,1008 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_dump_func,                       /* todo_flags_finish */
    0                                     /* letter */
  };
*************** struct tree_opt_pass pass_rtl_fwprop_add
*** 1042,1048 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish |
    TODO_dump_func,                       /* todo_flags_finish */
    0                                     /* letter */
  };
--- 1044,1050 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_dump_func,                       /* todo_flags_finish */
    0                                     /* letter */
  };
Index: see.c
===================================================================
*** see.c	(revision 125972)
--- see.c	(working copy)
*************** struct tree_opt_pass pass_see =
*** 3837,3843 ****
    0,					/* properties_provided */
    0,					/* properties_destroyed */
    0,					/* todo_flags_start */
!   TODO_df_finish |
    TODO_dump_func,			/* todo_flags_finish */
    'u'					/* letter */
  };
--- 3837,3843 ----
    0,					/* properties_provided */
    0,					/* properties_destroyed */
    0,					/* todo_flags_start */
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_dump_func,			/* todo_flags_finish */
    'u'					/* letter */
  };
Index: tracer.c
===================================================================
*** tracer.c	(revision 125972)
--- tracer.c	(working copy)
*************** struct tree_opt_pass pass_tracer =
*** 411,417 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func,                       /* todo_flags_finish */
    'T'                                   /* letter */
  };
  
--- 411,417 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func | TODO_verify_rtl_sharing, /* todo_flags_finish */
    'T'                                   /* letter */
  };
  
Index: postreload-gcse.c
===================================================================
*** postreload-gcse.c	(revision 125972)
--- postreload-gcse.c	(working copy)
*************** struct tree_opt_pass pass_gcse2 =
*** 1322,1329 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func |
!   TODO_verify_flow | TODO_ggc_collect,  /* todo_flags_finish */
    'J'                                   /* letter */
  };
  
--- 1322,1329 ----
    0,                                    /* properties_provided */
    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 */
  };
  
Index: postreload.c
===================================================================
*** postreload.c	(revision 125972)
--- postreload.c	(working copy)
*************** struct tree_opt_pass pass_postreload_cse
*** 1599,1605 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish |
    TODO_dump_func,                       /* todo_flags_finish */
    'o'                                   /* letter */
  };
--- 1599,1605 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_dump_func,                       /* todo_flags_finish */
    'o'                                   /* letter */
  };
Index: tree-pass.h
===================================================================
*** tree-pass.h	(revision 125972)
--- tree-pass.h	(working copy)
*************** struct dump_file_info
*** 171,176 ****
--- 171,177 ----
  #define TODO_dump_cgraph		(1 << 7)
  #define TODO_remove_functions		(1 << 8)
  #define TODO_rebuild_frequencies	(1 << 9)
+ #define TODO_verify_rtl_sharing         (1 << 10)
  
  /* To-do flags for calls to update_ssa.  */
  
*************** struct dump_file_info
*** 182,194 ****
     in blocks that have one or more edges with no incoming definition
     for O_j.  This would lead to uninitialized warnings for O_j's
     symbol.  */
! #define TODO_update_ssa			(1 << 10)
  
  /* Update the SSA form without inserting any new PHI nodes at all.
     This is used by passes that have either inserted all the PHI nodes
     themselves or passes that need only to patch use-def and def-def
     chains for virtuals (e.g., DCE).  */
! #define TODO_update_ssa_no_phi		(1 << 11)
  
  /* Insert PHI nodes everywhere they are needed.  No pruning of the
     IDF is done.  This is used by passes that need the PHI nodes for
--- 183,195 ----
     in blocks that have one or more edges with no incoming definition
     for O_j.  This would lead to uninitialized warnings for O_j's
     symbol.  */
! #define TODO_update_ssa			(1 << 11)
  
  /* Update the SSA form without inserting any new PHI nodes at all.
     This is used by passes that have either inserted all the PHI nodes
     themselves or passes that need only to patch use-def and def-def
     chains for virtuals (e.g., DCE).  */
! #define TODO_update_ssa_no_phi		(1 << 12)
  
  /* Insert PHI nodes everywhere they are needed.  No pruning of the
     IDF is done.  This is used by passes that need the PHI nodes for
*************** struct dump_file_info
*** 199,205 ****
     may be doing something wrong.  Inserting PHI nodes for an old name
     where not all edges carry a new replacement may lead to silent
     codegen errors or spurious uninitialized warnings.  */
! #define TODO_update_ssa_full_phi	(1 << 12)
  
  /* Passes that update the SSA form on their own may want to delegate
     the updating of virtual names to the generic updater.  Since FUD
--- 200,206 ----
     may be doing something wrong.  Inserting PHI nodes for an old name
     where not all edges carry a new replacement may lead to silent
     codegen errors or spurious uninitialized warnings.  */
! #define TODO_update_ssa_full_phi	(1 << 13)
  
  /* Passes that update the SSA form on their own may want to delegate
     the updating of virtual names to the generic updater.  Since FUD
*************** struct dump_file_info
*** 207,230 ****
     to do.  NOTE: If this flag is used, any OLD->NEW mappings for real
     names are explicitly destroyed and only the symbols marked for
     renaming are processed.  */
! #define TODO_update_ssa_only_virtuals	(1 << 13)
  
  /* Some passes leave unused local variables that can be removed from
     cfun->unexpanded_var_list.  This reduces the size of dump files and
     the memory footprint for VAR_DECLs.  */
! #define TODO_remove_unused_locals	(1 << 14)
  
  /* Internally used for the first in a sequence of passes.  It is set
     for the passes that are handed to register_dump_files.  */
! #define TODO_set_props			(1 << 15)
  
  /* Call df_finish at the end of the pass.  This is done after all of
     the dumpers have been allowed to run so that they have access to
     the instance before it is destroyed.  */
! #define TODO_df_finish                  (1 << 16)
  
  /* Internally used for the first instance of a pass.  */
! #define TODO_mark_first_instance	(1 << 17)
  
  #define TODO_update_ssa_any		\
      (TODO_update_ssa			\
--- 208,231 ----
     to do.  NOTE: If this flag is used, any OLD->NEW mappings for real
     names are explicitly destroyed and only the symbols marked for
     renaming are processed.  */
! #define TODO_update_ssa_only_virtuals	(1 << 14)
  
  /* Some passes leave unused local variables that can be removed from
     cfun->unexpanded_var_list.  This reduces the size of dump files and
     the memory footprint for VAR_DECLs.  */
! #define TODO_remove_unused_locals	(1 << 15)
  
  /* Internally used for the first in a sequence of passes.  It is set
     for the passes that are handed to register_dump_files.  */
! #define TODO_set_props			(1 << 16)
  
  /* Call df_finish at the end of the pass.  This is done after all of
     the dumpers have been allowed to run so that they have access to
     the instance before it is destroyed.  */
! #define TODO_df_finish                  (1 << 17)
  
  /* Internally used for the first instance of a pass.  */
! #define TODO_mark_first_instance	(1 << 18)
  
  #define TODO_update_ssa_any		\
      (TODO_update_ssa			\
Index: mode-switching.c
===================================================================
*** mode-switching.c	(revision 125972)
--- mode-switching.c	(working copy)
*************** struct tree_opt_pass pass_mode_switching
*** 745,751 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish |
    TODO_dump_func,                       /* todo_flags_finish */
    0                                     /* letter */
  };
--- 745,751 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_dump_func,                       /* todo_flags_finish */
    0                                     /* letter */
  };
Index: modulo-sched.c
===================================================================
*** modulo-sched.c	(revision 125972)
--- modulo-sched.c	(working copy)
*************** struct tree_opt_pass pass_sms =
*** 2502,2508 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    TODO_dump_func,                       /* todo_flags_start */
!   TODO_df_finish |
    TODO_dump_func |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'm'                                   /* letter */
--- 2502,2508 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    TODO_dump_func,                       /* todo_flags_start */
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_dump_func |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'm'                                   /* letter */
Index: cse.c
===================================================================
*** cse.c	(revision 125972)
--- cse.c	(working copy)
*************** struct tree_opt_pass pass_cse =
*** 7012,7018 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish |
    TODO_dump_func |
    TODO_ggc_collect |
    TODO_verify_flow,                     /* todo_flags_finish */
--- 7012,7018 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_dump_func |
    TODO_ggc_collect |
    TODO_verify_flow,                     /* todo_flags_finish */
*************** struct tree_opt_pass pass_cse2 =
*** 7070,7076 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish |
    TODO_dump_func |
    TODO_ggc_collect |
    TODO_verify_flow,                     /* todo_flags_finish */
--- 7070,7076 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_dump_func |
    TODO_ggc_collect |
    TODO_verify_flow,                     /* todo_flags_finish */
Index: web.c
===================================================================
*** web.c	(revision 125972)
--- web.c	(working copy)
*************** struct tree_opt_pass pass_web =
*** 385,391 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish | 
    TODO_dump_func,                       /* todo_flags_finish */
    'Z'                                   /* letter */
  };
--- 385,391 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish | TODO_verify_rtl_sharing | 
    TODO_dump_func,                       /* todo_flags_finish */
    'Z'                                   /* letter */
  };
Index: loop-init.c
===================================================================
*** loop-init.c	(revision 125972)
--- loop-init.c	(working copy)
*************** struct tree_opt_pass pass_rtl_loop_init 
*** 186,192 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func,                       /* todo_flags_finish */
    'L'                                   /* letter */
  };
  
--- 186,192 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func | TODO_verify_rtl_sharing, /* todo_flags_finish */
    'L'                                   /* letter */
  };
  
*************** struct tree_opt_pass pass_rtl_loop_done 
*** 219,225 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func,                       /* todo_flags_finish */
    'L'                                   /* letter */
  };
  
--- 219,225 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func | TODO_verify_rtl_sharing, /* todo_flags_finish */
    'L'                                   /* letter */
  };
  
*************** struct tree_opt_pass pass_rtl_move_loop_
*** 252,258 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */ 
!   TODO_df_finish |                      /* This is shutting down the instance in loop_invariant.c  */
    TODO_dump_func,                       /* todo_flags_finish */
    'L'                                   /* letter */
  };
--- 252,258 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */ 
!   TODO_df_finish | TODO_verify_rtl_sharing |                      /* This is shutting down the instance in loop_invariant.c  */
    TODO_dump_func,                       /* todo_flags_finish */
    'L'                                   /* letter */
  };
*************** struct tree_opt_pass pass_rtl_unswitch =
*** 286,292 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func,                       /* todo_flags_finish */
    'L'                                   /* letter */
  };
  
--- 286,292 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func | TODO_verify_rtl_sharing, /* todo_flags_finish */
    'L'                                   /* letter */
  };
  
*************** struct tree_opt_pass pass_rtl_unroll_and
*** 332,338 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func,                       /* todo_flags_finish */
    'L'                                   /* letter */
  };
  
--- 332,338 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func | TODO_verify_rtl_sharing, /* todo_flags_finish */
    'L'                                   /* letter */
  };
  
*************** struct tree_opt_pass pass_rtl_doloop =
*** 371,377 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func,                       /* todo_flags_finish */
    'L'                                   /* letter */
  };
  
--- 371,377 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func | TODO_verify_rtl_sharing, /* todo_flags_finish */
    'L'                                   /* letter */
  };
  
Index: global.c
===================================================================
*** global.c	(revision 125972)
--- global.c	(working copy)
*************** struct tree_opt_pass pass_global_alloc =
*** 2109,2116 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func |
!   TODO_ggc_collect,                     /* todo_flags_finish */
    'g'                                   /* letter */
  };
  
--- 2109,2116 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func | TODO_verify_rtl_sharing
!   | TODO_ggc_collect,                   /* todo_flags_finish */
    'g'                                   /* letter */
  };
  
Index: ifcvt.c
===================================================================
*** ifcvt.c	(revision 125972)
--- ifcvt.c	(working copy)
*************** struct tree_opt_pass pass_rtl_ifcvt =
*** 4088,4094 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish |
    TODO_dump_func,                       /* todo_flags_finish */
    'C'                                   /* letter */
  };
--- 4088,4094 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_dump_func,                       /* todo_flags_finish */
    'C'                                   /* letter */
  };
*************** struct tree_opt_pass pass_if_after_combi
*** 4124,4130 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish |
    TODO_dump_func |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'C'                                   /* letter */
--- 4124,4130 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_dump_func |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'C'                                   /* letter */
*************** struct tree_opt_pass pass_if_after_reloa
*** 4158,4164 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish |
    TODO_dump_func |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'E'                                   /* letter */
--- 4158,4164 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_dump_func |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'E'                                   /* letter */
Index: recog.c
===================================================================
*** recog.c	(revision 125972)
--- recog.c	(working copy)
*************** struct tree_opt_pass pass_peephole2 =
*** 3299,3305 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish |
    TODO_dump_func,                       /* todo_flags_finish */
    'z'                                   /* letter */
  };
--- 3299,3305 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_dump_func,                       /* todo_flags_finish */
    'z'                                   /* letter */
  };
*************** struct tree_opt_pass pass_split_for_shor
*** 3460,3466 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func,                       /* todo_flags_finish */
    0                                     /* letter */
  };
  
--- 3460,3466 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func | TODO_verify_rtl_sharing, /* todo_flags_finish */
    0                                     /* letter */
  };
  
Index: dse.c
===================================================================
*** dse.c	(revision 125972)
--- dse.c	(working copy)
*************** struct tree_opt_pass pass_rtl_dse1 =
*** 3082,3088 ****
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
    TODO_dump_func |
!   TODO_df_finish |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'w'                                   /* letter */
  };
--- 3082,3088 ----
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
    TODO_dump_func |
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'w'                                   /* letter */
  };
*************** struct tree_opt_pass pass_rtl_dse2 =
*** 3101,3107 ****
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
    TODO_dump_func |
!   TODO_df_finish |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'w'                                   /* letter */
  };
--- 3101,3107 ----
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
    TODO_dump_func |
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'w'                                   /* letter */
  };
Index: regmove.c
===================================================================
*** regmove.c	(revision 125972)
--- regmove.c	(working copy)
*************** struct tree_opt_pass pass_regmove =
*** 2122,2128 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish |
    TODO_dump_func |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'N'                                   /* letter */
--- 2122,2128 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_dump_func |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'N'                                   /* letter */
Index: function.c
===================================================================
*** function.c	(revision 125972)
--- function.c	(working copy)
*************** struct tree_opt_pass pass_thread_prologu
*** 5500,5506 ****
    0,                                    /* properties_destroyed */
    TODO_verify_flow,                     /* todo_flags_start */
    TODO_dump_func |
!   TODO_df_finish |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'w'                                   /* letter */
  };
--- 5500,5506 ----
    0,                                    /* properties_destroyed */
    TODO_verify_flow,                     /* todo_flags_start */
    TODO_dump_func |
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'w'                                   /* letter */
  };
Index: gcse.c
===================================================================
*** gcse.c	(revision 125972)
--- gcse.c	(working copy)
*************** struct tree_opt_pass pass_gcse =
*** 6742,6748 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish |
    TODO_dump_func |
    TODO_verify_flow | TODO_ggc_collect,  /* todo_flags_finish */
    'G'                                   /* letter */
--- 6742,6748 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    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 */
Index: rtl-factoring.c
===================================================================
*** rtl-factoring.c	(revision 125972)
--- rtl-factoring.c	(working copy)
*************** struct tree_opt_pass pass_rtl_seqabstr =
*** 1427,1433 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish |
    TODO_dump_func |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'Q'                                   /* letter */
--- 1427,1433 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_dump_func |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'Q'                                   /* letter */
Index: lower-subreg.c
===================================================================
*** lower-subreg.c	(revision 125972)
--- lower-subreg.c	(working copy)
*************** struct tree_opt_pass pass_lower_subreg2 
*** 1293,1299 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish |
    TODO_dump_func |
    TODO_ggc_collect |
    TODO_verify_flow,                     /* todo_flags_finish */
--- 1293,1299 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_dump_func |
    TODO_ggc_collect |
    TODO_verify_flow,                     /* todo_flags_finish */
Index: bt-load.c
===================================================================
*** bt-load.c	(revision 125972)
--- bt-load.c	(working copy)
*************** struct tree_opt_pass pass_branch_target_
*** 1520,1525 ****
--- 1520,1526 ----
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
    TODO_dump_func |
+   TODO_verify_rtl_sharing |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'd'                                   /* letter */
  };
Index: emit-rtl.c
===================================================================
*** emit-rtl.c	(revision 125972)
--- emit-rtl.c	(working copy)
*************** struct tree_opt_pass pass_unshare_all_rt
*** 2194,2200 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func,                       /* todo_flags_finish */
    0                                     /* letter */
  };
  
--- 2194,2200 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func | TODO_verify_rtl_sharing, /* todo_flags_finish */
    0                                     /* letter */
  };
  
Index: cfgcleanup.c
===================================================================
*** cfgcleanup.c	(revision 125972)
--- cfgcleanup.c	(working copy)
*************** struct tree_opt_pass pass_jump =
*** 2282,2288 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    TODO_ggc_collect,                     /* todo_flags_start */
-   TODO_dump_func |
    TODO_verify_flow,                     /* todo_flags_finish */
    'i'                                   /* letter */
  };
--- 2282,2287 ----
*************** struct tree_opt_pass pass_jump2 =
*** 2313,2319 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    TODO_ggc_collect,                     /* todo_flags_start */
!   TODO_dump_func,                       /* todo_flags_finish */
    'j'                                   /* letter */
  };
  
--- 2312,2318 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    TODO_ggc_collect,                     /* todo_flags_start */
!   TODO_dump_func | TODO_verify_rtl_sharing,/* todo_flags_finish */
    'j'                                   /* letter */
  };
  
Index: combine.c
===================================================================
*** combine.c	(revision 125972)
--- combine.c	(working copy)
*************** struct tree_opt_pass pass_combine =
*** 12905,12911 ****
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
    TODO_dump_func |
!   TODO_df_finish |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'c'                                   /* letter */
  };
--- 12905,12911 ----
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
    TODO_dump_func |
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'c'                                   /* letter */
  };
Index: bb-reorder.c
===================================================================
*** bb-reorder.c	(revision 125972)
--- bb-reorder.c	(working copy)
*************** struct tree_opt_pass pass_duplicate_comp
*** 2085,2091 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func,                       /* todo_flags_finish */
    0                                     /* letter */
  };
  
--- 2085,2091 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func | TODO_verify_rtl_sharing,/* todo_flags_finish */
    0                                     /* letter */
  };
  
*************** struct tree_opt_pass pass_reorder_blocks
*** 2235,2241 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func,                       /* todo_flags_finish */
    'B'                                   /* letter */
  };
  
--- 2235,2241 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func | TODO_verify_rtl_sharing,/* todo_flags_finish */
    'B'                                   /* letter */
  };
  
*************** struct tree_opt_pass pass_partition_bloc
*** 2275,2281 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func,                       /* todo_flags_finish */
    0                                     /* letter */
  };
  
--- 2275,2281 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func | TODO_verify_rtl_sharing,/* todo_flags_finish */
    0                                     /* letter */
  };
  
Index: var-tracking.c
===================================================================
*** var-tracking.c	(revision 125972)
--- var-tracking.c	(working copy)
*************** struct tree_opt_pass pass_variable_track
*** 3006,3012 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func,                       /* todo_flags_finish */
    'V'                                   /* letter */
  };
  
--- 3006,3012 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_dump_func | TODO_verify_rtl_sharing,/* todo_flags_finish */
    'V'                                   /* letter */
  };
  
Index: reg-stack.c
===================================================================
*** reg-stack.c	(revision 125972)
--- reg-stack.c	(working copy)
*************** struct tree_opt_pass pass_stack_regs_run
*** 3243,3249 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish |
    TODO_dump_func |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'k'                                   /* letter */
--- 3243,3249 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_dump_func |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'k'                                   /* letter */
Index: sched-rgn.c
===================================================================
*** sched-rgn.c	(revision 125972)
--- sched-rgn.c	(working copy)
*************** struct tree_opt_pass pass_sched =
*** 3169,3175 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish |
    TODO_dump_func |
    TODO_verify_flow |
    TODO_ggc_collect,                     /* todo_flags_finish */
--- 3169,3175 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_dump_func |
    TODO_verify_flow |
    TODO_ggc_collect,                     /* todo_flags_finish */
*************** struct tree_opt_pass pass_sched2 =
*** 3189,3195 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish |
    TODO_dump_func |
    TODO_verify_flow |
    TODO_ggc_collect,                     /* todo_flags_finish */
--- 3189,3195 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_dump_func |
    TODO_verify_flow |
    TODO_ggc_collect,                     /* todo_flags_finish */
Index: passes.c
===================================================================
*** passes.c	(revision 125972)
--- passes.c	(working copy)
*************** struct tree_opt_pass pass_postreload =
*** 321,327 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_ggc_collect,                     /* todo_flags_finish */
    0					/* letter */
  };
  
--- 321,327 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_ggc_collect | TODO_verify_rtl_sharing, /* todo_flags_finish */
    0					/* letter */
  };
  
*************** execute_function_todo (void *data)
*** 976,981 ****
--- 976,983 ----
      verify_stmts ();
    if (flags & TODO_verify_loops)
      verify_loop_closed_ssa ();
+   if (flags & TODO_verify_rtl_sharing)
+     verify_rtl_sharing ();
  #endif
  
    cfun->last_verified = flags & TODO_verify_all;
Index: combine-stack-adj.c
===================================================================
*** combine-stack-adj.c	(revision 125972)
--- combine-stack-adj.c	(working copy)
*************** struct tree_opt_pass pass_stack_adjustme
*** 486,492 ****
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish |
    TODO_dump_func |
    TODO_ggc_collect,                     /* todo_flags_finish */
    0                                     /* letter */
--- 486,492 ----
    0,                                    /* properties_provided */
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_dump_func |
    TODO_ggc_collect,                     /* todo_flags_finish */
    0                                     /* letter */
Index: dce.c
===================================================================
*** dce.c	(revision 125972)
--- dce.c	(working copy)
*************** struct tree_opt_pass pass_ud_rtl_dce =
*** 483,489 ****
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
    TODO_dump_func |
!   TODO_df_finish |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'w'                                   /* letter */
  };
--- 483,489 ----
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
    TODO_dump_func |
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'w'                                   /* letter */
  };
*************** struct tree_opt_pass pass_fast_rtl_dce =
*** 790,796 ****
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
    TODO_dump_func |
!   TODO_df_finish |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'w'                                   /* letter */
  };
--- 790,796 ----
    0,                                    /* properties_destroyed */
    0,                                    /* todo_flags_start */
    TODO_dump_func |
!   TODO_df_finish | TODO_verify_rtl_sharing |
    TODO_ggc_collect,                     /* todo_flags_finish */
    'w'                                   /* letter */
  };

             reply	other threads:[~2007-06-26  0:01 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-26  3:43 Jan Hubicka [this message]
2007-06-27 15:55 ` Kenneth Zadeck
2007-06-27 18:17 ` Diego Novillo
2007-06-27 21:43   ` Jan Hubicka
2007-06-28  2:02     ` Kaz Kojima
2007-06-28  4:24       ` Jan Hubicka
2007-06-28  8:11         ` Paolo Bonzini
2007-06-28 17:16         ` Kenneth Zadeck
2007-06-28 18:26           ` Jan Hubicka
2007-06-28 19:57             ` Kenneth Zadeck
2007-06-28 20:27             ` Richard Sandiford
2007-06-29  8:29               ` Richard Sandiford
2007-06-29 12:11                 ` Kenneth Zadeck
2007-06-29 13:35                   ` Paolo Bonzini
2007-06-29 13:37                 ` Bernd Schmidt
2007-06-29 13:39                   ` Jan Hubicka
2007-06-29 16:55                     ` Richard Sandiford
2007-07-13 10:15                 ` RFA: Stop df from generating SUBREG REG_NOTES Richard Sandiford
2007-07-25 22:50                   ` Richard Sandiford
2007-07-27  0:01                   ` Ian Lance Taylor
2007-06-28 20:19           ` RTL sharing tester (for testing) Paolo Bonzini
2007-06-27 23:06   ` Mark Mitchell
2007-06-27 23:06     ` Jan Hubicka
2007-06-27 23:12       ` Eric Christopher
2007-06-28  0:48         ` Jan Hubicka
2007-06-28 22:24           ` Eric Christopher
2007-06-29 23:14           ` Graham Stott
2007-06-30  0:17             ` Jan Hubicka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070626000132.GC995@kam.mff.cuni.cz \
    --to=jh@suse.cz \
    --cc=gcc-patches@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).