Tech Support > Computer Hardware > Microprocessors > New GCC ICI (with plug-ins for dynamic pass reordering)
New GCC ICI (with plug-ins for dynamic pass reordering)
Posted by Grigori Fursin on September 15th, 2007


Subj: New GCC ICI (with plug-ins for dynamic pass reordering)

Hello all,

In case some of you are interested, we produced a new version
of the Interactive Compilation Interface (ICI) for GCC
(the tarball for this release can be downloaded here:
https://sourceforge.net/project/show...ease_id=539711)

To remind, the main aim of the Interactive Compilation Interface (ICI)
is to
transform GCC (production quality non-research compiler that supports
many
languages and architectures) into research compiler with minimal
changes. It
can be used to enable research on iterative fine-grain program
optimizations
for different constraints (performance, code size, power consumption,
DSE,
different ISAs, etc), to unify optimization knowledge reuse among
different
programs and architectures using statistical and machine learning
techniques, and to improve default compiler optimization heuristic.

In a new version we re-designed the ICI completely based on the
valuable feedback from the users after the SMART'07 workshop and
GCC HiPEAC'07 tutorial (many thanks to Cupertino Miranda
who implemented most of it). The communication with the new ICI
is now performed through a dynamically linked GCC plug-in written
in C (however any high-level or scripting language can be used
with a wrapper).

Current implementation includes the ability to reorder or turn
specific GCC passes on and off on a function level.
We currently work to implement all remaining functions
of the specified interface, add passes to extract program
features and split analysis and optimization code to enable
access to compiler transformations at a fine-grain level.

More info is available at the GCC-ICI project website:
http://gcc-ici.sourceforge.net

Yours,
Grigori Fursin

========================================
Grigori Fursin, PhD
Research Scientist, INRIA Futurs, France
http://fursin.net/research