This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] Fix PR tree-optimization/45722
- 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
- Date: Sun, 14 Nov 2010 11:30:04 +0100
- Subject: Re: [patch] Fix PR tree-optimization/45722
- References: <201011140017.47860.ebotcazou@adacore.com>
On Sun, Nov 14, 2010 at 12:17 AM, Eric Botcazou <ebotcazou@adacore.com> wrote:
> Hi,
>
> this is the failure of gcc.c-torture/execute/20040709-2.c on various strict
> alignment platforms. ?The SRA pass builds naked MEM_REFs to scalarize direct
> assignments between structures and this can run afoul of the old quirks of
> the indirect access support on strict alignment platforms. ?So the attached
> patch arranges to always preserve existing COMPONENT_REF accesses around the
> MEM_REFs; I think a complete fix would be not to build the MEM_REFs in the
> first place as this introduces artificial addressability issues that aren't in
> the original code.
What kind of artificial addressability issues? Note that the base operand of
a MEM_REF does not have to be addressable.
> This in turn requires a small adjustment to the pattern
> matching code in ipa-prop.c.
>
> Tested on x86-64/Linux, SPARC 32-bit and 64-bit Solaris. ?OK for mainline?
Ok.
Thanks,
Richard.
>
> 2010-11-13 ?Eric Botcazou ?<ebotcazou@adacore.com>
>
> ? ? ? ?PR tree-optimization/45722
> ? ? ? ?* tree-sra.c (build_ref_for_model): Always build a COMPONENT_REF if
> ? ? ? ?this is a reference to a component.
> ? ? ? ?* ipa-prop.c (ipa_get_member_ptr_load_param): Accept COMPONENT_REF.
> ? ? ? ?(ipa_note_param_call): Adjust comment.
>
>
> --
> Eric Botcazou
>