aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/caller-save.c2
-rw-r--r--gcc/ira.c4
-rw-r--r--gcc/postreload.c2
-rw-r--r--gcc/rtl.h1
5 files changed, 16 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 43a30e7..f6b5099 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,14 @@
+2010-08-05 Bernd Schmidt <bernds@codesourcery.com>
+
+ From Martin Thuresson <martint@google.com>
+ * postreload.c (reload_cse_simplify_operands): Use
+ SET_REGNO_RAW instead of SET_REGNO.
+ * caller-save.c (reg_save_code): Use SET_REGNO_RAW instead of
+ SET_REGNO.
+ * ira.c (setup_prohibited_mode_move_regs): Use SET_REGNO_RAW
+ instead of SET_REGNO.
+ * rtl.h (SET_REGNO_RAW): New macro.
+
2010-08-05 Eric Botcazou <ebotcazou@adacore.com>
* rtlanal.c (nonzero_bits1): Use unsigned HOST_WIDE_INT in all mask
diff --git a/gcc/caller-save.c b/gcc/caller-save.c
index 60c4747..446da51 100644
--- a/gcc/caller-save.c
+++ b/gcc/caller-save.c
@@ -124,7 +124,7 @@ reg_save_code (int reg, enum machine_mode mode)
/* Update the register number and modes of the register
and memory operand. */
- SET_REGNO (test_reg, reg);
+ SET_REGNO_RAW (test_reg, reg);
PUT_MODE (test_reg, mode);
PUT_MODE (test_mem, mode);
diff --git a/gcc/ira.c b/gcc/ira.c
index 36d6e61..98a34c1 100644
--- a/gcc/ira.c
+++ b/gcc/ira.c
@@ -1219,9 +1219,9 @@ setup_prohibited_mode_move_regs (void)
{
if (! HARD_REGNO_MODE_OK (j, (enum machine_mode) i))
continue;
- SET_REGNO (test_reg1, j);
+ SET_REGNO_RAW (test_reg1, j);
PUT_MODE (test_reg1, (enum machine_mode) i);
- SET_REGNO (test_reg2, j);
+ SET_REGNO_RAW (test_reg2, j);
PUT_MODE (test_reg2, (enum machine_mode) i);
INSN_CODE (move_insn) = -1;
recog_memoized (move_insn);
diff --git a/gcc/postreload.c b/gcc/postreload.c
index a62569e..dbc11bb 100644
--- a/gcc/postreload.c
+++ b/gcc/postreload.c
@@ -528,7 +528,7 @@ reload_cse_simplify_operands (rtx insn, rtx testreg)
if (! TEST_HARD_REG_BIT (equiv_regs[i], regno))
continue;
- SET_REGNO (testreg, regno);
+ SET_REGNO_RAW (testreg, regno);
PUT_MODE (testreg, mode);
/* We found a register equal to this operand. Now look for all
diff --git a/gcc/rtl.h b/gcc/rtl.h
index f59ca54..710e3ca 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -1039,6 +1039,7 @@ enum label_kind
be used on RHS. Use SET_REGNO to change the value. */
#define REGNO(RTX) (rhs_regno(RTX))
#define SET_REGNO(RTX,N) (df_ref_change_reg_with_loc (REGNO(RTX), N, RTX), XCUINT (RTX, 0, REG) = N)
+#define SET_REGNO_RAW(RTX,N) (XCUINT (RTX, 0, REG) = N)
/* ORIGINAL_REGNO holds the number the register originally had; for a
pseudo register turned into a hard reg this will hold the old pseudo