This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Handle BUILT_IN_GOACC_PARALLEL in ipa-pta
- From: Thomas Schwinge <thomas at codesourcery dot com>
- To: Jakub Jelinek <jakub at redhat dot com>, Richard Biener <rguenther at suse dot de>, Tom de Vries <Tom_deVries at mentor dot com>
- Cc: "gcc-patches at gnu dot org" <gcc-patches at gnu dot org>
- Date: Thu, 14 Jan 2016 10:31:00 +0100
- Subject: Re: [PATCH] Handle BUILT_IN_GOACC_PARALLEL in ipa-pta
- Authentication-results: sourceware.org; auth=none
- References: <565C0F47 dot 5020604 at mentor dot com> <alpine dot LSU dot 2 dot 11 dot 1511301010570 dot 4884 at t29 dot fhfr dot qr> <565C3CEC dot 9040209 at mentor dot com> <alpine dot LSU dot 2 dot 11 dot 1511301423530 dot 4884 at t29 dot fhfr dot qr> <565C7B09 dot 6000206 at mentor dot com> <565DADE6 dot 8020908 at mentor dot com> <87zixsloli dot fsf at kepler dot schwinge dot homeip dot net> <565F7F68 dot 1080903 at mentor dot com> <565F8881 dot 90609 at mentor dot com> <565F8C69 dot 1070906 at mentor dot com> <alpine dot LSU dot 2 dot 11 dot 1512030958510 dot 4884 at t29 dot fhfr dot qr> <566022D0 dot 2030906 at mentor dot com> <56697AC5 dot 7060902 at mentor dot com> <56718B13 dot 4040601 at mentor dot com> <alpine dot LSU dot 2 dot 11 dot 1601080916430 dot 31122 at t29 dot fhfr dot qr>
Hi!
On Fri, 8 Jan 2016 09:16:55 +0100, Richard Biener <rguenther@suse.de> wrote:
> On Wed, 16 Dec 2015, Tom de Vries wrote:
> > On 10/12/15 14:14, Tom de Vries wrote:
> > > > On Thu, 3 Dec 2015, Tom de Vries wrote:
> > > > > Essentially we have two situations:
> > > > > - in the host compiler, there is no need for the forced_output flag,
> > > > > and it inhibits optimization
> > > > > - in the accelerator compiler, it (or some equivalent) is needed
> > >
> > > Actually, things are slightly more complicated, I realize now. There's
> > > also the distinction between:
> > > - symbols declared as offloadable in the source code, and
> > > - symbols create by the compiler and marked offloadable
> > >
> > > > > I wonder if setting the force_output flag only when streaming the
> > > > > bytecode for
> > > > > offloading would work. That way, it wouldn't be set in the host
> > > > > compiler,
> > > > > while being set in the accelerator compiler.
> > > >
> > > > Yeah, that was my original thinking btw.
> > >
> > > FTR, I've tried that approach, as attached. It fixed the
> > > goacc/kernels-alias-ipa-pta*.c failures.
Confirmed. And, no change in offloading testing when applying the patch
to gomp-4_0-branch (where these FAILs didn't appear to begin with).
> > > And I ran target-libgomp (also
> > > using an accelerator configuration) without any regressions.
Confirmed.
> > How about this patch?
> >
> > We remove the setting of force_output when:
> > - encountering offloadable symbols in the frontend, or
> > - creating offloadable symbols in expand-omp.
> >
> > Instead, we set force_output in input_offload_tables.
> >
> > This is an improvement because:
> > - it moves the force_output setting to a single location
> > - it does the force_output setting ALAP
>
> Works for me.
Do we need review from Jakub or is this good for trunk?
GrÃÃe
Thomas