~/talk

Reconciling High-level Optimizations and Low-level Code in LLVM

Talkat OOPSLA 2018 · 2018-11-07..11-09· [compilers-and-language-design]
links:none on file
slides:none on file

Defines a formal LLVM-IR memory model that uses full provenance and twin allocation to reconcile aggressive high-level memory optimizations with real low-level C/C++/Rust code. Claims removal of a handful of illegal IR-level optimizations, fixes known miscompilations, and implements the model by changing about 1.7k lines of LLVM. Verifies key properties in Coq and runs benchmarks showing negligible performance loss while restoring soundness for pointer↔integer casts and related transformations.

AI-written summary · about

  1. 0:00Start
  2. 6:54Pointer → Integer Casting?
  3. 7:31Carry Provenance: Integer Optimization Problem
  4. 8:55Integer → Pointer Casting?
  5. 12:13Problems with Full Provenance Anyone can modify other's local variables by
  6. 18:47Conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.