[tint][ir] Fix new validation failures
New validator enforcement collided with new tests.
Change-Id: Icd77bfceb8a4075c41aa2cff6477b2cf1389512a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/139860
Auto-Submit: Ben Clayton <bclayton@google.com>
Kokoro: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
diff --git a/src/tint/ir/to_program.cc b/src/tint/ir/to_program.cc
index 3f87f8b..69df972 100644
--- a/src/tint/ir/to_program.cc
+++ b/src/tint/ir/to_program.cc
@@ -43,6 +43,7 @@
#include "src/tint/ir/store.h"
#include "src/tint/ir/switch.h"
#include "src/tint/ir/unary.h"
+#include "src/tint/ir/unreachable.h"
#include "src/tint/ir/user_call.h"
#include "src/tint/ir/validate.h"
#include "src/tint/ir/var.h"
@@ -262,19 +263,20 @@
[&](ir::Binary* i) { Binary(i); }, //
[&](ir::BreakIf* i) { BreakIf(i); }, //
[&](ir::Call* i) { Call(i); }, //
+ [&](ir::Continue*) {}, //
[&](ir::ExitIf*) {}, //
- [&](ir::ExitSwitch* i) { ExitSwitch(i); }, //
[&](ir::ExitLoop* i) { ExitLoop(i); }, //
+ [&](ir::ExitSwitch* i) { ExitSwitch(i); }, //
[&](ir::If* i) { If(i); }, //
[&](ir::Load* l) { Load(l); }, //
[&](ir::Loop* l) { Loop(l); }, //
+ [&](ir::NextIteration*) {}, //
[&](ir::Return* i) { Return(i); }, //
[&](ir::Store* i) { Store(i); }, //
[&](ir::Switch* i) { Switch(i); }, //
[&](ir::Unary* u) { Unary(u); }, //
+ [&](ir::Unreachable*) {}, //
[&](ir::Var* i) { Var(i); }, //
- [&](ir::NextIteration*) {}, //
- [&](ir::Continue*) {}, //
[&](Default) { UNHANDLED_CASE(inst); });
}
diff --git a/src/tint/ir/to_program_test.cc b/src/tint/ir/to_program_test.cc
index 278c3b7..4d27531 100644
--- a/src/tint/ir/to_program_test.cc
+++ b/src/tint/ir/to_program_test.cc
@@ -2121,7 +2121,7 @@
auto* if_ = b.If(b.LessThan(ty.bool_(), b.Load(i), 5_i));
b.With(if_->True(), [&] { b.ExitIf(if_); });
b.With(if_->False(), [&] { b.ExitLoop(loop); });
- b.NextIteration(loop);
+ b.Continue(loop);
});
});
@@ -2160,7 +2160,7 @@
auto* if2 = b.If(b.Call(ty.bool_(), a, 42_i));
b.With(if2->True(), [&] { b.Return(fn, 1_i); });
b.With(if2->False(), [&] { b.Return(fn, 2_i); });
- b.Continue(loop);
+ b.Unreachable();
});
b.With(loop->Continuing(), [&] {
@@ -2522,7 +2522,7 @@
b.With(loop->Body(), [&] {
auto* if_ = b.If(cond);
b.With(if_->True(), [&] { b.ExitLoop(loop); });
- b.NextIteration(loop);
+ b.Continue(loop);
});
b.Return(fn);
@@ -2549,7 +2549,7 @@
b.With(loop->Body(), [&] {
auto* if_ = b.If(cond);
b.With(if_->True(), [&] { b.Return(fn); });
- b.NextIteration(loop);
+ b.Continue(loop);
});
b.Return(fn);
@@ -2578,7 +2578,7 @@
b.With(loop->Body(), [&] {
auto* if_ = b.If(b.Load(cond));
b.With(if_->True(), [&] { b.Return(fn); });
- b.NextIteration(loop);
+ b.Continue(loop);
});
b.With(loop->Continuing(), [&] {
b.Store(cond, true);