Introduction of GCC improvement work for Itanium via Gelato Federation

Vladimir N. Makarov vmakarov@redhat.com
Fri Sep 9 14:45:00 GMT 2005


mksmith@gelato.org wrote:

>Although many of us are involved, or have been involved, with other
>compiler projects, the focus of the Gelato GCC Improvement Group is to
>work *with* the GCC community *and* the GCC community *process* to
>improve GCC for Itanium. 
>
>Some of the other projects which individuals are currently, or have
>been, involved with include OpenIMPACT <www.gelato.uiuc.edu>, ORC
><ipf-orc.sourceforge.net>, icc
><www.intel.com/cd/software/products/asmo-na/eng/compilers/219760.htm>,
>LLVM <llvm.cs.uiuc.edu>, and a new initiative to produce a hybrid
>compiler based on the GCC front-end and the ORC back-end. (HP will
>present on this HP-led project in the general session at the next
>Gelato meeting.) 
>
>  
>
It would be interesting to know more details about the hybrid compiler.

  - Will the backend use RTL, Tree-SSA or will the backend be just ORC 
backend with its IL?

  - If it is just ORC backend with own IL, who will support the hybrid 
compiler or you hope that gcc community will support two backends (ORC 
one for Itanium and gcc backend for other architectures)?

  - If you want to see the hybrid compiler as a part of gcc project, how 
are you going to solve the copyright problem?  As I know, although ORC 
code is also distributed under GNU license, the copyright belongs to 
SGI.  All code developed under gcc project should belong to FSF.  Will 
SGI give up the copyright to FSF?

So, if the hybrid compiler will use ORC backend as it exists, I am quite 
skeptical that the project will be viable.  It will be just another 
research compiler, the users need an industrial compiler like gcc.  
There are a lot of technical problems too with usage of ORC backend (GCC 
supports many extensions like asm and languages).

The ORC backend optimizations proven to work for Itanium could be 
rewritten for RTL with usage of existing gcc infrastructure, added to 
gcc and could be used for other ports.  I think it is more right way to do.

Vlad



More information about the Gcc mailing list