[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp

Jim Laskey jlaskey at apple.com
Thu Sep 21 10:36:01 PDT 2006



Changes in directory llvm/lib/CodeGen/SelectionDAG:

DAGCombiner.cpp updated: 1.195 -> 1.196
---
Log message:

core corrections

---
Diffs of the changes:  (+4 -10)

 DAGCombiner.cpp |   14 ++++----------
 1 files changed, 4 insertions(+), 10 deletions(-)


Index: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:1.195 llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:1.196
--- llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:1.195	Thu Sep 21 11:28:59 2006
+++ llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp	Thu Sep 21 12:35:47 2006
@@ -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();






More information about the llvm-commits mailing list