From: uweigand Date: Fri, 12 Sep 2008 13:31:51 +0000 (+0000) Subject: * emit-rtl.c (set_reg_attrs_from_value): Fix invalid alignment X-Git-Url: http://git.sourceforge.jp/view?a=commitdiff_plain;h=40b93dba3decd72c7e309030ea72afc3a6510e8b;p=pf3gnuchains%2Fgcc-fork.git * emit-rtl.c (set_reg_attrs_from_value): Fix invalid alignment information passed to mark_reg_pointer. * explow.c (force_reg): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140318 138bc75d-0d04-0410-961f-82ee72b054a4 --- 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 + * 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 + * 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); }