[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;
         break;
----------------
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


http://reviews.llvm.org/D16463





More information about the llvm-commits mailing list