| 6131189 |
System and method to efficiently represent aliases and indirect memory operations in static single assignment form during compilation |
| Oct-10-2000 |
A system and method for an optimizer of a compilation suite for representing aliases and indirect memory operations in static single assignment (SSA) during compilation of a program having one or more... |
| 6131188 |
System and method for reducing the occurrence of window use overflow |
| Oct-10-2000 |
Program routines normally requiring windowed register allocation using conventional assembly code generation in a compiler are examined for eligibility for a wrapper routine optimization procedure in which... |
| 6129460 |
Object-oriented apparatus and method in a computer system for a programming language compiler to select optimal pointer kinds for code generation |
| Oct-10-2000 |
The invention disclosed is an object-oriented apparatus and method in a computer system for a programming language compiler to select optimal pointer kinds for code generation. The invention offers important... |
| 6126331 |
Determining a communication schedule between processors |
| Oct-3-2000 |
To generate an optimum communication schedule when data is transmitted or received between processors which constitute a parallel computer or a distributed multiprocessor system. Processors which each... |
| 6120553 |
System for modifying JCL statements to optimize data storage allocations |
| Sep-19-2000 |
A system for modifying job control language (JCL) statements optimizes data storage allocations for datasets by collecting historical data concerning actual data storage space requirements and use patterns... |
| 6101326 |
Method and apparatus for frame elimination for simple procedures with tail calls |
| Aug-8-2000 |
The invention relates to a method and apparatus for stack frame elimination for simple procedures with tail calls. Subject to certain prerequisite constraints, the invention modifies the procedure by converting... |
| 6092097 |
Parallel processing system with efficient data prefetch and compilation scheme |
| Jul-18-2000 |
A parallel processing system capable of facilitating the data prefetch in the parallel computer and realizing a compilation scheme capable of removing the overhead caused by the control codes due to the... |
| 6078745 |
Method and apparatus for size optimization of storage units |
| Jun-20-2000 |
The present invention provides a method and an apparatus for reducing the storage size required for temporary data by storage order optimization. Advantageously, the execution order optimization and the... |
| 6075935 |
Method of generating application specific integrated circuits using a programmable hardware architecture |
| Jun-13-2000 |
A method for generating an application specific integrated circuit including providing a software configurable semiconductor integrated circuit having a fixed hardware architecture that includes a plurality... |
| 6072950 |
Pointer analysis by type inference combined with a non-pointer analysis |
| Jun-6-2000 |
A pointer analysis by type inference combined with a non-pointer analysis helps approximate run-time store usage for a computer program. The analysis initially describes the content of each location for... |
| 6061520 |
Method and system for performing static initialization |
| May-9-2000 |
The disclosed system represents an improvement over conventional systems for initializing static arrays by reducing the amount of code executed by the virtual machine to statically initialize an array.... |
| 6044221 |
Optimizing code based on resource sensitive hoisting and sinking |
| Mar-28-2000 |
A method and apparatus for optimizing code using resource based partial elimination techniques is disclosed. At least one location is identified in the code wherein the at least one location has available... |
| 6041180 |
System and method for optimizing template object files |
| Mar-21-2000 |
The present invention provides a system and method to reuse code, and thus save code space within a program. A compiler and a linker work together to decide which object code to reuse, for implementation... |
| 6041179 |
Object oriented dispatch optimization |
| Mar-21-2000 |
An object oriented dispatch optimization method determines statically which body of code will be executed when a method is dispatched. The program code is examined to identify all procedure bodies that... |
| 6035124 |
Method of, system for, and computer program product for providing extended global value numbering |
| Mar-7-2000 |
A fast and efficient way of performing extended global value numbering beyond basic blocks and extended basic blocks on a complete topological ordering of basic blocks in a program. Global value numbering... |
| 6031994 |
Method for determining the set of variables that may be ambiguously defined at a point in a computer program |
| Feb-29-2000 |
A computer implemented method for determining the set of variables that may be ambiguously defined at a point in a computer program includes first placing all variables contained in at least a portion... |
| 5960203 |
Assembler device and its assembling method for use in a microcomputer or other computer system |
| Sep-28-1999 |
An assembler device comprising a pass-1 processing executing unit for executing a pass-1 processing of generating a code optimization table and a code optimization information-attached symbol table including... |
| 5946493 |
Method and system in a data processing system for association of source code instructions with an optimized listing of object code instructions |
| Aug-31-1999 |
A method and system in a data processing system for associating source code instructions with an optimized listing of object code instructions are disclosed. Source code instructions are compiled utilizing... |
| 5941983 |
Out-of-order execution using encoded dependencies between instructions in queues to determine stall values that control issurance of instructions from the queues |
| Aug-24-1999 |
A method for executing instructions out-of-order to improve performance of a processor includes compiling the instructions of a program into separate queues along with encoded dependencies between instructions... |
| 5933635 |
Method and apparatus for dynamically deoptimizing compiled activations |
| Aug-3-1999 |
Methods and apparatus for dynamically deoptimizing a frame in a control stack during the execution of a computer program are disclosed. The described methods are particularly suitable for use in computer... |
| 5926395 |
Method of efficiently displacing register contents in code generated by a circuit compiler |
| Jul-20-1999 |
Methods and associated apparatus for simulating digital logic circuits with a general purpose computer system. A description of a digital logic circuit is converted into executable computer code. The code... |
| 5920485 |
Method of selecting gates for efficient code generation by a circuit compiler |
| Jul-6-1999 |
Methods and associated apparatus for simulating digital logic circuits with a general purpose computer system. A description of a digital logic circuit is converted into executable computer code. The code... |
| 5913925 |
Method and system for constructing a program including out-of-order threads and processor and method for executing threads out-of-order |
| Jun-22-1999 |
A method and system for constructing a program are provided. According to the method, each of a plurality of instructions are assigned to at least one of a plurality of threads. The plurality of threads... |
| 5907711 |
Method and apparatus for transforming multiplications into product table lookup references |
| May-25-1999 |
A compiler automatically determines when it is advantageous to perform multiply operations by using a table of product values (that is, a table that contains scale.sub.-- factor .times.0 as its first entry,... |
| 5905893 |
Microprocessor adapted for executing both a non-compressed fixed length instruction set and a compressed variable length instruction set |
| May-18-1999 |
A microprocessor is configured to fetch a compressed instruction set which comprises a subset of a corresponding non-compressed instruction set. The compressed instruction set is a variable length instruction... |
| 5901314 |
Method for reducing the size of computer programs |
| May-4-1999 |
A method of reducing the size of compiled and executable computer programs which are edited with the aid of object-oriented programming techniques. The common portions of a program produced by an object-oriented... |
| 5896521 |
Processor synthesis system and processor synthesis method |
| Apr-20-1999 |
The present invention provides a processor synthesis system and a processor synthesis method which enable a designer to synthesize a CPU that does not depend on a specific process technology and has the... |
| 5892940 |
Aliasing nodes to improve the code generated by a circuit compiler |
| Apr-6-1999 |
Methods and associated apparatus for simulating digital logic circuits with a general purpose computer system. A description of a digital logic circuit is converted into executable computer code. The code... |
| 5889997 |
Assembler system and method for a geometry accelerator |
| Mar-30-1999 |
An assembler system enables efficient usage of space in a read only memory (ROM) that permits multiway instruction branching. Source code is analyzed and assembled by the assembler system and the assembler... |
| 5881276 |
Manipulation of protected pages to reduce conditional statements |
| Mar-9-1999 |
A method and apparatus to reduce conditional statements in normal code flow. A plurality of contiguous memory pages are allocated as either protected or unprotected. A pointer is defined to point to an... |
| 5875337 |
Modifier for a program executing parallel processes that reduces wait time for access to a shared resource |
| Feb-23-1999 |
A compiler section 15 converts a source program into an object program. A load module-executing section 12 outputs information on the portion placed in the wait state due to exclusive control during parallel... |
| 5872990 |
Reordering of memory reference operations and conflict resolution via rollback in a multiprocessing environment |
| Feb-16-1999 |
Compile and/or run time instruction scheduling is used in a multiprocessing system to reorder memory access instructions such that a strongly consistent programming model is emulated in a fashion transparent... |
| 5857106 |
Runtime processor detection and installation of highly tuned processor specific routines |
| Jan-5-1999 |
In a software library which is made up of a series of modules, both generic modules, and substitute modules are provided. While there need not be a substitute for each of the generic modules, when a substitute... |
| 5854932 |
Compiler and method for avoiding unnecessary recompilation |
| Dec-29-1998 |
A minimal rebuild system and process for minimizing rebuilding of a user's programming project analyzes and records dependencies of object code files compiled in a previous build of the project on classes... |
| 5819074 |
Method of eliminating unnecessary code generation in a circuit compiler |
| Oct-6-1998 |
Methods and associated apparatus for simulating digital logic circuits with a general purpose computer system. A description of a digital logic circuit is converted into executable computer code. The code... |
| 5799183 |
Method of processing data batch transfer among the memories in a computer system having a hierarchical memory structure |
| Aug-25-1998 |
A method for optimizing a program by performing a data batch transfer between a first and second memories when data is read from the second memory into the first memory and when the data is written from... |
| 5758162 |
Program translating apparatus and a processor which achieve high-speed execution of subroutine branch instructions |
| May-26-1998 |
A program translating apparatus is composed of a translation unit 103 and a link unit 108. The translation unit 103 includes a determination unit 105 which detects the stack size to be needed for each... |
| 5748965 |
Language processing method for calculating optimum address of array |
| May-5-1998 |
A language processing method targeted at hardware having a data space greater than the data width of an architecture is improved in that address calculation of an array element is performed efficiently... |
| 5721893 |
Exploiting untagged branch prediction cache by relocating branches |
| Feb-24-1998 |
An untagged branch prediction cache is exploited by relocating branches during a final pass in the compilation process, after all other optimizations have been applied, where a pass is made over the instructions... |
| 5712996 |
Process for dividing instructions of a computer program into instruction groups for parallel processing |
| Jan-27-1998 |
In order to be able to execute rapid processing of a program on super-scalar microprocessors, the individual instructions of this program must be divided into instruction groups, which can be processed... |
| 5619702 |
Method and apparatus for programming registers using simplified commands |
| Apr-8-1997 |
A method and apparatus for programming hardware registers using a database defining each hardware register and associated bit fields of the registers, input code including bit field write (BFW) commands... |
| 5613121 |
Method and system of generating combined storage references |
| Mar-18-1997 |
A novel method and system for optimizing the instructions produced by a compiler comprises examining pairs of load and pairs of store instructions to determine whether a pair of load or a pair of store... |
| 5603030 |
Method and system for destruction of objects using multiple destructor functions in an object-oriented computer system |
| Feb-11-1997 |
A method and system for generating code to destroy objects is provided. In a preferred embodiment, a compiler generates a plurality of destructor functions for the class. Each destructor function performs... |
| 5590332 |
Garbage collection, tail recursion and first-class continuations in stack-oriented languages |
| Dec-31-1996 |
Methods for implementing garbage collection, tail recursion and first-class continuations for advanced computer applications in a stack-oriented language. Objects, including assignable cells, subprogram... |
| 5579520 |
System and methods for optimizing compiled code according to code object participation in program activities |
| Nov-26-1996 |
A development system having a compiler, a linker, an interface, and a code packing optimization module is described. The compiler generates or "compiles" source listings into object modules, which may... |
| 5542075 |
Method and apparatus for improving performance of out of sequence load operations in a computer system |
| Jul-30-1996 |
The invention provides for improved performance of out of sequence load operations. The system has an improved compiler, with an optimizer, an improved CPU with four new instructions in its instruction... |
| 5504914 |
Multi-level instruction boosting method using plurality of ordinary registers forming plurality of conjugate register pairs that are shadow registers to each other with different only in MSB |
| Apr-2-1996 |
An instruction multi-level boosting method in a compiler has the step of providing a plurality of ordinary registers to act as the destination registers for access by the ordinary instructions. At least... |
| 5493675 |
Compiler back end calling predetermined front end routines that use effect and dependency indicators to provide information to the compiler to determine the validity of an optimization |
| Feb-20-1996 |
A compiler framework uses a generic "shell" and a generic back end (where the code generator is target-specific). The generic back end provides the functions of optimization, register and memory allocation,... |
| 5490276 |
Programming language structures for use in a network for communicating, sensing and controlling information |
| Feb-6-1996 |
An improved programming interface which provides for event scheduling, improved variable declarations allowing for configuration of declaration parameters, and improved handling of I/O objects. In modern... |
| 5450313 |
Generating local addresses and communication sets for data-parallel programs |
| Sep-12-1995 |
An optimizing compilation process generates executable code which defines the computation and communication actions that are to be taken by each individual processor of a computer having a distributed... |