aboutsummaryrefslogtreecommitdiff
path: root/gcc/df-scan.c
diff options
context:
space:
mode:
authorSeongbae Park <seongbae.park@gmail.com>2007-06-12 21:28:16 +0000
committerKenneth Zadeck <zadeck@gcc.gnu.org>2007-06-12 21:28:16 +0000
commitb718216c5ad4bc0054646d701d3b4fa67d74c96b (patch)
treef1a52028038cb9c4d4237adcf534a3b7dfc762b0 /gcc/df-scan.c
parent0a090f42f6f1a646830a7b51c8b267fe27da383c (diff)
downloadgcc-b718216c5ad4bc0054646d701d3b4fa67d74c96b.zip
gcc-b718216c5ad4bc0054646d701d3b4fa67d74c96b.tar.gz
gcc-b718216c5ad4bc0054646d701d3b4fa67d74c96b.tar.bz2
df-scan.c (df_get_exit-block_use_set): Always add the stack pointer to the exit block use set.
2007-06-12 Seongbae Park <seongbae.park@gmail.com> * df-scan.c (df_get_exit-block_use_set): Always add the stack pointer to the exit block use set. * gcse.c (cpro_jump): Don't emit barrier in cfglayout mode. * config/sparc/sparc.c (sparc_check_64): Check df != NULL. From-SVN: r125658
Diffstat (limited to 'gcc/df-scan.c')
-rw-r--r--gcc/df-scan.c19
1 files changed, 5 insertions, 14 deletions
diff --git a/gcc/df-scan.c b/gcc/df-scan.c
index 7b878fd..ff33aa3 100644
--- a/gcc/df-scan.c
+++ b/gcc/df-scan.c
@@ -1005,7 +1005,7 @@ df_insn_delete (basic_block bb, unsigned int uid)
bitmap_set_bit (df->insns_to_delete, uid);
}
if (dump_file)
- fprintf (dump_file, "defering deletion of insn with uid = %d.\n", uid);
+ fprintf (dump_file, "deferring deletion of insn with uid = %d.\n", uid);
return;
}
@@ -1116,7 +1116,7 @@ df_insn_rescan (rtx insn)
insn_info->mw_hardregs = df_null_mw_rec;
}
if (dump_file)
- fprintf (dump_file, "defering rescan insn with uid = %d.\n", uid);
+ fprintf (dump_file, "deferring rescan insn with uid = %d.\n", uid);
bitmap_clear_bit (df->insns_to_delete, uid);
bitmap_clear_bit (df->insns_to_notes_rescan, uid);
@@ -3682,18 +3682,9 @@ df_get_exit_block_use_set (bitmap exit_block_uses)
unsigned int i;
bitmap_clear (exit_block_uses);
-
- /* If exiting needs the right stack value, consider the stack
- pointer live at the end of the function. */
- if ((HAVE_epilogue && epilogue_completed)
- || !EXIT_IGNORE_STACK
- || (!FRAME_POINTER_REQUIRED
- && !current_function_calls_alloca
- && flag_omit_frame_pointer)
- || current_function_sp_is_unchanging)
- {
- bitmap_set_bit (exit_block_uses, STACK_POINTER_REGNUM);
- }
+
+ /* Stack pointer is always live at the exit. */
+ bitmap_set_bit (exit_block_uses, STACK_POINTER_REGNUM);
/* Mark the frame pointer if needed at the end of the function.
If we end up eliminating it, it will be removed from the live