This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

New Interactive Compilation Interface (ICI) v2.0 has been released


Dear all,

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
http://ctuning.org/wiki/index.php/CTools:ICI:Documentation.

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
compiler parameters);

* 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.
http://gcc.gnu.org/ml/gcc-patches/2009-02/msg01242.html).  Future
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,
such as:

* 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:
http://groups.google.com/group/ctuning-discussions

Yours,

  Zbigniew Chamski and the cTuning.org community


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]