flow.c (init_propagate_block_info): Don't mark frame dead at end of function if retur...
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Fri, 1 Sep 2000 14:48:11 +0000 (14:48 +0000)
committerRichard Kenner <kenner@gcc.gnu.org>
Fri, 1 Sep 2000 14:48:11 +0000 (10:48 -0400)
* flow.c (init_propagate_block_info): Don't mark frame dead at end
of function if returns wiht stack pointer depressed.

From-SVN: r36099

gcc/ChangeLog
gcc/flow.c

index d82386ac82a45baff6a2c907dfd5c7d3450b9689..a3951907e63086f48f06fee677899aad9615a197 100644 (file)
@@ -1,3 +1,8 @@
+Fri Sep  1 10:59:47 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * flow.c (init_propagate_block_info): Don't mark frame dead at end
+       of function if returns wiht stack pointer depressed.
+
 2000-09-01  Andrew Haley  <aph@redhat.com>
 
         * dwarf2out.c (stack_adjust_offset): New function.
index 0afdc77eb020bce03df1430602b2d680328294e8..6f1ba7cf004bdd38e2578c9fce28149638ef62ef 100644 (file)
@@ -3780,6 +3780,9 @@ init_propagate_block_info (bb, live, local_set, flags)
      recording any such that are made and show them dead at the end.  We do
      a very conservative and simple job here.  */
   if (optimize
+      && ! (TREE_CODE (TREE_TYPE (current_function_decl)) == FUNCTION_TYPE
+           && (TYPE_RETURNS_STACK_DEPRESSED
+               (TREE_TYPE (current_function_decl))))
       && (flags & PROP_SCAN_DEAD_CODE)
       && (bb->succ == NULL
          || (bb->succ->succ_next == NULL