plugin hooks for plugin-provided builtins?

Nicolas BENOIT nicolas.benoit@cea.fr
Wed Sep 15 13:20:00 GMT 2010


On 09/15/2010 08:54 AM, Arnaud Charlet wrote:
>> Given the current limitations of Gimple, another area to focus on could be
>> task parallelism (rather than data parallelism).  In that case a language
>> like [Google] Go (via GCC) might make a better talking point than C or
>> Fortran.
>
> An even better starting point would be Ada which has built-in multi-tasking
> constructs.
>
> Arno
>

Hi everybody,

At the last GROW workshop in Pisa, I presented Gomet, an extension to 
GCC which (among other things) performs GIMPLE-to-C translation for 
parallelization purpose.
http://ctuning.org/dissemination/grow10-02.pdf
The paper is out of date now with respect to the progress made in Gomet 
this year, but you may find some information in there anyway.

It is definitely possible to achieve such translation, and the 
information available in the middle-end are sufficient.
If the input source code is C, then the biggest required transformation 
is to adapt the SSA form and lower PHI nodes.
Additional glitches (coming from floating point types, array and type 
sizes in pointer arithmetics, includes) can be overcome.

If the input source code is not C, additional work is required to map 
specific language constructs to C. In Gomet, a subset of Fortran and C++ 
is supported for free. I did not try Ada, Go or other input languages.

Regards,
N. BENOIT



More information about the Gcc mailing list