Constant propagation on the value graph: Simple constants and beyond

9Citations
Citations of this article
3Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

We present a new algorithm for constant propagation (CP), which works on the value graph of a program. This algorithm combines the (1) efficiency of the sparse CP-algorithms of Reif and Lewis [24,25], Ferrante and Ottenstein [9], and Weg man and Zadeck [,31] with the (2) conceptual simplicity of their classic conventional counterparts of Kildall [19], and Kam and Ullman [16], while (3) outperformingt hem in power. It detects a proper superset of the simple constants detected by the classical CP-algorithms, while avoiding the exponential worstcase behaviour of the CP-algorithm for finite constants of Steffen and Knoop [28] allowingit s optimality for acyclic control flow. The class detected is a well-balanced compromise between power and performance. In fact, we show that CP is co-NP-hard for acyclic control flow making the existence of efficient optimal algorithms for acyclic control flow most unlikely. Nonetheless, the new algorithm is open for extensions, e.g. towards conditional constants in the fashion of [,31] in order to capture to a certain extent the determinism of conditional branching.

Cite

CITATION STYLE

APA

Knoop, J., & Rüthing, O. (2000). Constant propagation on the value graph: Simple constants and beyond. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 1781, pp. 94–110). Springer Verlag. https://doi.org/10.1007/3-540-46423-9_7

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free