home · mobile · calendar · colloquia · 1998-1999 · 

Colloquium - Bodik

Path-Sensitive Value-Flow Optimizations
University of Pittsburgh

Current compiler optimizations are conservative and inflexible. As a result, even "highly optimized" programs execute half of their instructions redundantly, only to recompute previously computed values. Ideally, these values should be remembered and later *reused*, avoiding recomputations.

Unfortunately, this reuse strategy fails often. The main culprit is intermittent reuse -- one that exists only along some execution paths leading to the redundant instruction. This path-specific reuse is very common. How can we exploit it without paying the exponential price of optimizing each path separately?

This talk will describe a path-sensitive optimization framework that is powerful enough to achieve a near-complete redundancy removal, yet practical enough to permit an industrial-strength implementation. While the path-specific power is obtained by fusing three methods with complementary strengths, practicality stems from adaptability: when fusing the three methods, the optimizer biases itself towards the most suitable one, balancing cost and benefit.

Hosted by Clayton Lewis.

Department of Computer Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
May 5, 2012 (14:13)