ePrints@IIScePrints@IISc Home | About | Browse | Latest Additions | Advanced Search | Contact | Help

Comprehensive Path-sensitive Data-flow Analysis

Thakur, Aditya and Govindarajan, R (2008) Comprehensive Path-sensitive Data-flow Analysis. In: 6th International Symposium on Code Generation and Optimization, APR 06-09,, Boston, pp. 55-63.

[img] PDF
p55-thakur.pdf - Published Version
Restricted to Registered users only

Download (930Kb) | Request a copy

Abstract

Data-flow analysis is an integral part of any aggressive optimizing compiler. We propose a framework for improving the precision of data-flow analysis in the presence of complex control-flow. W initially perform data-flow analysis to determine those control-flow merges which cause the loss in data-flow analysis precision. The control-flow graph of the program is then restructured such that performing data-flow analysis on the resulting restructured graph gives more precise results. The proposed framework is both simple, involving the familiar notion of product automata, and also general, since it is applicable to any forward data-flow analysis. Apart from proving that our restructuring process is correct, we also show that restructuring is effective in that it necessarily leads to more optimization opportunities. Furthermore, the framework handles the trade-off between the increase in data-flow precision and the code size increase inherent in the restructuring. We show that determining an optimal restructuring is NP-hard, and propose and evaluate a greedy strategy. The framework has been implemented in the Scale research compiler, and instantiated for the specific problem of Constant Propagation. On the SPECINT 2000 benchmark suite we observe an average speedup of 4% in the running times over Wegman-Zadeck conditional constant propagation algorithm and 2% over a purely path profile guided approach.

Item Type: Conference Paper
Additional Information: Copyright 2008 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.
Keywords: Code Duplication;Data-flow analysis;Destructive Merge; Path-sensitive;Precision;Restructuring; Split Graph.
Department/Centre: Division of Information Sciences > Supercomputer Education & Research Centre
Date Deposited: 22 Jul 2009 06:28
Last Modified: 19 Sep 2010 05:38
URI: http://eprints.iisc.ernet.in/id/eprint/21664

Actions (login required)

View Item View Item