[PATCH] D41525: [MemorySSA] Allow reordering of loads that alias in the presence of volatile loads.

Alina Sbirlea via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 21 15:09:31 PST 2017


asbirlea created this revision.
asbirlea added reviewers: george.burgess.iv, dberlin.
Herald added a subscriber: Prazek.

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 https://reviews.llvm.org/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."


https://reviews.llvm.org/D41525

Files:
  lib/Analysis/MemorySSA.cpp
  test/Analysis/MemorySSA/volatile-clobber.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D41525.127957.patch
Type: text/x-patch
Size: 4540 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171221/6849fb43/attachment.bin>


More information about the llvm-commits mailing list