aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
diff options
context:
space:
mode:
authorDan Gohman <dan433584@gmail.com>2016-01-20 04:21:16 +0000
committerDan Gohman <dan433584@gmail.com>2016-01-20 04:21:16 +0000
commit7e64917fd196e224e7552d6caeae133afd406681 (patch)
tree526c5f8a40750d683e1c7cbecdc9a2ad8f11498a /llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
parent3f7c20747dd2babbf809be35217912d0f31895e4 (diff)
downloadllvm-7e64917fd196e224e7552d6caeae133afd406681.zip
llvm-7e64917fd196e224e7552d6caeae133afd406681.tar.gz
llvm-7e64917fd196e224e7552d6caeae133afd406681.tar.bz2
[WebAssembly] Don't stackify stores across instructions with side effects.
llvm-svn: 258285
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp')
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
index 5923edd..df9e6de 100644
--- a/llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
+++ b/llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
@@ -128,7 +128,7 @@ static bool IsSafeToMove(const MachineInstr *Def, const MachineInstr *Insert,
// Check for memory dependencies and side effects.
for (--I; I != D; --I)
- SawSideEffects |= I->isSafeToMove(&AA, SawStore);
+ SawSideEffects |= !I->isSafeToMove(&AA, SawStore);
return !(SawStore && Def->mayLoad() && !Def->isInvariantLoad(&AA)) &&
!(SawSideEffects && !Def->isSafeToMove(&AA, SawStore));
}