Sea of nodes

A sea of nodes is a graph representation of single-static assignment (SSA) representation of a program that combines data flow and control flow, and relaxes the control flow from a total order to a partial order, keeping only the orderings required by data flow. It is similar to a value dependency graph (VDG).

It makes it easier for an optimizer to reorder instructions, but requires a global code motion algorithm to convert it back into a control flow graph (CFG). It allows dead code elimination and constant propagation to be done together, which allows both optimizations to apply more often.

It is used as an intermediate representation (IR) in HotSpot, LibFirm,  GraalVM,   and V8's TurboFan JIT compiler.