Roll back the rest of r126557. It's a hack that will break in some obscure cases.
authorBenjamin Kramer <benny.kra@googlemail.com>
Fri, 19 Aug 2011 22:39:31 +0000 (22:39 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Fri, 19 Aug 2011 22:39:31 +0000 (22:39 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138130 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/DAGCombiner.cpp

index 51aca66eef8e8045b267fd90088b3d2ad9a4a3e8..1d17473b466b70f8a2e1e09e2744207d780a42b9 100644 (file)
@@ -1526,12 +1526,6 @@ SDValue DAGCombiner::visitADDE(SDNode *N) {
   ConstantSDNode *N0C = dyn_cast<ConstantSDNode>(N0);
   ConstantSDNode *N1C = dyn_cast<ConstantSDNode>(N1);
 
-  // If both operands are null we know that carry out will always be false.
-  if (N0C && N0C->isNullValue() && N0 == N1)
-    DAG.ReplaceAllUsesOfValueWith(SDValue(N, 1), DAG.getNode(ISD::CARRY_FALSE,
-                                                             N->getDebugLoc(),
-                                                             MVT::Glue));
-
   // canonicalize constant to RHS
   if (N0C && !N1C)
     return DAG.getNode(ISD::ADDE, N->getDebugLoc(), N->getVTList(),