U.S. patents available from 1976 to present.
U.S. patent applications available from 2005 to present.

Method and apparatus for coalescing variables

Patent 6072952 Issued on June 6, 2000. Estimated Expiration Date: Icon_subject April 22, 2018. Estimated Expiration Date is calculated based on simple USPTO term provisions. It does not account for terminal disclaimers, term adjustments, failure to pay maintenance fees, or other factors which might affect the term of a patent.

Patent References

Register allocation and spilling via graph coloring
Patent #: 4571678
Issued on: 02/18/1986
Inventor: Chaitin

Coalescing changes in pattern-directed, rule-based artificial intelligence production systems
Patent #: 4890240
Issued on: 12/26/1989
Inventor: Loeb, et al.

Program source code translator
Patent #: 5230049
Issued on: 07/20/1993
Inventor: Chang, et al.

Compiler including retargetable data generation
Patent #: 5355491
Issued on: 10/11/1994
Inventor: Lawlor, et al.

Register allocation methods having upward pass for determining and propagating variable usage information and downward pass for binding; both passes utilizing interference graphs via coloring
Patent #: 5530866
Issued on: 06/25/1996
Inventor: Koblenz, et al.

Compiler and method of compilation
Patent #: 5560015
Issued on: 09/24/1996
Inventor: Onodera

Computer method and system for conservative-stack and generational heap garbage collection
Patent #: 5652883
Issued on: 07/29/1997
Inventor: Adcock

Improving memory layout based on connectivity considerations
Patent #: 5787284
Issued on: 07/28/1998
Inventor: Blainey, et al.

Resource assigning apparatus which assigns the variable in a program to resources
Patent #: 5790862
Issued on: 08/04/1998
Inventor: Tanaka, et al.

Global variable coalescing
Patent #: 5850549
Issued on: 12/15/1998
Inventor: Blainey, et al.

More ...

Inventor

Application

No. 064933 filed on 04/22/1998

US Classes:

717/155, Data flow analysis717/159Code restructuring

Examiners

Primary: Hafiz, Tariq R.
Assistant: Das, Chameli C.

International Class

G06F 009/445

Abstract

A method and apparatus for improving the process of software development by a fast coalescing compiler optimizer tool that operates with one compiler pass. The present invention is a software development tool for optimization that analyzes one or more instructions, and when the instruction is a copy instruction the tool analyzes the source variable and the target variable of the copy instruction for opportunities to coalesce the source variable and the target variable. The present invention tailors its processing to advantageously enable user-level debugging when debugging is required. The present invention coalesces a target variable of a copy instruction and a source variable of the copy instruction; when the target variable of a copy instruction does not interfere with the source variable of the copy instruction, and the only use of the source variable in the program is in the copy instruction, and the source variable has one or more definitions and all the definitions in the program precede the copy instruction and are in a common basic block. The present invention coalesces a source variable of a copy instruction with a target variable of the copy instruction when the target variable has a single definition that is defined in the copy instruction, and the definition of the target variable precedes all uses in the program of the variable, and all uses of the variable are in the same basic block, and the source of the copy instruction and the target of the copy instruction do not interfere.

Other References

  • Chow teaches the priority based coloring approach to register allocation in ACM Transactions on Programming Languages and Systems, vol. 12, No. 4. Oct. 1990
  • Knobe et al teach Register Allocation Using Control Trees in Technical Report No. CS-92-13, Mar. 1992
  • Chaitin teaches Register allocation & Spilling via Graph Coloring, in Sigplan Symposium on compiler construction, Jun. 23-25, 1982
  • Agarwal et al teach Interprocedural Partial Redundancy Elimination and Its Application to Distributed Memory Compilation in their paper, 1993
  • Cytron et al teach An Efficient Method of Computing Static Single Assignment Form in Technical Report No. CS-88-16, Oct., 1988
  • Title: Optimistic register coalescing, author:: Jinpyo Park; Soo-Mook Moon, IEEE, published on Mar. 1998
  • Joel Auslander, et al., "Fast, Effective Dynamic Compilation", Department of Computer Science and Engineering, University of Washington, PLDI' 96, pp. 1-11
  • Mark Hall, "Reg. Alloc.--Graph Coloring--Copy Minimization", (visited Nov. 20, 1997) pp. 1-3
  • Guhan Viswanathan and James R. Larus, "Compiler-Directed Shared-Memory Communication For Iterative Parallel Applications", (visited Nov. 20, 1997) pp. 1-18
  • Preston Briggs, "Coalescing Register Allocators", (visited Nov. 20, 1997) pp. 1-2
  • V. Sarkar, "Automatic Selection Of High-Order Transformations In The IBM XL FORTAN Compilers", (visited Nov. 20, 1997) pp. 1-38
  • Brian Grant, et al., "Annotation-Directed Run-Time Specialization In C", Department of Computer Science and Engineering, University of Washington, PEPM'97 Proceedings, pp. 1-16
  • Preston Briggs, "Register Allocation Via Graph Coloring", A Thesis Submitted In Partial Fulfillment Of The Requirements For the Degree, Rice University, Houston, Texas (Apr. 1992), pp. 1-143
  • G.J. Chaitin, "The Limits Of Mathematics-Tutorial Version", IBM Research Report, RC 20190 (Sep. 18, 1995) Computer Science/Mathematics, pp. 1-141
  • G.J. Chaitin, "An Invitation To Algorithmic Information Theory", (visited Nov. 21, 1997) pp. 1-18
  • F.E. Allen and J. Cocke, "A Program Data Flow Analysis Procedure", IBM Thomas J. Watson Research Center, Communications of the ACM, vol. 19, No. 3, (Mar. 1976), pp. 137-14
PatentsPlus Images
Enhanced PDF formats
loading...
PatentsPlus: add to cart
PatentsPlus: add to cartSearch-enhanced full patent PDF image
$9.95more info
PatentsPlus: add to cart
PatentsPlus: add to cartIntelligent turbocharged patent PDFs with marked up images
$18.95more info
 
Sign InRegister
Username  
Password   
forgot password?