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:
parent
0a090f42f6
commit
b718216c5a
@ -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.
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user