Make my earlier patch to skip debug intrinsics
[oota-llvm.git] / lib / Transforms / Scalar / InstructionCombining.cpp
index 8f094b747c11e7b9b5d22e0ae94a0ff04181fea0..5b50ab56a3eeb43e96a9d897c1955dbc6926a605 100644 (file)
@@ -11483,6 +11483,7 @@ Instruction *InstCombiner::visitStoreInst(StoreInst &SI) {
   BasicBlock::iterator BBI = &SI;
   for (unsigned ScanInsts = 6; BBI != SI.getParent()->begin() && ScanInsts;
        --ScanInsts) {
+    --BBI;
     // Don't count debug info directives, lest they affect codegen.
     // Likewise, we skip bitcasts that feed into a llvm.dbg.declare; these are
     // not present when debugging is off.
@@ -11490,10 +11491,8 @@ Instruction *InstCombiner::visitStoreInst(StoreInst &SI) {
         (isa<BitCastInst>(BBI) && BBI->hasOneUse() &&
          isa<DbgDeclareInst>(BBI->use_begin()))) {
       ScanInsts++;
-      --BBI;
       continue;
     }    
-    --BBI;
     
     if (StoreInst *PrevSI = dyn_cast<StoreInst>(BBI)) {
       // Prev store isn't volatile, and stores to the same location?