SPLASH 2023
Sun 22 - Fri 27 October 2023 Cascais, Portugal
Sun 22 Oct 2023 11:45 - 12:07 at Room II - MPLR Session 2 Chair(s): Matthew J. Parkinson

Modern compilers apply a set of optimization passes aiming to speed up the generated code. The combined effect of individual optimizations is difficult to predict. Thus, changes to a compiler's code may hinder the performance of generated code as an unintended consequence.

Performance regressions in compiled code are often related to misapplied optimizations. The regressions are hard to investigate, considering the vast number of compilation units and applied optimizations. A compilation unit consists of a root method and inlined methods. Thus, a method may be part of several compilation units and may be optimized differently in each. Moreover, inlining decisions are not invariant across runs of the virtual machine (VM).

We propose to solve the problem of diagnosing performance regressions by capturing the compiler's optimization decisions. We do so by representing the applied optimization phases, optimization decisions, and inlining decisions in the form of trees. This paper introduces an approach utilizing tree edit distance (TED) to detect optimization differences in a semi-automated way. We present an approach to compare optimization decisions in differently inlined methods. We employ these techniques to pinpoint the causes of performance problems in various benchmarks of the Graal compiler.

Sun 22 Oct

Displayed time zone: Lisbon change

11:00 - 12:30
MPLR Session 2MPLR at Room II
Chair(s): Matthew J. Parkinson Microsoft Azure Research
11:00
22m
Talk
Evaluating YJIT’s Performance in a Production Context: A Pragmatic Approach
MPLR
DOI
11:22
22m
Talk
CacheIR: The Benefits of a Structured Representation for Inline Caches
MPLR
Jan de Mooij Mozilla, Matthew Gaudet Mozilla, Iain Ireland Mozilla, Nathan Henderson University of Alberta, Jose Nelson Amaral University of Alberta
DOI File Attached
11:45
22m
Talk
Diagnosing Compiler Performance by Comparing Optimization Decisions
MPLR
Andrej Pečimúth Oracle Labs; Charles University, David Leopoldseder Oracle Labs, Petr Tuma Charles University
DOI
12:07
22m
Talk
Morello MicroPython: A Python Interpreter for CHERI
MPLR
Duncan Lowther University of Glasgow, Dejice Jacob University of Glasgow, Jeremy Singer University of Glasgow
DOI Pre-print