llvm-project
59f86450 - [VPlan][Predicator] Preserve some uniform control flow

Commit
2 days ago
[VPlan][Predicator] Preserve some uniform control flow Implements "Partial Control-Flow Linearization" by Simon Moll and Sebastian Hack. Does **NOT** improve predication/masking yet, so applicability is artificially narrowed, only some uniform branches are preserved. In particular, the following is left for future PRs: * Block masks still contains now-unnecessary term for the preserved uniform branches. * Mixed blends/phis aren't supported yet. Detecting where they would be necessary is as complex as implementing proper support (which would need either Luke's `reconstructSSA` or Iterated Dominance Frontier), so we also limit it to a trivial/structured CFG where there's only single block where those would need to be inserted. I think even the current version might be enough to start implementing an alternative to https://github.com/llvm/llvm-project/pull/141900 (see BOSCC in the paper).
Author
eas eas
Committer
eas eas
Parents
Loading