diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 371dd8e..3e53ae0 100644
--- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -46,13 +46,9 @@
 				    "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 @@
   // 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 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();
