From cTuning.org
Common page for GSOC09 and other developments in summer 2009: function cloning, fine-grain optimizations, program instrumentation:
Contents |
Fine-grain optimization project
Yuanjie Huang (ICT, China)
This project aims to provide fine-grain optimization selection and tuning abilities in GCC, and thus enable GCC to tune default optimization heuristic of the compiler or fine optimizations for a given program on a given architecture entirely automatically using statistical and machine learning techniques from the MILEPOST project.
ICI Events
ICI events added to the framework for fine-grain tuning are documented here.
ICI Features
ICI features added to the framework for fine-grain tuning are documented here.
Feature name | Type of contents | Description |
---|---|---|
"dummy" | array of strings, i.e., char ** | dummy feature here. |
Plugins
Plugins developed for fine-grain tuning are documented here. These plugins are developed to work with ICI-2.0 interface.
adapt-passes
Description
The function of this plugin depends on ICI_ADAPT_CONTROL environmental variable, which can be either set to 1 to record passes for each function into XML files or set to 2 to reuse passes from XML files to substitute passes in GCC compiling process.
Required Events and parameters
- "pass_execution": this event is triggered when a GCC pass is about to run.</li>
- "all_passes_manager":
- "avoid_gate":
State
This plugin now can record and reuse optimization passes without problem, with the following issues to solve:
- The compilation won't fall to default compilation process when no corresponding XML can be found.</li>
- The plugin cannot handle interprocedual passes well.</li>