[llvm] [LoopVectorize] Add support for vectorisation of more early exit loops (PR #88385)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Sun Jun 23 23:39:04 PDT 2024


================
@@ -979,8 +987,10 @@ Value *getRuntimeVF(IRBuilderBase &B, Type *Ty, ElementCount VF) {
 }
 
 const SCEV *createTripCountSCEV(Type *IdxTy, PredicatedScalarEvolution &PSE,
-                                Loop *OrigLoop) {
-  const SCEV *BackedgeTakenCount = PSE.getBackedgeTakenCount();
+                                Loop *OrigLoop, bool IsSpeculative) {
+  const SCEV *BackedgeTakenCount = IsSpeculative
+                                       ? PSE.getSymbolicMaxBackedgeTakenCount()
----------------
fhahn wrote:

If there's a exact BTC then symbolic Max BTC == exact BTC, so the distinction here shouldn't be needed?


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


More information about the llvm-commits mailing list