Title :
Automatic Determination of May/Must Set Usage in Data-Flow Analysis
Author :
Stone, Andrew ; Strout, Michelle ; Behere, Shweta
Author_Institution :
Colorado State Univ., Fort Collins, CO
Abstract :
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. This 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.
Keywords :
data flow analysis; program compilers; software tools; DFAGen tool; common sub expression elimination; compiler textbooks; data-flow analysis; dead-code elimination; may set usage; must set usage; register allocation; Aggregates; Algorithm design and analysis; Data analysis; Debugging; Equations; Flow graphs; Information analysis; Parallel processing; Switches; Transfer functions; Compilers; Data-flow analysis; Domain specific languages; May must determination; Optimization; Program analysis;
Conference_Titel :
Source Code Analysis and Manipulation, 2008 Eighth IEEE International Working Conference on
Conference_Location :
Beijing
Print_ISBN :
978-0-7695-3353-7
DOI :
10.1109/SCAM.2008.28