// trim removes blocks with no code in them. // These blocks were inserted to remove critical edges. func trim(f *Func) { … } // emptyBlock reports whether the block does not contain actual // instructions. func emptyBlock(b *Block) bool { … } // trimmableBlock reports whether the block can be trimmed from the CFG, // subject to the following criteria: // - it should not be the first block. // - it should be BlockPlain. // - it should not loop back to itself. // - it either is the single predecessor of the successor block or // contains no actual instructions. func trimmableBlock(b *Block) bool { … } // mergePhi adjusts the number of `v`s arguments to account for merge // of `b`, which was `i`th predecessor of the `v`s block. func mergePhi(v *Value, i int, b *Block) { … }