Commit b718216c by Seongbae Park Committed by Kenneth Zadeck

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
parent 0a090f42
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.
2007-06-12 Seongbae Park <seongbae.park@gmail.com> 2007-06-12 Seongbae Park <seongbae.park@gmail.com>
* opts.c (common_handle_option): Handle new option -fdbg-cnt-list. * opts.c (common_handle_option): Handle new option -fdbg-cnt-list.
......
...@@ -7674,7 +7674,7 @@ sparc_check_64 (rtx x, rtx insn) ...@@ -7674,7 +7674,7 @@ sparc_check_64 (rtx x, rtx insn)
y = gen_rtx_REG (SImode, REGNO (x) + WORDS_BIG_ENDIAN); y = gen_rtx_REG (SImode, REGNO (x) + WORDS_BIG_ENDIAN);
if (flag_expensive_optimizations if (flag_expensive_optimizations
&& DF_REG_DEF_COUNT (REGNO (y)) == 1) && df && DF_REG_DEF_COUNT (REGNO (y)) == 1)
set_once = 1; set_once = 1;
if (insn == 0) if (insn == 0)
......
...@@ -1005,7 +1005,7 @@ df_insn_delete (basic_block bb, unsigned int uid) ...@@ -1005,7 +1005,7 @@ df_insn_delete (basic_block bb, unsigned int uid)
bitmap_set_bit (df->insns_to_delete, uid); bitmap_set_bit (df->insns_to_delete, uid);
} }
if (dump_file) 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; return;
} }
...@@ -1116,7 +1116,7 @@ df_insn_rescan (rtx insn) ...@@ -1116,7 +1116,7 @@ df_insn_rescan (rtx insn)
insn_info->mw_hardregs = df_null_mw_rec; insn_info->mw_hardregs = df_null_mw_rec;
} }
if (dump_file) 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_delete, uid);
bitmap_clear_bit (df->insns_to_notes_rescan, uid); bitmap_clear_bit (df->insns_to_notes_rescan, uid);
...@@ -3682,18 +3682,9 @@ df_get_exit_block_use_set (bitmap exit_block_uses) ...@@ -3682,18 +3682,9 @@ df_get_exit_block_use_set (bitmap exit_block_uses)
unsigned int i; unsigned int i;
bitmap_clear (exit_block_uses); bitmap_clear (exit_block_uses);
/* If exiting needs the right stack value, consider the stack /* Stack pointer is always live at the exit. */
pointer live at the end of the function. */ bitmap_set_bit (exit_block_uses, STACK_POINTER_REGNUM);
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);
}
/* Mark the frame pointer if needed at the end of the function. /* 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 If we end up eliminating it, it will be removed from the live
......
...@@ -2850,12 +2850,6 @@ cprop_jump (basic_block bb, rtx setcc, rtx jump, rtx from, rtx src) ...@@ -2850,12 +2850,6 @@ cprop_jump (basic_block bb, rtx setcc, rtx jump, rtx from, rtx src)
/* Remove REG_EQUAL note after simplification. */ /* Remove REG_EQUAL note after simplification. */
if (note_src) if (note_src)
remove_note (jump, note); remove_note (jump, note);
/* If this has turned into an unconditional jump,
then put a barrier after it so that the unreachable
code will be deleted. */
if (GET_CODE (SET_SRC (set)) == LABEL_REF)
emit_barrier_after (jump);
} }
#ifdef HAVE_cc0 #ifdef HAVE_cc0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment