On Fri, Nov 29, 2013 at 4:03 PM, Jakub Jelinek <ja...@redhat.com> wrote:
> On Fri, Nov 29, 2013 at 01:36:48PM +0100, Richard Biener wrote:
>> > Thoughts, comments? Does anyone have a good name for these accelerator
>> > targets or output targets, something that avoids the overloaded word
>> > "target" (I was thinking "destination machine" maybe)?
>
> I think offload is best word here.
>
>> Note that we (SUSE/AMD) sofar think we can go an easier route, not
>> adding a real backend that targets HSAIL/BRIG but instead use a
>> custom GIMPLE SSA -> HSAIL/BRIG translator (including a SSA
>> based register allocator).  Which if course simplifies driving this a bit
>> as we don't need to write/read any GIMPLE.
>>
>> The idea is of course that the "highlevel" target languages, being it
>> HSAIL/BRIG or PTX run through another compiler + optimizer anyway,
>> so machine specific optimization is not necessary (fingers crossing...).
>>
>> Not sure if anybody announced it yet (but gcc-cvs readers may have
>> noticed), there is a 'hsa' branch in svn covering work done sofar
>> (see gcc/README.hsa for how to use it).
>
> But you probably don't want to translate GIMPLE right out of IPA into
> HSAIL/BRIG, do you?

Actually we do currently.

> And various further passes depend already (well, also
> the early ones a little bit, but that is something to fix) heavily on
> targetm.* and target macros, so do you plan to switch targetm to something
> else and compile again a subset of functions for the HSAIL target?
> Otherwise, how could you e.g. vectorize code (assuming HSAIL has vector
> support)?

Yeah, we seem to run host specific passes before HSAIL/BRIG generation
so we have to address this somehow.

Richard.

>
>         Jakub

Reply via email to