This pass expands the scf.if op regions by pulling
in ops before and after the scf.if op into both
regions. This is an useful transformation to put
ops within the same region so that we can optimze
together better, e.g., when we have a fast-slow
path in the same kernel we'd want to optimize
each path separately.
Depends On D117018
As a transformation and a pattern this makes sense to me.
But I would turn this into a test pass: this is unlikely to grow standalone heuristics and control beyond: just apply greedily.