Title :
Accuracy of profile maintenance in optimizing compilers
Author_Institution :
Programming Syst. Res. Lab, Intel Corp., Santa Clara, CA, USA
Abstract :
Modern processors rely heavily on optimizing compilers to deliver their performance potentials. The compilers, in turn, rely greatly on profile information to focus the optimization efforts and better match the generated code with the target machines. Maintaining the profile in an optimizing compiler is important as many optimizations can benefit from profile information and they are often performed one after the other. Maintaining a profile is, however, tedious and error prone. An erroneous profile is not easy to detect as it affects only the performance, not the correctness, of a program. Maintaining a profile also inherently loses accuracy, as the profile update operations often have to use probabilistic approximation. In this paper, we measure the accuracy of maintaining CFG profiles in a high-performance optimizing compiler. Our data indicates that the compiler maintains the profile more accurately within individual functions than globally across functions, and function inlining may be responsible for the loss of profile accuracy globally. We also identify a number of research issues related to profile maintenance
Keywords :
optimising compilers; CFG profiles; function inlining; high-performance optimizing compiler; probabilistic approximation; profile maintenance accuracy; profile update operations; Automatic control; Computer architecture; Conferences; Educational institutions; Flow graphs; Frequency; Optimizing compilers; Productivity; Programming profession;
Conference_Titel :
Interaction between Compilers and Computer Architectures, 2002. Proceedings. Sixth Annual Workshop on
Conference_Location :
Cambridge, MA
Print_ISBN :
0-7695-1534-7
DOI :
10.1109/INTERA.2002.995840