diff options
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index 158350dc6d2..7515a7ab6d7 100644 --- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/llvm/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; |

