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

Link time optimization with translation to intermediate program and following optimization techniques including program analysis code motion live variable set generation order analysis, dead code elimination and load invariant analysis

Patent 5966539 Issued on October 12, 1999. Estimated Expiration Date: Icon_subject November 3, 2017. 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

Compilers using a universal intermediate language
Patent #: 4667290
Issued on: 05/19/1987
Inventor: Goss ,   et al.

Compilation using two-colored pebbling register allocation method such that spill code amount is invariant with basic block's textual ordering
Patent #: 4782444
Issued on: 11/01/1988
Inventor: Munshi ,   et al.

Interprocedural slicing of computer programs using dependence graphs
Patent #: 5161216
Issued on: 11/03/1992
Inventor: Reps, et al.

Computer with integrated hierarchical representation (IHR) of program wherein IHR file is available for debugging and optimizing during target execution
Patent #: 5175856
Issued on: 12/29/1992
Inventor: Van Dyke, et al.

System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling
Patent #: 5179702
Issued on: 01/12/1993
Inventor: Spix, et al.

Method for optimizing computer code to provide more efficient execution on computers having cache memories
Patent #: 5212794
Issued on: 05/18/1993
Inventor: Pettis, et al.

System and method for solving monotone information propagation problems Patent #: 5327561
Issued on: 07/05/1994
Inventor: Choi, et al.

Inventor

Assignee

Application

No. 963086 filed on 11/03/1997

US Classes:

717/156, Using flow graph717/147, Platform-independent form (e.g., abstract code)717/160Including loop

Examiners

Primary: Hafiz, Tariq R.
Assistant: Ingberg, Todd

Attorney, Agent or Firm

International Class

G06F 009/44

Abstract

A computer system is directed to convert a program written as a plurality of high level source code modules into corresponding machine executable code. The source code modules are compiled into an object code module, and the object code modules are translated into a single linked code module in the form of a register translation language and logical symbol table compatible with a plurality of computer system hardware architectures. The source code program structures are recovered from the linked code module, and the linked code module is partitioned into a plurality of procedure, and instructions of each of the procedures grouped into basic blocks. A procedure flow graph is constructed for each of the procedures, and a program call graph is constructed for the linked code module. The linked code module is modified by eliminating dead code and moving loop-invariant code from loops. The modified linked code is converted into machine executable code compatible with a target one of said plurality of computer system hardware architectures.

Other References

  • Aho et al., "Compilers Principles, Techniques, and Tools," Addison-Wesley Publishing Co., pp. 463-508, 513-580, and 585-711, 1986
  • Yao, P., "Borland C++ 3.1 Programming for Windows," Bantam Books, pp. 40-41, 1992
  • Hansen, R.C., "New Optimizations for PA-RISC Compilers," Hewlett-Packard Journal, v43, n3, p15(9), Jun. 1992
  • Kath, Randy; "The Portable Executable File Format from Top to Bottom"; Microsoft Developer Network Technology Group, Microsoft Corporation; Jun. 12, 1993
  • Pietrek, Matt; "Peering Inside the PE: A Tour of the Win32 Portable Executable File Format"; Microsoft Corporation; Microsoft Development Library, MSJ : 1994 #3 (Mar.)
  • Digital Equipment Corporation OSF/1 (Digital Unix) Alpha AXP Assembly Language; "Interface for relocations of executable code"; 1991, 1995
  • Digital Equipment Corporation, DEC OSF/1 Alpha AXP, "Assembly Language Guide, " Oct. 1992 Field Test Draft, Product Version DEC OSF/1 Alpha AXP T1.2
  • Moher, T., "Provide: A Process visualization and Debugging Environment", IEEE Transactions On Software Engineering, vol. 14, No. 6, Jun. 198
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
$16.95more info
 
Sign InRegister
Username  
Password   
forgot password?