Базовый блок
Базовый блок (basic block, BB) — в программировании и теории компиляторов[1] — понятие, обозначающее последовательность инструкций или кода, имеющую одну точку входа (только первая инструкция в последовательности может быть назначением инструкции передачи управления), одну точку выхода и не содержащую инструкций передачи управления ранее точки выхода.
Таким образом, базовый блок — это последовательность инструкций, каждая из которых исполняется тогда и только тогда, когда исполняется первая инструкция из последовательности[2].
На начало базового блока может указывать одновременно несколько инструкций перехода, конец же блока — либо инструкция передачи управления (jump), либо инструкция, предшествующая переходу.
Базовые блоки являются основной единицей кода, над которой проводятся оптимизации компилятором. Также они являются вершинами (или узлами) в графе потока управления.