Using flow graph

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