2 research outputs found

    Automatic determination of may/must set usage in data-flow analysis

    Get PDF
    Department Head: L. Darrell Whitley.2009 Summer.Includes bibliographical references (pages 62-65).Data-flow analysis is a common technique for gathering program information for use in performance improving transformations such as register allocation, deadcode elimination, common subexpression elimination, and scheduling. Current tools for generating data-flow analysis implementations enable analysis details to be specified orthogonally to the solution algorithm, but still require implementation details regarding the may and must use and definition sets that occur due to the effects of pointers, side effects, arrays, and user-defined structures. This thesis presents the Data-Flow Analysis Generator tool (DFAGen), which enables analysis writers to generate pointer, aggregate, and side-effect cognizant analyzers for separable and nonseparable data-flow analyses, from a specification that assumes only scalars. By hiding the compiler-specific details behind predefined set definitions, the analysis specifications for the DFAGen tool are typically less than ten lines long and similar to those in standard compiler textbooks. The two main contributions of this work are the automatic determination of when to use the may or must variant of a predefined set reference in the analysis specification, and the design of the analysis specification language so that data-flow problem and compiler framework implementation details are specified orthogonally

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

    No full text
    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. 1
    corecore