llvm-project
c33ccfa5 - [VPlan] Reassociate (x & y) & z -> x & (y & z) (#155383)

Commit
236 days ago
[VPlan] Reassociate (x & y) & z -> x & (y & z) (#155383) This PR reassociates logical ands in order to enable more simplifications. The driving motivation for this is that with tail folding all blocks inside the loop body will end up using the header mask. However this can end up nestled deep within a chain of logical ands from other edges. Typically the header mask will be a leaf nested in the LHS, e.g. (headermask & y) & z. So pulling it out allows it to be simplified further, e.g. allows it to be optimised away to VP intrinsics with EVL tail folding.
Author
Parents
Loading