Patent · US Expired

Method of replacing lvalues by variables in programs containing nested aggregates in an optimizing compiler

US5710927A · kind A · utility

13Cited by
2References
10Claims
0Family size

Assignee

Inventor

Key dates

Filing dateJun 14, 1995
Grant dateJan 20, 1998
Priority date
Expiry dateJun 14, 2015

Classification

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

Abstract

A method for analyzing and optimizing programs that define and use aggregate data structures. A program to be analyzed and optimized is inspected to find definitions and uses of lvalues, which are regions of memory. The lvalues may be denoted by program variables, pointer expressions, or components of aggregate lvalues. A data-flow solver determines where definitions of lvalues reach uses. A set of "least general unifiers" are computed for the definitions and uses. A replacement variable is created for each least general unifier that is determined to be replaceable. Each reference to an lvalue that corresponds to a replaceable least general unifier is replaced by a reference to the corresponding replacement variable or a component thereof. The method is applicable even in the presence of potential aliasing.

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