diff options
author | Alon Zakai (kripken) <alonzakai@gmail.com> | 2017-07-11 15:00:14 -0700 |
---|---|---|
committer | Alon Zakai (kripken) <alonzakai@gmail.com> | 2017-07-13 11:54:03 -0700 |
commit | 485166f4a184543fda936b8c458f0f4b74c0368f (patch) | |
tree | 547fd17d1207dd7191c8891c402b520cdc5dcc54 /src | |
parent | cf6c4cff644b87b4c9688931e2924e2d73b9998f (diff) | |
download | binaryen-485166f4a184543fda936b8c458f0f4b74c0368f.tar.gz binaryen-485166f4a184543fda936b8c458f0f4b74c0368f.tar.bz2 binaryen-485166f4a184543fda936b8c458f0f4b74c0368f.zip |
fix handling of an if in a tee without an else, in coalesce-locals
Diffstat (limited to 'src')
-rw-r--r-- | src/passes/CoalesceLocals.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/passes/CoalesceLocals.cpp b/src/passes/CoalesceLocals.cpp index b36542a97..87eefb85c 100644 --- a/src/passes/CoalesceLocals.cpp +++ b/src/passes/CoalesceLocals.cpp @@ -196,7 +196,9 @@ struct CoalesceLocals : public WalkerPass<CFGWalker<CoalesceLocals, Visitor<Coal if (auto* get = set->value->dynCast<GetLocal>()) return get; if (auto* iff = set->value->dynCast<If>()) { if (auto* get = iff->ifTrue->dynCast<GetLocal>()) return get; - if (auto* get = iff->ifFalse->dynCast<GetLocal>()) return get; + if (iff->ifFalse) { + if (auto* get = iff->ifFalse->dynCast<GetLocal>()) return get; + } } return nullptr; } |