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

This program is tentative and subject to change.

Wed 18 Jun 2025 14:40 - 15:00 at Grand Ball Room 2 - Semantics

MLIR is a toolkit supporting the development of extensible and composable intermediate representations (IRs) called \emph{dialects}; it was created in response to rapid changes in hardware platforms, programming languages, and application domains such as machine
learning. MLIR supports development teams creating compilers and compiler-adjacent tools by factoring out common infrastructure
such as parsers and printers. A major limitation of MLIR is that it is syntax-focused: it has no support for directly encoding the semantics of operations in its dialects. Thus, at present, the parts of MLIR tools that depend on semantics—optimizers, analyzers, verifiers, transformers—must all be engineered by hand.

Our work makes formal semantics a first-class citizen in the MLIR ecosystem. We designed and implemented a collection of semantics-supporting MLIR dialects for encoding the semantics of compiler IRs. These dialects support a separation of concerns between three domains
of expertise when building formal-methods-based tooling for compilers. First, compiler developers define their dialect’s semantics as a
lowering (compilation transformation) from their dialect to one or more of ours. Second, SMT solver experts provide tools to optimize domain-specific high-level semantics and lower them to SMT queries. Third, tool builders create dialect-independent verification tools.

We validate our work by defining semantics for five key MLIR dialects, defining a state-of-the-art SMT encoding for memory-based semantics, and building three dialect-agnostic tools, which we used to find five miscompilation bugs in upstream MLIR, verify a canonicalization pass,
and also formally verify transfer functions for two dataflow analyses: “known bits” (that finds individual bits that are always zero or one
in all executions) and “demanded bits” (that finds donot-care bits). The transfer functions that we verify are improved versions of those in upstream MLIR; they detect, on average, 36.6% more known bits in real-world MLIR programs compared to the upstream implementation.

This program is tentative and subject to change.

Wed 18 Jun

Displayed time zone: Seoul change

14:00 - 15:40
14:00
20m
Talk
Functional Meaning for Parallel Streaming
PLDI Research Papers
Nick Rioux University of Pennsylvania, Steve Zdancewic University of Pennsylvania
DOI Pre-print
14:20
20m
Talk
MISAAL: Synthesis-Based Automatic Generation of Efficient and Retargetable Semantics-Driven Optimizations
PLDI Research Papers
Abdul Rafae Noor University of Illinois at Urbana-Champaign, Dhruv Baronia University of Illinois at Urbana-Champaign, Akash Kothari University of Illinois at Urbana-Champaign, Muchen Xu University of Illinois at Urbana-Champaign, Charith Mendis University of Illinois at Urbana-Champaign, Vikram S. Adve University of Illinois at Urbana-Champaign
DOI
14:40
20m
Talk
First-Class Verification Dialects for MLIR
PLDI Research Papers
Mathieu Fehr The University of Edinburgh, Yuyou Fan University of Utah, Hugo Pompougnac Université Grenoble Alpes; Inria; CNRS; Grenoble INP, John Regehr University of Utah, Tobias Grosser University of Cambridge
DOI
15:00
20m
Talk
[TOPLAS] A Modular Approach to Metatheoretic Reasoning for Extensible Languages
PLDI Research Papers
Dawn Michaelson University of Minnesota, Gopalan Nadathur University of Minnesota, Eric Van Wyk University of Minnesota, Twin Cities
15:20
20m
Talk
Handling the Selection Monad
PLDI Research Papers
Gordon Plotkin Google DeepMind, Ningning Xie University of Toronto
DOI