Redundancy elimination revisited

13 years 9 months ago
Redundancy elimination revisited
This work proposes and evaluates improvements to previously known algorithms for redundancy elimination. Enhanced Scalar Replacement combines two classic techniques, scalar replacement and hash-based value numbering. The former detects redundant array references within and across loop iterations, while the latter detects a large class of redundancies, but only within a single loop iteration. By integrating the two techniques, ESR detects and eliminates a wider range of expression redundancies across loop iterations. We also extend hash-based value numbering to perform reassociation. Classic redundancy elimination techniques operate on an intermediate representation of the program in which operand association and order is of fixed shape. This rigidity in code shape may sometimes obscure redundancies. Our optimizer attempts to shape the code by changing associativity, exposing more redundancies. Opportunities for ESR, in particular, are increased with reassociation. Categories and Subj...
Keith D. Cooper, Jason Eckhardt, Ken Kennedy
Added 31 May 2010
Updated 31 May 2010
Type Conference
Year 2008
Authors Keith D. Cooper, Jason Eckhardt, Ken Kennedy
Comments (0)