File tree Expand file tree Collapse file tree 1 file changed +11
-1
lines changed Expand file tree Collapse file tree 1 file changed +11
-1
lines changed Original file line number Diff line number Diff line change @@ -12552,8 +12552,15 @@ bool DAGCombiner::MergeStoresOfConstantsOrVecElts(
1255212552 }
1255312553
1255412554 // Replace all merged stores with the new store.
12555- for (unsigned i = 0; i < NumStores; ++i)
12555+ for (unsigned i = 0; i < NumStores; ++i) {
12556+ SDValue Val = StoreNodes[i].MemNode->getOperand(1);
12557+ SDValue Addr = StoreNodes[i].MemNode->getOperand(2);
1255612558 CombineTo(StoreNodes[i].MemNode, NewStore);
12559+ if (Val.getNode()->use_empty())
12560+ recursivelyDeleteUnusedNodes(Val.getNode());
12561+ if (Addr.getNode()->use_empty())
12562+ recursivelyDeleteUnusedNodes(Addr.getNode());
12563+ }
1255712564
1255812565 AddToWorklist(NewChain.getNode());
1255912566 return true;
@@ -13186,9 +13193,12 @@ bool DAGCombiner::MergeConsecutiveStores(StoreSDNode *St) {
1318613193 // corresponding value if its no longer used.
1318713194 for (unsigned i = 0; i < NumElem; ++i) {
1318813195 SDValue Val = StoreNodes[i].MemNode->getOperand(1);
13196+ SDValue Addr = StoreNodes[i].MemNode->getOperand(2);
1318913197 CombineTo(StoreNodes[i].MemNode, NewStore);
1319013198 if (Val.getNode()->use_empty())
1319113199 recursivelyDeleteUnusedNodes(Val.getNode());
13200+ if (Addr.getNode()->use_empty())
13201+ recursivelyDeleteUnusedNodes(Addr.getNode());
1319213202 }
1319313203
1319413204 RV = true;
You can’t perform that action at this time.
0 commit comments