diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp index 40919c944d21f..7ca798a8b2d89 100644 --- a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp +++ b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp @@ -4197,14 +4197,11 @@ bool LoopVectorizationCostModel::isScalableVectorizationAllowed() { return false; } - if (!Legal->isSafeForAnyVectorWidth()) { - std::optional 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;