Dynamic removal of redundant computations

Carlos Molina, Antonio M. González, Jordi Tubella · 1999

A mechanism for dynamic instruction-level reuse in superscalar microprocessors is presented, The underlying concept that the mechanism exploits is the run-time removal of redundant computations, and in particular the elimination of common subexpressions and invariants.Removing redundant computation is a target of optimizing compilers but sometimes they do not succeed due to their limited knowledge of the data.Moreover: the proposed mechanism can also remove quasi-redundant computations, such as subexpressions that often produce the same result but sometimes they diffeer: depending on the data values, and thus they cannot be eliminated by the compiler: Experimental results for the Spec9.5 show that on average the mechanism can avoid the execution of about 32% of the dynamic instructions and provides an 1.10 speedup in a superscalar microprocessor: An extensive evaluation of d@erent conjgurations and a comparison with previous schemes are presented, as well as the pe$ormance potential of a pet$ect reuse engine.

Read the paper · More papers on PaperTik