(PLDI 2020) 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 this opportunity. Our alias analysis algorithm is implemented in a tool called OOElala as a part of the Clang/LLVM infrastructure. 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 real-world code.
Wed 15 JunDisplayed time zone: Pacific Time (US & Canada) change
10:40 - 12:00
|(OOPSLA 2020) Perfectly Parallel Fairness Certification of Neural Networks|
|(PLDI 2020) OOElala : Order-Of-Evaluation based Alias Analysis for compiler optimization|
|(POPL 2021) Simplifying Dependent Reductions with the Polyhedral Model|
|(POPL 2021) The Fine-Grained and Parallel Complexity of Andersen's Pointer Analysis|