| 6343375 |
Method for optimizing array bounds checks in programs |
| Jan-29-2002 |
A method and several variants for optimizing the detection of out of bounds array references in computer programs are described, while preserving the semantics of the computer program. Depending on the... |
| 6317872 |
Real time processor optimized for executing JAVA programs |
| Nov-13-2001 |
An improved computer architecture and system advantageously combine the beneficial characteristics of a high level object oriented programming language with an optimized processor for efficient application... |
| 6317876 |
Method and apparatus for determining a maximum number of live registers |
| Nov-13-2001 |
The present invention is a method and apparatus for compiler optimization that determines the maximum number of live computer registers, or pressure point. The present invention improves the productivity... |
| 6260191 |
User controlled relaxation of optimization constraints related to volatile memory references |
| Jul-10-2001 |
A regime of keywords modifying a volatile type-qualifier for use in source code accessing volatile objects via, for example, pointers to volatile memory locations. Each keyword permits corresponding selected... |
| 6135650 |
Method and system for wrapper routine optimization |
| Oct-24-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... |
| 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... |
| 6029003 |
Method of assigning external variables to memories when compiling source program |
| Feb-22-2000 |
In order to reduce a run time of an object program executable with a microcomputer having a fast internal RAM, the number of occurrences of each external variable in a source program is ascertained when... |
| 6026241 |
System, method, and computer program product for partial redundancy elimination based on static single assignment form during compilation |
| Feb-15-2000 |
Partial redundancy elimination of a computer program is described that operates using a static single assignment (SSA) representation of a computer program. The SSA representation of the computer program... |
| 6016398 |
Method for using static single assignment to color out artificial register dependencies |
| Jan-18-2000 |
The invention is a method of using static single assignment intermediate language to color out artificial register dependencies while compiling at least a portion of a computer program. The method comprises... |
| 6009272 |
Register allocation via selective spilling |
| Dec-28-1999 |
An approach for allocating a set of virtual registers to a set of physical registers using selective spilling is described. A set of code and a spill variable are specified. A code region hierarchy containing... |
| 5999735 |
Method for constructing a static single assignment language accommodating complex symbolic memory references |
| Dec-7-1999 |
The invention, in one embodiment is a method of creating a rank-n static single assignment intermediate language from a rank-(n-1) static single assignment intermediate language, where n is a positive... |
| 5987259 |
Functional unit switching for the allocation of registers |
| Nov-16-1999 |
A method and apparatus for allocating registers when compiling code is provided. In response to determining there are insufficient registers associated with a first functional unit of a processor to allocate... |
| 5835774 |
Efficient 32-bit based case table support for 64-bit architectures |
| Nov-10-1998 |
The present invention describes a system and method to efficiently implement case table constructs for integral datatypes larger than the native underlying register size of the architecture. The method... |
| 5835771 |
Method and apparatus for generating inline code using template metaprograms |
| Nov-10-1998 |
The present invention provides the capability to generate customized, inlined code or expression objects using template metaprograms. The code or expression object is created at compile time using template... |
| 5812856 |
Efficient ROM and PLA recoding to save chip area |
| Sep-22-1998 |
DSP size and cost can be reduced by shrinking the program ROM and opcode interpreter (e.g., PLA) to store and recognize only #OC unique opcodes from within the total available opcodes for the DSP. The... |
| 5761515 |
Branch on cache hit/miss for compiler-assisted miss delay tolerance |
| Jun-2-1998 |
In a computer system having a hierarchical memory, the problem of tolerating cache miss latency is solved by dynamically switching appropriately between two different code sequences, one optimized at compile-time,... |
| 5696974 |
Methods to support multimethod function overloading with compile-time type checking |
| Dec-9-1997 |
Methods and related apparatus, for use in programming language systems, are set forth which support compile-time type checking for overloaded functions in an environment supporting subtypes with multiple... |
| 5696973 |
Index-based method for supporting multimethod function overloading with compile-time type checking and run-time dispatch |
| Dec-9-1997 |
Programming language systems commonly allow for the use of function calls within a body of program source code. Since function names are generally descriptive, it is sometimes the case that two different... |
| 5655122 |
Optimizing compiler with static prediction of branch probability, branch frequency and function frequency |
| Aug-5-1997 |
A compiler and method for optimizing a program based on branch probabilities, branch frequencies and function frequencies. A number of algorithms executed by the compiler determine statically from the... |
| 5469572 |
Post compile optimizer for linkable object code |
| Nov-21-1995 |
A system for processing a complete object code data set, to be linked into an executable program. The system features means for facilitating optimization analysis based upon the complete object code data... |
| 5202993 |
Method and apparatus for cost-based heuristic instruction scheduling |
| Apr-13-1993 |
A method and apparatus for cost based heuristic instruction scheduling for a pipelined processor is disclosed which has particular application to compile time instruction scheduling after code generation.... |
| 5133072 |
Method for improved code generation in reduced instruction set computers |
| Jul-21-1992 |
A method for efficient generation of complied code is presented. In order to gain significant performance advantage with a minimum of code expansion, out-of-line code sequences are used. An out-of-line... |