Including loop

CL 717 SC 160
6049669 Exploiting case correlation to increase performance of programs with branch/switch instructions
Apr-11-2000 Data processing time is enhanced in a system in which the executable code has inserted therein certain instructions, by a system and method which anticipates which switch will occur when multipath decision...
6041181 Method of, system for, and computer program product for providing quick fusion in WHERE constructs
Mar-21-2000 FORTRAN WHERE construct compilation and optimization is provided by excluding an assignment statement containing a transformational intrinsic function from loop fusion of the WHERE construct. To perform...
6038398 Method and apparatus for improving performance of a program using a loop interchange, loop distribution, loop interchange sequence
Mar-14-2000 A compiler optimizing procedure improves a sequence of memory addressing actions of a program, wherein the program includes a plurality of do loops. The procedure includes the steps of: performing an interchange...
6035125 Method and system for generating compact code for the loop unrolling transformation
Mar-7-2000 A loop unrolling trasformation specified by loop unrolling factors UF[1], . . . , UF[k] is performed on a perfect nest of k multiple loops to produce an unrolled loop representation as follows. Moving...
6032252 Apparatus and method for efficient loop control in a superscalar microprocessor
Feb-29-2000 A superscalar microprocessor implements a repeated string instruction by putting the microcode unit in a continuous loop. The microcode sequence that implements the repeated string operation includes a...
6016399 Software pipelining a hyperblock loop
Jan-18-2000 An iterative software pipelining method promotes instructions of a program loop to previous loop iterations and then reschedules the instructions until either 1) the resultant schedule is optimal (i.e.,...
6016397 Method and apparatus for compilation of a data parallel language
Jan-18-2000 A loop having an index set that can be distributed but with data dependency on the right side of an assignment expression that is indefinite can be parallelized. The index set of the loop is distributed...
6009273 Method for conversion of a variable argument routine to a fixed argument routine
Dec-28-1999 A compiler method analyzes a program listing to identify a first set of subroutines therein, each of which accepts a variable number of arguments, converting the first set of subroutines into further sets...
5999738 Flexible scheduling of non-speculative instructions
Dec-7-1999 A technique for flexible scheduling of a code sequence wherein a set of instructions for determining a a fully-resolved predicate for each of a set of non-speculative instructions contained in the code...
5953531 Method of, system for, and computer program product for minimizing loop execution time by optimizing block/tile sizes
Sep-14-1999 An optimized set of block sizes for a nest of loops for improved data locality is determined by estimating a memory cost per iteration as a function of the block sizes and selecting a set of block sizes...
5930507 Compiling processing apparatus
Jul-27-1999 A compiling processing apparatus which compiles a program operating in a computer having a cache memory. This apparatus collects memory access data for the cache memory, analyzes confliction relationships...
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,...
5881291 System for conversion of loop functions in continuation-passing style
Mar-9-1999 A compiler and compilation method for processing a source program in a programming language in the Scheme/Lisp family into a representation known as continuation-passing style (CPS) before generating object...
5862385 Compile method for reducing cache conflict
Jan-19-1999 A compiling method, for use with programs to be executed on a computer with cache memory, which programs would otherwise generate decreased performance due to cache conflicts arising from conflicting cache...
5862384 Compiler optimizer that moves loop invariant expressions
Jan-19-1999 A compiler optimizing device provided with an optimizing section comprising an update variable control table to control the update variables to be changed in relation to the functions contained in the...
5854933 Method for optimizing a computer program by moving certain load and store instructions out of a loop
Dec-29-1998 A method, performed by a computer, for optimizing a computer program having a plurality of instructions that form a loop. The loop has a first block and a second block. The first block has at least one...
5845126 Method of, system for, and computer program product for providing inlined nested array constructors using normalized counters
Dec-1-1998 Method of, system for, and computer program product for generating efficient code for a set of nested Fortran 90 array constructors without introducing temporary vectors by the use of normalized counters...
5842022 Loop optimization compile processing method
Nov-24-1998 The entire space of a loop is analyzed for dependencies between target array elements so that dependency ID's are assigned to the target array elements. Optimization is carried out on the basis of the...
5815721 Method and apparatus for optimizing complex control structures using abstract web patterns
Sep-29-1998 An optimizing compiler for optimizing a computer program. The compiler builds abstract web representations for the code segments of the computer program. The compiler also maintains a library of abstract...
5805895 Method and apparatus for code translation optimization
Sep-8-1998 A native microprocessor (20) accesses a foreign block of computer code. An initial block scope defining translation parameters is assigned to the block (106). The block of "foreign" code is translated...
5805863 Memory pattern analysis tool for use in optimizing computer program code
Sep-8-1998 A method of facilitating optimization of computer program code. The code includes instructions for performing a plurality of loops, with each loop including at least one memory reference. The program code...
5802375 Outer loop vectorization
Sep-1-1998 A system and method for vectorizing a non-innermost loop of a nested loop. Iterative loops of a nested loop are analyzed to determine if they can be vectorized (vector legality). If more than one iterative...
5797013 Intelligent loop unrolling
Aug-18-1998 A compiler facilitates efficient unrolling of loops and enables the elimination of extra branches from the loops, including the elimination of conditional branches from unrolled loops with early exits....
5790866 Method of analyzing definitions and uses in programs with pointers and aggregates in an optimizing compiler
Aug-4-1998 A method for analyzing and optimizing programs that contain pointers and/or aggregates, such as found in the languages C, C++, FORTRAN-90, and Ada. The method applies to storage locations (lvalues) and...
5781777 Optimization method for computation partitioning oriented to a distributed memory
Jul-14-1998 When a loop contains a plurality of statements, a compiled program is generated without performing loop distribution, the resultant loop having no runtime resolution statement. A parallelizing compiler...
5768592 Method and apparatus for managing profile data
Jun-16-1998 A heuristic prediction method of generating profile information for compilers in a computer system that associates profile information to attribute-vectors of a source code derived from observation points...
5764993 Data updating method using overlap area and program converting device for converting update program in distributed-memory parallel processor
Jun-9-1998 In a parallel processor, a local area and an overlap area are assigned to the memory of each processing element (PE), and each PE makes calculations to update the data in both areas at the runtime. If...
5752037 Method of prefetching data for references with multiple stride directions
May-12-1998 There are two separate, yet related, prefetching strategies used for data references used having multiple strides, which typically occur in data references within nested loop structures. The first approach...
5640568 Inline expansion method for programming languages having array functions
Jun-17-1997 To provide inline expansion universally applicable to a variety of formulas as combinations of array functions and array operations with a programming language such as APL or FORTRAN 90 having array functions,...
5634059 Device and method for parallelizing compilation optimizing data transmission
May-27-1997 The present invention relates to an optimizing compiler apparatus for converting a source program into an object program for use by a parallel computer, which optimizes the number of data transmissions...
5584027 Method and apparatus for finding induction variables for use in compiling computer instructions
Dec-10-1996 A compiler and/or a compilation method is used to change or compile a plurality of instructions in memory from a form which is better understood by a human user to a form which is readily executed by a...
5537620 Redundant load elimination on optimizing compilers
Jul-16-1996 A method for eliminating redundant loads in an optimizing compiler is provided. When a LOAD and memory operation occur in an iterative loop structure having an induction variable, the method determines...
5481723 System and method for controlling execution of nested loops in parallel in a computer including multiple processors, and compiler for generating code therefore
Jan-2-1996 A system and method for controlling execution of nested loops in parallel in a computer including multiple processors, and a compiler for generating code therefor. The code enables the computer to operate...
5475842 Method of compilation optimization using an N-dimensional template for relocated and replicated alignment of arrays in data-parallel programs for reduced data communication during execution
Dec-12-1995 When a data-parallel language like Fortran 90 is compiled for a distributed-memory machine, aggregate data objects (such as arrays) are distributed across the processor memories. The mapping determines...
5457799 Optimizer for program loops
Oct-10-1995 In a method for optimizing loops of a program, the program is partitioned into a plurality of procedures, each procedure including instructions related for execution. A program call graph is constructed...
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...
5437034 Method of generating from source program object program by which final values of variables for parallel execution are guaranteed
Jul-25-1995 In a method of generating an object program for a multiprocessor system from a source program including a loop, there is detected a variable in the loop. For the detected variable, first codes providing...
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...
5386562 Circular scheduling method and apparatus for executing computer programs by moving independent instructions out of a loop
Jan-31-1995 A procedure which is a particular type of software pipelining is provided which increases the efficiency with which code is executed by reducing or eliminating stalls such as by filling delay slots. The...
5361354 Optimization of alternate loop exits
Nov-1-1994 An optimization method to be carried out within a digital computer under programmed control for eliminating or removing from a loop body alternate exit tests substantially of the form .alpha.i+.beta.cond.phi.,...
5349665 Compiler vectorizing system
Sep-20-1994 According to the present invention, there is provided a compiler vectorizing system for vectorizing the same variables defined at a plurality of positions by using an asymptotic formula in which a condition...
5317743 System for compiling iterated loops based on the possibility of parallel execution
May-31-1994 A compiler apparatus in a computer converts source program to object program to be executed by the computer. If loop instructions are included in the object program, the resource reference extraction section...
5303357 Loop optimization system
Apr-12-1994 In loop processing by an electronic computer that simultaneously executes a plurality of instructions, a loop optimization system according to this invention comprises loop analyzing means for judging...
5287510 Method for improving the efficiency of arithmetic code generation in an optimizing compiler using machine independent update instruction generation
Feb-15-1994 This invention provides a process within an optimizing compiler for transforming code to take advantage of update instructions available on some computer architectures. On architectures which implement...
5274812 Method of compiling source code into vectorized object code by performing a one-dimensional analysis on each dimension of a multi-dimensional array within a loop
Dec-28-1993 A process of compiling using a vectorized checkup method for converting array calculations appearing in a loop to be vectorized in a source program into vector calculations. The process determines a number...
5265253 Method of unrolling/optimizing repetitive loop
Nov-23-1993 A method of unrolling/optimizing a repetitive loop, in which a program compiler in a computer system unrolls and optimizes a repetitive loop instruction, includes the following steps. It is checked whether...
5247696 Method for compiling loops having recursive equations by detecting and correcting recurring data points before storing the result to memory
Sep-21-1993 A vector update method for vectorizing loops containing recursive equations within a supercomputer. Program code containing a loop is transformed into a nested loop in which the interior loop performs...
5202995 Method for removing invariant branches from instruction loops of a computer program
Apr-13-1993 Removal of invariant branches from nests of loops results in an optimized computer program with increased speed of execution. To accomplish this objective, each loop of a program is then examined, looking...
5109331 Compiling a source program by analyzing a subscript of an array included in a loop processing of a computer
Apr-28-1992 An induction variable contained in a definition formula for a variable in a loop is analyzed for a source program to be compiled in order to optimize the execution of the program. The induction variable...