diff options
author | Seongbae Park <seongbae.park@gmail.com> | 2007-06-12 21:28:16 +0000 |
---|---|---|
committer | Kenneth Zadeck <zadeck@gcc.gnu.org> | 2007-06-12 21:28:16 +0000 |
commit | b718216c5ad4bc0054646d701d3b4fa67d74c96b (patch) | |
tree | f1a52028038cb9c4d4237adcf534a3b7dfc762b0 /gcc/df-scan.c | |
parent | 0a090f42f6f1a646830a7b51c8b267fe27da383c (diff) | |
download | gcc-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.c | 19 |
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 |