~/talk

Exploiting Undefined Behavior in C/C++ Programs for Optimization: A Study on the(…)

Talkat PLDI 2025 · 2025-06-16..06-20· [compilers-and-language-design, security]
links:none on file
links:none on file
slides:none on file

Demonstrates a large experiment using LLVM/Clang extensions to toggle 18 UB flags across 24 real applications (7M LOC) on Intel, AMD and ARM, measuring end-to-end effects. Shows a toy signed overflow optimization gives a 2x microbenchmark gain but that across real workloads the average runtime and binary-size changes are minimal, with ARM more sensitive. Builds flag implementations and three LLVM optimizer controls and finds most slowdowns are recovered with LTO or small optimizer fixes.

AI-written summary · about

  1. 0:00Undefined behavior in C/C++
  2. 1:05Linux kernel bug from pointer deref
  3. 2:07Why UB exists for performance
  4. 3:31Signed integer overflow UB gains
  5. 5:19Categorizing UB in compilers
  6. 7:32Measuring UB optimization impact
  7. 8:56Experimental compiler flags
  8. 11:03Benchmark compilation process
  9. 11:23Binary size across architectures
  10. 12:48Performance on Intel and AMD CPUs
  11. 13:51Recovering performance without UB
  12. 14:53Security risks in UB semantics
  13. 15:39Conclusion and future
~/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.