[llvm] [LV, VP]VP intrinsics support for the Loop Vectorizer + adding new tail-folding mode using EVL. (PR #76172)

Alexey Bataev via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 1 11:04:24 PST 2024


================
@@ -92,7 +92,47 @@ static bool verifyVPBasicBlock(const VPBasicBlock *VPBB,
   for (const VPRecipeBase &R : *VPBB)
     RecipeNumbering[&R] = Cnt++;
 
+  // Set of recipe types along with VPInstruction Opcodes of all EVL-related
+  // recipes that must appear at most once in Entry or Exiting blocks.
+  DenseSet<unsigned> EVLFound;
+  const VPlan *Plan = VPBB->getPlan();
+  bool IsHeader = Plan && Plan->getEntry()->getNumSuccessors() == 1 &&
----------------
alexey-bataev wrote:

I answered this question before, some of the unit tests crash without this check, they have recipes/vp-blocks without plan

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


More information about the llvm-commits mailing list