Expand description
Merges sequences of blocks that will always execute consecutively — i.e., where the predecessor always transfers control to the successor (ends in a goto) and where the predecessor is the only predecessor for that successor (no other way to reach the successor).
Value/loop blocks are left alone because they cannot be merged without breaking the structure of the high-level terminals that reference them.
Analogous to TS HIR/MergeConsecutiveBlocks.ts.
Functions§
- merge_
consecutive_ blocks - Merge consecutive blocks in the function’s CFG, including inner functions.