This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [tree-ssa] BIND_EXPR removal


Hello,

> On Sun, Nov 02, 2003 at 12:29:12PM +0100, Zdenek Dvorak wrote:
> > OK, the second attempt.  It just records the variables in the gimple
> > lowering phase, then expands those of them that were not optimized
> > out afterwards (the code to determine this is taken from
> > remove_unused_... in tree-cfg.c, so it should do exactly what we do now).
> 
> This seems ok for now.
> 
> About the only thing I'd change is to *not* keep the outermost
> BIND_EXPR of the function, as you do.  As far as I can tell, the
> only difference this would make is that gimple_add_tmp_var would
> add the variable to your list instead of either queue it in
> gimplify_ctxp->temps or add it to that now missing bind_expr.

here is the change.

Zdenek

	* Makefile.in (gimplify.o): Add function.h dependency.
	* c-call-graph.c (construct_call_graph): Modify build_tree_cfg call.
	* gimple-low.c (record_vars): Export.
	(lower_function_body): Remove the topmost BIND_EXPR.
	* gimplify.c: Include function.h.
	(gimple_add_tmp_var): Record temporaries in the
	cfun->unexpanded_vars_list if available.
	* tree-cfg.c (build_tree_cfg): Work without the topmost BIND_EXPR.
	(dump_cfg_function_to_file): New.
	(dump_tree_cfg): Use dump_cfg_function_to_file.
	* tree-dump.c (dump_function_to_file): Work without the topmost
	BIND_EXPR.
	* tree-flow.h (build_tree_cfg): Declaration changed.
	(dump_cfg_function_to_file, record_vars): Declare.
	* tree-optimize.c (optimize_function_tree, tree_rest_of_compilation):
	Work without the topmost BIND_EXPR.
	* tree-must-alias.c (tree_compute_must_alias): Use
	dump_cfg_function_to_file.
	* tree-ssa-ccp.c (tree_ssa_ccp): Ditto.
	* tree-ssa-copyprop.c (tree_ssa_copyprop): Ditto.
	* tree-ssa-dce.c (tree_ssa_dce): Ditto.
	* tree-ssa-dom.c (tree_ssa_dominator_optimize_1): Ditto.
	* tree-ssa-pre.c (tree_perform_ssapre): Ditto.
	* tree-ssa.c (rewrite_into_ssa, rewrite_out_of_ssa): Ditto.
	* tree-tailcall.c (tree_optimize_tail_calls): Ditto.
	* tree.h (optimize_function_tree): Declaration changed.

Index: Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Makefile.in,v
retrieving revision 1.903.2.126
diff -c -3 -p -r1.903.2.126 Makefile.in
*** Makefile.in	28 Oct 2003 14:56:08 -0000	1.903.2.126
--- Makefile.in	4 Nov 2003 09:53:41 -0000
*************** c-simplify.o : c-simplify.c $(CONFIG_H) 
*** 1589,1595 ****
  gimplify.o : gimplify.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) errors.h \
     diagnostic.h $(TREE_SIMPLE_H) tree-inline.h varray.h langhooks.h \
     langhooks-def.h $(TREE_FLOW_H) $(TIMEVAR_H) $(TM_H) coretypes.h except.h \
!    flags.h $(RTL_H)
  gimple-low.o : gimple-low.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) errors.h \
     diagnostic.h $(TREE_SIMPLE_H) tree-inline.h varray.h langhooks.h \
     langhooks-def.h $(TREE_FLOW_H) $(TIMEVAR_H) $(TM_H) coretypes.h except.h \
--- 1589,1595 ----
  gimplify.o : gimplify.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) errors.h \
     diagnostic.h $(TREE_SIMPLE_H) tree-inline.h varray.h langhooks.h \
     langhooks-def.h $(TREE_FLOW_H) $(TIMEVAR_H) $(TM_H) coretypes.h except.h \
!    flags.h $(RTL_H) function.h
  gimple-low.o : gimple-low.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) errors.h \
     diagnostic.h $(TREE_SIMPLE_H) tree-inline.h varray.h langhooks.h \
     langhooks-def.h $(TREE_FLOW_H) $(TIMEVAR_H) $(TM_H) coretypes.h except.h \
Index: c-call-graph.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/c-call-graph.c,v
retrieving revision 1.1.4.13
diff -c -3 -p -r1.1.4.13 c-call-graph.c
*** c-call-graph.c	28 Sep 2003 06:06:02 -0000	1.1.4.13
--- c-call-graph.c	4 Nov 2003 09:53:41 -0000
*************** construct_call_graph (pretty_printer *bu
*** 121,127 ****
  
  	  /* Control flow statistics.  */
  	  init_flow ();
! 	  build_tree_cfg (DECL_SAVED_TREE (node));
  	  pp_printf (buffer, " CFG-edges=\"%d\" CFG-BB=\"%d\" McCabe=\"%d\">\n",
  			 n_edges, n_basic_blocks, n_edges - n_basic_blocks + 2);
  	  delete_tree_cfg ();
--- 121,127 ----
  
  	  /* Control flow statistics.  */
  	  init_flow ();
! 	  build_tree_cfg (&DECL_SAVED_TREE (node));
  	  pp_printf (buffer, " CFG-edges=\"%d\" CFG-BB=\"%d\" McCabe=\"%d\">\n",
  			 n_edges, n_basic_blocks, n_edges - n_basic_blocks + 2);
  	  delete_tree_cfg ();
Index: gimple-low.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/gimple-low.c,v
retrieving revision 1.1.4.5
diff -c -3 -p -r1.1.4.5 gimple-low.c
*** gimple-low.c	4 Nov 2003 00:13:36 -0000	1.1.4.5
--- gimple-low.c	4 Nov 2003 09:53:41 -0000
*************** static void lower_stmt (tree_stmt_iterat
*** 52,64 ****
  static void lower_bind_expr (tree_stmt_iterator *, struct lower_data *);
  static void lower_cond_expr (tree_stmt_iterator *, struct lower_data *);
  static bool simple_goto_p (tree);
- static void record_vars (tree);
  
  /* Lowers the BODY.  */
  void
  lower_function_body (tree *body)
  {
    struct lower_data data;
  
    if (TREE_CODE (*body) != BIND_EXPR)
      abort ();
--- 52,64 ----
  static void lower_bind_expr (tree_stmt_iterator *, struct lower_data *);
  static void lower_cond_expr (tree_stmt_iterator *, struct lower_data *);
  static bool simple_goto_p (tree);
  
  /* Lowers the BODY.  */
  void
  lower_function_body (tree *body)
  {
    struct lower_data data;
+   tree root;
  
    if (TREE_CODE (*body) != BIND_EXPR)
      abort ();
*************** lower_function_body (tree *body)
*** 68,80 ****
    BLOCK_CHAIN (data.block) = NULL_TREE;
  
    record_vars (BIND_EXPR_VARS (*body));
!   BIND_EXPR_VARS (*body) = NULL_TREE;
!   lower_stmt_body (&BIND_EXPR_BODY (*body), &data);
  
    if (data.block != DECL_INITIAL (current_function_decl))
      abort ();
    BLOCK_SUBBLOCKS (data.block) =
  	  blocks_nreverse (BLOCK_SUBBLOCKS (data.block));
  }
  
  /* Lowers the EXPR.  Unlike gimplification the statements are not relowered
--- 68,82 ----
    BLOCK_CHAIN (data.block) = NULL_TREE;
  
    record_vars (BIND_EXPR_VARS (*body));
!   root = BIND_EXPR_BODY (*body);
!   lower_stmt_body (&root, &data);
  
    if (data.block != DECL_INITIAL (current_function_decl))
      abort ();
    BLOCK_SUBBLOCKS (data.block) =
  	  blocks_nreverse (BLOCK_SUBBLOCKS (data.block));
+ 
+   *body = root;
  }
  
  /* Lowers the EXPR.  Unlike gimplification the statements are not relowered
*************** lower_stmt (tree_stmt_iterator *tsi, str
*** 136,142 ****
  
  /* Record the variables in VARS.  */
  
! static void
  record_vars (tree vars)
  {
    for (; vars; vars = TREE_CHAIN (vars))
--- 138,144 ----
  
  /* Record the variables in VARS.  */
  
! void
  record_vars (tree vars)
  {
    for (; vars; vars = TREE_CHAIN (vars))
Index: gimplify.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/gimplify.c,v
retrieving revision 1.1.2.105
diff -c -3 -p -r1.1.2.105 gimplify.c
*** gimplify.c	3 Nov 2003 21:45:06 -0000	1.1.2.105
--- gimplify.c	4 Nov 2003 09:53:41 -0000
*************** Software Foundation, 59 Temple Place - S
*** 41,46 ****
--- 41,47 ----
  #include "hashtab.h"
  #include "flags.h"
  #include "real.h"
+ #include "function.h"
  
  static struct gimplify_ctx
  {
*************** gimple_add_tmp_var (tree tmp)
*** 504,509 ****
--- 505,512 ----
        TREE_CHAIN (tmp) = gimplify_ctxp->temps;
        gimplify_ctxp->temps = tmp;
      }
+   else if (cfun)
+     record_vars (tmp);
    else
      declare_tmp_vars (tmp, DECL_SAVED_TREE (current_function_decl));
  }
Index: tree-cfg.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/tree-cfg.c,v
retrieving revision 1.1.4.192
diff -c -3 -p -r1.1.4.192 tree-cfg.c
*** tree-cfg.c	3 Nov 2003 20:09:14 -0000	1.1.4.192
--- tree-cfg.c	4 Nov 2003 09:53:41 -0000
*************** static tree_stmt_iterator bsi_link_after
*** 156,162 ****
     function to process.  */
  
  void
! build_tree_cfg (tree fnbody)
  {
    tree *first_p;
  
--- 156,162 ----
     function to process.  */
  
  void
! build_tree_cfg (tree *fnbody)
  {
    tree *first_p;
  
*************** build_tree_cfg (tree fnbody)
*** 178,191 ****
    ENTRY_BLOCK_PTR->next_bb = EXIT_BLOCK_PTR;
    EXIT_BLOCK_PTR->prev_bb = ENTRY_BLOCK_PTR;
  
!   /* Find the basic blocks for the flowgraph.  Ignore empty functions.  */
!   if (IS_EMPTY_STMT (fnbody) || TREE_CODE (fnbody) != BIND_EXPR)
!     {
!       timevar_pop (TV_TREE_CFG);
!       return;
!     }
! 
!   first_p = first_exec_stmt (&BIND_EXPR_BODY (fnbody));
    if (first_p)
      {
        found_computed_goto = 0;
--- 178,184 ----
    ENTRY_BLOCK_PTR->next_bb = EXIT_BLOCK_PTR;
    EXIT_BLOCK_PTR->prev_bb = ENTRY_BLOCK_PTR;
  
!   first_p = first_exec_stmt (fnbody);
    if (first_p)
      {
        found_computed_goto = 0;
*************** dump_tree_cfg (FILE *file, int flags)
*** 2101,2109 ****
      dump_cfg_stats (file);
  
    if (n_basic_blocks > 0)
!     dump_function_to_file (current_function_decl, file, flags|TDF_BLOCKS);
  }
  
  
  /* Dump CFG statistics on FILE.  */
  
--- 2094,2169 ----
      dump_cfg_stats (file);
  
    if (n_basic_blocks > 0)
!     dump_cfg_function_to_file (current_function_decl, file, flags|TDF_BLOCKS);
  }
  
+ /* Dumps function FN to FILE, with details given by FLAGS.  Function body is
+    taken from cfg.  */
+ 
+ void
+ dump_cfg_function_to_file (tree fn, FILE *file, int flags)
+ {
+   basic_block bb;
+   tree arg, phi;
+   block_stmt_iterator si;
+   edge e;
+   int show_bb_headers = flags & TDF_BLOCKS;
+ 
+   flags &= ~TDF_BLOCKS;
+ 
+   fprintf (file, "\n;; Function %s",
+ 	    (*lang_hooks.decl_printable_name) (fn, 2));
+   fprintf (file, " (%s)\n",
+ 	    IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (fn)));
+   fprintf (file, "\n");
+ 
+   fprintf (file, "%s (", (*lang_hooks.decl_printable_name) (fn, 2));
+ 
+   arg = DECL_ARGUMENTS (fn);
+   while (arg)
+     {
+       print_generic_expr (file, arg, 0);
+       if (TREE_CHAIN (arg))
+ 	fprintf (file, ", ");
+       arg = TREE_CHAIN (arg);
+     }
+   fprintf (file, ")\n");
+ 
+   fprintf (file, "{\n");
+   FOR_EACH_BB (bb)
+     {
+       if (show_bb_headers)
+ 	{
+ 	  fprintf (file, "# BLOCK %d\n ", bb->index);
+ 	  fprintf (file, "# PRED");
+ 	  for (e = bb->pred; e; e = e->pred_next)
+ 	    dump_edge_info (file, e, 0);
+ 	  putc ('\n', file);
+ 	}
+       for (phi = phi_nodes (bb); phi; phi = TREE_CHAIN (phi))
+ 	{
+ 	  fprintf (file, "\t# ");
+ 	  print_generic_stmt (file, phi, flags);
+ 	  fprintf (file, "\n");
+ 	}
+ 
+       for (si = bsi_start (bb); !bsi_end_p (si); bsi_next (&si))
+ 	{
+ 	  fprintf (file, "%d\t", get_lineno (bsi_stmt (si)));
+ 	  print_generic_stmt (file, bsi_stmt (si), flags & ~TDF_VOPS);
+ 	  fprintf (file, "\n");
+ 	}
+ 
+       if (show_bb_headers)
+ 	{
+ 	  fprintf (file, "# SUCC");
+ 	  for (e = bb->succ; e; e = e->succ_next)
+ 	    dump_edge_info (file, e, 1);
+ 	  fprintf (file, "\n\n");
+ 	}
+     }
+   fprintf (file, "}\n\n");
+ }
  
  /* Dump CFG statistics on FILE.  */
  
Index: tree-dump.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-dump.c,v
retrieving revision 1.6.2.46
diff -c -3 -p -r1.6.2.46 tree-dump.c
*** tree-dump.c	3 Nov 2003 17:26:19 -0000	1.6.2.46
--- tree-dump.c	4 Nov 2003 09:53:41 -0000
*************** dump_function_to_file (tree fn, FILE *st
*** 876,882 ****
    if (flags & TDF_RAW)
      dump_node (fn, TDF_SLIM | flags, stream);
    else
!     print_generic_stmt (stream, DECL_SAVED_TREE (fn), flags);
  
    fprintf (stream, "\n\n");
  }
--- 876,886 ----
    if (flags & TDF_RAW)
      dump_node (fn, TDF_SLIM | flags, stream);
    else
!     {
!       fprintf (stream, "{\n");
!       print_generic_stmt (stream, DECL_SAVED_TREE (fn), flags);
!       fprintf (stream, "\n}");
!     }
  
    fprintf (stream, "\n\n");
  }
Index: tree-flow.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/tree-flow.h,v
retrieving revision 1.1.4.140
diff -c -3 -p -r1.1.4.140 tree-flow.h
*** tree-flow.h	4 Nov 2003 06:12:46 -0000	1.1.4.140
--- tree-flow.h	4 Nov 2003 09:53:41 -0000
*************** extern GTY(()) varray_type call_clobbere
*** 426,432 ****
  			      Function prototypes
  ---------------------------------------------------------------------------*/
  /* In tree-cfg.c  */
! extern void build_tree_cfg (tree);
  extern void delete_tree_cfg (void);
  extern bool is_ctrl_stmt (tree);
  extern bool is_ctrl_altering_stmt (tree);
--- 426,432 ----
  			      Function prototypes
  ---------------------------------------------------------------------------*/
  /* In tree-cfg.c  */
! extern void build_tree_cfg (tree *);
  extern void delete_tree_cfg (void);
  extern bool is_ctrl_stmt (tree);
  extern bool is_ctrl_altering_stmt (tree);
*************** extern bool cleanup_cond_expr_graph (bas
*** 459,464 ****
--- 459,465 ----
  extern bool cleanup_switch_expr_graph (basic_block, block_stmt_iterator);
  extern void tree_optimize_tail_calls (void);
  extern basic_block tree_block_forwards_to (basic_block bb);
+ extern void dump_cfg_function_to_file (tree, FILE *, int);
  
  /* In tree-dfa.c  */
  void find_referenced_vars (tree);
*************** extern void mark_new_vars_to_rename (tre
*** 504,509 ****
--- 505,511 ----
  /* In gimple-low.c  */
  void lower_function_body (tree *);
  void expand_used_vars (void);
+ void record_vars (tree);
  
  /* In tree-ssa.c  */
  extern void init_tree_ssa (void);
Index: tree-must-alias.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/tree-must-alias.c,v
retrieving revision 1.1.2.6
diff -c -3 -p -r1.1.2.6 tree-must-alias.c
*** tree-must-alias.c	3 Nov 2003 13:12:35 -0000	1.1.2.6
--- tree-must-alias.c	4 Nov 2003 09:53:41 -0000
*************** tree_compute_must_alias (tree fndecl, sb
*** 111,117 ****
        if (dump_file && (dump_flags & TDF_DETAILS))
  	dump_referenced_vars (dump_file);
  
!       dump_function_to_file (fndecl, dump_file, dump_flags);
        dump_end (phase, dump_file);
      }
  
--- 111,117 ----
        if (dump_file && (dump_flags & TDF_DETAILS))
  	dump_referenced_vars (dump_file);
  
!       dump_cfg_function_to_file (fndecl, dump_file, dump_flags);
        dump_end (phase, dump_file);
      }
  
Index: tree-optimize.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-optimize.c,v
retrieving revision 1.1.4.67
diff -c -3 -p -r1.1.4.67 tree-optimize.c
*** tree-optimize.c	3 Nov 2003 13:12:35 -0000	1.1.4.67
--- tree-optimize.c	4 Nov 2003 09:53:41 -0000
*************** Boston, MA 02111-1307, USA.  */
*** 52,58 ****
     FUNCTION_DECL node for the function to optimize.  */
  
  void
! optimize_function_tree (tree fndecl)
  {
    /* Don't bother doing anything if the program has errors.  */
    if (errorcount || sorrycount)
--- 52,58 ----
     FUNCTION_DECL node for the function to optimize.  */
  
  void
! optimize_function_tree (tree fndecl, tree *chain)
  {
    /* Don't bother doing anything if the program has errors.  */
    if (errorcount || sorrycount)
*************** optimize_function_tree (tree fndecl)
*** 61,67 ****
    /* Build the flowgraph.  */
    init_flow ();
  
!   build_tree_cfg (DECL_SAVED_TREE (fndecl));
  
    /* Begin analysis and optimization passes.  After the function is
       initially renamed into SSA form, passes are responsible from keeping
--- 61,67 ----
    /* Build the flowgraph.  */
    init_flow ();
  
!   build_tree_cfg (chain);
  
    /* Begin analysis and optimization passes.  After the function is
       initially renamed into SSA form, passes are responsible from keeping
*************** void
*** 239,245 ****
  tree_rest_of_compilation (tree fndecl, bool nested_p)
  {
    location_t saved_loc;
!   tree saved_tree = NULL;
  
    timevar_push (TV_EXPAND);
  
--- 239,245 ----
  tree_rest_of_compilation (tree fndecl, bool nested_p)
  {
    location_t saved_loc;
!   tree saved_tree = NULL, chain;
  
    timevar_push (TV_EXPAND);
  
*************** tree_rest_of_compilation (tree fndecl, b
*** 290,295 ****
--- 290,296 ----
  
    /* Lower the structured statements.  */
    lower_function_body (&DECL_SAVED_TREE (fndecl));
+   chain = DECL_SAVED_TREE (fndecl);
  
    /* Avoid producing notes for blocks.  */
    cfun->dont_emit_block_notes = 1;
*************** tree_rest_of_compilation (tree fndecl, b
*** 299,305 ****
  
    /* Invoke the SSA tree optimizer.  */
    if (optimize >= 1 && !flag_disable_tree_ssa)
!     optimize_function_tree (fndecl);
  
    /* If the function has a variably modified type, there may be
       SAVE_EXPRs in the parameter types.  Their context must be set to
--- 300,309 ----
  
    /* Invoke the SSA tree optimizer.  */
    if (optimize >= 1 && !flag_disable_tree_ssa)
!     optimize_function_tree (fndecl, &chain);
! 
!   DECL_SAVED_TREE (fndecl) = build (BIND_EXPR, void_type_node,
! 				    NULL_TREE, chain, NULL_TREE);
  
    /* If the function has a variably modified type, there may be
       SAVE_EXPRs in the parameter types.  Their context must be set to
Index: tree-ssa-ccp.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/tree-ssa-ccp.c,v
retrieving revision 1.1.2.105
diff -c -3 -p -r1.1.2.105 tree-ssa-ccp.c
*** tree-ssa-ccp.c	1 Nov 2003 20:27:15 -0000	1.1.2.105
--- tree-ssa-ccp.c	4 Nov 2003 09:53:41 -0000
*************** tree_ssa_ccp (tree fndecl, sbitmap vars_
*** 203,209 ****
  	  fprintf (dump_file, "\n");
  	}
  
!       dump_function_to_file (fndecl, dump_file, dump_flags);
        dump_end (phase, dump_file);
      }
  }
--- 203,209 ----
  	  fprintf (dump_file, "\n");
  	}
  
!       dump_cfg_function_to_file (fndecl, dump_file, dump_flags);
        dump_end (phase, dump_file);
      }
  }
Index: tree-ssa-copyprop.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/tree-ssa-copyprop.c,v
retrieving revision 1.1.2.21
diff -c -3 -p -r1.1.2.21 tree-ssa-copyprop.c
*** tree-ssa-copyprop.c	3 Nov 2003 13:12:35 -0000	1.1.2.21
--- tree-ssa-copyprop.c	4 Nov 2003 09:53:41 -0000
*************** tree_ssa_copyprop (tree fndecl, enum tre
*** 79,85 ****
  
    if (dump_file)
      {
!       dump_function_to_file (fndecl, dump_file, dump_flags);
        dump_end (phase, dump_file);
      }
  
--- 79,85 ----
  
    if (dump_file)
      {
!       dump_cfg_function_to_file (fndecl, dump_file, dump_flags);
        dump_end (phase, dump_file);
      }
  
Index: tree-ssa-dce.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/tree-ssa-dce.c,v
retrieving revision 1.1.2.63
diff -c -3 -p -r1.1.2.63 tree-ssa-dce.c
*** tree-ssa-dce.c	25 Oct 2003 17:48:24 -0000	1.1.2.63
--- tree-ssa-dce.c	4 Nov 2003 09:53:41 -0000
*************** tree_ssa_dce (tree fndecl, enum tree_dum
*** 539,545 ****
    /* Debugging dumps.  */
    if (dump_file)
      {
!       dump_function_to_file (fndecl, dump_file, dump_flags);
        print_stats ();
        dump_end (phase, dump_file);
      }
--- 539,545 ----
    /* Debugging dumps.  */
    if (dump_file)
      {
!       dump_cfg_function_to_file (fndecl, dump_file, dump_flags);
        print_stats ();
        dump_end (phase, dump_file);
      }
Index: tree-ssa-dom.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/tree-ssa-dom.c,v
retrieving revision 1.1.2.75
diff -c -3 -p -r1.1.2.75 tree-ssa-dom.c
*** tree-ssa-dom.c	4 Nov 2003 06:12:46 -0000	1.1.2.75
--- tree-ssa-dom.c	4 Nov 2003 09:53:41 -0000
*************** tree_ssa_dominator_optimize_1 (tree fnde
*** 470,476 ****
      {
        if (dump_flags & TDF_STATS)
  	dump_dominator_optimization_stats (dump_file);
!       dump_function_to_file (fndecl, dump_file, dump_flags);
        dump_end (phase, dump_file);
      }
  
--- 470,476 ----
      {
        if (dump_flags & TDF_STATS)
  	dump_dominator_optimization_stats (dump_file);
!       dump_cfg_function_to_file (fndecl, dump_file, dump_flags);
        dump_end (phase, dump_file);
      }
  
Index: tree-ssa-pre.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/tree-ssa-pre.c,v
retrieving revision 1.1.4.96
diff -c -3 -p -r1.1.4.96 tree-ssa-pre.c
*** tree-ssa-pre.c	4 Nov 2003 00:29:37 -0000	1.1.4.96
--- tree-ssa-pre.c	4 Nov 2003 09:53:41 -0000
*************** tree_perform_ssapre (tree fndecl, enum t
*** 3337,3343 ****
  	  fprintf (dump_file, "Expressions generated for rename2:%d\n",
  		   pre_stats.exprs_generated);
  	}
!       dump_function_to_file (fndecl, dump_file, dump_flags);
        dump_end (phase, dump_file);
      }
  
--- 3337,3343 ----
  	  fprintf (dump_file, "Expressions generated for rename2:%d\n",
  		   pre_stats.exprs_generated);
  	}
!       dump_cfg_function_to_file (fndecl, dump_file, dump_flags);
        dump_end (phase, dump_file);
      }
  
Index: tree-ssa.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/tree-ssa.c,v
retrieving revision 1.1.4.144
diff -c -3 -p -r1.1.4.144 tree-ssa.c
*** tree-ssa.c	4 Nov 2003 06:12:46 -0000	1.1.4.144
--- tree-ssa.c	4 Nov 2003 09:53:42 -0000
*************** rewrite_into_ssa (tree fndecl, sbitmap v
*** 448,454 ****
  	  dump_tree_ssa_stats (dump_file);
  	}
  
!       dump_function_to_file (fndecl, dump_file, dump_flags);
        dump_end (phase, dump_file);
      }
  
--- 448,454 ----
  	  dump_tree_ssa_stats (dump_file);
  	}
  
!       dump_cfg_function_to_file (fndecl, dump_file, dump_flags);
        dump_end (phase, dump_file);
      }
  
*************** rewrite_out_of_ssa (tree fndecl, enum tr
*** 1898,1904 ****
    /* Debugging dumps.  */
    if (dump_file)
      {
!       dump_function_to_file (fndecl, dump_file, dump_flags);
        dump_end (phase, dump_file);
      }
  }
--- 1898,1904 ----
    /* Debugging dumps.  */
    if (dump_file)
      {
!       dump_cfg_function_to_file (fndecl, dump_file, dump_flags);
        dump_end (phase, dump_file);
      }
  }
Index: tree-tailcall.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/tree-tailcall.c,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 tree-tailcall.c
*** tree-tailcall.c	24 Oct 2003 07:41:31 -0000	1.1.2.3
--- tree-tailcall.c	4 Nov 2003 09:53:42 -0000
*************** tree_optimize_tail_calls (void)
*** 276,282 ****
  
    if (dump_file)
      {
!       dump_function_to_file (current_function_decl, dump_file, dump_flags);
        dump_end (TDI_tail, dump_file);
      }
  }
--- 276,282 ----
  
    if (dump_file)
      {
!       dump_cfg_function_to_file (current_function_decl, dump_file, dump_flags);
        dump_end (TDI_tail, dump_file);
      }
  }
Index: tree.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree.h,v
retrieving revision 1.342.2.121
diff -c -3 -p -r1.342.2.121 tree.h
*** tree.h	3 Nov 2003 17:26:19 -0000	1.342.2.121
--- tree.h	4 Nov 2003 09:53:42 -0000
*************** extern void declare_nonlocal_label (tree
*** 3440,3446 ****
  extern int containing_blocks_have_cleanups_or_stack_level (void);
  
  /* In tree-optimize.c.  */
! void optimize_function_tree (tree);
  
  /* In gimplify.c.  */
  extern void gimplify_function_tree (tree);
--- 3440,3446 ----
  extern int containing_blocks_have_cleanups_or_stack_level (void);
  
  /* In tree-optimize.c.  */
! void optimize_function_tree (tree, tree *);
  
  /* In gimplify.c.  */
  extern void gimplify_function_tree (tree);


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]