We just moved all further developments to: http://ctuning.org/wiki/index.php/CTools
I uploaded the pre-release patch for MILEPOST GCC v1.0 (from March.2008) to CVS that is used in several projects and is available to our colleagues. However, it is not the final stable version yet. We hope to release the MILEPOST GCC v1.0 in summer 2008. Thanks for your feedback and for waiting!
We would like to thank Paul Carpenter who sent us infomation about compiling plugins on Mac OS X. An example makefile is:
all: test mylib.so
gcc -c mylib.c -g
gcc -dynamiclib -undefined dynamic_lookup -o mylib.so mylib.o
gcc -o test test.c
rm -f *.o
rm -f *.so
This info will be added to the next release of the Plugins ...
We released GCC-ICI V1.0 (for GCC 4.2.x and GCC 4.3.x) and GCC-ICI-PLUGINS V1.0. This version is used in the MILEPOST GCC (machine learning based compiler) which we plan to release in summer 2008. More information is available in the GCC Summit 2008 paper:
and at UNIDAPT group site:
GCC-ICI bug-fix release 0.9.5 is now available for GCC 4.2.2 and for GCC 4.3.x (development branch). Plugins and examples for pass selection, reordering and manipulation are updated.
GCC-ICI bug-fix release 0.9.1 is now available ...
Finally, we produced a new version of the Interactive Compilation Interface V0.9. 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.... read more
After long discussions with our colleagues from Edinburgh University, CAPS and IBM, we reached an agreement on a new design of the GCC Interactive Compilation Interface. I added preliminary documentation with some source codes for this new design to the CVS. We now finished implementing pass reordering within the new interface and will connect it to the machine learning tools with IBM. In the mean time we continue adding functionaly to the interface (fine grain program optimizations and plugins system) and hope to have a clean patch ready by the beginning of august.
Thank you for your patience ;) !
Due to some requests, I put older preliminary documentation for GCC-ICI to the CVS. However, we mostly agreed with IBM and Edinburgh University on further developments, and hopefully will have a new version and documentation available within one or two months ...
Prototype of GCC-ICI currently has an ability to reorder compiler optimization phases and to fine-tune several transformations (loop unrolling, loop interchange). We are currently working on the following issues:
* incrementally modifying Tree-SSA to support dynamic pass reordering
* splitting analysis and optimization code
* extracting program features
* adding support for fine-grain tuning of most of the GCC optimizations
* developing a component model for passes to enable dynamic linking of external optimization plugins
* developing a scripting language inside GCC to simplify and automatize transformations & optimization process... read more
We presented our work "Building a Practical Iterative Interactive Compiler" at the SMART'07 workshop (First Workshop on Statistical and machine learning approaches applied to ARchitectures and compilaTion, co-located with HiPEAC'07):
All publications from this workshop are available on-line:
We presented our work on GCC Interactive Compilation Interface (ICI) at the 2nd HiPEAC GCC Tutorial (How To and Return on Experience).
More information and presentations are available here:
We currently have a gcc-api mailing list
installed at INRIA Futurs:
First prototype of GCC API is available at the CVS.
We are currently talking to our colleagues from IBM, Philips (NXP), ST Micro, ARC, Edinburgh University and Ghent University to add functionality to support their projects.
We plan to have a GCC API tutorial
(Towards Open-Source Iterative Compiler)
during the 2nd HiPEAC GCC Tutorial:
“How To and Return on Experience”
which is collocated with the 2nd HiPEAC Conference (Ghent, Belgium, January 29-30, 2007):... read more