aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/CommandLine.cpp
diff options
context:
space:
mode:
authorPhilip Reames <listmail@philipreames.com>2019-10-05 00:32:10 +0000
committerPhilip Reames <listmail@philipreames.com>2019-10-05 00:32:10 +0000
commitd5a4dad2061c09b01f396b3958ccccc4f9727b1a (patch)
tree8a561e03675bcf2ce3ea6bed224b6f52fa8a3da9 /llvm/lib/Support/CommandLine.cpp
parent9fe5d730c7070fa64c292699265c26f24c96003e (diff)
downloadllvm-d5a4dad2061c09b01f396b3958ccccc4f9727b1a.zip
llvm-d5a4dad2061c09b01f396b3958ccccc4f9727b1a.tar.gz
llvm-d5a4dad2061c09b01f396b3958ccccc4f9727b1a.tar.bz2
Fix a *nasty* miscompile in experimental unordered atomic lowering
This is an omission in rL371441. Loads which happened to be unordered weren't being added to the PendingLoad set, and thus weren't be ordered w/respect to side effects which followed before the end of the block. Included test case is how I spotted this. We had an atomic load being folded into a using instruction after a fence that load was supposed to be ordered with. I'm sure it showed up a bunch of other ways as well. Spotted via manual inspecting of assembly differences in a corpus w/and w/o the new experimental mode. Finding this with testing would have been "unpleasant". llvm-svn: 373814
Diffstat (limited to 'llvm/lib/Support/CommandLine.cpp')
0 files changed, 0 insertions, 0 deletions