Fixed a minor bug preventing some pre-indexed load / store transformation.
authorEvan Cheng <evan.cheng@apple.com>
Wed, 8 Nov 2006 06:56:05 +0000 (06:56 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Wed, 8 Nov 2006 06:56:05 +0000 (06:56 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31543 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/DAGCombiner.cpp

index d8e2027d11acc8553b4b57aa517aa36031387ce5..491a753b56e8e02b5a970cc70be36450b594bbac 100644 (file)
@@ -239,8 +239,8 @@ namespace {
           }
 
           // Now check for #1 and #2.
-          unsigned NumRealUses = 0;
           if (OffIsAMImm) {
+            unsigned NumRealUses = 0;
             for (SDNode::use_iterator I = Ptr.Val->use_begin(),
                    E = Ptr.Val->use_end(); I != E; ++I) {
               SDNode *Use = *I;
@@ -260,9 +260,9 @@ namespace {
               } else
                 NumRealUses++;
             }
+            if (NumRealUses == 0)
+              return false;
           }
-          if (NumRealUses == 0)
-            return false;
 
           SDOperand Result = isLoad
             ? DAG.getIndexedLoad(SDOperand(N,0), BasePtr, Offset, AM)