A basic block is the smallest control flow unit in an intermediate representation of a compiler. Typically, the basic block contains zero or more instructions and has the characteristic that if one of the instructions in the basic block is executed, the others are guaranteed to be executed as well.
See also Control flow graph.