Proceedings of the 27th International Conference on Compiler Construction 2018
DOI: 10.1145/3178372.3179503
|View full text |Cite
|
Sign up to set email alerts
|

Semantic reasoning about the sea of nodes

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 f… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
10
0

Year Published

2021
2021
2024
2024

Publication Types

Select...
3
2
2

Relationship

0
7

Authors

Journals

citations
Cited by 14 publications
(10 citation statements)
references
References 19 publications
(35 reference statements)
0
10
0
Order By: Relevance
“…For example, the Coq model used to encode an intermediate representation for LLVM [34] is based on successive updates to an environment mapping variables to values, with a control state that successively transitions between and within blocks of instruction sequences. Even in formalizations where the semantics within a block does not depend on instruction ordering [15], the overall model remains operational.…”
Section: Related Workmentioning
confidence: 99%
“…For example, the Coq model used to encode an intermediate representation for LLVM [34] is based on successive updates to an environment mapping variables to values, with a control state that successively transitions between and within blocks of instruction sequences. Even in formalizations where the semantics within a block does not depend on instruction ordering [15], the overall model remains operational.…”
Section: Related Workmentioning
confidence: 99%
“…1 gives the Isabelle representation of the graph nodes. 4 ConstantNode corresponds to a Java constant, so has a value constant as its only field, with no input or successor edges. Similarly, ParameterNode has a single natural number field that is an index into the list of parameter values of the current method.…”
Section: Graph Model In Isabelle/holmentioning
confidence: 99%
“…Our approach to handling φ nodes is similar to that used by Demange et al for their formalization of reasoning about the sea of nodes in Coq [4]. End nodes (5.3) represent the end of a basic block in SSA terminology.…”
Section: Type-synonym Heapmentioning
confidence: 99%
See 1 more Smart Citation
“…Intermediate Representation (IR): a type of graph also known as sea-ofnodes [11,14,18]. Unlike other graphs used in program analysis, such as controlflow or data-flow graphs which have specific types of nodes, nodes in the seaof-nodes graph represent different types: from scalar values and arithmetic op- erators to variables and control-flow nodes and function entry nodes.…”
Section: Introductionmentioning
confidence: 99%