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.