[PATCH] D16463: [DAGCombiner] Don't add volatile or indexed stores to ChainedStores

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 25 18:01:52 PST 2016

arsenm added a comment.

Can you try to come up with a volatile testcase that hits this problem?

Comment at: lib/CodeGen/SelectionDAG/DAGCombiner.cpp:14763-14765
@@ -14762,4 +14762,5 @@
         // We found a store node. Use it for the next iteration.
-        ChainedStores.push_back(STn);
+        if (!STn->isVolatile() && STn->isUnindexed())
+          ChainedStores.push_back(STn);
         Index = STn;
We might as well fully break out of the loop here. This is just going to now reach the next iteration and then break the other place this was checked


More information about the llvm-commits mailing list