diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2008-09-12 13:31:51 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@gcc.gnu.org> | 2008-09-12 13:31:51 +0000 |
commit | 0a317111c89223ebc8ec82e7f35f72578d941b59 (patch) | |
tree | 613cb30af0d923dfeebeed2efa24cf54b24a39f4 | |
parent | 59dbe4fef06b1690567719388feb11f2e3658e9c (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/emit-rtl.c | 2 | ||||
-rw-r--r-- | gcc/explow.c | 4 |
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); } |