This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] New regressions after 2003-10-26
- From: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>
- To: Diego Novillo <dnovillo at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org, jh at suse dot cz
- Date: Sat, 1 Nov 2003 22:53:23 +0100
- Subject: Re: [tree-ssa] New regressions after 2003-10-26
- References: <1067349685.3047.33.camel@frodo.toronto.redhat.com>
Hello,
this patch fixes debug-6.c. I am investigating the gcov failures now.
Zdenek
* tree-optimize.c (optimize_function_tree): Removed duplicate call of
lower_function_body. Moved call of reset_block_changes ...
(tree_rest_of_compilation) ... here. Reset the scope to top before
expanding function end.
Index: tree-optimize.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-optimize.c,v
retrieving revision 1.1.4.65
diff -c -3 -p -r1.1.4.65 tree-optimize.c
*** tree-optimize.c 31 Oct 2003 14:15:21 -0000 1.1.4.65
--- tree-optimize.c 1 Nov 2003 21:48:59 -0000
*************** optimize_function_tree (tree fndecl)
*** 61,71 ****
/* Build the flowgraph. */
init_flow ();
- lower_function_body (&DECL_SAVED_TREE (fndecl));
- /* Avoid producing notes for blocks. */
- cfun->dont_emit_block_notes = 1;
- reset_block_changes ();
-
build_tree_cfg (DECL_SAVED_TREE (fndecl));
/* Begin analysis and optimization passes. After the function is
--- 61,66 ----
*************** tree_rest_of_compilation (tree fndecl, b
*** 295,300 ****
--- 290,300 ----
/* Lower the structured statements. */
lower_function_body (&DECL_SAVED_TREE (fndecl));
+
+ /* Avoid producing notes for blocks. */
+ cfun->dont_emit_block_notes = 1;
+ reset_block_changes ();
+
dump_function (TDI_lower, fndecl);
/* Invoke the SSA tree optimizer. */
*************** tree_rest_of_compilation (tree fndecl, b
*** 341,346 ****
--- 341,349 ----
if (cfun->function_end_locus.file)
input_location = cfun->function_end_locus;
+ /* The following insns belong to the top scope. */
+ record_block_change (DECL_INITIAL (current_function_decl));
+
/* Allow language dialects to perform special processing. */
(*lang_hooks.rtl_expand.end) ();