diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-04-25 20:47:05 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-04-25 20:47:05 -0700 |
commit | 75f0736812804980272729c6c3e9dda84539a3d6 (patch) | |
tree | a3d3868d21e6a3c599f16f3847ff227d15116409 /src/ast_utils.h | |
parent | cb35ee67868bdc2b8839766b7e10b65e8fcc122a (diff) | |
parent | 791c765cda070e47d90577de2d798f046431d095 (diff) | |
download | binaryen-75f0736812804980272729c6c3e9dda84539a3d6.tar.gz binaryen-75f0736812804980272729c6c3e9dda84539a3d6.tar.bz2 binaryen-75f0736812804980272729c6c3e9dda84539a3d6.zip |
Merge pull request #396 from WebAssembly/more-opts
Selectify if-elses with no side effects
Diffstat (limited to 'src/ast_utils.h')
-rw-r--r-- | src/ast_utils.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/ast_utils.h b/src/ast_utils.h index 36895ac51..5cda48578 100644 --- a/src/ast_utils.h +++ b/src/ast_utils.h @@ -52,7 +52,7 @@ struct EffectAnalyzer : public PostWalker<EffectAnalyzer, Visitor<EffectAnalyzer bool accessesLocal() { return localsRead.size() + localsWritten.size() > 0; } bool accessesMemory() { return calls || readsMemory || writesMemory; } - bool hasSideEffects() { return calls || localsWritten.size() > 0 || writesMemory; } + bool hasSideEffects() { return calls || localsWritten.size() > 0 || writesMemory || branches; } bool hasAnything() { return branches || calls || accessesLocal() || readsMemory || writesMemory; } // checks if these effects would invalidate another set (e.g., if we write, we invalidate someone that reads, they can't be moved past us) |