Description

An ordinary basic block.

Instructions are threaded together in a doubly-linked list. To iterate in program order follow the link pointer from the first node and stop after the last node has been visited

for p = bb.first; ; p = p.link {
  ...
  if p == bb.last {
    break
  }
}

To iterate in reverse program order by following the opt pointer from the last node

for p = bb.last; p != nil; p = p.opt {
  ...
}

BasicBlock is referenced in 1 repository

github.com/golang/go