aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/SplitModule.cpp
diff options
context:
space:
mode:
authorAlina Sbirlea <asbirlea@google.com>2017-12-22 19:54:03 +0000
committerAlina Sbirlea <asbirlea@google.com>2017-12-22 19:54:03 +0000
commitca741a87f25d96f86b381f927ac84f8e0a2c6ed0 (patch)
tree1d0eab41b15401c8f3d48fbe52224643461221a4 /llvm/lib/Transforms/Utils/SplitModule.cpp
parentbb2f9081dc5af8ba072239963aa3b83cfbba3b7e (diff)
downloadllvm-ca741a87f25d96f86b381f927ac84f8e0a2c6ed0.zip
llvm-ca741a87f25d96f86b381f927ac84f8e0a2c6ed0.tar.gz
llvm-ca741a87f25d96f86b381f927ac84f8e0a2c6ed0.tar.bz2
[MemorySSA] Allow reordering of loads that alias in the presence of volatile loads.
Summary: Make MemorySSA allow reordering of two loads that may alias, when one is volatile. This makes MemorySSA less conservative and behaving the same as the AliasSetTracker. For more context, see D16875. LLVM language reference: "The optimizers must not change the number of volatile operations or change their order of execution relative to other volatile operations. The optimizers may change the order of volatile operations relative to non-volatile operations. This is not Java’s “volatile” and has no cross-thread synchronization behavior." Reviewers: george.burgess.iv, dberlin Subscribers: sanjoy, reames, hfinkel, llvm-commits, Prazek Differential Revision: https://reviews.llvm.org/D41525 llvm-svn: 321382
Diffstat (limited to 'llvm/lib/Transforms/Utils/SplitModule.cpp')
0 files changed, 0 insertions, 0 deletions