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

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:

formatting link

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:

formatting link

Yours, Grigori Fursin

======================================== Grigori Fursin, PhD Research Scientist, INRIA Futurs, France

formatting link

Reply to
Grigori Fursin
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.