From cTuning.org

Revision as of 12:30, 25 June 2009 by Huangyuanjie (Talk | contribs)
Jump to: navigation, search

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.
Locations of visitors to this page