Wed 7 Nov 2018 16:15 - 16:37 at Studio 2 - Compiler Optimization Chair(s): Patrick Lam

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 Nov

15:30 - 17:00: OOPSLA - Compiler Optimization at Studio 2
Chair(s): Patrick LamUniversity of Waterloo
splash-2018-OOPSLA15:30 - 15:52
splash-2018-OOPSLA15:52 - 16:15
Xiaoran XuRice University, Keith CooperRice University, Jacob BrockUniversity of Rochester, Yan Zhang, Handong YeFuturewei Technologies
splash-2018-OOPSLA16:15 - 16:37
Juneyoung LeeSeoul National University, Chung-Kil HurSeoul National University, Ralf JungMPI-SWS, Zhengyang LiuUniversity of Utah, John RegehrUniversity of Utah, Nuno P. LopesMicrosoft Research
splash-2018-OOPSLA16:37 - 17:00
Zhangxiaowen GongUniversity of Illinois at Urbana-Champaign, Zhi ChenUniversity of California, Irvine, Justin SzadayUniversity of Illinois at Urbana-Champaign, David WongIntel, Zehra SuraIBM Research, Neftali Watkinson, Saeed MalekiMicrosoft Research, David PaduaUniversity of Illinois at Urbana-Champaign, Alexander VeidenbaumUniversity of California, Irvine, Alexandru NicolauUniversity of California, Irvine, Josep TorrellasUniversity of Illinois at Urbana-Champaign