From: Nirav Dave Date: Thu, 10 Aug 2017 21:03:36 +0000 (+0000) Subject: Revert "[DAG] Cleanup unused nodes after store merge. NFCI." X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cacb6e2318e1f35a6e142f3098785543565b8efe;p=llvm Revert "[DAG] Cleanup unused nodes after store merge. NFCI." 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 --- diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index 158350dc6d2..7515a7ab6d7 100644 --- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -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;