Automatic Determination of May/Must Set Usage in Data-Flow Analysis

Andrew Stone, Michelle Strout, Shweta Behere
2008 2008 Eighth IEEE International Working Conference on Source Code Analysis and Manipulation  
Data-flow analysis is a common technique to gather program information for use in transformations such as register allocation, dead-code elimination, common subexpression elimination, scheduling, and others. Tools for generating data-flow analysis implementations remove the need for implementers to explicitly write code that iterates over statements in a program, but still require them to implement details regarding the effects of aliasing, side effects, arrays, and user-defined structures.
more » ... paper presents the DFAGen Tool, which generates implementations for locally separable (e.g. bit-vector) data-flow analyses that are pointer, side-effect, and aggregate cognizant from an analysis specification that assumes only scalars. Analysis specifications are typically seven lines long and similar to those in standard compiler textbooks. The main contribution of this work is the automatic determination of may and must set usage within automatically generated data-flow analysis implementations.
doi:10.1109/scam.2008.28 dblp:conf/scam/StoneSB08 fatcat:tvmnazedaffl5acw5hmzzudp7q