Patent
1995-02-13
1998-08-04
Voeltz, Emanuel Todd
395705, 395708, G06F 945
Patent
active
057908664
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.
REFERENCES:
patent: 4843545 (1989-06-01), Kikuchi
patent: 5355494 (1994-10-01), Sistare et al.
patent: 5448737 (1995-09-01), Burke et al.
Compilers--Principles, Techniques, and Tools; Addison-Wesley Series in Computer Science; Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman; Copyright .COPYRGT.1986 by Bell Telephone Laboratories, Incorporated; Published by Addison-Wesley Publishing Company; pp. 594-597; 624-639; 680-695.
Chaki Kakali
Kuck and Associates, Inc.
Todd Voeltz Emanuel
LandOfFree
Method of analyzing definitions and uses in programs with pointe does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method of analyzing definitions and uses in programs with pointe, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method of analyzing definitions and uses in programs with pointe will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-1189690