OSDN Git Service

[LSV] Use make_range, and reformat a DEBUG message. NFC
authorJustin Lebar <jlebar@google.com>
Tue, 19 Jul 2016 23:19:18 +0000 (23:19 +0000)
committerJustin Lebar <jlebar@google.com>
Tue, 19 Jul 2016 23:19:18 +0000 (23:19 +0000)
Summary:
The DEBUG message was hard to read because two Values were being printed
on the same line with only the delimiter "aliases".  This change makes
us print each Value on its own line.

Reviewers: asbirlea

Subscribers: llvm-commits, arsenm, mzolotukhin

Differential Revision: https://reviews.llvm.org/D22533

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@276055 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Vectorize/LoadStoreVectorizer.cpp

index 941699a..2906815 100644 (file)
@@ -431,14 +431,15 @@ unsigned Vectorizer::getVectorizablePrefixEndIdx(ArrayRef<Value *> Chain,
   SmallVector<std::pair<Value *, unsigned>, 16> ChainInstrs;
 
   unsigned InstrIdx = 0;
-  for (auto I = From; I != To; ++I, ++InstrIdx) {
+  for (Instruction &I : make_range(From, To)) {
+    ++InstrIdx;
     if (isa<LoadInst>(I) || isa<StoreInst>(I)) {
-      if (!is_contained(Chain, &*I))
-        MemoryInstrs.push_back({&*I, InstrIdx});
+      if (!is_contained(Chain, &I))
+        MemoryInstrs.push_back({&I, InstrIdx});
       else
-        ChainInstrs.push_back({&*I, InstrIdx});
-    } else if (I->mayHaveSideEffects()) {
-      DEBUG(dbgs() << "LSV: Found side-effecting operation: " << *I << '\n');
+        ChainInstrs.push_back({&I, InstrIdx});
+    } else if (I.mayHaveSideEffects()) {
+      DEBUG(dbgs() << "LSV: Found side-effecting operation: " << I << '\n');
       return 0;
     }
   }
@@ -477,11 +478,13 @@ unsigned Vectorizer::getVectorizablePrefixEndIdx(ArrayRef<Value *> Chain,
           Value *Ptr0 = getPointerOperand(M0);
           Value *Ptr1 = getPointerOperand(M1);
 
-          dbgs() << "LSV: Found alias.\n"
-                    "        Aliasing instruction and pointer:\n"
-                 << *MemInstrValue << " aliases " << *Ptr0 << '\n'
-                 << "        Aliased instruction and pointer:\n"
-                 << *ChainInstrValue << " aliases " << *Ptr1 << '\n';
+          dbgs() << "LSV: Found alias:\n"
+                    "  Aliasing instruction and pointer:\n"
+                 << "  " << *MemInstrValue << '\n'
+                 << "  " << *Ptr0 << '\n'
+                 << "  Aliased instruction and pointer:\n"
+                 << "  " << *ChainInstrValue << '\n'
+                 << "  " << *Ptr1 << '\n';
         });
 
         return ChainIdx;
@@ -744,7 +747,7 @@ bool Vectorizer::vectorizeStoreChain(
   DEBUG({
     dbgs() << "LSV: Stores to vectorize:\n";
     for (Value *V : Chain)
-      V->dump();
+      dbgs() << "  " << *V << "\n";
   });
 
   // We won't try again to vectorize the elements of the chain, regardless of