On 11/29/2013 06:03 PM, Jakub Jelinek wrote:
> On Fri, Nov 29, 2013 at 05:57:25PM +0100, Bernd Schmidt wrote:
>> On 11/29/2013 04:16 PM, Jakub Jelinek wrote:
>>> As you want to dump the GIMPLE IL right out of ~ IPA stage, it should in
>>> theory be target independent, so it is undesirable to emit it several times
>>> for each offloading target.
>>
>> That's not what happens. It's just partitioned into disjoint sets, one
>> for each target, which is then written out with the target name encoded
>> in the section name.
> 
> But why?  Does OpenACC have some way to say, this is to be offloaded for
> offloading target XYZ?  In OpenMP 4.0, you have just host (initial device)
> code and then some code that is either offloaded if possible, or not
> (thus, either code/variables are emitted only for the primary target, no
> offloading, or both for primary target and offloading).  But the tought was
> to stream the generic GIMPLE at IPA time for that (target independent) and
> only choose later on (during linking) for which offloading targets you
> actually want to compile it (if any).

By what mechanism do you choose? This is unclear to me from what I've
seen. Does this involve user action, and what's the advantage of doing
it this way?
The model I was imagining is that we choose the OpenACC target at
configure time and things happen automatically from there on.


Bernd

Reply via email to