From cTuning.org
Navigation: cTuning.org > CTools > ICI
ICI Functionality
We decided to number ICI functionality to clearly mark the modified source code of the compiler and simplify porting to new compilers or compiler releases.
API level | Scope of the level | Available functions | |
---|---|---|---|
FICI0 |
- loading and unloading of user-provided plugins |
ici_load, ici_unload, | |
FICI1 |
- function cloning and specialization | ||
FICI2 |
- linking with external libraries | ||
FICI3 |
- get compiled filename with full path at the beginning of each function |
Discussion page to extend basic plugin functionality
ICI Versions
ICI Version: | Release: | Brief description: | Developer(s): |
[2.0] | On-going | Supports FICI0, FICI3, (FICI2?) | Zbigniew Chamski, Cupertino Miranda, Grigori Fursin based on user feedback |
[1.0] | 2008.06.15 | Supports part of FICI0 | Grigori Fursin |
[0.9.6] | 2008.03.12 | Updated version for the MILEPOST GCC | Grigori Fursin |
[0.9.5] | 2008.02.11 | Updated design for correct pass selection and reordering while avoiding pass-gate, and some bug fixes | Cupertino Miranda, Grigori Fursin |
[0.9.1] | 2007.09.16 | Bug fixes | Cupertino Miranda, Grigori Fursin |
[0.9] | 2007.07.15 | New design using dynamically linked plugins and pass manipulation routine | Cupertino Miranda, Grigori Fursin |
[0.1] | 2007.01.26 | Prototyping | Grigori Fursin |
[0.0.1] for GCC | 2006.11.03 | First prototype for GCC based on PathScale/Open64 ICI | Grigori Fursin |
[0.0.3] | 2007.07.10 | Stable version that has been released and used in multiple projects | Grigori Fursin |
[0.0.2] | 2007.03.04 | Bug fixes | Grigori Fursin |
[0.0.1] for PathScale/Open64 | 2004.11.01 | First prototype that supported selection and paramter tuning for loop tiling, loop unrolling, loop fusion/fission, loop vectorization, register tiling, array padding and prefetching at a fine-grain level (program, function, loop or instruction level) | Grigori Fursin |