summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 01ca2884d03..f94f506156c 100644
--- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -14519,6 +14519,9 @@ bool DAGCombiner::findBetterNeighborChains(StoreSDNode* St) {
if (Index != St && !SDValue(Index, 0)->hasOneUse())
break;
+ if (Index->isVolatile() || Index->isIndexed())
+ break;
+
// Find the base pointer and offset for this memory node.
BaseIndexOffset Ptr = BaseIndexOffset::match(Index->getBasePtr());
@@ -14526,9 +14529,6 @@ bool DAGCombiner::findBetterNeighborChains(StoreSDNode* St) {
if (!Ptr.equalBaseIndex(BasePtr))
break;
- if (Index->isVolatile() || Index->isIndexed())
- break;
-
// Find the next memory operand in the chain. If the next operand in the
// chain is a store then move up and continue the scan with the next
// memory operand. If the next operand is a load save it and use alias
OpenPOWER on IntegriCloud