Font Size: a A A

Research On Value Profile-based Optimization

Posted on:2011-04-30Degree:MasterType:Thesis
Country:ChinaCandidate:F J KongFull Text:PDF
GTID:2178330338489854Subject:Computer technology
Abstract/Summary:PDF Full Text Request
The aim of compilation optimization is to make code run faster or cost less, or both, by doing an equivalent transformation to the program. During the compilation process, many compiler optimization techniques depend upon program analysis to confirm which variables have invariant behavior. If such variables cannot be tagged accurately as much as possible, the program will not fully benefit from these optimizations. It is proved that the value of some variables is invariant or can be predicted ahead. To make compiler optimization more effective, the value profiling technique is involved to collect and utilize the valuable information of these variables. This method provides the ability of collecting run-time dynamic information, which is a drawback of the traditional compiler.Value Profiling captures the run-time information such as value invariant characteristics and frequencies of different values assigned to the same variable, etc. And then these information is used to guide compiler optimization. Value Profiling is one of hot topics in the research of compiler optimization on modern architecture. The significant optimization effects make it widely adopted in many mainstream compilers.In this paper, we mainly discuss the issues of how dose the value profile-based compilation optimization work and its implementation details. The main contributions include:(1) We analyzed the key techniques and the principle of value profile-based compilation optimization. At the same time, we investigated how to get the value profiling information and made a survey about several basic types of value profile-based compiler optimization.(2) We investigated the details of value profile optimization in GNU GCC-4.4 compiler. We mainly analyzed the value profile-based compilation process, the method of code instrumentation for getting value profiling information, the format of profiling data file and important data structures, and how to save and annotate the value profiling information.(3) We evaluated the effects of value profiling-based optimizations in GCC. Using NPB benchmark and SPEC CPU2000 benchmark, we made a thorough test of GCC. Then we analyzed the effects of value profiling based optimizations.(4) We proposed and partially implemented a new algorithm for value profile-based compilation optimization, which is called code-specialized function call. Under current value profile-based optimizations implemented in GCC, we presented the framework and fundamental implementation methods for function specialization. Tests show this method can further improve the performance of program and the average speedup is up to 3.9%.
Keywords/Search Tags:Profile-based Optimization, Value Profile, Code Instrumentation, Function-Specialized Code, GCC-4.4
PDF Full Text Request
Related items