Optimization

CL 717 SC 151
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...