diff options
author | Bill Wendling <isanbard@gmail.com> | 2013-11-25 18:08:07 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2013-11-25 18:08:07 +0000 |
commit | 1349899ba424eb4655c890bdfecb514682627a8d (patch) | |
tree | e4dd2adf06cb2ad93dc0df9fbc4da4017ab12dcd /lib | |
parent | ddc3c964657cc0be4994ddfaf056d5ec6bb11e5b (diff) | |
download | external_llvm-1349899ba424eb4655c890bdfecb514682627a8d.zip external_llvm-1349899ba424eb4655c890bdfecb514682627a8d.tar.gz external_llvm-1349899ba424eb4655c890bdfecb514682627a8d.tar.bz2 |
Merging r195670:
------------------------------------------------------------------------
r195670 | void | 2013-11-25 10:05:22 -0800 (Mon, 25 Nov 2013) | 5 lines
Unrevert r195599 with testcase fix.
I'm not sure how it was checking for the wrong values...
PR18023.
------------------------------------------------------------------------
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@195672 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index c126a53..805cc9e 100644 --- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -8692,6 +8692,11 @@ bool DAGCombiner::MergeConsecutiveStores(StoreSDNode* St) { Index = STn; break; } else if (LoadSDNode *Ldn = dyn_cast<LoadSDNode>(NextInChain)) { + if (Ldn->isVolatile()) { + Index = NULL; + break; + } + // Save the load node for later. Continue the scan. AliasLoadNodes.push_back(Ldn); NextInChain = Ldn->getChain().getNode(); |