Characterize the Equational Laws for SSA Programs

Determine the set of valid equational laws that static single assignment (SSA) programs must satisfy, beyond simple imperative semantics, so that compiler optimizations can be soundly justified and reasoned about independently of detailed memory-model assumptions.

Background

The paper argues that modern weak memory systems invalidate the traditional, simple imperative semantics often used to justify compiler optimizations. As a consequence, the authors highlight a gap in foundational understanding: which equations should universally hold for SSA programs. Addressing this would provide a principled contract between compiler developers and hardware designers, enabling sound optimization reasoning and model validation based on an agreed equational theory.

To tackle this, the paper develops a type-theoretic presentation and categorical semantics for SSA, aiming to identify a robust equational theory. The open question concerns the general characterization of those equations across SSA programs, particularly in the presence of weak memory behaviors.

References

As a result, it is not correct to justify compiler optimizations in terms of a simple imperative model, and it is an open question which equations should hold of an SSA program. This is a particularly fraught question, because it is also unclear which equations weak memory models should satisfy.

The Denotational Semantics of SSA (2411.09347 - Ghalayini et al., 14 Nov 2024) in Section 1 (Introduction)