OOElala: Order-of-Evaluation Based Alias Analysis for Compiler Optimization
In C, the order of evaluation of expressions is unspecified; further for expressions
that do not involve function calls, C semantics ensure that there
cannot be a data race between two evaluations that can proceed in
either order (or concurrently). We explore the
optimization opportunity enabled by these non-deterministic
expression evaluation semantics in C, and provide
a sound compile-time alias analysis to realize
the same.
Our algorithm is implemented as a part of the
Clang/LLVM infrastructure,
in a tool called {\em OOElala}.
Our experimental results demonstrate that
the untapped optimization opportunity is significant: code
patterns that enable such optimizations are
common; the enabled transformations can range from vectorization to
improved instruction selection and register allocation;
and the resulting speedups can be as high as 2.6x on already-optimized
code.
Thu 18 JunDisplayed time zone: Pacific Time (US & Canada) change
13:00 - 14:00 | Code GenerationPLDI Research Papers at PLDI Research Papers live stream Chair(s): Fan Long University of Toronto | ||
13:00 20mTalk | Automatic Generation of Efficient Sparse Tensor Format Conversion Routines PLDI Research Papers Stephen Chou Massachusetts Institute of Technology, USA, Fredrik Kjolstad Stanford University, Saman Amarasinghe Massachusetts Institute of Technology, USA Pre-print | ||
13:20 20mTalk | OOElala: Order-of-Evaluation Based Alias Analysis for Compiler Optimization PLDI Research Papers Ankush Phulia IIT Delhi, India, Vaibhav Bhagee IIT Delhi, India, Sorav Bansal IIT Delhi and CompilerAI Labs | ||
13:40 20mTalk | Effective Function Merging in the SSA Form PLDI Research Papers Rodrigo C. O. Rocha University of Edinburgh, UK, Pavlos Petoumenos University of Manchester, UK, Zheng Wang University of Leeds, UK, Murray Cole University of Edinburgh, UK, Hugh Leather University of Edinburgh, UK |