diff options
author | Dan Gohman <dan433584@gmail.com> | 2016-01-20 04:21:16 +0000 |
---|---|---|
committer | Dan Gohman <dan433584@gmail.com> | 2016-01-20 04:21:16 +0000 |
commit | 7e64917fd196e224e7552d6caeae133afd406681 (patch) | |
tree | 526c5f8a40750d683e1c7cbecdc9a2ad8f11498a /llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp | |
parent | 3f7c20747dd2babbf809be35217912d0f31895e4 (diff) | |
download | llvm-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.cpp | 2 |
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)); } |