Data processing: software development – installation – and managem – Software program development tool – Translation of code
Reexamination Certificate
2005-08-02
2005-08-02
Nguyen-Ba, Antony (Department: 2122)
Data processing: software development, installation, and managem
Software program development tool
Translation of code
C717S153000, C717S154000
Reexamination Certificate
active
06925639
ABSTRACT:
A method, system, and apparatus for inserting spill code optimized for a complex instruction set computing (CISC) two-address machine, such as a machine utilizing an 80x86 processor is described. The spill code is generated in a single pass. Copy propagation and dead-code elimination are performed to remove unnecessary loads and stores from the stack. Instructions contained within the code block are processed in reverse order. Temporary variables are not extended to the point that they may become spilled by a register allocation procedure. A store to a stack location is inserted if the stack location is not dead, saving the use of a register. Memory operands are substituted when possible in place of load and store instructions on CISC machines.
REFERENCES:
patent: 6625723 (2003-09-01), Jourday et al.
patent: 428084 (1991-05-01), None
Lueh et al, “Call-cost directed register allocation”, ACM, pp. 296-307, 1997.
Chaitin, G. et al., “Register Allocation Via Coloring;”Computer Languages 6:1 (Jan. 1981), pp. 47-57.
Chaitin, G., “Register Allocation & Spilling Via Graph Coloring;”Proceedings of the ACM SIGPLAN '82 Symposium on Compiler Construction, Jun. 1982, pp. 98-105.
Chow, F. et al., “Register Allocation by Priority-Based Coloring;”Proceedings of the ACM SIGPLAN '84 Symposium on Compiler Construction, Jun. 1984, pp. 222-232.
Larus, J. et al., “Register Allocation in the SPUR Lisp Compiler;”Proceedings of the ACM SIGPLAN '86 Conference on Compiler Construction, Jul. 1986, pp. 255-263.
Bernstein, D. et al., “Spill Code Minimization Techniques for Optimizing Compilers;”Proceedings of the SIGPLAN '89 Conference on Programming Language Design and Implementation, Jun. 1989, pp. 258-263.
Chow, F. et al., “The Priority-Based Coloring Approach to Register Allocation;”ACM Transactions on Programming Languages and Systems 12:4 (Oct. 1990), pp. 501-536.
Callahan, D. et al., “Register Allocation Via Hierarchical Graph Coloring;”Proceedings of the ACM SIGPLAN '91 Conference on Programming Language Design and Implementation, Jun. 1991, pp. 192-203.
Briggs, P., “Register Allocation Via Graph Coloring;” PhD thesis, Rice University, Apr. 1992.
Briggs, P. et al., “Improvements to Graph Coloring Register Allocation;”ACM Transactions on Programming Languages and Systems 16:3 (May 1994), pp. 428-455.
Bergner, P. et al., “Spill Code Minimization Via Interference Region Spilling;”Proceedings of the SIGPLAN '97 Conference on Programming Language Design and Implementation, May 1997, pp. 287-295.
Lueh, G. et al., “Call-Cost Directed Register Allocation;”Proceedings of the SIGPLAN '97 Conference on Programming Language Design and Implementation, May 1997, pp. 296-307.
Fitzgerald, R. et al., “Marmot: An Optimizing Compiler for Java;”Software: Practice and Experience 30:3 (2000), pp. 199-232.
Merchant & Gould
Microsoft Corporation
Nguyen-Ba Antony
Sullivan Timothy P.
Vo Ted T.
LandOfFree
Method and system for register allocation 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 and system for register allocation, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for register allocation will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3444551