Write a Blog >>
ICFP 2020
Thu 20 - Fri 28 August 2020
Wed 26 Aug 2020 11:45 - 12:00 at ICFP NY 5 - New York 5 Chair(s): Richard A. Eisenberg
Wed 26 Aug 2020 22:45 - 23:00 at ICFP Asia 5 - Asia 5 Chair(s): Richard A. Eisenberg

We present a novel framework, Duplo, for the low-level post-link optimisation of OCaml programs, achieving a speedup of 7% and a reduction of at least 15% of the code size of widely-used OCaml applications. Unlike existing post-link optimisers, which typically operate on target-specific machine code, our framework operates on a Low-Level Intermediate Representation (LLIR) capable of representing both the OCaml programs and any C dependencies they invoke through the foreign-function interface (FFI). LLIR is analysed, transformed and lowered to machine code by our post-link optimiser, LLIR-OPT. Most importantly, LLIR allows the optimiser to cross the OCaml-C language boundary, mitigating the overhead incurred by the FFI and enabling analyses and transformations in a previously unavailable context. The optimised IR is then lowered to amd64 machine code through the existing target-specific code generator of LLVM, modified to handle garbage collection just as effectively as the native OCaml backend. We equip our optimiser with a suite of SSA-based transformations and points-to analyses capable of capturing the semantics and representing the memory models of both languages, along with a cross-language inliner to embed C methods into OCaml callers. We evaluate the gains of our framework, which can be attributed to both our optimiser and the more sophisticated amd64 backend of LLVM, on a wide-range of widely-used OCaml applications, as well as an existing suite of micro- and macro-benchmarks used to track the performance of the OCaml compiler.

Wed 26 Aug
Times are displayed in time zone: Eastern Time (US & Canada) change

11:00 - 13:00: New York 5ICFP Program at ICFP NY 5
Chair(s): Richard A. EisenbergTweag I/O

Public livestreams: YouTube, Bilibili (China)

11:00 - 11:15
Talk
ICFP Program
Joseph W. CutlerWesleyan University, Dan LicataWesleyan University, Norman DannerWesleyan University
DOI
11:15 - 11:30
Talk
ICFP Program
DOI
11:30 - 11:45
Talk
ICFP Program
Aaron StumpThe University of Iowa, USA, Chris JenkinsThe University of Iowa, Stephan SpahnThe University of Iowa, Colin McDonaldUniversity of Notre Dame
DOI
11:45 - 12:00
Talk
ICFP Program
Nandor LickerUniversity of Cambridge, Timothy M. JonesUniversity of Cambridge, UK
DOI Media Attached
12:00 - 12:15
Talk
ICFP Program
Vikraman ChoudhuryIndiana University & University of Cambridge, Neel KrishnaswamiComputer Laboratory, University of Cambridge
DOI
12:15 - 12:30
Talk
ICFP Program
Xiaohong ChenUniversity of Illinois at Urbana-Champaign, Grigore RoşuUniversity of Illinois at Urbana-Champaign
DOI
12:30 - 12:45
Talk
ICFP Program
Pierce DarraghUniversity of Utah, Michael D. AdamsUniversity of Michigan
DOI
12:45 - 13:00
Talk
ICFP Program
Timothée HaudebourgUniv Rennes, Inria, CNRS, IRISA, Thomas GenetIRISA, Univ Rennes, Thomas P. JensenINRIA Rennes
DOI
22:30 - 00:00: Asia 5ICFP Program at ICFP Asia 5
Chair(s): Richard A. EisenbergTweag I/O

Public livestreams: YouTube, Bilibili (China)

22:00 - 22:30
Talk
ICFP Program
Joseph W. CutlerWesleyan University, Dan LicataWesleyan University, Norman DannerWesleyan University
DOI
22:15 - 22:30
Talk
ICFP Program
DOI
22:30 - 22:45
Talk
ICFP Program
Aaron StumpThe University of Iowa, USA, Chris JenkinsThe University of Iowa, Stephan SpahnThe University of Iowa, Colin McDonaldUniversity of Notre Dame
DOI
22:45 - 23:00
Talk
ICFP Program
Nandor LickerUniversity of Cambridge, Timothy M. JonesUniversity of Cambridge, UK
DOI Media Attached
23:00 - 23:15
Talk
ICFP Program
Vikraman ChoudhuryIndiana University & University of Cambridge, Neel KrishnaswamiComputer Laboratory, University of Cambridge
DOI
23:15 - 23:30
Talk
ICFP Program
Xiaohong ChenUniversity of Illinois at Urbana-Champaign, Grigore RoşuUniversity of Illinois at Urbana-Champaign
DOI
23:30 - 23:45
Talk
ICFP Program
Pierce DarraghUniversity of Utah, Michael D. AdamsUniversity of Michigan
DOI
23:45 - 00:00
Talk
ICFP Program
Timothée HaudebourgUniv Rennes, Inria, CNRS, IRISA, Thomas GenetIRISA, Univ Rennes, Thomas P. JensenINRIA Rennes
DOI