U.S. patents available from 1976 to present.
U.S. patent applications available from 2005 to present.

Icon_funbox Famous Patents

In 1608, Dutch eyeglass maker Hans Lipperhey filed the first patent for a working telescope. The patent was denied.

Newsletter  PatentStorm News

Make the Most of Our Site

See this month's Top Inventors and Most Cited Patents.

Stay on top of the latest innovations by subscribing to an RSS feed.

Registered users: Manage your profile.

 

Class 717/160 - Including loop


Subclass of Class 717 - Data processing: software development, installation, and management
Definition: Subject matter wherein a code portion to be restructured
No. of patents: 255
Last issue date: 01/24/2012


1              
NumberTitleIssue Date
8104030Mechanism to restrict parallelization of loops
A computer implemented method, computer usable program code, and a system for parallelizing a loop. A parameter that will be used to limit parallelization of the loop is identified to limit parallelization of the loop. The parameter specifies a minimum number of loo...
01/24/2012
8087012Eliminating maximum/minimum operations in loop bounds
A technique is provided for eliminating maximum and minimum expressions within loop bounds are provided. A loop in a code is identified. The loop is determined to meet conditions, which require an upper loop bound and a lower loop bound to contain maximum and minimu...
12/27/2011
8060870System and method for advanced polyhedral loop transformations of source code in a compiler
A system and method for advanced polyhedral loop transformations of source code in a compiler are provided. The mechanisms of the illustrative embodiments address the weaknesses of the known polyhedral loop transformation based approaches by providing mechanisms for...
11/15/2011
8056069Framework for integrated intra- and inter-loop aggregation of contiguous memory accesses for SIMD vectorization
A method, computer program product, and information handling system for generating loop code to execute on Single-Instruction Multiple-Datapath (SIMD) architectures, where the loop contains multiple non-stride-one memory accesses that operate over a contiguous strea...
11/08/2011
8028281Run-Time parallelization of loops in computer programs using bit vectors
Parallelization of loops is performed for loops having indirect loop index variables and embedded conditional statements in the loop body. Loops having any finite number of array variables in the loop body, and any finite number of indirect loop index variables can ...
09/27/2011
8010957Compiler for eliminating redundant read-modify-write code sequences in non-vectorizable code
A computer implemented method, apparatus, and computer usable program code for eliminating redundant read-modify-write code sequences in non-vectorizable code. Code is received comprising a sequence of operations. The sequence of operations includes a loop. Non-vect...
08/30/2011
7962906Compiler method for employing multiple autonomous synergistic processors to simultaneously operate on longer vectors of data
A compiler includes a mechanism for employing multiple synergistic processors to execute long vectors. The compiler receives a single source program. The compiler identifies vectorizable loop code in the single source program and extracts the vectorizable loop code ...
06/14/2011
7937695Reducing number of exception checks
Based on operations within an uncounted loop of source code, one or more calculations are generated for determining, at runtime, an expected number of iterations through which the uncounted loop can iterate before encountering an exception corresponding to at least ...
05/03/2011
7908256Speculative computation lock coarsening through the use of localized lock reservation
A computer-implementable method, system and computer-usable medium. One or more objects among a plurality of objects can be processed utilizing a data-processing apparatus/system. One or more lock reservations can be applied among a group of lock reservations over a...
03/15/2011
7890943Code optimization based on loop structures
Instructions that have no dependence constraint between them and other instructions in a loop of a critical section may be moved out of the critical section so that the size of the critical section may be reduced. A flow graph of a program including the critical sec...
02/15/2011
7890942Array value substitution and propagation with loop transformations through static analysis
A method and system for substituting array values (i.e., expressions) in a program at compile time. An initialization of an array is identified in a loop. The initialization is an assignment of an expression (i.e., a constant or a function of an induction variable t...
02/15/2011
7873954Stack unique signatures for program procedures and methods
Stack signature marking segments are inserted into re-entrant programming source code modules prior to compilation of the modules at each code module entry point and at each code module exit point, followed by producing one or more executable programs from the progr...
01/18/2011
7865886Blocking of nested loops having feedback or feedforward indexes
A method and apparatus for to blocking nested loops having feedback or feedforward indexing. An embodiment of a method includes receiving a computer code segment, the segment including a first inner loop and a second outer loop, the inner loop being within the outer...
01/04/2011
7856629Compiler apparatus
A compiler apparatus, which can perform software pipelining optimization that has a considerable effect of reducing the number of execution cycles taken to complete a loop process, converts a source program into a machine program for a processor which is capable of ...
12/21/2010
7849453Method and apparatus for software scouting regions of a program
One embodiment of the present invention provides a system that generates code for software scouting the regions of a program. During operation, the system receives source code for a program. The system then compiles the source code. In the first step of the compilat...
12/07/2010
7823141Using a concurrent partial inspector loop with speculative parallelism
A method for executing a loop in an application that includes executing iterations in a first segment of the loop by a base thread, logging memory transactions that occur during execution of iterations in the first segment by a co-inspector thread to obtain a co-ins...
10/26/2010
7814468Method for loop reformulation
A method for loop reformulation is provided such that a single exit ill-formed loop (SEIFL) can be reformulated into a reformulated code block that contains a transformed well-formed loop (TWFL). A SEIFL loop is a loop that can exit from the loop body of the loop. A...
10/12/2010
7810032System and method for performing over time statistics in an electronic spreadsheet environment
A method and system for computing statistical parameters for sets of data items, by executing instructions of a computer program that is coded within a spreadsheet. Each set is generated in a time sequence that is specific to each set. For each time sequence, each d...
10/05/2010
7793278Systems and methods for affine-partitioning programs onto multiple processing units
Systems and methods perform affine partitioning on a code stream to produce code segments that may be parallelized. The code segments include copies of the original code stream with conditional inserted that aid in parallelizing code. The conditional is formed by de...
09/07/2010
7788659Method of converting computer program with loops to one without loops
The present invention is a method of eliminating loops from a computer program by receiving the program, graphing its function and control, identifying its entry point, and identifying groups of loops connected to its entry point. Stop if there are no such groups. O...
08/31/2010
7689980Splitting the computation space to optimize parallel code
Linear transformations of statements in code are performed to generate linear expressions associated with the statements. Parallel code is generated using the linear expressions. Generating the parallel code includes splitting the computation-space of the statements...
03/30/2010
7665079Program execution method using an optimizing just-in-time compiler
It is one object of the present invention to provide a program execution method for performing greater optimization. A program execution apparatus according to the present invention performs a transfer from an interpreter process to a compiled code process in the co...
02/16/2010
7581215Dependency analysis system and method
We present a technique to perform dependence analysis on more complex array subscripts than the linear form of the enclosing loop indices. For such complex array subscripts, we decouple the original iteration space and the dependence test iteration space and link th...
08/25/2009
7530063Method and system for code modification based on cache structure
A method and system of modifying instructions forming a loop is provided. A method of modifying instructions forming a loop includes modifying instructions forming a loop including: determining static and dynamic characteristics for the instructions; selecting a mod...
05/05/2009
7506331Method and apparatus for determining the profitability of expanding unpipelined instructions
A method, apparatus, and computer instructions for processing instructions. A data dependency graph is built. The data dependency graph is analyzed for recurrences, and unpipelined instructions that lie outside of the recurrences are expanded. ...
03/17/2009
7428731Continuous trip count profiling for loop optimizations in two-phase dynamic binary translators
A method, machine readable medium, and system are disclosed. In one embodiment the method comprises collecting a loop trip count continuously during runtime of a region of code being executed that contains a loop, categorizing the trip count to identify one or more ...
09/23/2008
7421687Optimizing branch condition expressions in a JIT compiler
A Java virtual machine includes a just in time (JIT) Java compiler. The JIT compiler includes at least one optimizer. Each of the at least one optimizer includes logic for recognizing a pattern in a received Java byte code, logic for optimizing the recognized patter...
09/02/2008
7415700Runtime quality verification of execution units
One embodiment disclosed relates to a method of compiling a program to be executed on a target microprocessor with multiple execution units of a same type. The method includes selecting one of the execution units for testing and scheduling the parallel execution of ...
08/19/2008
7404183Transforming locks in software loops
An improved method and system for acquisition and release of locks within a software program is disclosed. In an exemplary embodiment, a lock within a loop is transformed by relocating acquisition and release instructions from within the loop to positions outside th...
07/22/2008
7395531Framework for efficient code generation using loop peeling for SIMD loop code with multiple misaligned statements
A system and method is provided for vectorizing misaligned references in compiled code for SIMD architectures that support only aligned loads and stores. In this framework, a loop is first simdized as if the memory unit imposes no alignment constraints. The compiler...
07/01/2008
7395419Macroscalar processor architecture
A macroscalar processor architecture is described herein. In one embodiment, an exemplary processor includes one or more execution units to execute instructions and one or more iteration units coupled to the execution units. The one or more iteration units receive o...
07/01/2008
7386842Efficient data reorganization to satisfy data alignment constraints
An approach is provided for vectorizing misaligned references in compiled code for SIMD architectures that support only aligned loads and stores. In the framework presented herein, a loop is first simdized as if the memory unit imposes no alignment constraints. The ...
06/10/2008
7373642Defining instruction extensions in a standard programming language
A method is provided for modifying a program written in a standard programming language so that when the program is compiled both an executable file is produced and an instruction is programmed into a programmable logic device of a processor system. The method inclu...
05/13/2008
7367024Compiler-driven dynamic memory allocation methodology for scratch-pad based embedded systems
A highly predictable, low overhead and yet dynamic, memory allocation methodology for embedded systems with scratch-pad memory is presented. The dynamic memory allocation methodology for global and stack data (i) accounts for changing program requirements at runtime...
04/29/2008
7367026Framework for integrated intra- and inter-loop aggregation of contiguous memory accesses for SIMD vectorization
A method, computer program product, and information handling system for generating loop code to execute on Single-Instruction Multiple-Datapath (SIMD) architectures, where the loop contains multiple non-stride-one memory accesses that operate over a contiguous strea...
04/29/2008
7363338Selective assembly loading and execution based on platform capabilities
An arrangement is provided for selectively loading and executing an assembly based on platform capabilities. When an application that includes at least one platform capability-dependent assembly realized to perform a function is initiated on a platform of a device, ...
04/22/2008
7360205Minimizing interaction costs among components of computer programs
A system and method for minimizing total cost of interaction among components of a computer program which are each characterized by at least one implementation property. A implementation property may, for example, be a choice of string representation (e.g. ASCII, UN...
04/15/2008
7360207Method and system to analyze inlined functions
A method and a system for examining an inlined function using a performance analysis tool are described. An inlined function is identified in computer code. Upon identification of the inlined function, and for example in response to executing a breakpoint associated...
04/15/2008
7353505Tracing the execution path of a computer program
The invention relates to tracing the execution path of a computer program comprising at least one module including a plurality of instructions. At least one of these instructions is a branch instruction. Each branch instruction is identified and evaluated to be one ...
04/01/2008
7353491Optimization of memory accesses in a circuit design
Methods and apparatus for optimizing memory accesses in a circuit design are described. According to one embodiment, a method comprises identifying a subset of variables from a multi-variable memory space that are accessed by a plurality of loops, storing the subset...
04/01/2008
1              
 
Sign InRegister
Username  
Password   
forgot password?