
TL;DR
This paper introduces a linear-time algorithm for lifetime-optimal speculative partial redundancy elimination (lospre) in structured programs, significantly improving efficiency while maintaining optimality and broad applicability.
Contribution
The authors present the first linear-time lospre algorithm for structured programs, using graph-structure theory and tree-decompositions, with practical implementation in a C compiler.
Findings
The new algorithm runs in linear time relative to control-flow graph nodes.
It is proven to be optimal for structured programs.
Implementation demonstrates practical feasibility in mainstream C compilers.
Abstract
Lifetime-optimal speculative partial redundancy elimination (lospre) is the most advanced currently known redundancy elimination technique. It subsumes many previously known approaches, such as common subexpression elimination, global common subexpression elimination, and loop-invariant code motion. However, previously known lospre algorithms have high time complexity; faster but less powerful approaches have been used and developed further instead. We present a simple linear-time algorithm for lospre for structured programs that can also handle some more general scenarios compared to previous approaches. We prove that our approach is optimal and that the runtime is linear in the number of nodes in the control-flow graph. The condition on programs of being structured is automatically true for many programming languages and for others, such as C, is equivalent to a bound on the number of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
