Skip to main content

Module merge_consecutive_blocks

Module merge_consecutive_blocks 

Source
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.