summaryrefslogtreecommitdiff
path: root/src/ir
diff options
context:
space:
mode:
Diffstat (limited to 'src/ir')
-rw-r--r--src/ir/ReFinalize.cpp8
-rw-r--r--src/ir/abstract.h2
-rw-r--r--src/ir/branch-utils.h2
-rw-r--r--src/ir/cost.h3
-rw-r--r--src/ir/effects.h5
5 files changed, 0 insertions, 20 deletions
diff --git a/src/ir/ReFinalize.cpp b/src/ir/ReFinalize.cpp
index 32b38325d..014ee184e 100644
--- a/src/ir/ReFinalize.cpp
+++ b/src/ir/ReFinalize.cpp
@@ -136,14 +136,6 @@ void ReFinalize::visitRefEq(RefEq* curr) { curr->finalize(); }
void ReFinalize::visitTry(Try* curr) { curr->finalize(); }
void ReFinalize::visitThrow(Throw* curr) { curr->finalize(); }
void ReFinalize::visitRethrow(Rethrow* curr) { curr->finalize(); }
-void ReFinalize::visitBrOnExn(BrOnExn* curr) {
- curr->finalize();
- if (curr->exnref->type == Type::unreachable) {
- replaceUntaken(curr->exnref, nullptr);
- } else {
- updateBreakValueType(curr->name, curr->sent);
- }
-}
void ReFinalize::visitNop(Nop* curr) { curr->finalize(); }
void ReFinalize::visitUnreachable(Unreachable* curr) { curr->finalize(); }
void ReFinalize::visitPop(Pop* curr) { curr->finalize(); }
diff --git a/src/ir/abstract.h b/src/ir/abstract.h
index d4a93b011..4c8d556cb 100644
--- a/src/ir/abstract.h
+++ b/src/ir/abstract.h
@@ -115,7 +115,6 @@ inline UnaryOp getUnary(Type type, Op op) {
case Type::v128:
case Type::funcref:
case Type::externref:
- case Type::exnref:
case Type::anyref:
case Type::eqref:
case Type::dataref:
@@ -289,7 +288,6 @@ inline BinaryOp getBinary(Type type, Op op) {
case Type::v128:
case Type::funcref:
case Type::externref:
- case Type::exnref:
case Type::anyref:
case Type::eqref:
case Type::dataref:
diff --git a/src/ir/branch-utils.h b/src/ir/branch-utils.h
index 2e7ef470d..5e2cc5184 100644
--- a/src/ir/branch-utils.h
+++ b/src/ir/branch-utils.h
@@ -80,8 +80,6 @@ void operateOnScopeNameUsesAndSentTypes(Expression* expr, T func) {
func(name, br->value ? br->value->type : Type::none);
} else if (auto* sw = expr->dynCast<Switch>()) {
func(name, sw->value ? sw->value->type : Type::none);
- } else if (auto* br = expr->dynCast<BrOnExn>()) {
- func(name, br->sent);
} else if (auto* br = expr->dynCast<BrOnCast>()) {
func(name, br->getCastType());
} else {
diff --git a/src/ir/cost.h b/src/ir/cost.h
index 7f8e39e1b..46213880b 100644
--- a/src/ir/cost.h
+++ b/src/ir/cost.h
@@ -562,9 +562,6 @@ struct CostAnalyzer : public OverriddenVisitor<CostAnalyzer, Index> {
return ret;
}
Index visitRethrow(Rethrow* curr) { return 100; }
- Index visitBrOnExn(BrOnExn* curr) {
- return 1 + visit(curr->exnref) + curr->sent.size();
- }
Index visitTupleMake(TupleMake* curr) {
Index ret = 0;
for (auto* child : curr->operands) {
diff --git a/src/ir/effects.h b/src/ir/effects.h
index 22fab593d..e9e8d0f6c 100644
--- a/src/ir/effects.h
+++ b/src/ir/effects.h
@@ -538,11 +538,6 @@ private:
// traps when the arg is null
parent.implicitTrap = true;
}
- void visitBrOnExn(BrOnExn* curr) {
- parent.breakTargets.insert(curr->name);
- // traps when the arg is null
- parent.implicitTrap = true;
- }
void visitNop(Nop* curr) {}
void visitUnreachable(Unreachable* curr) { parent.trap = true; }
void visitPop(Pop* curr) {