This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] Fix unaligned accesses generated by IVOPTS
- From: Richard Guenther <richard dot guenther at gmail dot com>
- To: Eric Botcazou <ebotcazou at adacore dot com>
- Cc: gcc-patches at gcc dot gnu dot org, DJ Delorie <dj at redhat dot com>
- Date: Mon, 26 Apr 2010 12:04:54 +0200
- Subject: Re: [patch] Fix unaligned accesses generated by IVOPTS
- References: <201004260947.56133.ebotcazou@adacore.com>
On Mon, Apr 26, 2010 at 9:47 AM, Eric Botcazou <ebotcazou@adacore.com> wrote:
> Hi,
>
> this is the bug discussed at http://gcc.gnu.org/ml/gcc/2010-04/msg00178.html
>
> As reported by DJ, IVOPTS can generate unaligned accesses on strict alignment
> machines because may_be_unaligned_p overlooks the variable part of the offset
> in the reference it is passed. ?The attached C testcase raises a SIGBUS on
> SPARC/Solaris at -O2 with all 4.x versions I tested (4.1, 4.3, 4.5, 4.6) but
> not with 3.4 so this is an old regression.
>
> Bootstrapped/regtested on SPARC/Solaris and SPARC64/Solaris. ?OK for mainline
> and for which branches?
Ok for trunk and 4.5, please wait for the 4.4 branch to un-freeze,
after that it's fine for 4.4 and 4.3 as well.
Thanks.
Richard.
>
> 2010-04-26 ?Eric Botcazou ?<ebotcazou@adacore.com>
>
> ? ? ? ?* tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of
> ? ? ? ?the variable part of the offset as well. ?Use highest_pow2_factor for
> ? ? ? ?all alignment checks.
>
>
> 2010-04-26 ?DJ Delorie ?<dj@redhat.com>
>
> ? ? ? ?* gcc.c-torture/execute/20100426-1.c: New test.
>
>
> --
> Eric Botcazou
>