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 Jul (GMT+02:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
|14:00 - 14:25|
Extending SHAPES for SIMD Architectures - An approach to native support for Struct of Arrays in languages
|14:30 - 14:55|
Eric FritzUniversity of Wisconsin, Milwaukee
|15:00 - 15:25|