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

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 11 01:30:47 PST 2026


================
@@ -2758,12 +2770,14 @@ void VPlanTransforms::optimize(VPlan &Plan) {
   RUN_VPLAN_PASS(removeRedundantCanonicalIVs, Plan);
   RUN_VPLAN_PASS(removeRedundantInductionCasts, Plan);
 
+  RUN_VPLAN_PASS(reassociateHeaderMask, Plan);
   RUN_VPLAN_PASS(simplifyRecipes, Plan);
   RUN_VPLAN_PASS(removeDeadRecipes, Plan);
   RUN_VPLAN_PASS(simplifyBlends, Plan);
   RUN_VPLAN_PASS(legalizeAndOptimizeInductions, Plan);
   RUN_VPLAN_PASS(narrowToSingleScalarRecipes, Plan);
   RUN_VPLAN_PASS(removeRedundantExpandSCEVRecipes, Plan);
+  RUN_VPLAN_PASS(reassociateHeaderMask, Plan);
----------------
fhahn wrote:

why do we need 2 runs? Shouldn't it be sufficient to reassociate the heade rmasks once, after creation by predication?

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


More information about the llvm-commits mailing list