[llvm] [VPlan] Dissolve replicate regions with vector live-outs. (PR #189022)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 22 10:58:14 PDT 2026


================
@@ -676,8 +676,13 @@ static void convertRecipesInRegionBlocksToSingleScalar(VPlan &Plan, Type *IdxTy,
   for (VPBlockBase *VPB : vp_depth_first_shallow(Entry)) {
     for (VPRecipeBase &OldR : make_early_inc_range(cast<VPBasicBlock>(*VPB))) {
       VPBuilder Builder(&OldR);
-      assert(!match(&OldR, m_ExtractElement(m_VPValue(), m_VPValue())) &&
-             "must not contain extracts before conversion");
+      assert(
+          !isa<VPWidenPHIRecipe>(&OldR) &&
+          !match(&OldR,
+                 m_CombineOr(
+                     m_InsertElement(m_VPValue(), m_VPValue(), m_VPValue()),
+                     m_ExtractElement(m_VPValue(), m_VPValue()))) &&
+          "must not contain wide phis, insert or extracts before conversion");
 
----------------
fhahn wrote:

done thanks

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


More information about the llvm-commits mailing list