PLDI 2025
Mon 16 - Fri 20 June 2025 Seoul, South Korea

This program is tentative and subject to change.

Wed 18 Jun 2025 11:30 - 11:50 at Grand Ball Room 1 - Compilers 1 Chair(s): Bor-Yuh Evan Chang

We define \emph{webs} to be the collections of producers and consumers (\emph{e.g.}, functions and calls) in a program that are constrained: in higher-order languages, multiple functions can flow to the same call, all of which must agree on an interface (\emph{e.g.}, calling convention). We argue that webs are fundamentally the \emph{unit of transformation}: a change to one member requires changes across the entire web. We introduce a web-centric intermediate language that exposes webs as annotations, and describe web-based (that is, flow-directed) transformations guided by these annotations. As they affect all members of a web, these transformations are interprocedural, operating over entire modules. Through the lens of webs we reframe and generalize a collection of transformations from the literature, including dead-parameter elimination, uncurrying, and defunctionalization, as well as describe novel transformations. We contrast this approach with rewriting strategies that rely on inlining and cascading rewrites.

Webs are an over-approximation of the semantic function-call relationship produced by control-flow analyses (CFA). This information is inherently independent from the transformations; more precise analyses permit more transformations. A limitation of precise analyses is that the transformations may not maintain well-typedness, as the type system is a less-precise static analysis. Our solution is a simple and lightweight typed-based analysis that causes the flow-directed transformations to preserve well-typedness, making flow-directed, type-preserving transformations easily accessible in many compilers. This analysis builds on unification, distinguishing types that \emph{look} the same from types that have to \emph{be} the same. Our experiments show that while our analysis is theoretically less precise, in practice its precision is similar to CFAs.

This program is tentative and subject to change.

Wed 18 Jun

Displayed time zone: Seoul change

10:30 - 12:10
Compilers 1PLDI Research Papers at Grand Ball Room 1
Chair(s): Bor-Yuh Evan Chang University of Colorado Boulder & Amazon
10:30
20m
Talk
Partial Evaluation, Whole-Program Compilation
PLDI Research Papers
Chris Fallin F5, Maxwell Bernstein Recurse Center
DOI Pre-print
10:50
20m
Talk
Exploiting Undefined Behavior in C/C++ Programs for Optimization: A Study on the Performance Impact
PLDI Research Papers
Lucian Popescu INESC-ID; Instituto Superior Técnico - University of Lisbon; Politehnica University of Bucharest, Nuno P. Lopes INESC-ID; Instituto Superior Técnico - University of Lisbon
Link to publication DOI
11:10
20m
Talk
Relaxing Alias Analysis: Exploring the Unexplored Space
PLDI Research Papers
Michel Weber ETH Zurich, Theodoros Theodoridis ETH Zurich, Zhendong Su ETH Zurich
DOI
11:30
20m
Talk
Webs and Flow-Directed Well-Typedness Preserving Program Transformations
PLDI Research Papers
Benjamin Quiring University of Maryland, David Van Horn University of Maryland, John Reppy University of Chicago, Olin Shivers Northeastern University
DOI
11:50
20m
Talk
Slotted E-Graphs: First-Class Support for (Bound) Variables in E-Graphs
PLDI Research Papers
Rudi Schneider Technische Universität Berlin, Marcus Rossel Barkhausen Institut, Amir Shaikhha University of Edinburgh, Andrés Goens University of Amsterdam, Thomas Koehler CNRS - ICube Lab, Michel Steuwer Technische Universität Berlin
DOI Pre-print