aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>2000-09-01 14:48:11 +0000
committerRichard Kenner <kenner@gcc.gnu.org>2000-09-01 10:48:11 -0400
commit6324d2bbb6e6dd180de74234c762523c2a946838 (patch)
tree356ba1db6c9026f84cf5fc8f001d2322168584b8 /gcc
parent1ba5ae8f0888da3bae02c130182485d58e8adce6 (diff)
downloadgcc-6324d2bbb6e6dd180de74234c762523c2a946838.zip
gcc-6324d2bbb6e6dd180de74234c762523c2a946838.tar.gz
gcc-6324d2bbb6e6dd180de74234c762523c2a946838.tar.bz2
flow.c (init_propagate_block_info): Don't mark frame dead at end of function if returns wiht stack pointer depressed.
* flow.c (init_propagate_block_info): Don't mark frame dead at end of function if returns wiht stack pointer depressed. From-SVN: r36099
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/flow.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d82386a..a395190 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/flow.c b/gcc/flow.c
index 0afdc77..6f1ba7c 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -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