From cTuning.org
(substituted HTML tags with Wiki tags) |
m |
||
Line 30: | Line 30: | ||
'''Required Events and parameters''' | '''Required Events and parameters''' | ||
- | * '''"pass_execution"''': this event is triggered when a GCC pass is about to run. | + | * '''"pass_execution"''': this event is triggered when a GCC pass is about to run. |
* '''"all_passes_manager"''': | * '''"all_passes_manager"''': | ||
* '''"avoid_gate"''': | * '''"avoid_gate"''': | ||
Line 39: | Line 39: | ||
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. | + | * The compilation won't fall to default compilation process when no corresponding XML can be found. |
- | * The plugin cannot handle interprocedual passes well. | + | * The plugin cannot handle interprocedual passes well. |
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.
- "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.
- The plugin cannot handle interprocedual passes well.