~/talk

Duplo: A Framework for OCaml Post-Link Optimisation

Talkat ICFP 2020 · 2020-08-23..08-26· [compilers-and-language-design]
links:none on file
links:none on file
slides:none on file

Framework builds a low level SSA IR called LLIR that represents both OCaml and C so optimisations can cross the FFI boundary and the toolchain lowers LLIR through LLVM’s target pipeline while adding GC frame table support. It implements a cross-language inliner, points-to analyses and classic passes and reports about 7% speedup and at least 15% code size reduction on real OCaml workloads, while noting primitive inlining heuristics, limited points-to precision and some missing OCaml-specific optimisations.

AI-written summary · about

  1. 0:00Start
  2. 0:59How do we get there?
  3. 3:58Part 1: Getting to LLIR
  4. 4:57Part 2: Back to Machine Code
  5. 5:30Selection DAG: To-and-From
  6. 7:20LLIR: Representing OCaml
  7. 8:46Inlining - mixing root management
  8. 9:11Inlining in the future - C-to-OCaml
  9. 10:06Inlining - the problem with boxing/unboxing
  10. 10:28Understanding Heap-Allocated Objects
  11. 11:08Points-To Analysis
  12. 11:24Other Transformations
  13. 12:37Benchmarks
  14. 13:04OCaml vs LLVM
  15. 13:16Is any of it due to the transformations?
  16. 14:00Conclusion
~/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.