| 7039909 |
Method and apparatus for performing compiler transformation of software code using fastforward regions and value specialization |
| May-2-2006 |
A method and apparatus for providing compiler transformation of code using regions with simplified data and control flow and value specialization are described. In one embodiment, the method includes identifying... |
| 7020873 |
Apparatus and method for vectorization of detected saturation and clipping operations in serial code loops of a source program |
| Mar-28-2006 |
An apparatus and method for vectorization of detected saturation and clipping operations in serial code loops of a source program are described. In one embodiment, the method includes the analysis of source... |
| 7007271 |
Method and apparatus for integrated instruction scheduling and register allocation in a postoptimizer |
| Feb-28-2006 |
The present invention describes a method of efficiently optimizing instruction scheduling and register allocation in a post optimizer. The method removes false register dependencies between pipelined instructions... |
| 7003760 |
Method for enhancing pointer analyses |
| Feb-21-2006 |
Methods are described that enhance pointer analysis for programs. Whereas previous methods are constrained by the extremes of an inverse relationship between time and information, the present methods selectively... |
| 6983456 |
Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms |
| Jan-3-2006 |
A system and method for compiling computer code written to conform to a high-level language standard to generate a unified executable containing the hardware logic for a reconfigurable processor, the instructions... |
| 6973638 |
Execution of extended activity diagrams by code generation |
| Dec-6-2005 |
A process modeling tool for graphically representing a process which includes transactions and events, and for generating computer code representing the process. A graphical tool creates a graphical representation... |
| 6971092 |
System and method for analyzing data accesses of a trace from a computer-executable program to determine data access patterns |
| Nov-29-2005 |
A system and method for analyzing data accesses to determine data access patterns. Data address accesses are traced and transformed into Whole Program Streams (WPS). WPS may then be used to discover higher-level... |
| 6966054 |
Method and system for generating a computer program |
| Nov-15-2005 |
A method and system is described for generating executable code for a computer program. A programmer creates an intentional program tree using a syntax-independent editor. The editor allows a programmer... |
| 6952817 |
Generating hardware interfaces for designs specified in a high level language |
| Oct-4-2005 |
A method of processing a general-purpose, high level language program to determine a hardware representation of the program can include compiling the general-purpose, high level language program to generate... |
| 6934938 |
Method of programming linear graphs for streaming vector computation |
| Aug-23-2005 |
A method for producing a formatted description of a computation representable by a data-flow graph and computer for performing a computation so described. A source instruction is generated for each input... |
| 6934935 |
Method and apparatus for accurate profiling of computer programs |
| Aug-23-2005 |
An object code expansion profiler equips a program for execution profiling by preprocessing the object code files of the program so as to add profiling monitoring code to the beginning of all or substantially... |
| 6925636 |
Method and apparatus for refining an alias set of address taken variables |
| Aug-2-2005 |
A method, apparatus and article of manufacture for performing alias refinement is disclosed. Initially, a determination is made as to whether a load of an address exists for a variable in an intermediate... |
| 6922828 |
Method and system for detecting common bytecode sequences |
| Jul-26-2005 |
A method and system for detecting and counting bytecode sequences in a data processing system is provided. A bytecode tree data structure is used to represent sequences of bytecodes. A bytecode sequence... |
| 6904590 |
Methods for enhancing program analysis |
| Jun-7-2005 |
Methods are discussed that enhance program analysis. One aspect of the invention includes a method for checking a model of a program. The method includes a control-flow graph having vertices from the model,... |
| 6865730 |
Interprocedural analysis and optimization of an object oriented program in the presence of dynamic class loading |
| Mar-8-2005 |
A method is provided for analyzing an object oriented program that supports dynamic class loading. A set A of classes in the program is identified, wherein each class within set A is capable of, during... |
| 6839895 |
Method of, system for, and computer program product for providing efficient utilization of memory hierarchy through code restructuring |
| Jan-4-2005 |
Code restructuring or reordering based on profiling information and memory hierarchy is provided by constructing a Program Execution Graph (PEG) corresponding to a level of the memory hierarchy, partitioning... |
| 6834390 |
System and related interfaces supporting the processing of media content |
| Dec-21-2004 |
A software enabled, matrix switch is presented wherein a scalable plurality of inputs, coupled to media content sources, provide media content which is recursively routed through select media processing... |
| 6826569 |
Method for identifying patterns |
| Nov-30-2004 |
The method identifies repeating patterns in sequential event streams, in which each event (A1, B, C, D, A2) is of a pre-determined event type (A, B, C, D) and occurs at a specified position within an event... |
| 6820257 |
Optimized production of hardware from source programs involving multiplications |
| Nov-16-2004 |
A method of compiling a source program to produce hardware is provided. The method includes the steps of carrying out data flow analysis of the source program to produce a data flow representation of the... |
| 6772414 |
Lifetime-sensitive mechanism and method for hoisting invariant computations out of loops in a computer program |
| Aug-3-2004 |
A mechanism and method for hoisting invariant computations from loops analyzes the lifetimes of fixed processor resources defined by an instruction, and determines whether a group of computations present... |
| 6751792 |
Using value-expression graphs for data-flow optimizations |
| Jun-15-2004 |
A new method and apparatus for use in post compilation optimizers is presented. The present invention is based on the use of a new graphical representation of code in a linked program called an operands... |
| 6748589 |
Method for increasing the speed of speculative execution |
| Jun-8-2004 |
A method for increasing the speed of execution by a processor including the steps of selecting a sequence of instructions to optimize, optimizing the sequence of instructions, creating a duplicate of instructions... |
| 6745384 |
Anticipatory optimization with composite folding |
| Jun-1-2004 |
A method and system for anticipatory optimization of computer programs. The system generates code for a program that is specified using programming-language-defined computational constructs and user-defined,... |
| 6735764 |
Automatic machine application program development system and computer product |
| May-11-2004 |
The automatic machine application program development system has a tool area in which a new component as an element for describing a program as a flowchart is installed, and a drawing area in which a flowchart... |
| 6732356 |
System and method of using partially resolved predicates for elimination of comparison instruction |
| May-4-2004 |
Systems and methods are provided through which compare instructions in computer code are eliminated partially resolving the predicate of the compare instructions. Partially resolved predicates are used... |
| 6718541 |
Register economy heuristic for a cycle driven multiple issue instruction scheduler |
| Apr-6-2004 |
A method for scheduling operations utilized by an optimizing compiler to reduce register pressure on a target hardware platform assigns register economy priority (REP) values to each operation in a basic... |
| 6694512 |
Data processing device, data processing method and supply medium thereof |
| Feb-17-2004 |
A data processing device, data processing method and a supply medium thereof for generating machine instructions to allow faster processing. A DAG (Directed Acyclic Graph) is generated from a substitute... |
| 6694310 |
Data flow plan optimizer |
| Feb-17-2004 |
An optimizer for a data transformation system. The optimizer optimizes data flow plans that describe how data is to be transformed from the form it has in a data source to the form required in a data destination.... |
| 6678668 |
System and method for complex process optimization and control |
| Jan-13-2004 |
Apparatus for control of a complex process, said process being described by a plurality of input variables, a plurality of intermediate variables and a plurality of output variables having relationships... |
| 6675291 |
Hardware device for parallel processing of any instruction within a set of instructions |
| Jan-6-2004 |
Hardware device for parallel processing a determined instruction of a set of instructions having a same format defining operand fields and other data fields, the execution of this determined instruction... |
| 6665865 |
Equivalence class based synchronization optimization |
| Dec-16-2003 |
Synchronization optimization for statically compiled Java programs is performed in three phases: Thread closure analysis, Alias analysis, and Specialization and transformation. Thread closure analysis... |
| 6643630 |
Apparatus and method for annotating an intermediate representation of an application source code |
| Nov-4-2003 |
A performance evaluation apparatus is provided for annotating by priority level a DSP intermediate representation (DIR) of an application source code. The DIR includes nodes, leaf nodes and heading nodes,... |
| 6637026 |
Instruction reducing predicate copy |
| Oct-21-2003 |
When compiling software for a processor that supports predication, an alerting instruction can be inserted to alert a global register allocator to map particular virtual predicates into the same physical... |
| 6634023 |
Compile method, exception handling method and computer |
| Oct-14-2003 |
The present invention enables re-ordering of instructions to be executed while assuring a precise exception. In Java language, an optimization process of re-ordering instructions to be executed is performed... |
| 6615403 |
Compare speculation in software-pipelined loops |
| Sep-2-2003 |
The present invention provides a mechanism for implementing compare speculation in software pipelined loops. A data dependency graph (DDG) is generated for a loop that includes a control compare instruction,... |
| 6594783 |
Code verification by tree reconstruction |
| Jul-15-2003 |
A system and method are provided that allow for improved code sequence verification through the use of an abstract syntax tree. This is accomplished by first constructing an abstract syntax tree from the... |
| 6571387 |
Method and computer program product for global minimization of sign-extension and zero-extension operations |
| May-27-2003 |
A method and computer program product, within an optimizing compiler, for the global minimization of sign-extension and zero-extension operations in generated code during compilation. The method and computer... |
| 6567975 |
Method and apparatus for inserting data prefetch operations using data flow analysis |
| May-20-2003 |
A software method and apparatus for inserting prefetch operations according to data flow analysis. The invention traverses program code to ascertain memory operations and associated address forming operations,... |
| 6546551 |
Method for accurately extracting library-based object-oriented applications |
| Apr-8-2003 |
The present invention is capable of accurately extracting multiple applications with respect to a class library. The invention relies on a configuration file for an application program and/or library,... |
| 6516463 |
Method for removing dependent store-load pair from critical path |
| Feb-4-2003 |
A method, implemented by a compiler, for removing a store-load dependency from a critical path utilizes a compare address operation to determine at run time whether dependency actual exists. The operand... |
| 6505344 |
Object oriented apparatus and method for allocating objects on an invocation stack |
| Jan-7-2003 |
An object oriented mechanism and method allow allocating a greater number of objects on a method's invocation stack. Each instruction that creates an object (i.e., allocation instruction) is first analyzed... |
| 6470493 |
Computer method and apparatus for safe instrumentation of reverse executable program modules |
| Oct-22-2002 |
Computer method and apparatus allows instrumentation of program modules while maintaining exception-handling unwinding context. In the case of instrumenting procedure prologues, the invention preserves... |
| 6446258 |
Interactive instruction scheduling and block ordering |
| Sep-3-2002 |
In some embodiments, the invention includes a method of compiling instructions of a program. The method includes receiving instructions for code motion and controlling the code motion while interacting... |
| 6442751 |
Determination of local variable type and precision in the presence of subroutines |
| Aug-27-2002 |
A method is provided for tracking the type of at least one local variable after calling a subroutine. The exemplary method associates each one of a plurality of branch instructions calling the subroutine... |
| 6412109 |
Method for optimizing java bytecodes in the presence of try-catch blocks |
| Jun-25-2002 |
A method for optimizing bytecode in the presence of try-catch blocks comprises generating an Intermediate Representation of the bytecode, scanning each basic block of the bytecode to identify try blocks,... |
| 6314562 |
Method and system for anticipatory optimization of computer programs |
| Nov-6-2001 |
A method and system for anticipatory optimization of computer programs. The system generates code for a program that is specified using programming-language-defined computational constructs and user-defined,... |
| 6282708 |
Method and processor for structuring a multi-instruction computer program in an internal directed acyclic graph |
| Aug-28-2001 |
A method for structuring a multi-instruction computer program as containing a plurality of basic blocks, that each compose from internal instructions and external jumps organised in an internal directed... |
| 6260190 |
Unified compiler framework for control and data speculation with recovery code |
| Jul-10-2001 |
A method and system for scheduling computer instructions for execution as part of a compilation process in which an original computer program that defines a set of operations is compiled to produce an... |
| 6202203 |
Method of, system for, and computer program product for providing global value numbering |
| Mar-13-2001 |
A fast and efficient way of performing global value numbering beyond basic blocks and extended basic blocks on a complete topological ordering of basic blocks in a program. Global value numbering makes... |
| 6189141 |
Control path evaluating trace designator with dynamically adjustable thresholds for activation of tracing for high (hot) activity and low (cold) activity of flow control |
| Feb-13-2001 |
A computer-implemented system, method, and product are provided to designate and translate traces of original instructions of an executable file at run time based on dynamic evaluation of control flow... |