[LV] Fix comments reported when not vectorizing single iteration loops; NFC
authorAyal Zaks <ayal.zaks@intel.com>
Sun, 14 Oct 2018 17:53:02 +0000 (17:53 +0000)
committerAyal Zaks <ayal.zaks@intel.com>
Sun, 14 Oct 2018 17:53:02 +0000 (17:53 +0000)
Landing this as a separate part of https://reviews.llvm.org/D50480, being a
seemingly unrelated change ([LV] Vectorizing loops of arbitrary trip count
without remainder under opt for size).

llvm-svn: 344483

llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

index e93cfb3..2ba2f00 100644 (file)
@@ -4558,8 +4558,15 @@ Optional<unsigned> LoopVectorizationCostModel::computeMaxVF(bool OptForSize) {
   // If we optimize the program for size, avoid creating the tail loop.
   LLVM_DEBUG(dbgs() << "LV: Found trip count: " << TC << '\n');
 
+  if (TC == 1) {
+    ORE->emit(createMissedAnalysis("SingleIterationLoop")
+              << "loop trip count is one, irrelevant for vectorization");
+    LLVM_DEBUG(dbgs() << "LV: Aborting, single iteration (non) loop.\n");
+    return None;
+  }
+
   // If we don't know the precise trip count, don't try to vectorize.
-  if (TC < 2) {
+  if (TC == 0) {
     ORE->emit(
         createMissedAnalysis("UnknownLoopCountComplexCFG")
         << "unable to calculate the loop count due to complex control flow");