The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Aug. 04, 1998
Filed:
Feb. 13, 1995
Arch D Robison, Champaign, IL (US);
Kuck and Associates, Inc., Champaign, IL (US);
Abstract
A method for analyzing and optimizing programs that contain pointers and/or aggregates, such as found in the languages C, C++, FORTRAN-90, and Ada. The method applies to storage locations (lvalues) and values (rvalues) computed by expressions. Data-flow analysis is performed on two levels. The bottom level determines when an rvalue computed at one point in a program is the same if recomputed at a later point in the program. The top level computes reaching definitions, based upon information provided by the bottom level. Each destination lvalue may be designated by an arbitrary rvalue (pointer-expression). Splitting of data-flow analysis into two levels allows computation of reaching definitions that involve assignments to lvalues with designating rvalues that are arbitrary expressions. Furthermore, for aggregate lvalues, which themselves may contain components that are pointers to other aggregates, data-flow analysis is done on a component-by-component basis. Data-flow analysis is then used to forward-substitute definitions and remove 'dead' assignments.