ICFP 2022
Sun 11 - Fri 16 September 2022 Ljubljana, Slovenia
Wed 14 Sep 2022 10:30 - 10:50 at Linhart - Compilation Chair(s): Matija Pretnar

In many compilers, control flow is represented using an arbitrary directed graph. But in some interesting target languages, including JavaScript and WebAssembly, intraprocedural control flow can be expressed only in structured ways, using loops, conditionals, and multilevel breaks or exits. As has long been known, arbitrary control flow can be translated into structured control flow [Peterson, Kasami, and Tokura 1973]. The translation uses two standard analyses, but as published, it takes three passes—which may explain why it was overlooked by Emscripten, a compiler that is widely used to translate C to JavaScript [Zakai 2011]. By tweaking the analyses and by applying fundamental ideas from functional programming (recursive functions and immutable abstract-syntax trees), the translation can be implemented in a single pass—along with a couple of code improvements. This new implementation is slated to be added to the Glasgow Haskell Compiler. Its single-pass translation, its immutable representation, and its use of dominator trees make it much easier to reason about than the original translation.

Wed 14 Sep

Displayed time zone: Belgrade, Bratislava, Budapest, Ljubljana, Prague change

10:30 - 12:10
CompilationICFP Papers and Events at Linhart
Chair(s): Matija Pretnar University of Ljubljana, Slovenia
10:30
20m
Talk
Beyond Relooper: Recursive Translation of Unstructured Control Flow to Structured Control FlowFunctional Pearl
ICFP Papers and Events
Norman Ramsey Tufts University
DOI
10:50
20m
Talk
Automatically Deriving Control-Flow Graph Generators From Operational Semantics
ICFP Papers and Events
James Koppel Massachusetts Institute of Technology, USA, Jackson Kearl MIT, Armando Solar-Lezama Massachusetts Institute of Technology
DOI
11:10
20m
Talk
Analyzing Binding Extent in 3CPS
ICFP Papers and Events
Benjamin Quiring University of Maryland, Olin Shivers Northeastern University, USA, John Reppy University of Chicago, USA
DOI
11:30
20m
Talk
'do' Unchained: Embracing Local Imperativity in a Purely Functional LanguageFunctional Pearl
ICFP Papers and Events
Sebastian Ullrich Karlsruhe Institute of Technology, Leonardo de Moura Microsoft Research, n.n.
DOI
11:50
20m
Talk
ANF Preserves Dependent Types up to Extensional EqualityJFP Presentation
ICFP Papers and Events
Paulette Koronkevich University of British Columbia, Ramon Rakow University of British Columbia, Amal Ahmed Northeastern University, USA, William J. Bowman University of British Columbia