[llvm] [VPlan] Explicitly reassociate header mask in logical and (PR #180898)

Luke Lau via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 11 01:08:28 PST 2026


================
@@ -1614,6 +1605,27 @@ void VPlanTransforms::simplifyRecipes(VPlan &Plan) {
   }
 }
 
+/// Reassociate (headermask && x) && y -> headermask && (x && y) to allow the
+/// header mask to be simplified further, e.g. in optimizeEVLMasks.
+static void reassociateHeaderMask(VPlan &Plan) {
+  VPValue *HeaderMask = vputils::findHeaderMask(Plan);
+  if (!HeaderMask)
+    return;
+  ReversePostOrderTraversal<VPBlockDeepTraversalWrapper<VPBlockBase *>> RPOT(
+      Plan.getEntry());
----------------
lukel97 wrote:

Thanks, done in 26f357a02c6d48c4077f82b85864dce97467db1a

https://github.com/llvm/llvm-project/pull/180898


More information about the llvm-commits mailing list