Reconciling High-level Optimizations and Low-level Code in LLVM
LLVM miscompiles certain programs in C, C++, and Rust that use low-level language features such as raw pointers in Rust or conversion between integers and pointers in C or C++. The problem is that it is difficult for the compiler to implement aggressive, high-level memory optimizations while also respecting the guarantees made by the programming languages to low-level programs. A deeper problem is that the memory model for LLVM’s intermediate representation (IR) is informal and the semantics of corner cases are not always clear to all compiler developers.
We developed a novel memory model for LLVM IR and formalized it. The new model requires a handful of problematic IR-level optimizations to be removed, but it also supports the addition of new optimizations that were not previously legal. We have implemented the new model and shown that it fixes known memory-model-related miscompilations without impacting the quality of generated code.
Wed 7 NovDisplayed time zone: Guadalajara, Mexico City, Monterrey change
15:30 - 17:00
Compiler OptimizationOOPSLA at Studio 2
Chair(s): Patrick Lam University of Waterloo
|Format Abstraction for Sparse Tensor Algebra Compilers|
Stephen Chou MIT CSAIL, Fredrik Kjolstad MIT CSAIL, Saman Amarasinghe MIT
|ShareJIT: JIT Code Cache Sharing across Processes and its Practical Implementation|
Xiaoran Xu Rice University, Keith Cooper Rice University, Jacob Brock University of Rochester, Yan Zhang , Handong Ye Futurewei Technologies
|Reconciling High-level Optimizations and Low-level Code in LLVM|
Juneyoung Lee Seoul National University, Chung-Kil Hur Seoul National University, Ralf Jung MPI-SWS, Zhengyang Liu University of Utah, John Regehr University of Utah, Nuno P. Lopes Microsoft ResearchPre-print
|An Empirical Study of the Effect of Source-level Loop Transformations on Compiler Stability|
Zhangxiaowen Gong University of Illinois at Urbana-Champaign, Zhi Chen University of California, Irvine, Justin Szaday University of Illinois at Urbana-Champaign, David Wong Intel, Zehra Sura IBM Research, Neftali Watkinson , Saeed Maleki Microsoft Research, David Padua University of Illinois at Urbana-Champaign, Alexander Veidenbaum University of California, Irvine, Alexandru Nicolau University of California, Irvine, Josep Torrellas University of Illinois at Urbana-ChampaignMedia Attached