Font Size: a A A

Methodology of dynamic compiler option selection based on static program analysis: Implementation and evaluation

Posted on:2008-07-01Degree:M.SType:Thesis
University:University of DelawareCandidate:Park, Eun JungFull Text:PDF
GTID:2448390005966571Subject:Engineering
Abstract/Summary:
Current compilers possess a myriad of options to optimize the application. Nevertheless, they provide a subset of options called the standard optimization options, which will provide safe optimization and give a reasonable optimized code. We can use the standard optimization options; however, they are not always an optimal solution for all applications. Therefore, we should carefully choose the set of options if we need additional performance improvement.;This research area has two main challenges: (1) Due to the number of optimization options in a compiler, finding the optimal set of options for a target program by brute force or any other exhaustive method is not simple. (2) Although we find the best set for the application, the compiler will apply this set of options to the whole program. Thus it is possible to lose some performance improvements because some options may affect negatively specific parts and decrease the overall performance.;To resolve these problems, the methodology shown in [1] proposed how we identify performance sensitive code segments automatically. The key challenge in this methodology is how to automatically identify a special code segments to which customized set of optimization options could be applied [1]. This methodology introduces the algorithms to recommend a set of options automatically and support dynamic option selection based on static program analysis.;This thesis focuses on the implementation and evaluation works of this methodology. Major contributions of this thesis are as follows: (1) This thesis reports an implementation of algorithms used by the compiler to find program segments and the recommended option sets based on static analysis and change the set of options dynamically. (2) This thesis explains algorithm developed to detect candidate loop segment based on a general Intermediate Representation (IR) in a compiler and the implementation in a GCC compiler version 3.3. (3) This thesis reports a design and implementation of an automatic testing platform.;All implementations in a GCC compiler version 3.3 were tested with Mibench and CommBench benchmarks on Intel Xscale PXA255 Architecture. Evaluation result showed 1.8% overall performance improvement over the -O3 default optimization option.
Keywords/Search Tags:Option, Compiler, Methodology, Program, Implementation, Optimization, Performance, Static
Related items