Deferred Data-Flow Analysis

  • Authors:
  • Shamik Sharma;Anurag Acharya;Joel Saltz

  • Affiliations:
  • -;-;-

  • Venue:
  • Deferred Data-Flow Analysis
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

Loss of precision due to the conservative nature of compile-time dataflow analysis impacts a wide variety of optimizations. In this paper, we propose a general framework which combines compile-time analysis with limited runtime analysis to improve the precision of dataflow information at performance-critical points in the program. This technique, which we refer to as deferred dataflow analysis (DDFA), performs most of the analysis at compile-time but defers the final stages of the analysis till runtime when additional information is available. We present algorithms for construction of region summary functions and for composition and application of these functions. Dividing the analysis in this manner raises two concerns: (1) is it possible to generate correct and compact summary functions for regions? (2) is it possible to correctly and efficiently compose and apply these functions at run-time? To address these concerns, we show that DDFA terminates, is safe and that its results are at least as good as a compile-time meets-over-all-paths solution. To address concerns regarding the size of the data-structures used to communicate information from the compiler to the runtime system, we present space requirements of DDFA in the context of three different backward data-flow analyses. To address concerns regarding the runtime overhead of DDFA and to demonstrate the ability of DDFA to optimize heavy-weight operations, we present results from the application of DDFA for two of these analyses.