From cTuning.org
(substituted HTML tags with Wiki tags) |
|||
Line 14: | Line 14: | ||
ICI features added to the framework for fine-grain tuning are documented here. | ICI features added to the framework for fine-grain tuning are documented here. | ||
{| border="1" cellspacing="0" cellpadding="3" style="text-align:left;" | {| border="1" cellspacing="0" cellpadding="3" style="text-align:left;" | ||
- | ! Feature name | + | ! Feature name !! Type of contents !! Description |
- | ! Type of contents | + | |
- | ! Description | + | |
|- | |- | ||
- | + | ! "dummy" | |
| array of strings, i.e., char ** | | array of strings, i.e., char ** | ||
| dummy feature here. | | dummy feature here. | ||
Line 31: | Line 29: | ||
'''Required Events and parameters''' | '''Required Events and parameters''' | ||
- | + | ||
- | + | * '''"pass_execution"''': this event is triggered when a GCC pass is about to run.</li> | |
- | + | * '''"all_passes_manager"''': | |
- | + | * '''"avoid_gate"''': | |
- | + | ||
<!-- TODO: add other events needed, and give links to them. --> | <!-- TODO: add other events needed, and give links to them. --> | ||
'''State''' | '''State''' | ||
This plugin now can record and reuse optimization passes without problem, with the following issues to solve: | 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> | |
- | + |
Revision as of 12:30, 25 June 2009
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>