aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog.dataflow11
-rw-r--r--gcc/combine.c6
-rw-r--r--gcc/config/rs6000/rs6000.c4
-rw-r--r--gcc/dse.c2
-rw-r--r--gcc/emit-rtl.c8
-rw-r--r--gcc/reg-stack.c17
6 files changed, 22 insertions, 26 deletions
diff --git a/gcc/ChangeLog.dataflow b/gcc/ChangeLog.dataflow
index 723f5ebf29b..936caa09193 100644
--- a/gcc/ChangeLog.dataflow
+++ b/gcc/ChangeLog.dataflow
@@ -1,3 +1,14 @@
+2007-06-07 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * emit-rtl.c (set_insn_deleted): Changed NOTE_LINE_NUMBER to
+ NOTE_KIND.
+ (emit_note_after): Fixed merge glitch.
+ * combine.c (try_combine): Changed NOTE_LINE_NUMBER to
+ NOTE_KIND.
+ * reg-stack.c (convert_regs_1): Fixed merge glitch.
+ * config/rs6000/rs6000.c (no_global_regs_above): Fixed merge typo.
+ (rs6000_emit_prologue): Fixed merge glitch.
+
2007-06-06 Kenneth Zadeck <zadeck@naturalbridge.com>
* regrename.c (do_replace): Removed ifdefed out code.
diff --git a/gcc/combine.c b/gcc/combine.c
index 6fc93dac59a..6077e783cf0 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -3694,7 +3694,7 @@ try_combine (rtx i3, rtx i2, rtx i1, int *new_direct_jump_p)
df_insn_rescan (undobuf.other_insn);
}
- if (i1 && !(NOTE_P(i1) && (NOTE_LINE_NUMBER (i1) == NOTE_INSN_DELETED)))
+ if (i1 && !(NOTE_P(i1) && (NOTE_KIND (i1) == NOTE_INSN_DELETED)))
{
if (dump_file)
{
@@ -3704,7 +3704,7 @@ try_combine (rtx i3, rtx i2, rtx i1, int *new_direct_jump_p)
df_insn_rescan (i1);
}
- if (i2 && !(NOTE_P(i2) && (NOTE_LINE_NUMBER (i2) == NOTE_INSN_DELETED)))
+ if (i2 && !(NOTE_P(i2) && (NOTE_KIND (i2) == NOTE_INSN_DELETED)))
{
if (dump_file)
{
@@ -3714,7 +3714,7 @@ try_combine (rtx i3, rtx i2, rtx i1, int *new_direct_jump_p)
df_insn_rescan (i2);
}
- if (i3 && !(NOTE_P(i3) && (NOTE_LINE_NUMBER (i3) == NOTE_INSN_DELETED)))
+ if (i3 && !(NOTE_P(i3) && (NOTE_KIND (i3) == NOTE_INSN_DELETED)))
{
if (dump_file)
{
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 6fff7080f41..910dae7398f 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -14636,7 +14636,7 @@ no_global_regs_above (int first_greg)
static bool
rs6000_reg_live_or_pic_offset_p (int reg)
{
- return ((df_regs_rever_live_p (reg)
+ return ((df_regs_ever_live_p (reg)
&& (!call_used_regs[reg]
|| (reg == RS6000_PIC_OFFSET_TABLE_REGNUM
&& TARGET_TOC && TARGET_MINIMAL_TOC)))
@@ -14947,7 +14947,7 @@ rs6000_emit_prologue (void)
int i;
rtx spe_save_area_ptr;
int using_static_chain_p = (cfun->static_chain_decl != NULL_TREE
- && regs_ever_live[STATIC_CHAIN_REGNUM]
+ && df_regs_ever_live_p (STATIC_CHAIN_REGNUM)
&& !call_used_regs[STATIC_CHAIN_REGNUM]);
/* Determine whether we can address all of the registers that need
diff --git a/gcc/dse.c b/gcc/dse.c
index 0b15f95e3b3..e846f3f1459 100644
--- a/gcc/dse.c
+++ b/gcc/dse.c
@@ -949,7 +949,7 @@ const_or_frame_p (rtx x)
switch (GET_CODE (x))
{
case MEM:
- return !MEM_READONLY_P (x);
+ return MEM_READONLY_P (x);
case CONST:
case CONST_INT:
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 364ecd6a3c0..9f1d71674a5 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -3523,10 +3523,7 @@ void set_insn_deleted (rtx insn)
{
df_insn_delete (BLOCK_FOR_INSN (insn), INSN_UID (insn));
PUT_CODE (insn, NOTE);
-#ifndef USE_MAPPED_LOCATION
- NOTE_SOURCE_FILE (insn) = 0;
-#endif
- NOTE_LINE_NUMBER (insn) = NOTE_INSN_DELETED;
+ NOTE_KIND (insn) = NOTE_INSN_DELETED;
}
@@ -4110,9 +4107,8 @@ emit_note_after (enum insn_note subtype, rtx after)
INSN_UID (note) = cur_insn_uid++;
NOTE_KIND (note) = subtype;
BLOCK_FOR_INSN (note) = NULL;
- add_insn_after (note, after, NULL);
memset (&NOTE_DATA (note), 0, sizeof (NOTE_DATA (note)));
- add_insn_after (note, after);
+ add_insn_after (note, after, NULL);
return note;
}
diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c
index 44dc7c2db06..6de1bcb1cef 100644
--- a/gcc/reg-stack.c
+++ b/gcc/reg-stack.c
@@ -2977,21 +2977,10 @@ convert_regs_1 (basic_block block)
/* Something failed if the stack lives don't match. If we had malformed
asms, we zapped the instruction itself, but that didn't produce the
- same pattern of register kills as before.
+ same pattern of register kills as before. */
- Disable this checking for blocks leading to EXIT block - for undefined
- return values blocks containing return statement are not declaring return
- register as live while we have to initialize it (as otherwise the caller's
- register stack would end up missordered).
- Alternatively we might update bi->out_reg_set in reg_to_stack for return
- registers to save this sanity check. */
- if (!single_succ_p (block)
- || single_succ_edge (block)->dest != EXIT_BLOCK_PTR)
- {
- GO_IF_HARD_REG_EQUAL (regstack.reg_set, bi->out_reg_set, win);
- gcc_assert (any_malformed_asm);
- }
- win:
+ gcc_assert (hard_reg_set_equal_p (regstack.reg_set, bi->out_reg_set)
+ || any_malformed_asm);
bi->stack_out = regstack;
bi->done = true;
}