This is the mail archive of the
mailing list for the GCC project.
New Interactive Compilation Interface (ICI) v2.0 has been released
- From: Zbigniew Chamski <zbigniew dot chamski at gmail dot com>
- To: gcc at gcc dot gnu dot org
- Cc: zbigniew dot chamski at infrasoft dot pl, Grigori Fursin <grigori dot fursin at inria dot fr>, Grigori Fursin <gfursin at gmail dot com>, Cupertino Miranda <cupertinomiranda at gmail dot com>
- Date: Fri, 5 Jun 2009 11:52:18 +0200
- Subject: New Interactive Compilation Interface (ICI) v2.0 has been released
We just finished and released the new Interactive Compilation
Interface v2.0 for GCC 4.4.0, based on the official GCC 4.4.0 release code.
Full source code, documentation and a variety of plugin examples
are available on the cTuning.org website at http://ctuning.org/ici and
The ICI plugin infrastructure used in the ICI 2.0 release is
complementary to the developments on the GCC plugins branch, and provides
a high-level API aimed at supporting fast experimentation/prototyping of
new analyses and optimizations. Specifically, the ICI API introduces:
* an abstraction of compiler state through the "feature" mechanism (with
possibility of limited adjustments to, e.g., the values of internal
* a simple interface for pass management: substitution of pass
manager, overriding of pass gates, tracking of current/next pass;
* dynamic registration of new plugin event kinds.
The integration of ICI API with the GCC plugin support developed on
the plugins-branch has already been demonstrated last February (cf.
releases of ICI will be based on - and will extend - the mainstream
GCC plugin infrastructure.
We hope that using ICI will make GCC more attractive and more accessible for
researchers. We currently use it to solve long term research objectives
such as automatic tuning of compiler optimization heuristic or automatic
program optimization for multiple architectures.
There are several ICI extension projects that we hope to finish this summer,
* automatic selection and tuning of fine-grain program transformations,
* generic function cloning for program run-time adaptation,
* program instrumentation,
* GCC4CLI split-compilation for VMs.
You are warmly encouraged to use ICI and other collaborative tools of
the cTuning project. Join the effort and follow the developments on the
cTuning community mailing list:
Zbigniew Chamski and the cTuning.org community