summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2008-09-12 13:31:51 +0000
committerUlrich Weigand <uweigand@gcc.gnu.org>2008-09-12 13:31:51 +0000
commit0a317111c89223ebc8ec82e7f35f72578d941b59 (patch)
tree613cb30af0d923dfeebeed2efa24cf54b24a39f4
parent59dbe4fef06b1690567719388feb11f2e3658e9c (diff)
downloadgcc-0a317111c89223ebc8ec82e7f35f72578d941b59.tar.gz
emit-rtl.c (set_reg_attrs_from_value): Fix invalid alignment information passed to mark_reg_pointer.
* emit-rtl.c (set_reg_attrs_from_value): Fix invalid alignment information passed to mark_reg_pointer. * explow.c (force_reg): Likewise. From-SVN: r140318
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/emit-rtl.c2
-rw-r--r--gcc/explow.c4
3 files changed, 8 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 653dc51e059..f499e2fe04a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2008-09-12 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+ * emit-rtl.c (set_reg_attrs_from_value): Fix invalid alignment
+ information passed to mark_reg_pointer.
+ * explow.c (force_reg): Likewise.
+
+2008-09-12 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
* config/spu/spu.c (spu_override_options): Default to -mno-safe-hints
when building for the celledp architecture.
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 0efce7e2434..318ae775330 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -979,7 +979,7 @@ set_reg_attrs_from_value (rtx reg, rtx x)
REG_ATTRS (reg)
= get_reg_attrs (MEM_EXPR (x), INTVAL (MEM_OFFSET (x)) + offset);
if (MEM_POINTER (x))
- mark_reg_pointer (reg, MEM_ALIGN (x));
+ mark_reg_pointer (reg, 0);
}
else if (REG_P (x))
{
diff --git a/gcc/explow.c b/gcc/explow.c
index a1f76506023..498d40e284e 100644
--- a/gcc/explow.c
+++ b/gcc/explow.c
@@ -698,10 +698,8 @@ force_reg (enum machine_mode mode, rtx x)
align = MIN (sa, ca);
}
- else if (MEM_P (x) && MEM_POINTER (x))
- align = MEM_ALIGN (x);
- if (align)
+ if (align || (MEM_P (x) && MEM_POINTER (x)))
mark_reg_pointer (temp, align);
}