[𝘀𝗽𝗿] initial version
Created using spr 1.3.5
diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
index 40919c9..7ca798a 100644
--- a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+++ b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
@@ -4197,14 +4197,11 @@
return false;
}
- if (!Legal->isSafeForAnyVectorWidth()) {
- std::optional<unsigned> MaxVScale = getMaxVScale(*TheFunction, TTI);
- if (!MaxVScale) {
- reportVectorizationInfo(
- "The target does not provide maximum vscale value.",
- "ScalableVFUnfeasible", ORE, TheLoop);
- return false;
- }
+ if (!Legal->isSafeForAnyVectorWidth() && !getMaxVScale(*TheFunction, TTI)) {
+ reportVectorizationInfo("The target does not provide maximum vscale value "
+ "for safe distance analysis.",
+ "ScalableVFUnfeasible", ORE, TheLoop);
+ return false;
}
IsScalableVectorizationAllowed = true;