[clang] [llvm] [LV] Support generating masks for switch terminators. (PR #99808)

via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 24 09:14:11 PDT 2024


================
@@ -7763,6 +7763,41 @@ VPValue *VPRecipeBuilder::createEdgeMask(BasicBlock *Src, BasicBlock *Dst) {
 
   VPValue *SrcMask = getBlockInMask(Src);
 
+  if (auto *SI = dyn_cast<SwitchInst>(Src->getTerminator())) {
----------------
ayalz wrote:

Worth asserting that SI stays in the same loop iteration, rather than breaking or continuing to its header? E.g., that `!OrigLoop->isLoopExiting(Src)`.

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


More information about the cfe-commits mailing list