[llvm] [LoopVectorize] Enable vectorisation of early exit loops with live-outs (PR #120567)

David Sherwood via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 17 05:20:36 PST 2025


================
@@ -2775,6 +2775,23 @@ BasicBlock *InnerLoopVectorizer::createVectorizedLoopSkeleton(
   return LoopVectorPreHeader;
 }
 
+static bool isValueIncomingFromBlock(BasicBlock *ExitingBB, Value *V,
+                                     Instruction *UI) {
+  PHINode *PHI = dyn_cast<PHINode>(UI);
----------------
david-arm wrote:

I think the reason why it was a dyn_cast prior to my patch is because cast doesn't give as detailed an error message, which is why I kept the dyn_cast here. Having said that, this code won't last long anyway since https://github.com/llvm/llvm-project/pull/112147 removes fixupIVUsers.

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


More information about the llvm-commits mailing list