summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai (kripken) <alonzakai@gmail.com>2017-07-11 15:00:14 -0700
committerAlon Zakai (kripken) <alonzakai@gmail.com>2017-07-13 11:54:03 -0700
commit485166f4a184543fda936b8c458f0f4b74c0368f (patch)
tree547fd17d1207dd7191c8891c402b520cdc5dcc54 /src
parentcf6c4cff644b87b4c9688931e2924e2d73b9998f (diff)
downloadbinaryen-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.cpp4
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;
}