A basic block is a sequence of operations with one entry at its beginning and no internal control transfer to another block. In LLVM's intermediate representation, it ends in a terminator that determines the next control transfer, such as a branch or return. Phi nodes at the beginning account for values arriving from different predecessors.[ref]
LLVM Language Reference Manual. Functions, basic-block structure; Terminator Instructions
For example,
a=x+1; b=2*a; branch next can form one basic block. A conditional branch after the first assignment would end that block and create successors. Grouping operations this way exposes paths through a control-flow graph while letting a compiler reason locally about an uninterrupted sequence. A basic block can execute repeatedly when it lies inside a loop; it is a static program region, not one execution event. Articles by others on the same topic
There are currently no matching articles.