This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
RE: [PATCH] Fix Cilk+ ICEs in the alias oracle
- From: "Iyer, Balaji V" <balaji dot v dot iyer at intel dot com>
- To: Jeff Law <law at redhat dot com>, Richard Biener <rguenther at suse dot de>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 14 Feb 2014 19:03:36 +0000
- Subject: RE: [PATCH] Fix Cilk+ ICEs in the alias oracle
- Authentication-results: sourceware.org; auth=none
- References: <alpine dot LSU dot 2 dot 11 dot 1402131210030 dot 1593 at zhemvz dot fhfr dot qr> <alpine dot LSU dot 2 dot 11 dot 1402131338270 dot 1593 at zhemvz dot fhfr dot qr> <52FE538C dot 4020404 at redhat dot com>
> -----Original Message-----
> From: Jeff Law [mailto:law@redhat.com]
> Sent: Friday, February 14, 2014 12:34 PM
> To: Richard Biener; gcc-patches@gcc.gnu.org
> Cc: Iyer, Balaji V
> Subject: Re: [PATCH] Fix Cilk+ ICEs in the alias oracle
>
> On 02/13/14 05:47, Richard Biener wrote:
> > On Thu, 13 Feb 2014, Richard Biener wrote:
> >
> >>
> >> Cilk+ builds INDIRECT_REFs when expanding builtins (oops) and thus
> >> those can leak into MEM_EXRs which will lead to ICEs later.
> >> The following patch properly builds a MEM_REF instead. Grepping for
> >> INDIRECT_REF I found another suspicious use (just removed, it cannot
> >> have triggered and it looks bogus) and the use of a langhook instead
> >> of proper GIMPLE interfaces (function also used during expansion).
> >>
> >> Bootstrap / testing in progress together with some other stuff.
> >>
> >> Ok?
> >
> > Btw, this exposes that Cilk+ is LTO-ignorant - it doesn't properly
> > register its global trees (bah, more global trees...). So the
> > types_compatible_p call ICEs. Trying to process them in
> > lto/lto.c:read_cgraph_and_symbols doesn't seem to work though.
> >
> > So I'm opting to remove the assert and leave fixing LTO for somebody
> > who cares about Cilk+.
> >
> > Simpifies the patch as follows, bootstrapped & tested on
> > x86_64-unknown-linux-gnu.
> >
> > Richard.
> >
> > 2014-02-13 Richard Biener <rguenther@suse.de>
> >
> > * cilk-common.c (cilk_arrow): Build a MEM_REF, not an
> INDIRECT_REF.
> > (get_frame_arg): Drop the assert with langhook
> types_compatible_p.
> > Do not strip INDIRECT_REFs.
> FWIW, I see a recurring issue here. Specifically I'm regularly seeing
> cases where submissions are not playing well with LTO. Speaking
> strictly for myself, I'm not LTO-aware enough to spot them in patches as they
> fly by.
I thought I had handled LTO correctly. I apologize if I made a mistake. I assure you that it was not deliberate. I even had my tests use -flto flags to make sure it is going through it correctly...
>
> It's not meant to be a criticism, just noting a recurring issue.
>
> jeff