Including instrumentation and profiling

CL 717 SC 158
5890205 Optimized application installation using disk block relocation
Mar-30-1999 A computer system is programmed with a plurality of programming instructions for implementing a software function, having an installation utility with logic for generating, if possible, an alternative...
5889999 Method and apparatus for sequencing computer instruction execution in a data processing system
Mar-30-1999 A method and apparatus for sequencing computer instructions in memory (24) to provide for more instruction efficient execution by a central processing unit (CPU) (22) begins by executing the computer instructions...
5872978 Method and apparatus for improved translation of program data into machine code format
Feb-16-1999 A method and apparatus for generating and distributing program code written initially in terms of a virtual processor (at authoring suite 10-18) and then translated (24) to the native code of a target...
5857105 Compiler for reducing number of indirect calls in an executable code
Jan-5-1999 A compiler method converts an indirect call to a callee routine in a caller routine program listing, to an in-line listing of, or a direct call to, the callee routine in the caller routine. An indirect...
5857104 Synthetic dynamic branch prediction
Jan-5-1999 A compiler includes a branch statistics data analyzer to analyze branch statistics data of a branch instruction to construct a branch predictor function for the branch instruction. A branch prediction...
5857103 Method and apparatus for addressing extended registers on a processor in a computer system
Jan-5-1999 In its various embodiments, the present invention provides a method and apparatus for creating a target executable program from the source code of a target computer program for execution on a target processor....
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...
5854928 Use of run-time code generation to create speculation recovery code in a computer system
Dec-29-1998 In a computer system, programming code includes speculative code. The speculative code is code which is executed early based on speculation that the results from execution of the speculative code will...
5845118 Method for generating shared library executable code with lazy global offset table address calculation
Dec-1-1998 A process for transforming source code into efficient shared library executable code in which global offset table address values are computed only when needed by a function. A condition register and current...
5842017 Method and apparatus for forming a translation unit
Nov-24-1998 A computer system for executing a binary image conversion system which converts instructions from a instruction set of a first, non native computer system to a second, different, native computer system,...
5838978 System and method of using annotations to optimize dynamically translated code in the presence of signals
Nov-17-1998 A method and system of dynamically translating code that uses code annotations to determine whether the dynamic translator must fully materialize machine state. At compilation time, annotations are placed...
5835773 Method for achieving native performance across a set of incompatible architectures using a single binary file
Nov-10-1998 A method and article of manufacture for providing a balanced tradeoff between size of a single binary file and performance of that binary on various computer architectures of a wide range of computer platforms....
5815720 Use of dynamic translation to collect and exploit run-time information in an optimizing compilation system
Sep-29-1998 Dynamic translation is used to produce profile information used to optimize object code for an application. In order to produce optimized object code for the application, source code for the application...
5815719 Method and apparatus for easy insertion of assembler code for optimization
Sep-29-1998 Small assembly code routines are inlined with source code prior to optimization processing in a compiler in a data processing system. Each assembly code routine is presented to the compiler in the form...
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...
5802585 Batched checking of shared memory accesses
Sep-1-1998 In a distributed shared memory computer system a plurality of workstations are connected to each other by a network. Each workstation includes a processor, a memory having addresses, and an input/output...
5790865 Method and apparatus for reordering components of computer programs
Aug-4-1998 A method and system for reordering sections of a computer program are disclosed. The computer program is executed during an experimental execution period. During the execution period, an access record...
5761515 Branch on cache hit/miss for compiler-assisted miss delay tolerance
Jun-2-1998 In a computer system having a hierarchical memory, the problem of tolerating cache miss latency is solved by dynamically switching appropriately between two different code sequences, one optimized at compile-time,...
5761514 Register allocation method and apparatus for truncating runaway lifetimes of program variables in a computer system
Jun-2-1998 A method and apparatus for truncating runaway lifetimes of program variables calculates liveness for each variable based on upwardly exposed uses. Reaching definitions are then calculated for at least...
5758164 Method and system for processing language
May-26-1998 In a language processing system for translating a source program into a machine program, a range of the source program to be optimized is discriminated during parsing to generate an optimization enabling...
5752038 Method and system for determining an optimal placement order for code portions within a module
May-12-1998 A method and system for determining an optimal placement order for code portions within a module to improve locality of reference and reduce the working set of the module are provided. The optimal placement...
5704053 Efficient explicit data prefetching analysis and code generation in a low-level optimizer for inserting prefetch instructions into loops of applications
Dec-30-1997 A compiler that facilitates efficient insertion of explicit data prefetch instructions into loop structures within applications uses simple address expression analysis to determine data prefetching requirements....
5689712 Profile-based optimizing postprocessors for data references
Nov-18-1997 The present invention is a system and process for optimizing programs, having memory references, at the object code level. The process includes the computer-implemented steps of instrumenting each of the...
5659754 Method and apparatus for an improved optimizing compiler
Aug-19-1997 An optimizing compiler process and apparatus is disclosed for more accurately and efficiently identifying live variable sets in a portion of a target computer program, so as to more efficiently allocate...
5659752 System and method for improving branch prediction in compiled program code
Aug-19-1997 A method and system for optimizing branch prediction in an executable computer program compiled for execution on a pipelined processor that employs branch prediction. The source program is compiled and,...
5615369 Automated detection and correction of uninitialized variables
Mar-25-1997 In a compiler within a computing system, user definition webs are built for local variables in a subroutine. For each user definition web in which a first local variable is used, if there is a use of the...
5613118 Profile-based preprocessor for optimizing programs
Mar-18-1997 The present invention is an system and method for optimizing a program, having qualified elements, at the source level. The method includes the steps of instrumenting each path of the qualified elements...
5613117 Optimizing compiler using templates corresponding to portions of an intermediate language graph to determine an order of evaluation and to allocate lifetimes to temporary names for variables
Mar-18-1997 A compiler framework uses a generic "shell" and a generic back end (where the code generator is target-specific). The generic back end provides the functions of optimization, register and memory allocation,...
5590331 Method and apparatus for generating platform-standard object files containing machine-independent code
Dec-31-1996 A method and apparatus for generating a platform-standard object file containing machine-independent abstract code. Source code which defines a procedure is convened into abstract code which makes no assumptions...
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...
5530964 Optimizing assembled code for execution using execution statistics collection, without inserting instructions in the code and reorganizing the code based on the statistics collected
Jun-25-1996 In one aspect, a software development technique is capable of efficiently organizing for execution a conditional code segment having multiple associated conditional paths. The development technique employs...
5530866 Register allocation methods having upward pass for determining and propagating variable usage information and downward pass for binding; both passes utilizing interference graphs via coloring
Jun-25-1996 The present invention provides methods for allocating physical registers within a compiler phase to achieve efficient operation of a target CPU. The methods of the present invention allocate variables...
5414855 Language compiler
May-9-1995 A method for improving the compilation of computer code is described. In the described invention, a storage array is created into which a set of code statements are temporarily placed before compilation....
5319784 System for automatic and selective compile-time installation of fastpath into program for calculation of function/procedure without executing the function/procedure
Jun-7-1994 A system is provided for enhancing a compiler with the capability to install a fastpath within a compiled program. The enhanced compiler allows a program to use the benefits of a fastpath without requiring...
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...
5303377 Method for compiling computer instructions for increasing instruction cache efficiency
Apr-12-1994 Method for compiling program instructions to reduce instruction cache misses and instruction cache pollution. The program is analyzed for instructions which result in a non-sequential transfer of control...
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...
5142679 Method and apparatus for collecting execution status data of structured program
Aug-25-1992 Method and apparatus provide for collecting execution status data in the execution of an object program. In compiling a source program described in a structured format to an object program, a PROBE instruction...