projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
Don't taint relaxed loads that immediately comes before an AcqRel read-modify-write op
[oota-llvm.git]
/
lib
/
CodeGen
/
CodeGenPrepare.cpp
diff --git
a/lib/CodeGen/CodeGenPrepare.cpp
b/lib/CodeGen/CodeGenPrepare.cpp
index 96fa10bbb8eaddcf96c6ac91b92e9acfda2a91c2..1837ba2bd5d4678d3f5132aaf421f6c9ac4a25bd 100644
(file)
--- a/
lib/CodeGen/CodeGenPrepare.cpp
+++ b/
lib/CodeGen/CodeGenPrepare.cpp
@@
-1413,7
+1413,8
@@
bool CodeGenPrepare::runOnFunction(Function &F) {
switch (I->getOpcode()) {
case Instruction::Load: {
auto* LI = dyn_cast<LoadInst>(&*I);
- if (LI->getOrdering() == Monotonic) {
+ if (LI->getOrdering() == Monotonic &&
+ !LI->getHasSubsequentAcqlRMW()) {
MonotonicLoadInsts.insert(LI);
}
break;