Using flow graph

CL 717 SC 156
5590329 Method and apparatus for detecting memory access errors
Dec-31-1996 Disclosed is a software generation system (SGS) based memory error detection system which may be utilized to detect various memory access errors, such as array dimension violations, dereferencing of invalid...
5577253 Analyzing inductive expressions in a multilanguage optimizing compiler
Nov-19-1996 A compiler framework comprises a generic compiler back end which may be used by a plurality of front ends to generate object code for a target computer system. Each front end scans and parses a source...
5557761 System and method of generating object code using aggregate instruction movement
Sep-17-1996 A system and method of generating object code from an intermediate representation of source code is described. The intermediate representation includes a plurality of basic blocks each being represented...
5555417 Method and apparatus for compiling computer programs with interprocedural register allocation
Sep-10-1996 Optimization techniques are implemented by means of a program analyzer used in connection with a program compiler to optimize usage of limited register resources in a computer processor. The first optimization...
5555412 Complier and method for alias checking in a complier
Sep-10-1996 An aliasing method and apparatus carried out on a digital computer are provided for generating an object code from a source program. An aliasing data structure is defined and includes an initial empty...
5511198 Optimizing compiler for shortening execution time of object program
Apr-23-1996 An optimizing compiler has a function of determining whether the result of a statement to be executed precedent to a conditional branch statement is not referred to by one destination of the conditional...
5450588 Reducing pipeline delays in compilers by code hoisting
Sep-12-1995 This invention permits an optimizing compiler to minimize the effect of pipeline delays, which are typically introduced by branching code. This invention employs code hoisting to introduce computations...
5450585 Compiler with delayed conditional branching
Sep-12-1995 An optimization method or apparatus adapted for use on a compiler for generating machine code optimized for a pipeline processor. A compute-compare-branch sequence in a loop is replaced with a compare-compute-branch...
5450554 Apparatus for detecting possibility of parallel processing and method thereof and a program translation apparatus utilized therein
Sep-12-1995 The present invention provides an apparatus for detecting whether a program having an iterative loop can be processed in parallel. The apparatus includes including a simulation unit for simulating each...
5448737 System and method for optimizing computer code using a compact data flow representation
Sep-5-1995 The present invention provides a system and method for optimizing or parallelizing computer code typically represented by a source program. The source program is represented by a control flow graph. The...
5442797 Latency tolerant risc-based multiple processor with event driven locality managers resulting from variable tagging
Aug-15-1995 A method and an apparatus for reconciling communication and locality by enabling a user/programmer to write programs in an extended procedural language which explicitly manipulate locality. The multiprocessor...
5418958 Register allocation by decomposing, re-connecting and coloring hierarchical program regions
May-23-1995 During code generation, a routine is first decomposed into regions. Then, starting from the highest plateau, i.e. the inner most control flow level, the interference graph of each region in a plateau is...
5396627 Method of producing object program based on interprocedural dataflow analysis of a source program
Mar-7-1995 A method of producing an object program from an inputted source program with a compiler using a computer, includes the steps of: performing an interprocedural dataflow analysis of a variable associated...
5339238 Register usage tracking in translating code for different machine architectures by forward and reverse tracing through the program flow graph
Aug-16-1994 A code translator, constructed similar to a compiler, accepts as an input to be translated the assembly code written for one architecture (e.g., VAX), and produces as an output object code for a different...
5317734 Method of synchronizing parallel processors employing channels and compiling method minimizing cross-processor data dependencies
May-31-1994 A method of synchronizing the parallel processors of a multiple instruction stream multiprocessor employs a limited number of register channels, which may be re-used, for enforcing cross-stream data or...
5307498 Automated method for adding hooks to software
Apr-26-1994 The automatic addition of hooks to software is provided by greatly simplified steps. A function which is to be hooked is renamed. A new function is then created utilizing the original function name to...
5307492 Mapping assembly language argument list references in translating code for different machine architectures
Apr-26-1994 A code translator, constructed similar to a compiler, accepts as an input to be translated the assembly code written for one architecture (e.g., VAX), and produces as an output object code for a different...
5301325 Use of stack depth to identify architechture and calling standard dependencies in machine code
Apr-5-1994 A code translator, constructed similar to a compiler, accepts as an input to be translated the assembly code written for one architecture (e.g., VAX), and produces as an output object code for a different...
5283901 Microcomputer with high speed access memory and language processing program execution system
Feb-1-1994 A microcomputer having a high speed access memory and a language processing program execution system capable of producing a compact object including a high speed variable operation is disclosed. As to...
5230053 Processor scheduling method for iterative loops
Jul-20-1993 A compiling method is described whereby a source program written in a conventional high-language for execution by a serial architecture computer can be automatically converted to an object program for...
5210837 Methods and apparatus for transforming machine language program control into high-level language constructs by manipulating graphical program representations
May-11-1993 A method for translating an initial program flow representation of a computer program into a modified program flow representation examines paths in the initial program flow representation, selects for...
5193190 Partitioning optimizations in an optimizing compiler
Mar-9-1993 A computer program to be compiled is optimized prior to carrying out the final compilation. Subgraphs within the program are identified and examined for optimization beginning with the entire program as...
5161216 Interprocedural slicing of computer programs using dependence graphs
Nov-3-1992 Programs having multiple procedures are analyzed by creating a syst This invention was made with U.S. Government support awarded by the National Science Foundation (NSF), Grant #DCR-8603356 and PYI Award...
5146594 Method of producing object program based on interprocedural dataflow analysis of a source program
Sep-8-1992 A method of producing an object program from an inputted source program with a compiler using a computer, includes the steps of: performing an interprocedural dataflow analysis of a variable associated...
5125092 Method and apparatus for providing multiple condition code fields to to allow pipelined instructions contention free access to separate condition codes
Jun-23-1992 A computer system includes a condition register having multiple fields. Each field may be used as an independent condition register. A compiler which generates executable code for the computer system assigns...
4885684 Method for compiling a master task definition data set for defining the logical data flow of a distributed processing network
Dec-5-1989 A compiler method is disclosed which defines a data flow for a specific complex function to be executed on a plurality of data processing elements in a distributed processing system, by means of defining...
4571678 Register allocation and spilling via graph coloring
Feb-18-1986 In an optimizing compiler which receives a high level source language program and produces machine interpretable instructions, a method for assigning computational data utilized by the program to a limited...