Patent · US Expired

Data-flow method of analyzing definitions and uses of L values in programs

US6370685B1 · kind B1 · utility

11Cited by
5References
16Claims
0Family size

Assignee

Inventor

Key dates

Filing dateJan 6, 1999
Grant dateApr 9, 2002
Priority date
Expiry dateJan 6, 2019

Classification

  • Technology area (CPC G)Physics
  • CPC primaryG06F8/433
  • WIPO fieldComputer technology
  • WIPO sectorElectrical engineering

Abstract

A method for analyzing and optimizing programs that contain pointers or aggregates or both, such as found in the languages C, C++, FORTRAN-90, Ada, and Java is disclosed. The program is represented as a control flow graph. The method applies to storage locations (lvalues) computed by instructions in a program. The data flow analysis distinguishes when a definition might reach a use, and if so, whether the expression defining the address of the defined lvalue may have changed. The method ignores changes to the addressing expression where a definition does not reach. The lattice values and functions employed by the analysis are compactly represented as packed bit vectors, and operated upon in a parallel bitwise fashion. Despite the generality of definitions that define lvalues specified by expressions, the present invention computes the reachability of the definitions with a single data-flow framework that requires only one fixed-point solution per data-flow problem.

Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.