Interaktywny interfejs kompilacji

Interactive Compilation Interface ( ICI ) to system wtyczek z niezależnym od kompilatora wysokiego poziomu i zależnym od kompilatora niskiego poziomu interfejsem API do przekształcania obecnych kompilatorów czarnej skrzynki we współpracujące modułowe interaktywne zestawy narzędzi. Został opracowany przez Grigorija Fursina w ramach projektu MILEPOST . Ramy ICI działają jako interfejs „oprogramowania pośredniego” między kompilatorem a wtyczkami definiowanymi przez użytkownika. Otwiera i ponownie wykorzystuje infrastrukturę kompilatora o jakości produkcyjnej, aby umożliwić analizę i oprzyrządowanie programu, szczegółową optymalizację programu, proste prototypowanie nowych pomysłów rozwojowych i badawczych, unikając jednocześnie tworzenia nowych narzędzi do kompilacji od zera. Na przykład jest używany w MILEPOST GCC do automatyzacji projektowania kompilatorów i architektury oraz optymalizacji programów w oparciu o analizę statystyczną i uczenie maszynowe oraz przewidywania opłacalnej optymalizacji w celu poprawy czasu wykonywania programu, rozmiaru kodu i czasu kompilacji.

Rozwój

ICI jest teraz dostępny w głównym GCC od wersji 4.5

Pliki do pobrania

  • ICI 2.0 - wydany dla GCC w maju 2009.
  • ICI 1.0 - wydany dla GCC w 2008 roku.
  • ICI beta - opracowany dla GCC w latach 2006–2008.
  • ICI beta - opracowany dla kompilatorów Open64 / PathScale w latach 2004–2006.