Patent
1995-06-14
1998-01-20
Kriess, Kevin A.
G06F 900
Patent
active
057109273
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.
REFERENCES:
patent: 5396627 (1995-03-01), Iitsuka
patent: 5481708 (1996-01-01), Kukol
Cytron, Ron, and Lowry, Andy, and Zadeck, Kenneth, "Code Motion of Control Structures in High-Level Languages", Conference Record 13th Annual ACM.
Symposium on Principles pf Programming Languages (St. Petersburg, FL, Jan. 13-15, 1986), ACM, New York, pp. 70-85.
Aho, Alfred V. and Sethi, Ravi and Ullman, Jeffrey D., "Compilers, Principles, Techniques, and Tools," Addison-Wesley, 1986 pp. 608-611.
Budge, Kent G. and Perry, James S. and Robinson, Allen C, and Wong, Michael K., "Management of Class Temporaries by C++ Translation Systems" Journal of C Language Translation, Dec. 1994, 6(2).
Chavis John D.
Kriess Kevin A.
Kuck & Associates, Inc.
LandOfFree
Method of replacing lvalues by variables in programs containing 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 replacing lvalues by variables in programs containing , we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method of replacing lvalues by variables in programs containing will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-733504