summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/ARMWinEH.cpp
diff options
context:
space:
mode:
authorAlina Sbirlea <asbirlea@google.com>2019-03-20 18:33:37 +0000
committerAlina Sbirlea <asbirlea@google.com>2019-03-20 18:33:37 +0000
commit5baa72ea74ac58bd08aa5d88e92dc7f6bed74f0c (patch)
tree79fa9e2aa17091f867e76f67157c97c4d43e69b5 /llvm/lib/Support/ARMWinEH.cpp
parent2d0b4d6bb3c12278d60ef7c957c0dba77d81dc95 (diff)
downloadbcm5719-llvm-5baa72ea74ac58bd08aa5d88e92dc7f6bed74f0c.tar.gz
bcm5719-llvm-5baa72ea74ac58bd08aa5d88e92dc7f6bed74f0c.zip
[LICM & MemorySSA] Don't sink/hoist stores in the presence of ordered loads.
Summary: Before this patch, if any Use existed in the loop, with a defining access in the loop, we conservatively decide to not move the store. What this approach was missing, is that ordered loads are not Uses, they're Defs in MemorySSA. So, even when the clobbering walker does not find that volatile load to interfere, we still cannot hoist a store past a volatile load. Resolves PR41140. Reviewers: george.burgess.iv Subscribers: sanjoy, jlebar, Prazek, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D59564 llvm-svn: 356588
Diffstat (limited to 'llvm/lib/Support/ARMWinEH.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud