]> granicus.if.org Git - llvm/commitdiff
Revert "[DAG] Cleanup unused nodes after store merge. NFCI."
authorNirav Dave <niravd@google.com>
Thu, 10 Aug 2017 21:03:36 +0000 (21:03 +0000)
committerNirav Dave <niravd@google.com>
Thu, 10 Aug 2017 21:03:36 +0000 (21:03 +0000)
This reverts commit r310648 which causes an unexpected assertion failure

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@310659 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/DAGCombiner.cpp

index 158350dc6d280e3441320a36147835c8cbf6064b..7515a7ab6d7b7cee169b0a46c16cfab7e9020cc3 100644 (file)
@@ -12590,15 +12590,8 @@ bool DAGCombiner::MergeStoresOfConstantsOrVecElts(
   }
 
   // Replace all merged stores with the new store.
-  for (unsigned i = 0; i < NumStores; ++i) {
-    SDValue Val = StoreNodes[i].MemNode->getOperand(1);
-    SDValue Addr = StoreNodes[i].MemNode->getOperand(2);
+  for (unsigned i = 0; i < NumStores; ++i)
     CombineTo(StoreNodes[i].MemNode, NewStore);
-    if (Val.getNode()->use_empty())
-      recursivelyDeleteUnusedNodes(Val.getNode());
-    if (Addr.getNode()->use_empty())
-      recursivelyDeleteUnusedNodes(Addr.getNode());
-  }
 
   AddToWorklist(NewChain.getNode());
   return true;
@@ -13233,12 +13226,9 @@ bool DAGCombiner::MergeConsecutiveStores(StoreSDNode *St) {
     // corresponding value if its no longer used.
     for (unsigned i = 0; i < NumElem; ++i) {
       SDValue Val = StoreNodes[i].MemNode->getOperand(1);
-      SDValue Addr = StoreNodes[i].MemNode->getOperand(2);
       CombineTo(StoreNodes[i].MemNode, NewStore);
       if (Val.getNode()->use_empty())
         recursivelyDeleteUnusedNodes(Val.getNode());
-      if (Addr.getNode()->use_empty())
-        recursivelyDeleteUnusedNodes(Addr.getNode());
     }
 
     RV = true;