The effectiveness of static code optimizations--including static optimizations performed "just-in-time"--is limited by some basic constraints: (i) a limited number of logical registers, (ii) a function- or region-bounded optimization scope, and (iii) the requirement that transformations be valid along all possible paths. RENO is a modified MIPS-R10000 style register renaming mechanism augmented with physical register reference counting that uses map-table "short-circuiting " to implement dynamic versions of several well-known static optimizations: move elimination, common subexpression elimination, register allocation, and constant folding. Because it implements these optimizations dynamically, RENO can overcome some of ...
A dynamic optimizer is a software-based system that performs code modifications at runtime, and seve...
Program redundancy analysis and optimization have been an important component in optimizing compiler...
A highly optimized register allocator should provide an efficient placement of save/restore code for...
The effectiveness of static code optimizations--including static optimizations performed just-in-ti...
RENO is a modified register renaming mechanism that performs optimizations on the dynamic instructio...
In this paper, we present a novel mechanism that implements register renaming, dynamic speculation a...
The performance of the memory hierarchy has become one of the most critical elements in the performa...
Register file (RF) is extremely vulnerable to soft errors, and traditional redundancy based schemes ...
International audienceMost high performance general purpose processors leverage register renaming to...
Register promotion is an optimization that allocates a value to a register for a region of its lifet...
Modern superscalar processors support a large number of in-flight instructions, which requires sizea...
Code compression is a field where compression ratios between compiler-generated code and subsequent ...
Dynamic Instruction Stream Editing (DISE) is a cooperative software-hardware scheme for efficiently ...
Register allocation is an important optimization for high performance microprocessors but there is n...
We describe a technique for automatically proving compiler optimizations sound, meaning that their t...
A dynamic optimizer is a software-based system that performs code modifications at runtime, and seve...
Program redundancy analysis and optimization have been an important component in optimizing compiler...
A highly optimized register allocator should provide an efficient placement of save/restore code for...
The effectiveness of static code optimizations--including static optimizations performed just-in-ti...
RENO is a modified register renaming mechanism that performs optimizations on the dynamic instructio...
In this paper, we present a novel mechanism that implements register renaming, dynamic speculation a...
The performance of the memory hierarchy has become one of the most critical elements in the performa...
Register file (RF) is extremely vulnerable to soft errors, and traditional redundancy based schemes ...
International audienceMost high performance general purpose processors leverage register renaming to...
Register promotion is an optimization that allocates a value to a register for a region of its lifet...
Modern superscalar processors support a large number of in-flight instructions, which requires sizea...
Code compression is a field where compression ratios between compiler-generated code and subsequent ...
Dynamic Instruction Stream Editing (DISE) is a cooperative software-hardware scheme for efficiently ...
Register allocation is an important optimization for high performance microprocessors but there is n...
We describe a technique for automatically proving compiler optimizations sound, meaning that their t...
A dynamic optimizer is a software-based system that performs code modifications at runtime, and seve...
Program redundancy analysis and optimization have been an important component in optimizing compiler...
A highly optimized register allocator should provide an efficient placement of save/restore code for...