HORIZON HASKELLDocslts/ghc-10.0.x8174fa42026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 8174fa4 · 2026-10-11

Moduleghc-10.0.0.20260917GHC2024

GHC.Cmm.Graph

  • 4 types
  • 30 values
typetype CmmAGraph = OrdList CgStmt
#

CmmAGraph is a chunk of code consisting of:

  • ordinary statements (assignments, stores etc.)

  • jumps

  • labels

  • out-of-line labelled blocks

The semantics is that control falls through labels and out-of-line blocks. Everything after a jump up to the next label is by definition unreachable code, and will be discarded.

Two CmmAGraphs can be stuck together with *, with the meaning that control flows from the first to the second.

A CmmAGraph can be turned into a CmmGraph (closed at both ends) by providing a label for the entry point and a tick scope; see labelAGraph.