Remove if-break deprecation
This CL removes support or if-break and requires the use of break-if.
Bug: tint:1724
Change-Id: I8311de2f0ce11b5af7fada71d258ae441f9e42f8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/111100
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
diff --git a/src/tint/resolver/resolver_behavior_test.cc b/src/tint/resolver/resolver_behavior_test.cc
index 01b7890..6f405a3 100644
--- a/src/tint/resolver/resolver_behavior_test.cc
+++ b/src/tint/resolver/resolver_behavior_test.cc
@@ -557,16 +557,6 @@
EXPECT_EQ(r()->error(), "12:34 error: loop does not exit");
}
-TEST_F(ResolverBehaviorTest, StmtLoopEmpty_ContIfTrueBreak) {
- auto* stmt = Loop(Block(), Block(If(true, Block(Break()))));
- WrapInFunction(stmt);
-
- ASSERT_TRUE(r()->Resolve()) << r()->error();
-
- auto* sem = Sem().Get(stmt);
- EXPECT_EQ(sem->Behaviors(), sem::Behavior::kNext);
-}
-
TEST_F(ResolverBehaviorTest, StmtLoopEmpty_BreakIf) {
auto* stmt = Loop(Block(), Block(BreakIf(true)));
WrapInFunction(stmt);
diff --git a/src/tint/resolver/validation_test.cc b/src/tint/resolver/validation_test.cc
index 85b6967..2e41bf1 100644
--- a/src/tint/resolver/validation_test.cc
+++ b/src/tint/resolver/validation_test.cc
@@ -1029,10 +1029,10 @@
// }
// }
WrapInFunction(Loop(Block(), cont));
- EXPECT_TRUE(r()->Resolve()) << r()->error();
+ EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(),
- "12:34 warning: use of deprecated language feature: `break` must not be used to exit "
- "from a continuing block. Use `break-if` instead.");
+ "12:34 error: `break` must not be used to exit from a continuing block. "
+ "Use `break-if` instead.");
}
TEST_F(ResolverValidationTest, Stmt_BreakInIfElseInContinuing) {
@@ -1043,10 +1043,10 @@
// }
// }
WrapInFunction(Loop(Block(), cont));
- EXPECT_TRUE(r()->Resolve()) << r()->error();
+ EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(),
- "12:34 warning: use of deprecated language feature: `break` must not be used to exit "
- "from a continuing block. Use `break-if` instead.");
+ "12:34 error: `break` must not be used to exit from a continuing block. "
+ "Use `break-if` instead.");
}
TEST_F(ResolverValidationTest, Stmt_BreakInContinuing) {
@@ -1056,12 +1056,8 @@
WrapInFunction(Loop(Block(), cont));
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(),
- "12:34 warning: use of deprecated language feature: `break` must not be used to exit "
- "from a continuing block. Use `break-if` instead.\n"
- "12:34 error: break statement in a continuing block must be the single "
- "statement of an if statement's true or false block, and that if "
- "statement must be the last statement of the continuing block\n"
- "12:34 note: break statement is not directly in if statement block");
+ "12:34 error: `break` must not be used to exit from a continuing block. "
+ "Use `break-if` instead.");
}
TEST_F(ResolverValidationTest, Stmt_BreakInIfInIfInContinuing) {
@@ -1075,13 +1071,8 @@
WrapInFunction(Loop(Block(), cont));
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(),
- "12:34 warning: use of deprecated language feature: `break` must not be used to exit "
- "from a continuing block. Use `break-if` instead.\n"
- "12:34 error: break statement in a continuing block must be the single "
- "statement of an if statement's true or false block, and that if "
- "statement must be the last statement of the continuing block\n"
- "56:78 note: if statement containing break statement is not directly in "
- "continuing block");
+ "12:34 error: `break` must not be used to exit from a continuing block. "
+ "Use `break-if` instead.");
}
TEST_F(ResolverValidationTest, Stmt_BreakInIfTrueMultipleStmtsInContinuing) {
@@ -1094,12 +1085,8 @@
WrapInFunction(Loop(Block(), cont));
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(),
- "12:34 warning: use of deprecated language feature: `break` must not be used to exit "
- "from a continuing block. Use `break-if` instead.\n"
- "12:34 error: break statement in a continuing block must be the single "
- "statement of an if statement's true or false block, and that if "
- "statement must be the last statement of the continuing block\n"
- "56:78 note: if statement block contains multiple statements");
+ "12:34 error: `break` must not be used to exit from a continuing block. "
+ "Use `break-if` instead.");
}
TEST_F(ResolverValidationTest, Stmt_BreakInIfElseMultipleStmtsInContinuing) {
@@ -1113,12 +1100,8 @@
WrapInFunction(Loop(Block(), cont));
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(),
- "12:34 warning: use of deprecated language feature: `break` must not be used to exit "
- "from a continuing block. Use `break-if` instead.\n"
- "12:34 error: break statement in a continuing block must be the single "
- "statement of an if statement's true or false block, and that if "
- "statement must be the last statement of the continuing block\n"
- "56:78 note: if statement block contains multiple statements");
+ "12:34 error: `break` must not be used to exit from a continuing block. "
+ "Use `break-if` instead.");
}
TEST_F(ResolverValidationTest, Stmt_BreakInIfElseIfInContinuing) {
@@ -1131,12 +1114,8 @@
WrapInFunction(Loop(Block(), cont));
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(),
- "12:34 warning: use of deprecated language feature: `break` must not be used to exit "
- "from a continuing block. Use `break-if` instead.\n"
- "12:34 error: break statement in a continuing block must be the single "
- "statement of an if statement's true or false block, and that if "
- "statement must be the last statement of the continuing block\n"
- "56:78 note: else has condition");
+ "12:34 error: `break` must not be used to exit from a continuing block. "
+ "Use `break-if` instead.");
}
TEST_F(ResolverValidationTest, Stmt_BreakInIfNonEmptyElseInContinuing) {
@@ -1150,12 +1129,8 @@
WrapInFunction(Loop(Block(), cont));
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(),
- "12:34 warning: use of deprecated language feature: `break` must not be used to exit "
- "from a continuing block. Use `break-if` instead.\n"
- "12:34 error: break statement in a continuing block must be the single "
- "statement of an if statement's true or false block, and that if "
- "statement must be the last statement of the continuing block\n"
- "56:78 note: non-empty false block");
+ "12:34 error: `break` must not be used to exit from a continuing block. "
+ "Use `break-if` instead.");
}
TEST_F(ResolverValidationTest, Stmt_BreakInIfElseNonEmptyTrueInContinuing) {
@@ -1169,12 +1144,8 @@
WrapInFunction(Loop(Block(), cont));
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(),
- "12:34 warning: use of deprecated language feature: `break` must not be used to exit "
- "from a continuing block. Use `break-if` instead.\n"
- "12:34 error: break statement in a continuing block must be the single "
- "statement of an if statement's true or false block, and that if "
- "statement must be the last statement of the continuing block\n"
- "56:78 note: non-empty true block");
+ "12:34 error: `break` must not be used to exit from a continuing block. "
+ "Use `break-if` instead.");
}
TEST_F(ResolverValidationTest, Stmt_BreakInIfInContinuingNotLast) {
@@ -1187,13 +1158,8 @@
WrapInFunction(Loop(Block(), cont));
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(),
- "12:34 warning: use of deprecated language feature: `break` must not be used to exit "
- "from a continuing block. Use `break-if` instead.\n"
- "12:34 error: break statement in a continuing block must be the single "
- "statement of an if statement's true or false block, and that if "
- "statement must be the last statement of the continuing block\n"
- "56:78 note: if statement containing break statement is not the last "
- "statement of the continuing block");
+ "12:34 error: `break` must not be used to exit from a continuing block. "
+ "Use `break-if` instead.");
}
TEST_F(ResolverValidationTest, Stmt_BreakNotInLoopOrSwitch) {
diff --git a/src/tint/resolver/validator.cc b/src/tint/resolver/validator.cc
index f7d6cb3..db93bbe 100644
--- a/src/tint/resolver/validator.cc
+++ b/src/tint/resolver/validator.cc
@@ -1438,64 +1438,11 @@
AddError("break statement must be in a loop or switch case", stmt->Declaration()->source);
return false;
}
- if (auto* continuing = ClosestContinuing(/*stop_at_loop*/ true, current_statement)) {
- AddWarning(
- "use of deprecated language feature: `break` must not be used to exit from "
- "a continuing block. Use `break-if` instead.",
+ if (ClosestContinuing(/*stop_at_loop*/ true, current_statement) != nullptr) {
+ AddError(
+ "`break` must not be used to exit from a continuing block. Use `break-if` instead.",
stmt->Declaration()->source);
-
- auto fail = [&](const char* note_msg, const Source& note_src) {
- constexpr const char* kErrorMsg =
- "break statement in a continuing block must be the single statement of an if "
- "statement's true or false block, and that if statement must be the last statement "
- "of the continuing block";
- AddError(kErrorMsg, stmt->Declaration()->source);
- AddNote(note_msg, note_src);
- return false;
- };
-
- if (auto* block = stmt->Parent()->As<sem::BlockStatement>()) {
- auto* block_parent = block->Parent();
- auto* if_stmt = block_parent->As<sem::IfStatement>();
- if (!if_stmt) {
- return fail("break statement is not directly in if statement block",
- stmt->Declaration()->source);
- }
- if (block->Declaration()->statements.Length() != 1) {
- return fail("if statement block contains multiple statements",
- block->Declaration()->source);
- }
-
- if (if_stmt->Parent()->Is<sem::IfStatement>()) {
- return fail("else has condition", if_stmt->Declaration()->source);
- }
-
- bool el_contains_break = block->Declaration() == if_stmt->Declaration()->else_statement;
- if (el_contains_break) {
- if (auto* true_block = if_stmt->Declaration()->body; !true_block->Empty()) {
- return fail("non-empty true block", true_block->source);
- }
- } else {
- auto* else_stmt = if_stmt->Declaration()->else_statement;
- if (else_stmt) {
- return fail("non-empty false block", else_stmt->source);
- }
- }
-
- if (if_stmt->Parent()->Declaration() != continuing) {
- return fail(
- "if statement containing break statement is not directly in continuing block",
- if_stmt->Declaration()->source);
- }
- if (auto* cont_block = continuing->As<ast::BlockStatement>()) {
- if (if_stmt->Declaration() != cont_block->Last()) {
- return fail(
- "if statement containing break statement is not the last statement of the "
- "continuing block",
- if_stmt->Declaration()->source);
- }
- }
- }
+ return false;
}
return true;
}
diff --git a/src/tint/transform/remove_unreachable_statements_test.cc b/src/tint/transform/remove_unreachable_statements_test.cc
index 3e8c2b6..9267e6f 100644
--- a/src/tint/transform/remove_unreachable_statements_test.cc
+++ b/src/tint/transform/remove_unreachable_statements_test.cc
@@ -209,9 +209,7 @@
loop {
continuing {
- if (true) {
- break;
- }
+ break if true;
}
}
var preserve_me = 1;
diff --git a/src/tint/writer/spirv/builder.cc b/src/tint/writer/spirv/builder.cc
index 3c28de3..9b1e077 100644
--- a/src/tint/writer/spirv/builder.cc
+++ b/src/tint/writer/spirv/builder.cc
@@ -3403,54 +3403,6 @@
}
bool Builder::GenerateIfStatement(const ast::IfStatement* stmt) {
- if (!continuing_stack_.empty() &&
- stmt == continuing_stack_.back().last_statement->As<ast::IfStatement>()) {
- const ContinuingInfo& ci = continuing_stack_.back();
- // Match one of two patterns: the break-if and break-unless patterns.
- //
- // The break-if pattern:
- // continuing { ...
- // if (cond) { break; }
- // }
- //
- // The break-unless pattern:
- // continuing { ...
- // if (cond) {} else {break;}
- // }
- //
- // TODO(crbug.com/tint/1451): Remove this when the if break construct is made an error.
- auto is_just_a_break = [](const ast::BlockStatement* block) {
- return block && (block->statements.Length() == 1) &&
- block->Last()->Is<ast::BreakStatement>();
- };
- if (is_just_a_break(stmt->body) && stmt->else_statement == nullptr) {
- // It's a break-if.
- TINT_ASSERT(Writer, !backedge_stack_.empty());
- const auto cond_id = GenerateExpressionWithLoadIfNeeded(stmt->condition);
- if (!cond_id) {
- return false;
- }
- backedge_stack_.back() = Backedge(
- spv::Op::OpBranchConditional,
- {Operand(cond_id), Operand(ci.break_target_id), Operand(ci.loop_header_id)});
- return true;
- } else if (stmt->body->Empty()) {
- auto* es_block = As<ast::BlockStatement>(stmt->else_statement);
- if (es_block && is_just_a_break(es_block)) {
- // It's a break-unless.
- TINT_ASSERT(Writer, !backedge_stack_.empty());
- const auto cond_id = GenerateExpressionWithLoadIfNeeded(stmt->condition);
- if (!cond_id) {
- return false;
- }
- backedge_stack_.back() = Backedge(
- spv::Op::OpBranchConditional,
- {Operand(cond_id), Operand(ci.loop_header_id), Operand(ci.break_target_id)});
- return true;
- }
- }
- }
-
if (!GenerateConditionalBlock(stmt->condition, stmt->body, stmt->else_statement)) {
return false;
}
diff --git a/src/tint/writer/spirv/builder_loop_test.cc b/src/tint/writer/spirv/builder_loop_test.cc
index e27cac4..9d19bde 100644
--- a/src/tint/writer/spirv/builder_loop_test.cc
+++ b/src/tint/writer/spirv/builder_loop_test.cc
@@ -332,44 +332,6 @@
)");
}
-TEST_F(BuilderTest, Loop_WithContinuing_BreakUnless_ConditionIsVar) {
- // loop {
- // continuing {
- // var cond = true;
- // if (cond) {} else { break; }
- // }
- // }
- auto* cond_var = Decl(Var("cond", Expr(true)));
- auto* if_stmt = If(Expr("cond"), Block(), Else(Block(Break())));
- auto* continuing = Block(cond_var, if_stmt);
- auto* loop = Loop(Block(), continuing);
- WrapInFunction(loop);
-
- spirv::Builder& b = Build();
-
- b.push_function(Function{});
-
- EXPECT_TRUE(b.GenerateLoopStatement(loop)) << b.error();
- EXPECT_EQ(DumpInstructions(b.types()), R"(%5 = OpTypeBool
-%6 = OpConstantTrue %5
-%8 = OpTypePointer Function %5
-%9 = OpConstantNull %5
-)");
- EXPECT_EQ(DumpInstructions(b.functions()[0].instructions()),
- R"(OpBranch %1
-%1 = OpLabel
-OpLoopMerge %2 %3 None
-OpBranch %4
-%4 = OpLabel
-OpBranch %3
-%3 = OpLabel
-OpStore %7 %6
-%10 = OpLoad %5 %7
-OpBranchConditional %10 %1 %2
-%2 = OpLabel
-)");
-}
-
TEST_F(BuilderTest, Loop_WithContinuing_BreakIf_Nested) {
// Make sure the right backedge and break target are used.
// loop {
@@ -421,58 +383,5 @@
)");
}
-TEST_F(BuilderTest, Loop_WithContinuing_BreakUnless_Nested) {
- // Make sure the right backedge and break target are used.
- // loop {
- // continuing {
- // loop {
- // continuing {
- // if (true) {} else { break; }
- // }
- // }
- // if (true) {} else { break; }
- // }
- // }
-
- auto* inner_if_stmt = If(Expr(true), Block(), Else(Block(Break())));
- auto* inner_continuing = Block(inner_if_stmt);
- auto* inner_loop = Loop(Block(), inner_continuing);
-
- auto* outer_if_stmt = If(Expr(true), Block(), Else(Block(Break())));
- auto* outer_continuing = Block(inner_loop, outer_if_stmt);
- auto* outer_loop = Loop(Block(), outer_continuing);
-
- WrapInFunction(outer_loop);
-
- spirv::Builder& b = Build();
-
- b.push_function(Function{});
-
- EXPECT_TRUE(b.GenerateLoopStatement(outer_loop)) << b.error();
- EXPECT_EQ(DumpInstructions(b.types()), R"(%9 = OpTypeBool
-%10 = OpConstantTrue %9
-)");
- EXPECT_EQ(DumpInstructions(b.functions()[0].instructions()),
- R"(OpBranch %1
-%1 = OpLabel
-OpLoopMerge %2 %3 None
-OpBranch %4
-%4 = OpLabel
-OpBranch %3
-%3 = OpLabel
-OpBranch %5
-%5 = OpLabel
-OpLoopMerge %6 %7 None
-OpBranch %8
-%8 = OpLabel
-OpBranch %7
-%7 = OpLabel
-OpBranchConditional %10 %5 %6
-%6 = OpLabel
-OpBranchConditional %10 %1 %2
-%2 = OpLabel
-)");
-}
-
} // namespace
} // namespace tint::writer::spirv
diff --git a/test/tint/bug/tint/1064.wgsl b/test/tint/bug/tint/1064.wgsl
index db344ea..b884701 100644
--- a/test/tint/bug/tint/1064.wgsl
+++ b/test/tint/bug/tint/1064.wgsl
@@ -7,10 +7,7 @@
}
continuing {
- if (true) {
- } else {
- break;
- }
+ break if !true;
}
}
}
diff --git a/test/tint/bug/tint/1064.wgsl.expected.dxc.hlsl b/test/tint/bug/tint/1064.wgsl.expected.dxc.hlsl
index be35136..5871a6b 100644
--- a/test/tint/bug/tint/1064.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/tint/1064.wgsl.expected.dxc.hlsl
@@ -1,7 +1,3 @@
-bug/tint/1064.wgsl:12:9 warning: use of deprecated language feature: `break` must not be used to exit from a continuing block. Use `break-if` instead.
- break;
- ^^^^^
-
void main() {
while (true) {
if (false) {
@@ -9,10 +5,7 @@
break;
}
{
- if (true) {
- } else {
- break;
- }
+ if (false) { break; }
}
}
return;
diff --git a/test/tint/bug/tint/1064.wgsl.expected.fxc.hlsl b/test/tint/bug/tint/1064.wgsl.expected.fxc.hlsl
index be35136..5871a6b 100644
--- a/test/tint/bug/tint/1064.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/tint/1064.wgsl.expected.fxc.hlsl
@@ -1,7 +1,3 @@
-bug/tint/1064.wgsl:12:9 warning: use of deprecated language feature: `break` must not be used to exit from a continuing block. Use `break-if` instead.
- break;
- ^^^^^
-
void main() {
while (true) {
if (false) {
@@ -9,10 +5,7 @@
break;
}
{
- if (true) {
- } else {
- break;
- }
+ if (false) { break; }
}
}
return;
diff --git a/test/tint/bug/tint/1064.wgsl.expected.glsl b/test/tint/bug/tint/1064.wgsl.expected.glsl
index b181e85..674da4d 100644
--- a/test/tint/bug/tint/1064.wgsl.expected.glsl
+++ b/test/tint/bug/tint/1064.wgsl.expected.glsl
@@ -1,7 +1,3 @@
-bug/tint/1064.wgsl:12:9 warning: use of deprecated language feature: `break` must not be used to exit from a continuing block. Use `break-if` instead.
- break;
- ^^^^^
-
#version 310 es
precision mediump float;
@@ -12,10 +8,7 @@
break;
}
{
- if (true) {
- } else {
- break;
- }
+ if (false) { break; }
}
}
}
diff --git a/test/tint/bug/tint/1064.wgsl.expected.msl b/test/tint/bug/tint/1064.wgsl.expected.msl
index 7a8759a..194a6cf 100644
--- a/test/tint/bug/tint/1064.wgsl.expected.msl
+++ b/test/tint/bug/tint/1064.wgsl.expected.msl
@@ -1,7 +1,3 @@
-bug/tint/1064.wgsl:12:9 warning: use of deprecated language feature: `break` must not be used to exit from a continuing block. Use `break-if` instead.
- break;
- ^^^^^
-
#include <metal_stdlib>
using namespace metal;
@@ -12,10 +8,7 @@
break;
}
{
- if (true) {
- } else {
- break;
- }
+ if (false) { break; }
}
}
return;
diff --git a/test/tint/bug/tint/1064.wgsl.expected.spvasm b/test/tint/bug/tint/1064.wgsl.expected.spvasm
index 1051a7a..44ce3a3 100644
--- a/test/tint/bug/tint/1064.wgsl.expected.spvasm
+++ b/test/tint/bug/tint/1064.wgsl.expected.spvasm
@@ -1,11 +1,7 @@
-bug/tint/1064.wgsl:12:9 warning: use of deprecated language feature: `break` must not be used to exit from a continuing block. Use `break-if` instead.
- break;
- ^^^^^
-
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
-; Bound: 15
+; Bound: 14
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@@ -16,7 +12,6 @@
%1 = OpTypeFunction %void
%bool = OpTypeBool
%10 = OpConstantNull %bool
- %true = OpConstantTrue %bool
%main = OpFunction %void None %1
%4 = OpLabel
OpBranch %5
@@ -33,7 +28,7 @@
%11 = OpLabel
OpBranch %7
%7 = OpLabel
- OpBranchConditional %true %5 %6
+ OpBranchConditional %10 %6 %5
%6 = OpLabel
OpReturn
OpFunctionEnd
diff --git a/test/tint/bug/tint/1064.wgsl.expected.wgsl b/test/tint/bug/tint/1064.wgsl.expected.wgsl
index d267bdb..787399a 100644
--- a/test/tint/bug/tint/1064.wgsl.expected.wgsl
+++ b/test/tint/bug/tint/1064.wgsl.expected.wgsl
@@ -1,7 +1,3 @@
-bug/tint/1064.wgsl:12:9 warning: use of deprecated language feature: `break` must not be used to exit from a continuing block. Use `break-if` instead.
- break;
- ^^^^^
-
@fragment
fn main() {
loop {
@@ -11,10 +7,7 @@
}
continuing {
- if (true) {
- } else {
- break;
- }
+ break if !(true);
}
}
}
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/break-in-do-while-with-nested-if/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/break-in-do-while-with-nested-if/0-opt.wgsl
index 8d5b860..868ce50 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/break-in-do-while-with-nested-if/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/break-in-do-while-with-nested-if/0-opt.wgsl
@@ -23,10 +23,7 @@
break;
continuing {
- if (false) {
- } else {
- break;
- }
+ break if !(false);
}
}
return;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-array-copies-loops-with-limiters/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-array-copies-loops-with-limiters/0-opt.wgsl
index 7ae5656..6afce13 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-array-copies-loops-with-limiters/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-array-copies-loops-with-limiters/0-opt.wgsl
@@ -144,10 +144,7 @@
continuing {
let x_189 : i32 = x_6.x_GLF_uniform_int_values[2].el;
let x_191 : i32 = x_6.x_GLF_uniform_int_values[3].el;
- if ((x_189 == x_191)) {
- } else {
- break;
- }
+ break if !(x_189 == x_191);
}
}
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-blockfrequency-several-for-loops/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-blockfrequency-several-for-loops/0-opt.wgsl
index 10b0b75..492d398 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-blockfrequency-several-for-loops/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-blockfrequency-several-for-loops/0-opt.wgsl
@@ -128,19 +128,13 @@
continuing {
let x_123 : f32 = gl_FragCoord.x;
- if ((x_123 < -1.0)) {
- } else {
- break;
- }
+ break if !(x_123 < -1.0);
}
}
continuing {
let x_126 : f32 = gl_FragCoord.y;
- if ((x_126 < -1.0)) {
- } else {
- break;
- }
+ break if !(x_126 < -1.0);
}
}
let x_128 : vec4<f32> = c;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-continue-break-discard-return-in-loop/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-continue-break-discard-return-in-loop/0-opt.wgsl
index 1903882..cb8ca0d 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-continue-break-discard-return-in-loop/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-continue-break-discard-return-in-loop/0-opt.wgsl
@@ -44,10 +44,7 @@
return;
continuing {
- if (false) {
- } else {
- break;
- }
+ break if !(false);
}
}
let x_66 : i32 = x_5.x_GLF_uniform_int_values[1].el;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-dag-combiner-same-cond-nested/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-dag-combiner-same-cond-nested/0-opt.wgsl
index a79e26b..7580317 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-dag-combiner-same-cond-nested/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-dag-combiner-same-cond-nested/0-opt.wgsl
@@ -44,10 +44,7 @@
let x_67 : i32 = c;
let x_68 : i32 = a;
let x_69 : i32 = b;
- if (((x_67 & (x_68 | x_69)) == 0)) {
- } else {
- break;
- }
+ break if !((x_67 & (x_68 | x_69)) == 0);
}
}
let x_74 : f32 = x_6.one;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-double-if-true-in-loop/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-double-if-true-in-loop/0-opt.wgsl
index 277b9a2..fcd9732 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-double-if-true-in-loop/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-double-if-true-in-loop/0-opt.wgsl
@@ -30,10 +30,7 @@
continuing {
let x_66 : i32 = i;
let x_68 : i32 = x_7.x_GLF_uniform_int_values[1].el;
- if ((x_66 < x_68)) {
- } else {
- break;
- }
+ break if !(x_66 < x_68);
}
}
let x_71 : i32 = x_7.x_GLF_uniform_int_values[0].el;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-logical-and-constant/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-logical-and-constant/0-opt.wgsl
index a8d8cea..84733f5 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-logical-and-constant/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-logical-and-constant/0-opt.wgsl
@@ -11,10 +11,7 @@
continuing {
let x_35 : f32 = gl_FragCoord.x;
- if (((x_35 >= 0.0) & false)) {
- } else {
- break;
- }
+ break if !((x_35 >= 0.0) & false);
}
}
let x_8 : i32 = i;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-clamp-cmp-const-first/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-clamp-cmp-const-first/0-opt.wgsl
index ed6eebe..303534a 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-clamp-cmp-const-first/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-clamp-cmp-const-first/0-opt.wgsl
@@ -17,10 +17,7 @@
continuing {
let x_34 : f32 = f;
let x_36 : f32 = x_6.one;
- if ((10.0 > clamp(x_34, 8.0, (9.0 + x_36)))) {
- } else {
- break;
- }
+ break if !(10.0 > clamp(x_34, 8.0, (9.0 + x_36)));
}
}
let x_40 : f32 = f;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-function-fragcoord-condition-always-return/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-function-fragcoord-condition-always-return/0-opt.wgsl
index cf243d6..b13b024 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-function-fragcoord-condition-always-return/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-function-fragcoord-condition-always-return/0-opt.wgsl
@@ -43,10 +43,7 @@
continuing {
let x_88 : f32 = gl_FragCoord.x;
let x_90 : f32 = x_8.x_GLF_uniform_float_values[2].el;
- if ((x_88 < x_90)) {
- } else {
- break;
- }
+ break if !(x_88 < x_90);
}
}
}
@@ -60,10 +57,7 @@
continuing {
let x_101 : f32 = gl_FragCoord.y;
let x_103 : f32 = x_8.x_GLF_uniform_float_values[2].el;
- if ((x_101 < x_103)) {
- } else {
- break;
- }
+ break if !(x_101 < x_103);
}
}
}
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-global-loop-counter-main-function-call/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-global-loop-counter-main-function-call/0-opt.wgsl
index a997432..6c05483 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-global-loop-counter-main-function-call/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-global-loop-counter-main-function-call/0-opt.wgsl
@@ -43,10 +43,7 @@
continuing {
let x_39 : i32 = x_GLF_global_loop_count;
- if ((true & (x_39 < 100))) {
- } else {
- break;
- }
+ break if !(true & (x_39 < 100));
}
}
let x_42 : i32 = func_();
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-if-true-discard-in-do-while-never-reached/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-if-true-discard-in-do-while-never-reached/0-opt.wgsl
index 4f3baca..f4afbba 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-if-true-discard-in-do-while-never-reached/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-if-true-discard-in-do-while-never-reached/0-opt.wgsl
@@ -30,10 +30,7 @@
continuing {
let x_39 : i32 = a;
- if ((x_39 != 1)) {
- } else {
- break;
- }
+ break if !(x_39 != 1);
}
}
let x_41 : i32 = a;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-inline-pass-nested-loops/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-inline-pass-nested-loops/0-opt.wgsl
index 8b6de3d..ac822d1 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-inline-pass-nested-loops/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-inline-pass-nested-loops/0-opt.wgsl
@@ -30,10 +30,7 @@
continuing {
x_48_phi = vec4<f32>();
x_49_phi = false;
- if (false) {
- } else {
- break;
- }
+ break if !(false);
}
}
x_48 = x_48_phi;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-merge-return-condition-twice/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-merge-return-condition-twice/0-opt.wgsl
index a4ddb5c..8682748 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-merge-return-condition-twice/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-merge-return-condition-twice/0-opt.wgsl
@@ -29,10 +29,7 @@
continuing {
x_34_phi = 1.0;
x_48_phi = 1.0;
- if (false) {
- } else {
- break;
- }
+ break if !(false);
}
}
let x_48 : f32 = x_48_phi;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-multiple-one-iteration-loops-global-counter-write-matrices/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-multiple-one-iteration-loops-global-counter-write-matrices/0-opt.wgsl
index 79c369b..fbff6ca 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-multiple-one-iteration-loops-global-counter-write-matrices/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-multiple-one-iteration-loops-global-counter-write-matrices/0-opt.wgsl
@@ -332,10 +332,7 @@
continuing {
let x_373 : i32 = x_GLF_global_loop_count;
- if ((x_373 < 98)) {
- } else {
- break;
- }
+ break if !(x_373 < 98);
}
}
let x_375 : i32 = i_37;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-nested-loops-global-loop-counter-do-while-accumulate-float/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-nested-loops-global-loop-counter-do-while-accumulate-float/0-opt.wgsl
index c243164..32190d7 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-nested-loops-global-loop-counter-do-while-accumulate-float/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-nested-loops-global-loop-counter-do-while-accumulate-float/0-opt.wgsl
@@ -192,10 +192,7 @@
continuing {
let x_225 : i32 = x_GLF_global_loop_count;
let x_227 : i32 = x_10.x_GLF_uniform_int_values[3].el;
- if ((x_225 < (100 - x_227))) {
- } else {
- break;
- }
+ break if !(x_225 < (100 - x_227));
}
}
let x_231 : f32 = x_7.x_GLF_uniform_float_values[0].el;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-nir-opt-loop-unroll-if-if-if-if-do-while/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-nir-opt-loop-unroll-if-if-if-if-do-while/0-opt.wgsl
index 9f4c8f1..2a4c9b9 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-nir-opt-loop-unroll-if-if-if-if-do-while/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-nir-opt-loop-unroll-if-if-if-if-do-while/0-opt.wgsl
@@ -58,10 +58,7 @@
continuing {
let x_72 : f32 = a;
- if (!((x_72 == 0.0))) {
- } else {
- break;
- }
+ break if !((x_72 == 0.0));
}
}
let x_75 : i32 = x_8.x_GLF_uniform_int_values[1].el;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-optimize-phis-for-for-do-while-if-if/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-optimize-phis-for-for-do-while-if-if/0-opt.wgsl
index 13e7aed..4a2742d 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-optimize-phis-for-for-do-while-if-if/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-optimize-phis-for-for-do-while-if-if/0-opt.wgsl
@@ -64,10 +64,7 @@
continuing {
let x_72 : i32 = a;
let x_74 : i32 = x_7.x_GLF_uniform_int_values[1].el;
- if ((x_72 < x_74)) {
- } else {
- break;
- }
+ break if !(x_72 < x_74);
}
}
let x_77 : f32 = gl_FragCoord.y;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-reduce-load-replace-extract/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-reduce-load-replace-extract/0-opt.wgsl
index 8c354c5..7a1c963 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-reduce-load-replace-extract/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-reduce-load-replace-extract/0-opt.wgsl
@@ -41,10 +41,7 @@
a = 0.0;
continuing {
- if (false) {
- } else {
- break;
- }
+ break if !(false);
}
}
let x_63 : f32 = a;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-return-after-do-while/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-return-after-do-while/0-opt.wgsl
index 4a5526b..b34e84b 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-return-after-do-while/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-return-after-do-while/0-opt.wgsl
@@ -30,10 +30,7 @@
continuing {
let x_50 : i32 = x_5.x_GLF_uniform_int_values[1].el;
let x_52 : i32 = x_5.x_GLF_uniform_int_values[0].el;
- if ((x_50 > x_52)) {
- } else {
- break;
- }
+ break if !(x_50 > x_52);
}
}
return;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-simplification-while-inside-for/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-simplification-while-inside-for/0-opt.wgsl
index 27eede7..d5c9c06 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-simplification-while-inside-for/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-simplification-while-inside-for/0-opt.wgsl
@@ -31,10 +31,7 @@
}
continuing {
- if (false) {
- } else {
- break;
- }
+ break if !(false);
}
}
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.wgsl
index fadf785..c882710 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.wgsl
@@ -44,10 +44,7 @@
x_GLF_color = vec4<f32>(x_53, x_53, x_53, x_53);
continuing {
- if (true) {
- } else {
- break;
- }
+ break if !(true);
}
}
} else {
@@ -83,10 +80,7 @@
continuing {
let x_82 : f32 = x_7.zero;
let x_84 : f32 = x_5.x_GLF_uniform_float_values[0].el;
- if ((x_82 > x_84)) {
- } else {
- break;
- }
+ break if !(x_82 > x_84);
}
}
}
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/create-color-in-do-while-for-loop/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/create-color-in-do-while-for-loop/0-opt.wgsl
index 2c83684..2e3fd9c 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/create-color-in-do-while-for-loop/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/create-color-in-do-while-for-loop/0-opt.wgsl
@@ -58,10 +58,7 @@
continuing {
let x_87 : i32 = one;
- if ((x_87 < 0)) {
- } else {
- break;
- }
+ break if !(x_87 < 0);
}
}
var x_102 : bool;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/dead-barriers-in-loops/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/dead-barriers-in-loops/0-opt.wgsl
index 0a907b9..8124d91 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/dead-barriers-in-loops/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/dead-barriers-in-loops/0-opt.wgsl
@@ -92,10 +92,7 @@
continuing {
let x_111 : f32 = x_6.injectionSwitch.x;
let x_113 : f32 = x_6.injectionSwitch.y;
- if ((x_111 > x_113)) {
- } else {
- break;
- }
+ break if !(x_111 > x_113);
}
}
return;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/discard-continue-return/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/discard-continue-return/0-opt.wgsl
index 0fbc4eb..ab4c158 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/discard-continue-return/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/discard-continue-return/0-opt.wgsl
@@ -26,10 +26,7 @@
continuing {
x_46_phi = false;
- if (false) {
- } else {
- break;
- }
+ break if !(false);
}
}
let x_46 : bool = x_46_phi;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/discard-in-loop-in-function/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/discard-in-loop-in-function/0-opt.wgsl
index 1f09f47..a93d7e2 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/discard-in-loop-in-function/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/discard-in-loop-in-function/0-opt.wgsl
@@ -22,10 +22,7 @@
discard;
continuing {
- if (false) {
- } else {
- break;
- }
+ break if !(false);
}
}
return;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/do-while-if-return/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/do-while-if-return/0-opt.wgsl
index ce12bf7..9e6806c 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/do-while-if-return/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/do-while-if-return/0-opt.wgsl
@@ -35,19 +35,13 @@
continuing {
x_45_phi = x_39;
- if ((x_39 < 100)) {
- } else {
- break;
- }
+ break if !(x_39 < 100);
}
}
continuing {
x_38_phi = x_39;
- if ((x_39 < 100)) {
- } else {
- break;
- }
+ break if !(x_39 < 100);
}
}
return 0;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/do-while-loop-in-conditionals/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/do-while-loop-in-conditionals/0-opt.wgsl
index 83e36a6..a9d43c5 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/do-while-loop-in-conditionals/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/do-while-loop-in-conditionals/0-opt.wgsl
@@ -12,10 +12,7 @@
continuing {
let x_32 : f32 = gl_FragCoord.x;
- if ((x_32 < 0.0)) {
- } else {
- break;
- }
+ break if !(x_32 < 0.0);
}
}
}
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/frag-coord-func-call-and-ifs/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/frag-coord-func-call-and-ifs/0-opt.wgsl
index 2ca87f2..b0913b0 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/frag-coord-func-call-and-ifs/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/frag-coord-func-call-and-ifs/0-opt.wgsl
@@ -39,10 +39,7 @@
break;
continuing {
- if (false) {
- } else {
- break;
- }
+ break if !(false);
}
}
let x_70 : i32 = x_46;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/loops-ifs-continues-call/0.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/loops-ifs-continues-call/0.wgsl
index 7c36589..2d12653 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/loops-ifs-continues-call/0.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/loops-ifs-continues-call/0.wgsl
@@ -60,10 +60,7 @@
continuing {
let x_82 : f32 = x_8.injectionSwitch.y;
- if ((0.0 > x_82)) {
- } else {
- break;
- }
+ break if !(0.0 > x_82);
}
}
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/nested-loops-switch/0.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/nested-loops-switch/0.wgsl
index fe4a229..590dfbf 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/nested-loops-switch/0.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/nested-loops-switch/0.wgsl
@@ -98,10 +98,7 @@
continuing {
let x_113 : i32 = i;
- if ((x_113 < 200)) {
- } else {
- break;
- }
+ break if !(x_113 < 200);
}
}
x_GLF_color = vec4<f32>(1.0, 0.0, 0.0, 1.0);
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/returned-boolean-in-vector/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/returned-boolean-in-vector/0-opt.wgsl
index 2eda8e3..d45d8e1 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/returned-boolean-in-vector/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/returned-boolean-in-vector/0-opt.wgsl
@@ -35,10 +35,7 @@
continuing {
x_40_phi = x_40;
x_42_phi = x_43;
- if (false) {
- } else {
- break;
- }
+ break if !(false);
}
}
x_36 = false;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/set-color-in-one-iteration-while-loop/0.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/set-color-in-one-iteration-while-loop/0.wgsl
index ed302ea..d65c516 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/set-color-in-one-iteration-while-loop/0.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/set-color-in-one-iteration-while-loop/0.wgsl
@@ -73,10 +73,7 @@
continuing {
x_38_phi = x_39;
x_41_phi = x_42;
- if ((x_34 < 0)) {
- } else {
- break;
- }
+ break if !(x_34 < 0);
}
}
if (x_39) {
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/similar-nested-ifs/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/similar-nested-ifs/0-opt.wgsl
index 2521351..950c0f9 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/similar-nested-ifs/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/similar-nested-ifs/0-opt.wgsl
@@ -38,10 +38,7 @@
loop {
continuing {
- if (true) {
- } else {
- break;
- }
+ break if !(true);
}
}
}
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-access-chains/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-access-chains/0-opt.wgsl
index fb36a0a..07d27b1 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-access-chains/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/spv-access-chains/0-opt.wgsl
@@ -324,10 +324,7 @@
continuing {
let x_440 : bool = canwalk;
- if (x_440) {
- } else {
- break;
- }
+ break if !(x_440);
}
}
x_GLF_color = vec4<f32>(0.0, 0.0, 0.0, 1.0);
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-dead-break-and-unroll/1.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-dead-break-and-unroll/1.wgsl
index d4e6eff..574f905 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-dead-break-and-unroll/1.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/spv-dead-break-and-unroll/1.wgsl
@@ -333,10 +333,7 @@
continuing {
let x_450 : bool = canwalk;
- if (x_450) {
- } else {
- break;
- }
+ break if !(x_450);
}
}
x_GLF_color = vec4<f32>(0.0, 0.0, 0.0, 1.0);
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/0-opt.wgsl
index e4deef2..fe062ed 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/0-opt.wgsl
@@ -214,10 +214,7 @@
continuing {
let x_127 : i32 = i_3;
- if ((x_127 < 10)) {
- } else {
- break;
- }
+ break if !(x_127 < 10);
}
}
j_1 = 0;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/1.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/1.wgsl
index 912ceaa..7f093e7 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/1.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/1.wgsl
@@ -218,10 +218,7 @@
continuing {
let x_128 : i32 = i_3;
- if ((x_128 < 10)) {
- } else {
- break;
- }
+ break if !(x_128 < 10);
}
}
j_1 = 0;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block3/1.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block3/1.wgsl
index b73ca1c..eafd332 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block3/1.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block3/1.wgsl
@@ -218,10 +218,7 @@
continuing {
let x_129 : i32 = i_3;
- if ((x_129 < 10)) {
- } else {
- break;
- }
+ break if !(x_129 < 10);
}
}
j_1 = 0;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/1.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/1.wgsl
index 81b22d3..a338125 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/1.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/1.wgsl
@@ -368,10 +368,7 @@
continuing {
let x_468 : bool = canwalk;
- if (x_468) {
- } else {
- break;
- }
+ break if !(x_468);
}
}
x_GLF_color = vec4<f32>(0.0, 0.0, 0.0, 1.0);
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/2.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/2.wgsl
index edf5b87..9f086d2 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/2.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/2.wgsl
@@ -330,10 +330,7 @@
continuing {
let x_444 : bool = canwalk;
- if (x_444) {
- } else {
- break;
- }
+ break if !(x_444);
}
}
x_GLF_color = vec4<f32>(0.0, 0.0, 0.0, 1.0);
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/1.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/1.wgsl
index 23603de..0173772 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/1.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/1.wgsl
@@ -96,10 +96,7 @@
continuing {
x_63_phi = x_64;
- if ((x_64 < 10)) {
- } else {
- break;
- }
+ break if !(x_64 < 10);
}
}
x_103_phi = 0;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/2.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/2.wgsl
index 389189b..39e2084 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/2.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/2.wgsl
@@ -93,10 +93,7 @@
continuing {
x_63_phi = x_64;
- if ((x_64 < 10)) {
- } else {
- break;
- }
+ break if !(x_64 < 10);
}
}
x_102_phi = 0;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/0.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/0.wgsl
index 2b78fba..b18744c 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/0.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/0.wgsl
@@ -208,10 +208,7 @@
continuing {
let x_124 : i32 = i_3;
- if ((x_124 < 10)) {
- } else {
- break;
- }
+ break if !(x_124 < 10);
}
}
j_1 = 0;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/1.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/1.wgsl
index f7b359c..22b0567 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/1.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/1.wgsl
@@ -208,10 +208,7 @@
continuing {
let x_126 : i32 = i_3;
- if ((x_126 < 10)) {
- } else {
- break;
- }
+ break if !(x_126 < 10);
}
}
j_1 = 0;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-flatten-selection-dead-continues/1.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-flatten-selection-dead-continues/1.wgsl
index bcff64c..f2582e0 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-flatten-selection-dead-continues/1.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-flatten-selection-dead-continues/1.wgsl
@@ -316,10 +316,7 @@
continuing {
let x_128 : i32 = i_3;
- if ((x_128 < 10)) {
- } else {
- break;
- }
+ break if !(x_128 < 10);
}
}
j_1 = 0;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-flatten-selection-dead-continues/2-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-flatten-selection-dead-continues/2-opt.wgsl
index 70a93ab..d450ab3 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-flatten-selection-dead-continues/2-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-flatten-selection-dead-continues/2-opt.wgsl
@@ -315,10 +315,7 @@
continuing {
let x_128 : i32 = i_3;
- if ((x_128 < 10)) {
- } else {
- break;
- }
+ break if !(x_128 < 10);
}
}
j_1 = 0;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/1.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/1.wgsl
index 0648a59..0e82039 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/1.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/1.wgsl
@@ -156,10 +156,7 @@
continuing {
let x_136 : i32 = i_3;
- if ((x_136 < 10)) {
- } else {
- break;
- }
+ break if !(x_136 < 10);
}
}
j_1 = 0;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/2.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/2.wgsl
index 28907ef..5960625 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/2.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/2.wgsl
@@ -156,10 +156,7 @@
continuing {
let x_136 : i32 = i_3;
- if ((x_136 < 10)) {
- } else {
- break;
- }
+ break if !(x_136 < 10);
}
}
j_1 = 0;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-clamped-conditional-bit-shift/1.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-clamped-conditional-bit-shift/1.wgsl
index e4573de..db0b53d 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-clamped-conditional-bit-shift/1.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-clamped-conditional-bit-shift/1.wgsl
@@ -242,10 +242,7 @@
continuing {
let x_133 : i32 = i_3;
- if ((x_133 < 10)) {
- } else {
- break;
- }
+ break if !(x_133 < 10);
}
}
j_1 = 0;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-for-always-false-if-discard/1.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-for-always-false-if-discard/1.wgsl
index 803c071..bcc7488 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-for-always-false-if-discard/1.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-for-always-false-if-discard/1.wgsl
@@ -60,10 +60,7 @@
continuing {
x_65_phi = x_66;
- if ((x_66 < 10)) {
- } else {
- break;
- }
+ break if !(x_66 < 10);
}
}
x_93_phi = 0;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-reversed-for-loop/1.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-reversed-for-loop/1.wgsl
index b400724..27d35ad 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-reversed-for-loop/1.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-reversed-for-loop/1.wgsl
@@ -209,10 +209,7 @@
continuing {
let x_125 : i32 = i_3;
- if ((x_125 < 10)) {
- } else {
- break;
- }
+ break if !(x_125 < 10);
}
}
j_1 = 0;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/switch-inside-while-always-return/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/switch-inside-while-always-return/0-opt.wgsl
index cdddf1f..0d269dd 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/switch-inside-while-always-return/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/switch-inside-while-always-return/0-opt.wgsl
@@ -28,10 +28,7 @@
}
continuing {
- if (false) {
- } else {
- break;
- }
+ break if !(false);
}
}
let x_8 : i32 = merge_();
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/two-nested-do-whiles/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/two-nested-do-whiles/0-opt.wgsl
index 1dc822f..f725a48 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/two-nested-do-whiles/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/two-nested-do-whiles/0-opt.wgsl
@@ -60,18 +60,12 @@
}
continuing {
- if (false) {
- } else {
- break;
- }
+ break if !(false);
}
}
continuing {
- if (false) {
- } else {
- break;
- }
+ break if !(false);
}
}
}
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/undefined-integer-in-function/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/undefined-integer-in-function/0-opt.wgsl
index 3cadb54..95ec091 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/undefined-integer-in-function/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/undefined-integer-in-function/0-opt.wgsl
@@ -43,10 +43,7 @@
continuing {
x_11 = x_11_phi;
x_10_phi = x_11;
- if (false) {
- } else {
- break;
- }
+ break if !(false);
}
}
return x_11;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.wgsl
index dafad00..1f32d4a 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.wgsl
@@ -15,10 +15,7 @@
loop {
continuing {
- if (false) {
- } else {
- break;
- }
+ break if !(false);
}
}
m = 1;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/while-function-always-false/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/while-function-always-false/0-opt.wgsl
index 317778e..0a86345 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/while-function-always-false/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/while-function-always-false/0-opt.wgsl
@@ -24,10 +24,7 @@
continuing {
x_41 = x_6.injectionSwitch.y;
- if ((0.0 > x_41)) {
- } else {
- break;
- }
+ break if !(0.0 > x_41);
}
}
let x_43 : i32 = i32(x_41);