[PATCH] Handle BUILT_IN_GOACC_PARALLEL in ipa-pta

Richard Biener rguenther@suse.de
Thu Jan 14 09:32:00 GMT 2016


On Thu, 14 Jan 2016, Thomas Schwinge wrote:

> 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?

It's good for trunk.

Richard.



More information about the Gcc-patches mailing list