[llvm-commits] [llvm] r168474 - in /llvm/trunk: lib/Analysis/ test/Analysis/DependenceAnalysis/

Preston Briggs preston.briggs at gmail.com
Wed Nov 21 15:50:05 PST 2012


Author: prestonbriggs
Date: Wed Nov 21 17:50:04 2012
New Revision: 168474

URL: http://llvm.org/viewvc/llvm-project?rev=168474&view=rev
Log:
Corrects a problem where we reply exclusively of GEPs to drive
analysis.  Better is to look for cases with useful GEPs and use them
when possible.  When a pair of useful GEPs is not available, use the
raw SCEVs directly. This approach supports better analysis of pointer
dereferencing.

In parallel, all the test cases are updated appropriately.
Cases where we have a store to *B++ can now be analyzed!

Modified:
    llvm/trunk/lib/Analysis/DependenceAnalysis.cpp
    llvm/trunk/test/Analysis/DependenceAnalysis/Banerjee.ll
    llvm/trunk/test/Analysis/DependenceAnalysis/Coupled.ll
    llvm/trunk/test/Analysis/DependenceAnalysis/ExactRDIV.ll
    llvm/trunk/test/Analysis/DependenceAnalysis/ExactSIV.ll
    llvm/trunk/test/Analysis/DependenceAnalysis/GCD.ll
    llvm/trunk/test/Analysis/DependenceAnalysis/Preliminary.ll
    llvm/trunk/test/Analysis/DependenceAnalysis/Propagating.ll
    llvm/trunk/test/Analysis/DependenceAnalysis/Separability.ll
    llvm/trunk/test/Analysis/DependenceAnalysis/StrongSIV.ll
    llvm/trunk/test/Analysis/DependenceAnalysis/SymbolicRDIV.ll
    llvm/trunk/test/Analysis/DependenceAnalysis/SymbolicSIV.ll
    llvm/trunk/test/Analysis/DependenceAnalysis/WeakCrossingSIV.ll
    llvm/trunk/test/Analysis/DependenceAnalysis/WeakZeroDstSIV.ll
    llvm/trunk/test/Analysis/DependenceAnalysis/WeakZeroSrcSIV.ll
    llvm/trunk/test/Analysis/DependenceAnalysis/ZIV.ll

Modified: llvm/trunk/lib/Analysis/DependenceAnalysis.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/DependenceAnalysis.cpp?rev=168474&r1=168473&r2=168474&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/DependenceAnalysis.cpp (original)
+++ llvm/trunk/lib/Analysis/DependenceAnalysis.cpp Wed Nov 21 17:50:04 2012
@@ -2218,7 +2218,7 @@
                                     FullDependence &Result) const {
   DEBUG(dbgs() << "starting gcd\n");
   ++GCDapplications;
-  unsigned BitWidth = Src->getType()->getIntegerBitWidth();
+  unsigned BitWidth = SE->getTypeSizeInBits(Src->getType());
   APInt RunningGCD = APInt::getNullValue(BitWidth);
 
   // Examine Src coefficients.
@@ -3194,7 +3194,8 @@
 //            Goff, Kennedy, Tseng
 //            PLDI 1991
 //
-// Care is required to keep the code below up to date w.r.t. this routine.
+// Care is required to keep the routine below, getSplitIteration(),
+// up to date with respect to this routine.
 Dependence *DependenceAnalysis::depends(Instruction *Src,
                                         Instruction *Dst,
                                         bool PossiblyLoopIndependent) {
@@ -3203,9 +3204,11 @@
     // if both instructions don't reference memory, there's no dependence
     return NULL;
 
-  if (!isLoadOrStore(Src) || !isLoadOrStore(Dst))
+  if (!isLoadOrStore(Src) || !isLoadOrStore(Dst)) {
     // can only analyze simple loads and stores, i.e., no calls, invokes, etc.
+    DEBUG(dbgs() << "can only handle simple loads and stores\n");
     return new Dependence(Src, Dst);
+  }
 
   Value *SrcPtr = getPointerOperand(Src);
   Value *DstPtr = getPointerOperand(Dst);
@@ -3214,22 +3217,16 @@
   case AliasAnalysis::MayAlias:
   case AliasAnalysis::PartialAlias:
     // cannot analyse objects if we don't understand their aliasing.
+    DEBUG(dbgs() << "can't analyze may or partial alias\n");
     return new Dependence(Src, Dst);
   case AliasAnalysis::NoAlias:
     // If the objects noalias, they are distinct, accesses are independent.
+    DEBUG(dbgs() << "no alias\n");
     return NULL;
   case AliasAnalysis::MustAlias:
     break; // The underlying objects alias; test accesses for dependence.
   }
 
-  GEPOperator *SrcGEP = dyn_cast<GEPOperator>(SrcPtr);
-  GEPOperator *DstGEP = dyn_cast<GEPOperator>(DstPtr);
-  if (!SrcGEP || !DstGEP)
-    return new Dependence(Src, Dst); // missing GEP, assume dependence
-
-  if (SrcGEP->getPointerOperandType() != DstGEP->getPointerOperandType())
-    return new Dependence(Src, Dst); // different types, assume dependence
-
   // establish loop nesting levels
   establishNestingLevels(Src, Dst);
   DEBUG(dbgs() << "    common nesting levels = " << CommonLevels << "\n");
@@ -3238,36 +3235,62 @@
   FullDependence Result(Src, Dst, PossiblyLoopIndependent, CommonLevels);
   ++TotalArrayPairs;
 
-  // classify subscript pairs
-  unsigned Pairs = SrcGEP->idx_end() - SrcGEP->idx_begin();
+  // See if there are GEPs we can use.
+  bool UsefulGEP = false;
+  GEPOperator *SrcGEP = dyn_cast<GEPOperator>(SrcPtr);
+  GEPOperator *DstGEP = dyn_cast<GEPOperator>(DstPtr);
+  if (SrcGEP && DstGEP &&
+      SrcGEP->getPointerOperandType() == DstGEP->getPointerOperandType()) {
+    const SCEV *SrcPtrSCEV = SE->getSCEV(SrcGEP->getPointerOperand());
+    const SCEV *DstPtrSCEV = SE->getSCEV(DstGEP->getPointerOperand());
+    DEBUG(dbgs() << "    SrcPtrSCEV = " << *SrcPtrSCEV << "\n");
+    DEBUG(dbgs() << "    DstPtrSCEV = " << *DstPtrSCEV << "\n");
+
+    UsefulGEP =
+      isLoopInvariant(SrcPtrSCEV, LI->getLoopFor(Src->getParent())) &&
+      isLoopInvariant(DstPtrSCEV, LI->getLoopFor(Dst->getParent()));
+  }
+  unsigned Pairs = UsefulGEP ? SrcGEP->idx_end() - SrcGEP->idx_begin() : 1;
   SmallVector<Subscript, 4> Pair(Pairs);
-  for (unsigned SI = 0; SI < Pairs; ++SI) {
-    Pair[SI].Loops.resize(MaxLevels + 1);
-    Pair[SI].GroupLoops.resize(MaxLevels + 1);
-    Pair[SI].Group.resize(Pairs);
-  }
-  Pairs = 0;
-  for (GEPOperator::const_op_iterator SrcIdx = SrcGEP->idx_begin(),
-         SrcEnd = SrcGEP->idx_end(),
-         DstIdx = DstGEP->idx_begin(),
-         DstEnd = DstGEP->idx_end();
-       SrcIdx != SrcEnd && DstIdx != DstEnd;
-       ++SrcIdx, ++DstIdx, ++Pairs) {
-    Pair[Pairs].Src = SE->getSCEV(*SrcIdx);
-    Pair[Pairs].Dst = SE->getSCEV(*DstIdx);
-    removeMatchingExtensions(&Pair[Pairs]);
-    Pair[Pairs].Classification =
-      classifyPair(Pair[Pairs].Src, LI->getLoopFor(Src->getParent()),
-                   Pair[Pairs].Dst, LI->getLoopFor(Dst->getParent()),
-                   Pair[Pairs].Loops);
-    Pair[Pairs].GroupLoops = Pair[Pairs].Loops;
-    Pair[Pairs].Group.set(Pairs);
-    DEBUG(dbgs() << "    subscript " << Pairs << "\n");
-    DEBUG(dbgs() << "\tsrc = " << *Pair[Pairs].Src << "\n");
-    DEBUG(dbgs() << "\tdst = " << *Pair[Pairs].Dst << "\n");
-    DEBUG(dbgs() << "\tclass = " << Pair[Pairs].Classification << "\n");
+  if (UsefulGEP) {
+    DEBUG(dbgs() << "    using GEPs\n");
+    unsigned P = 0;
+    for (GEPOperator::const_op_iterator SrcIdx = SrcGEP->idx_begin(),
+           SrcEnd = SrcGEP->idx_end(),
+           DstIdx = DstGEP->idx_begin();
+         SrcIdx != SrcEnd;
+         ++SrcIdx, ++DstIdx, ++P) {
+      Pair[P].Src = SE->getSCEV(*SrcIdx);
+      Pair[P].Dst = SE->getSCEV(*DstIdx);
+    }
+  }
+  else {
+    DEBUG(dbgs() << "    ignoring GEPs\n");
+    const SCEV *SrcSCEV = SE->getSCEV(SrcPtr);
+    const SCEV *DstSCEV = SE->getSCEV(DstPtr);
+    DEBUG(dbgs() << "    SrcSCEV = " << *SrcSCEV << "\n");
+    DEBUG(dbgs() << "    DstSCEV = " << *DstSCEV << "\n");
+    Pair[0].Src = SrcSCEV;
+    Pair[0].Dst = DstSCEV;
+  }
+
+  for (unsigned P = 0; P < Pairs; ++P) {
+    Pair[P].Loops.resize(MaxLevels + 1);
+    Pair[P].GroupLoops.resize(MaxLevels + 1);
+    Pair[P].Group.resize(Pairs);
+    removeMatchingExtensions(&Pair[P]);
+    Pair[P].Classification =
+      classifyPair(Pair[P].Src, LI->getLoopFor(Src->getParent()),
+                   Pair[P].Dst, LI->getLoopFor(Dst->getParent()),
+                   Pair[P].Loops);
+    Pair[P].GroupLoops = Pair[P].Loops;
+    Pair[P].Group.set(P);
+    DEBUG(dbgs() << "    subscript " << P << "\n");
+    DEBUG(dbgs() << "\tsrc = " << *Pair[P].Src << "\n");
+    DEBUG(dbgs() << "\tdst = " << *Pair[P].Dst << "\n");
+    DEBUG(dbgs() << "\tclass = " << Pair[P].Classification << "\n");
     DEBUG(dbgs() << "\tloops = ");
-    DEBUG(dumpSmallBitVector(Pair[Pairs].Loops));
+    DEBUG(dumpSmallBitVector(Pair[P].Loops));
   }
 
   SmallBitVector Separable(Pairs);
@@ -3562,7 +3585,8 @@
 // though simplified since we know that the dependence exists.
 // It's tedious, since we must go through all propagations, etc.
 //
-// Care is required to keep this code up to date w.r.t. the code above.
+// Care is required to keep this code up to date with respect to the routine
+// above, depends().
 //
 // Generally, the dependence analyzer will be used to build
 // a dependence graph for a function (basically a map from instructions
@@ -3611,44 +3635,59 @@
   assert(Dst->mayReadFromMemory() || Dst->mayWriteToMemory());
   assert(isLoadOrStore(Src));
   assert(isLoadOrStore(Dst));
-  const Value *SrcPtr = getPointerOperand(Src);
-  const Value *DstPtr = getPointerOperand(Dst);
+  Value *SrcPtr = getPointerOperand(Src);
+  Value *DstPtr = getPointerOperand(Dst);
   assert(underlyingObjectsAlias(AA, DstPtr, SrcPtr) ==
          AliasAnalysis::MustAlias);
-  const GEPOperator *SrcGEP = dyn_cast<GEPOperator>(SrcPtr);
-  const GEPOperator *DstGEP = dyn_cast<GEPOperator>(DstPtr);
-  assert(SrcGEP);
-  assert(DstGEP);
-  assert(SrcGEP->getPointerOperandType() == DstGEP->getPointerOperandType());
 
   // establish loop nesting levels
   establishNestingLevels(Src, Dst);
 
   FullDependence Result(Src, Dst, false, CommonLevels);
 
-  // classify subscript pairs
-  unsigned Pairs = SrcGEP->idx_end() - SrcGEP->idx_begin();
+  // See if there are GEPs we can use.
+  bool UsefulGEP = false;
+  GEPOperator *SrcGEP = dyn_cast<GEPOperator>(SrcPtr);
+  GEPOperator *DstGEP = dyn_cast<GEPOperator>(DstPtr);
+  if (SrcGEP && DstGEP &&
+      SrcGEP->getPointerOperandType() == DstGEP->getPointerOperandType()) {
+    const SCEV *SrcPtrSCEV = SE->getSCEV(SrcGEP->getPointerOperand());
+    const SCEV *DstPtrSCEV = SE->getSCEV(DstGEP->getPointerOperand());
+    UsefulGEP =
+      isLoopInvariant(SrcPtrSCEV, LI->getLoopFor(Src->getParent())) &&
+      isLoopInvariant(DstPtrSCEV, LI->getLoopFor(Dst->getParent()));
+  }
+  unsigned Pairs = UsefulGEP ? SrcGEP->idx_end() - SrcGEP->idx_begin() : 1;
   SmallVector<Subscript, 4> Pair(Pairs);
-  for (unsigned SI = 0; SI < Pairs; ++SI) {
-    Pair[SI].Loops.resize(MaxLevels + 1);
-    Pair[SI].GroupLoops.resize(MaxLevels + 1);
-    Pair[SI].Group.resize(Pairs);
-  }
-  Pairs = 0;
-  for (GEPOperator::const_op_iterator SrcIdx = SrcGEP->idx_begin(),
-         SrcEnd = SrcGEP->idx_end(),
-         DstIdx = DstGEP->idx_begin(),
-         DstEnd = DstGEP->idx_end();
-       SrcIdx != SrcEnd && DstIdx != DstEnd;
-       ++SrcIdx, ++DstIdx, ++Pairs) {
-    Pair[Pairs].Src = SE->getSCEV(*SrcIdx);
-    Pair[Pairs].Dst = SE->getSCEV(*DstIdx);
-    Pair[Pairs].Classification =
-      classifyPair(Pair[Pairs].Src, LI->getLoopFor(Src->getParent()),
-                   Pair[Pairs].Dst, LI->getLoopFor(Dst->getParent()),
-                   Pair[Pairs].Loops);
-    Pair[Pairs].GroupLoops = Pair[Pairs].Loops;
-    Pair[Pairs].Group.set(Pairs);
+  if (UsefulGEP) {
+    unsigned P = 0;
+    for (GEPOperator::const_op_iterator SrcIdx = SrcGEP->idx_begin(),
+           SrcEnd = SrcGEP->idx_end(),
+           DstIdx = DstGEP->idx_begin();
+         SrcIdx != SrcEnd;
+         ++SrcIdx, ++DstIdx, ++P) {
+      Pair[P].Src = SE->getSCEV(*SrcIdx);
+      Pair[P].Dst = SE->getSCEV(*DstIdx);
+    }
+  }
+  else {
+    const SCEV *SrcSCEV = SE->getSCEV(SrcPtr);
+    const SCEV *DstSCEV = SE->getSCEV(DstPtr);
+    Pair[0].Src = SrcSCEV;
+    Pair[0].Dst = DstSCEV;
+  }
+
+  for (unsigned P = 0; P < Pairs; ++P) {
+    Pair[P].Loops.resize(MaxLevels + 1);
+    Pair[P].GroupLoops.resize(MaxLevels + 1);
+    Pair[P].Group.resize(Pairs);
+    removeMatchingExtensions(&Pair[P]);
+    Pair[P].Classification =
+      classifyPair(Pair[P].Src, LI->getLoopFor(Src->getParent()),
+                   Pair[P].Dst, LI->getLoopFor(Dst->getParent()),
+                   Pair[P].Loops);
+    Pair[P].GroupLoops = Pair[P].Loops;
+    Pair[P].Group.set(P);
   }
 
   SmallBitVector Separable(Pairs);

Modified: llvm/trunk/test/Analysis/DependenceAnalysis/Banerjee.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Analysis/DependenceAnalysis/Banerjee.ll?rev=168474&r1=168473&r2=168474&view=diff
==============================================================================
--- llvm/trunk/test/Analysis/DependenceAnalysis/Banerjee.ll (original)
+++ llvm/trunk/test/Analysis/DependenceAnalysis/Banerjee.ll Wed Nov 21 17:50:04 2012
@@ -19,7 +19,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [= =|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc7
   %B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ]
@@ -70,7 +70,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [* *|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [* *|<]!
 
 for.cond1.preheader.preheader:                    ; preds = %entry
   %0 = add i64 %n, 1
@@ -136,7 +136,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [= =|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc8
   %B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ]
@@ -186,7 +186,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [= =|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc8
   %B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ]
@@ -236,7 +236,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [= =|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc7
   %B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ]
@@ -286,7 +286,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [= =|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc7
   %B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ]
@@ -336,7 +336,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [= =|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc8
   %B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ]
@@ -386,7 +386,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [= =|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc8
   %B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ]
@@ -436,7 +436,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [= =|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc8
   %B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ]
@@ -486,7 +486,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [= =|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc8
   %B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ]
@@ -537,7 +537,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [= =|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc7
   %B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ]
@@ -587,7 +587,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [= =|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc7
   %B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ]
@@ -637,7 +637,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [= =|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc7
   %B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ]

Modified: llvm/trunk/test/Analysis/DependenceAnalysis/Coupled.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Analysis/DependenceAnalysis/Coupled.ll?rev=168474&r1=168473&r2=168474&view=diff
==============================================================================
--- llvm/trunk/test/Analysis/DependenceAnalysis/Coupled.ll (original)
+++ llvm/trunk/test/Analysis/DependenceAnalysis/Coupled.ll Wed Nov 21 17:50:04 2012
@@ -18,7 +18,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -54,7 +54,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -90,7 +90,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -128,7 +128,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -166,7 +166,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -205,7 +205,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -246,7 +246,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -282,7 +282,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -318,7 +318,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -355,7 +355,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -393,7 +393,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -431,7 +431,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -469,7 +469,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -506,7 +506,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -543,7 +543,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -580,7 +580,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]

Modified: llvm/trunk/test/Analysis/DependenceAnalysis/ExactRDIV.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Analysis/DependenceAnalysis/ExactRDIV.ll?rev=168474&r1=168473&r2=168474&view=diff
==============================================================================
--- llvm/trunk/test/Analysis/DependenceAnalysis/ExactRDIV.ll (original)
+++ llvm/trunk/test/Analysis/DependenceAnalysis/ExactRDIV.ll Wed Nov 21 17:50:04 2012
@@ -19,7 +19,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -67,7 +67,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -113,7 +113,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -159,7 +159,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -205,7 +205,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -251,7 +251,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -298,7 +298,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -345,7 +345,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -392,7 +392,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -439,7 +439,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [S S|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc5
   %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc5 ]
@@ -488,7 +488,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [S S|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc5
   %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc5 ]
@@ -536,7 +536,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [S S|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc5
   %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc5 ]
@@ -584,7 +584,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [S S|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc5
   %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc5 ]

Modified: llvm/trunk/test/Analysis/DependenceAnalysis/ExactSIV.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Analysis/DependenceAnalysis/ExactSIV.ll?rev=168474&r1=168473&r2=168474&view=diff
==============================================================================
--- llvm/trunk/test/Analysis/DependenceAnalysis/ExactSIV.ll (original)
+++ llvm/trunk/test/Analysis/DependenceAnalysis/ExactSIV.ll Wed Nov 21 17:50:04 2012
@@ -18,7 +18,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -55,7 +55,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -93,7 +93,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -129,7 +129,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -165,7 +165,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -201,7 +201,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -237,7 +237,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -273,7 +273,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -309,7 +309,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -345,7 +345,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -381,7 +381,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -417,7 +417,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -453,7 +453,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -489,7 +489,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]

Modified: llvm/trunk/test/Analysis/DependenceAnalysis/GCD.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Analysis/DependenceAnalysis/GCD.ll?rev=168474&r1=168473&r2=168474&view=diff
==============================================================================
--- llvm/trunk/test/Analysis/DependenceAnalysis/GCD.ll (original)
+++ llvm/trunk/test/Analysis/DependenceAnalysis/GCD.ll Wed Nov 21 17:50:04 2012
@@ -19,7 +19,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [* *|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc8
   %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc8 ]
@@ -71,7 +71,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [* *|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc9
   %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc9 ]
@@ -124,7 +124,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [* *|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc9
   %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc9 ]
@@ -177,7 +177,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [* *|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc7
   %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc7 ]
@@ -228,7 +228,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [* *|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc17
   %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc17 ]
@@ -289,7 +289,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [* *|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc17
   %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc17 ]
@@ -351,7 +351,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [* *|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [* *|<]!
 
 for.cond1.preheader.preheader:                    ; preds = %entry
   br label %for.cond1.preheader
@@ -422,7 +422,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [* *|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [* *|<]!
 
 for.cond1.preheader.preheader:                    ; preds = %entry
   br label %for.cond1.preheader
@@ -505,7 +505,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [* *|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [* *|<]!
 
 for.cond1.preheader.preheader:                    ; preds = %entry
   br label %for.cond1.preheader
@@ -583,7 +583,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [* *|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [* *|<]!
 
 for.cond1.preheader.preheader:                    ; preds = %entry
   br label %for.cond1.preheader

Modified: llvm/trunk/test/Analysis/DependenceAnalysis/Preliminary.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Analysis/DependenceAnalysis/Preliminary.ll?rev=168474&r1=168473&r2=168474&view=diff
==============================================================================
--- llvm/trunk/test/Analysis/DependenceAnalysis/Preliminary.ll (original)
+++ llvm/trunk/test/Analysis/DependenceAnalysis/Preliminary.ll Wed Nov 21 17:50:04 2012
@@ -13,7 +13,7 @@
 entry:
   store i32 %n, i32* %A, align 4
 
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output!
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input!
 
@@ -31,7 +31,7 @@
 entry:
   store i32 %n, i32* %A, align 4
 
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output!
 ; CHECK: da analyze - none!
 ; CHECK: da analyze - consistent input!
 
@@ -59,7 +59,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0 0 0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [* * *|<]!
 
 for.cond1.preheader.preheader:                    ; preds = %entry
   br label %for.cond1.preheader
@@ -168,7 +168,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0 S 0 0 S 0 S S S S 0 0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [* * * * * * * * * * * *|<]!
 
 for.cond1.preheader.preheader:                    ; preds = %entry
   br label %for.cond1.preheader
@@ -430,7 +430,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -476,7 +476,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -522,7 +522,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -564,7 +564,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output!
 
   store i32 0, i32* %arrayidx, align 4
   %conv = sext i8 %n to i64
@@ -591,7 +591,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output!
 
   %conv = sext i16 %n to i64
   %add = add i64 %conv, 1
@@ -617,7 +617,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output!
 
   %add = add nsw i32 %n, 1
   %idxprom1 = sext i32 %add to i64
@@ -643,7 +643,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output!
 
   %add = add i32 %n, 1
   %idxprom1 = zext i32 %add to i64
@@ -652,3 +652,48 @@
   store i32 %0, i32* %B, align 4
   ret void
 }
+
+
+;;typedef struct { int v; } S;
+;;
+;;void f(S *s, unsigned size) {
+;;  S *i = s, *e = s + size - 1;
+;;  while (i != e) {
+;;    *i = *(i + 1);
+;;    ++i;
+
+%struct.S = type { i32 }
+
+define void @f(%struct.S* %s, i32 %size) nounwind uwtable ssp {
+entry:
+  %idx.ext = zext i32 %size to i64
+  %add.ptr.sum = add i64 %idx.ext, -1
+  %add.ptr1 = getelementptr inbounds %struct.S* %s, i64 %add.ptr.sum
+  %cmp1 = icmp eq i64 %add.ptr.sum, 0
+  br i1 %cmp1, label %while.end, label %while.body.preheader
+
+; CHECK: da analyze - consistent input [0|<]!
+; CHECK: da analyze - consistent anti [1]!
+; CHECK: da analyze - consistent output [0|<]!
+
+while.body.preheader:                             ; preds = %entry
+  br label %while.body
+
+while.body:                                       ; preds = %while.body.preheader, %while.body
+  %i.02 = phi %struct.S* [ %incdec.ptr, %while.body ], [ %s, %while.body.preheader ]
+  %0 = getelementptr inbounds %struct.S* %i.02, i64 1, i32 0
+  %1 = load i32* %0, align 4
+  %2 = getelementptr inbounds %struct.S* %i.02, i64 0, i32 0
+  store i32 %1, i32* %2, align 4
+  %incdec.ptr = getelementptr inbounds %struct.S* %i.02, i64 1
+  %cmp = icmp eq %struct.S* %incdec.ptr, %add.ptr1
+  br i1 %cmp, label %while.end.loopexit, label %while.body
+
+while.end.loopexit:                               ; preds = %while.body
+  br label %while.end
+
+while.end:                                        ; preds = %while.end.loopexit, %entry
+  ret void
+}
+
+declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture, i64, i32, i1) nounwind

Modified: llvm/trunk/test/Analysis/DependenceAnalysis/Propagating.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Analysis/DependenceAnalysis/Propagating.ll?rev=168474&r1=168473&r2=168474&view=diff
==============================================================================
--- llvm/trunk/test/Analysis/DependenceAnalysis/Propagating.ll (original)
+++ llvm/trunk/test/Analysis/DependenceAnalysis/Propagating.ll Wed Nov 21 17:50:04 2012
@@ -19,7 +19,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0 0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc9
   %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc9 ]
@@ -69,7 +69,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0 0 0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= = =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc18
   %B.addr.06 = phi i32* [ %B, %entry ], [ %scevgep7, %for.inc18 ]
@@ -131,7 +131,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0 0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc8
   %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc8 ]
@@ -181,7 +181,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0 0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc9
   %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc9 ]
@@ -232,7 +232,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0 0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc11
   %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc11 ]
@@ -285,7 +285,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0 0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc13
   %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc13 ]
@@ -338,7 +338,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0 0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc12
   %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc12 ]
@@ -392,7 +392,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0 0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc14
   %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc14 ]
@@ -447,7 +447,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0 0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc10
   %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc10 ]
@@ -498,7 +498,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [S 0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc10
   %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc10 ]

Modified: llvm/trunk/test/Analysis/DependenceAnalysis/Separability.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Analysis/DependenceAnalysis/Separability.ll?rev=168474&r1=168473&r2=168474&view=diff
==============================================================================
--- llvm/trunk/test/Analysis/DependenceAnalysis/Separability.ll (original)
+++ llvm/trunk/test/Analysis/DependenceAnalysis/Separability.ll Wed Nov 21 17:50:04 2012
@@ -21,7 +21,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [0 * S *|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= = = =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc22
   %B.addr.08 = phi i32* [ %B, %entry ], [ %scevgep11, %for.inc22 ]
@@ -96,7 +96,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [0 * S *|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= = = =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc22
   %B.addr.08 = phi i32* [ %B, %entry ], [ %scevgep11, %for.inc22 ]
@@ -170,7 +170,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [0 * * 0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= = = =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc26
   %B.addr.08 = phi i32* [ %B, %entry ], [ %scevgep11, %for.inc26 ]
@@ -244,7 +244,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - input [0 * * 0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [= = = =|<]!
 
 for.cond1.preheader:                              ; preds = %entry, %for.inc27
   %B.addr.08 = phi i32* [ %B, %entry ], [ %scevgep11, %for.inc27 ]

Modified: llvm/trunk/test/Analysis/DependenceAnalysis/StrongSIV.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Analysis/DependenceAnalysis/StrongSIV.ll?rev=168474&r1=168473&r2=168474&view=diff
==============================================================================
--- llvm/trunk/test/Analysis/DependenceAnalysis/StrongSIV.ll (original)
+++ llvm/trunk/test/Analysis/DependenceAnalysis/StrongSIV.ll Wed Nov 21 17:50:04 2012
@@ -19,7 +19,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -61,7 +61,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   %0 = sext i32 %n to i64
@@ -104,7 +104,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -146,7 +146,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -188,7 +188,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -223,7 +223,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -258,7 +258,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -295,7 +295,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -332,7 +332,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -368,7 +368,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -411,7 +411,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]

Modified: llvm/trunk/test/Analysis/DependenceAnalysis/SymbolicRDIV.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Analysis/DependenceAnalysis/SymbolicRDIV.ll?rev=168474&r1=168473&r2=168474&view=diff
==============================================================================
--- llvm/trunk/test/Analysis/DependenceAnalysis/SymbolicRDIV.ll (original)
+++ llvm/trunk/test/Analysis/DependenceAnalysis/SymbolicRDIV.ll Wed Nov 21 17:50:04 2012
@@ -20,7 +20,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -82,7 +82,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -146,7 +146,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -208,7 +208,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -268,7 +268,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -329,7 +329,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -390,7 +390,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [S S|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - output [* *|<]!
 
 for.cond1.preheader.preheader:                    ; preds = %entry
   br label %for.cond1.preheader

Modified: llvm/trunk/test/Analysis/DependenceAnalysis/SymbolicSIV.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Analysis/DependenceAnalysis/SymbolicSIV.ll?rev=168474&r1=168473&r2=168474&view=diff
==============================================================================
--- llvm/trunk/test/Analysis/DependenceAnalysis/SymbolicSIV.ll (original)
+++ llvm/trunk/test/Analysis/DependenceAnalysis/SymbolicSIV.ll Wed Nov 21 17:50:04 2012
@@ -19,7 +19,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -64,7 +64,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -111,7 +111,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -156,7 +156,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -202,7 +202,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -247,7 +247,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -295,7 +295,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -339,7 +339,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -388,7 +388,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body

Modified: llvm/trunk/test/Analysis/DependenceAnalysis/WeakCrossingSIV.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Analysis/DependenceAnalysis/WeakCrossingSIV.ll?rev=168474&r1=168473&r2=168474&view=diff
==============================================================================
--- llvm/trunk/test/Analysis/DependenceAnalysis/WeakCrossingSIV.ll (original)
+++ llvm/trunk/test/Analysis/DependenceAnalysis/WeakCrossingSIV.ll Wed Nov 21 17:50:04 2012
@@ -22,7 +22,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %for.body.preheader, %for.body
   %i.03 = phi i64 [ %inc, %for.body ], [ 0, %for.body.preheader ]
@@ -65,7 +65,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -108,7 +108,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -143,7 +143,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -178,7 +178,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -214,7 +214,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -258,7 +258,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]

Modified: llvm/trunk/test/Analysis/DependenceAnalysis/WeakZeroDstSIV.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Analysis/DependenceAnalysis/WeakZeroDstSIV.ll?rev=168474&r1=168473&r2=168474&view=diff
==============================================================================
--- llvm/trunk/test/Analysis/DependenceAnalysis/WeakZeroDstSIV.ll (original)
+++ llvm/trunk/test/Analysis/DependenceAnalysis/WeakZeroDstSIV.ll Wed Nov 21 17:50:04 2012
@@ -18,7 +18,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [S|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -55,7 +55,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [S|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -97,7 +97,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [S|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -132,7 +132,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [S|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -167,7 +167,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [S|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -202,7 +202,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [S|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -238,7 +238,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [S|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body

Modified: llvm/trunk/test/Analysis/DependenceAnalysis/WeakZeroSrcSIV.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Analysis/DependenceAnalysis/WeakZeroSrcSIV.ll?rev=168474&r1=168473&r2=168474&view=diff
==============================================================================
--- llvm/trunk/test/Analysis/DependenceAnalysis/WeakZeroSrcSIV.ll (original)
+++ llvm/trunk/test/Analysis/DependenceAnalysis/WeakZeroSrcSIV.ll Wed Nov 21 17:50:04 2012
@@ -18,7 +18,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -55,7 +55,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body
@@ -97,7 +97,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -132,7 +132,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -167,7 +167,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -202,7 +202,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body:                                         ; preds = %entry, %for.body
   %i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -238,7 +238,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input [0|<]!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output [0|<]!
 
 for.body.preheader:                               ; preds = %entry
   br label %for.body

Modified: llvm/trunk/test/Analysis/DependenceAnalysis/ZIV.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Analysis/DependenceAnalysis/ZIV.ll?rev=168474&r1=168473&r2=168474&view=diff
==============================================================================
--- llvm/trunk/test/Analysis/DependenceAnalysis/ZIV.ll (original)
+++ llvm/trunk/test/Analysis/DependenceAnalysis/ZIV.ll Wed Nov 21 17:50:04 2012
@@ -19,7 +19,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output!
 
   %add1 = add i64 %n, 1
   %arrayidx2 = getelementptr inbounds i32* %A, i64 %add1
@@ -42,7 +42,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output!
 
   %add = add i64 %n, 1
   %arrayidx1 = getelementptr inbounds i32* %A, i64 %add
@@ -65,7 +65,7 @@
 ; CHECK: da analyze - confused!
 ; CHECK: da analyze - consistent input!
 ; CHECK: da analyze - confused!
-; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent output!
 
   %arrayidx1 = getelementptr inbounds i32* %A, i64 %m
   %0 = load i32* %arrayidx1, align 4





More information about the llvm-commits mailing list