Maintaining Canonical Form After Edge Deletion
Waddle is a research intermediate-form optimizer that strictly maintains a canonical form. The properties of the canonical form simplify movement of instructions to the edges of loops and often localize the effect on variables to the loop in which they are defined. The guarantee of canonical form preservation allows program transformations to rely on the presence of certain program properties without a necessary sanity-check or recalculation pre-step and does not impose an order of transformations in which reconstruction passes must be inserted.
Waddle categories transformations as subtractive - in which removes instructions, edges, blocks, or functions - and as additive - in which newly created subgraphs are attached into one existing program. In this paper, we present the form-preserving edge deletion operation, in which a provably unreachable branch between two basic blocks is removed from the control flow graph. Additionally, we show a distinct application of the block ejection operation, a core procedure used for loop body reconstruction, as utilized in a function inlining transformation.
Tue 17 JulDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
14:00 - 15:30 | |||
14:00 25mResearch paper | Extending SHAPES for SIMD Architectures - An approach to native support for Struct of Arrays in languages ICOOOLPS Alexandros Tasos Imperial College London, Juliana Franco Microsoft Research, Cambridge, Tobias Wrigstad Uppsala University, Sophia Drossopoulou Imperial College London, Susan Eisenbach Imperial College London | ||
14:30 25mResearch paper | Maintaining Canonical Form After Edge Deletion ICOOOLPS Eric Fritz University of Wisconsin, Milwaukee | ||
15:00 25mResearch paper | Shared Memory Implementations of Protocol Programming Languages, Data-Race-Free ICOOOLPS Micha Hergarden Open University of the Netherlands, The Netherlands, Sung-Shik Jongmans Open University of the Netherlands, The Netherlands |