aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/df-scan.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 867f926..9eebb07 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2008-09-04 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * df-scan.c (df_get_entry_block_def_set): Add STACK_POINTER_REGNUM
+ regardless of epilogue_completed.
+
2008-09-04 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/37359
diff --git a/gcc/df-scan.c b/gcc/df-scan.c
index 0ce48b5..7e6796b 100644
--- a/gcc/df-scan.c
+++ b/gcc/df-scan.c
@@ -3681,6 +3681,9 @@ df_get_entry_block_def_set (bitmap entry_block_defs)
#endif
}
+ /* The always important stack pointer. */
+ bitmap_set_bit (entry_block_defs, STACK_POINTER_REGNUM);
+
/* Once the prologue has been generated, all of these registers
should just show up in the first regular block. */
if (HAVE_prologue && epilogue_completed)
@@ -3693,9 +3696,6 @@ df_get_entry_block_def_set (bitmap entry_block_defs)
}
else
{
- /* The always important stack pointer. */
- bitmap_set_bit (entry_block_defs, STACK_POINTER_REGNUM);
-
/* If STATIC_CHAIN_INCOMING_REGNUM == STATIC_CHAIN_REGNUM
only STATIC_CHAIN_REGNUM is defined. If they are different,
we only care about the STATIC_CHAIN_INCOMING_REGNUM. */