Semantic reasoning about the sea of nodes

Delphine Demange 1 Yon Fernández de Retana 1 David Pichardie 1
1 CELTIQUE - Software certification with semantic analysis
Inria Rennes – Bretagne Atlantique , IRISA-D4 - LANGAGE ET GÉNIE LOGICIEL
Abstract : The Sea of Nodes intermediate representation was introduced by Cliff Click in the mid 90s as an enhanced Static Single Assignment (SSA) form. It improves on the initial SSA form by relaxing the total order on instructions in basic blocks into explicit data and control dependencies. This makes programs more flexible to optimize. This graph-based representation is now used in many industrial-strength compilers, such as HotSpot or Graal. While the SSA form is now well understood from a semantic perspective – even formally verified optimizing compilers use it in their middle-end – very few semantic studies have been conducted about the Sea of Nodes. This paper presents a simple but rigorous formal semantics for a Sea of Nodes form. It comprises a denotational component to express data computation, and an operational component to express control flow. We then prove a fundamental , dominance-based semantic property on Sea of Nodes programs which determines the regions of the graph where the values of nodes are preserved. Finally, we apply our results to prove the semantic correctness of a redundant zero-check elimination optimization. All the necessary semantic properties have been mechanically verified in the Coq proof assistant.
Document type :
Conference papers
Complete list of metadatas

Cited literature [21 references]  Display  Hide  Download

https://hal.inria.fr/hal-01723236
Contributor : Yon Fernández de Retana <>
Submitted on : Monday, March 5, 2018 - 2:01:00 PM
Last modification on : Friday, September 13, 2019 - 9:48:42 AM
Long-term archiving on : Wednesday, June 6, 2018 - 3:36:32 PM

File

sea-of-nodes-hal.pdf
Files produced by the author(s)

Identifiers

Citation

Delphine Demange, Yon Fernández de Retana, David Pichardie. Semantic reasoning about the sea of nodes. CC 2018 - 27th International Conference on Compiler Construction, Feb 2018, Vienna, Austria. pp.163-173, ⟨10.1145/3178372.3179503⟩. ⟨hal-01723236⟩

Share

Metrics

Record views

1010

Files downloads

947