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
This commit is contained in:
Seongbae Park 2007-06-12 21:28:16 +00:00 committed by Kenneth Zadeck
parent 0a090f42f6
commit b718216c5a
4 changed files with 13 additions and 21 deletions

View File

@ -1,3 +1,10 @@
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>
* opts.c (common_handle_option): Handle new option -fdbg-cnt-list.

View File

@ -7674,7 +7674,7 @@ sparc_check_64 (rtx x, rtx insn)
y = gen_rtx_REG (SImode, REGNO (x) + WORDS_BIG_ENDIAN);
if (flag_expensive_optimizations
&& DF_REG_DEF_COUNT (REGNO (y)) == 1)
&& df && DF_REG_DEF_COUNT (REGNO (y)) == 1)
set_once = 1;
if (insn == 0)

View File

@ -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

View File

@ -2850,12 +2850,6 @@ cprop_jump (basic_block bb, rtx setcc, rtx jump, rtx from, rtx src)
/* Remove REG_EQUAL note after simplification. */
if (note_src)
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