Interactive Compilation Interface / News: Recent posts

we moved to ctuning.org

We just moved all further developments to: http://ctuning.org/wiki/index.php/CTools

Posted by Grigori Fursin 2009-03-27

pre-release patch for MILEPOST GCC v1.0 is available at CVS

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!

Posted by Grigori Fursin 2008-06-23

compiling GCC PLUGINS on Mac OS X

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

mylib.so: mylib.c
gcc -c mylib.c -g
gcc -dynamiclib -undefined dynamic_lookup -o mylib.so mylib.o

test: test.c
gcc -o test test.c

clean:
rm -f *.o
rm -f *.so

This info will be added to the next release of the Plugins ...

Posted by Grigori Fursin 2008-06-23

GCC-ICI V1.0 & GCC-ICI-PLUGINS V1.0 release (MILEPOST)

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:
http://gcc-ici.sourceforge.net/papers/fmtp2008.pdf
and at UNIDAPT group site:
http://unidapt.org/software.html#milepostgcc

Posted by Grigori Fursin 2008-06-15

bug-fix release + updated plugins

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.

Posted by Grigori Fursin 2008-02-15

bug-fix release

GCC-ICI bug-fix release 0.9.1 is now available ...

Posted by Grigori Fursin 2007-09-18

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

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

Posted by Grigori Fursin 2007-09-15

agreement on a new design

Hi all,
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 ;) !
Grigori

Posted by Grigori Fursin 2007-07-16

old preliminary documentation is now available

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 ...
Cheers,
Grigori

Posted by Grigori Fursin 2007-06-18

Current GCC-ICI developments

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

Posted by Grigori Fursin 2007-03-06

SMART'07 presentation

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):
http://www.hipeac.net/smart-workshop.html

All publications from this workshop are available on-line:
http://www.hipeac.net/smart-workshop-program.html

Posted by Grigori Fursin 2007-03-06

GCC-ICI at the 2nd GCC HiPEAC Tutorial

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:
http://www.hipeac.net/node/746

Posted by Grigori Fursin 2007-03-06

gcc-api mailing list

We currently have a gcc-api mailing list
installed at INRIA Futurs:

gcc-api@inria.fr

Posted by Grigori Fursin 2006-11-03

first prototype & GCC API tutorial

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

Posted by Grigori Fursin 2006-11-03