core corrections
authorJim Laskey <jlaskey@mac.com>
Thu, 21 Sep 2006 17:35:47 +0000 (17:35 +0000)
committerJim Laskey <jlaskey@mac.com>
Thu, 21 Sep 2006 17:35:47 +0000 (17:35 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30570 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/DAGCombiner.cpp

index 371dd8e5f5b9d6c44195bcaf736bc4dd498cb6ee..3e53ae0ed3fd0d0cf510e277ae1ceac60e786124 100644 (file)
@@ -46,13 +46,9 @@ namespace {
                                    "Number of dag nodes combined");
             
 
-#ifndef NDEBUG
 static cl::opt<bool>
   CombinerAA("combiner-alias-analysis", cl::Hidden,
              cl::desc("Turn on alias analysis turning testing"));
-#else
-  static const bool CombinerAA = 0;
-#endif
  
 class VISIBILITY_HIDDEN DAGCombiner {
     SelectionDAG &DAG;
@@ -2594,14 +2590,14 @@ bool DAGCombiner::isNotAlias(SDOperand Ptr1, SDOperand Ptr2) {
   // Mind the flag.
   if (!CombinerAA) return false;
   
-  // If they are the same then they are simple aliases.
+  // If they are the same then they must be aliases.
   if (Ptr1 == Ptr2) return false;
   
-  // If either operand is a frame value (not the same location from above test)
+  // If both operands are frame values (not the same location from above test)
   // then they can't alias.
   FrameIndexSDNode *FI1 = dyn_cast<FrameIndexSDNode>(Ptr1);
   FrameIndexSDNode *FI2 = dyn_cast<FrameIndexSDNode>(Ptr2);
-  if (FI1 || FI2) {
+  if (FI1 && FI2) {
     return true;
   }
   
@@ -2651,9 +2647,7 @@ SDOperand DAGCombiner::visitSTORE(SDNode *N) {
     SDOperand Token = DAG.getNode(ISD::TokenFactor, MVT::Other,
                       Chain, ReplStore);
     // Replace uses with token.
-    CombineTo(N, Token);
-    // Don't recombine on token.
-    return SDOperand(N, 0);
+    return Token;
   }
   
   return SDOperand();