This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch PR 45260]: [4.5/4.6 Regression] g++4.5: -prefetch-loop-arrays internal compiler error: in verify_expr, at tree-cfg.c:2541
- From: Richard Guenther <richard dot guenther at gmail dot com>
- To: "Fang, Changpeng" <Changpeng dot Fang at amd dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, "rguenther at suse dot de" <rguenther at suse dot de>, "pinskia at gcc dot gnu dot org" <pinskia at gcc dot gnu dot org>, Zdenek Dvorak <rakdver at kam dot mff dot cuni dot cz>, "sebpop at gmail dot com" <sebpop at gmail dot com>
- Date: Mon, 23 Aug 2010 18:31:05 +0200
- Subject: Re: [Patch PR 45260]: [4.5/4.6 Regression] g++4.5: -prefetch-loop-arrays internal compiler error: in verify_expr, at tree-cfg.c:2541
- References: <D4C76825A6780047854A11E93CDE84D05B04FB49@SAUSEXMBP01.amd.com>
On Sat, Aug 21, 2010 at 12:44 AM, Fang, Changpeng
<Changpeng.Fang@amd.com> wrote:
> Hi,
>
> The attached patch fixes PR 45260: ?[4.5/4.6 Regression] g++4.5: -prefetch-loop-arrays internal compiler error: in verify_expr, at tree-cfg.c:2541
>
> Problem: The prefetch pass generates an ADDR_EXPR for COMPONENT_REF(VIEW_CONVERT_EXPR(SSA_NAME)) whose
> address could not be taken, and thus invokes an assertion failure in verify_expr.
>
> Solution: Don't generate prefetch for references whose base address could not be taken.
>
> In this patch, we make may_be_nonaddressable_p (tree expr) global and use it in the prefetch pass.
>
> This patch passed bootstrapping and gcc regression tests on x86_64-unknown-linux-gnu systems ib both
> trunk and 4.5 branch.
>
> Is it OK to commit to trunk and 4.5 branch?
Ok.
Thanks,
Richard.
> Thanks and have a wonderful weekend!
>
> Changpeng