Flow-Sensitive Interprocedural Constant Propagation

Copyright [©] (1995) by Association for Computing Machinery, Inc. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distrubuted for profit or commericial advantage. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee.

We present a flow-sensitive interprocedural constant propagation algorithm that supports recursion while only performing one flow-sensitive analysis of each procedure. We present experimental results which show that this method finds more constants than previous methods and is efficient in practice. The results are further categorized into integer and floating point constants. We show how the flow-sensitive algorithm can be extended to propagate returned constants. We introduce new metrics for evaluating interprocedural constant propagation algorithms which measure the number of interprocedural constant values that are propagated. We use these metrics to provide further experimental results for our algorithm.

By: Paul R. Carini and Michael Hind (SUNY New Paltz)

Published in: ACM SIGPLAN Notices, volume 30, (no 6), pages 23-31 in 1995

Please obtain a copy of this paper from your local library. IBM cannot distribute this paper externally.

Questions about this service can be mailed to reports@us.ibm.com .