Accuracy of Profile Maintenance in Optimizing Compilers

  • Authors:
  • Youfeng Wu

  • Affiliations:
  • -

  • Venue:
  • INTERACT '02 Proceedings of the Sixth Annual Workshop on Interaction between Compilers and Computer Architectures
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Modern processors rely heavily on optimizing compilers to deliver their performance potentials. The compilers on the other hand rely greatly on profile information to focus the optimization efforts and to better match the generated code with the target machines. Maintaining the profile in optimizing compiler is important as many optimizations can benefit from the profile information and they often are performed one after the other. Maintaining a profile is however tedious and error-prone. 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.