[ir] Rename Builder::With() to Builder::Append() This makes it a little clearer what it does. Bug: tint:1718 Change-Id: I76bc2843f668b2787a7f510d8e6fb387622e9177 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/143085 Reviewed-by: Ben Clayton <bclayton@google.com> Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
diff --git a/src/tint/lang/core/ir/builder.h b/src/tint/lang/core/ir/builder.h index 0d6a9fd..787097f 100644 --- a/src/tint/lang/core/ir/builder.h +++ b/src/tint/lang/core/ir/builder.h
@@ -118,16 +118,16 @@ /// Destructor ~Builder(); - /// Creates a new builder wrapping the given block - /// @param b the block to set as the current block + /// Creates a new builder that will append to the given block + /// @param b the block to append new instructions to /// @returns the builder - Builder With(ir::Block* b) { return Builder(ir, b); } + Builder Append(ir::Block* b) { return Builder(ir, b); } /// Calls @p cb with the builder appending to block @p b /// @param b the block to set as the block to append to /// @param cb the function to call with the builder appending to block @p b template <typename FUNCTION> - void With(ir::Block* b, FUNCTION&& cb) { + void Append(ir::Block* b, FUNCTION&& cb) { TINT_SCOPED_ASSIGNMENT(current_block_, b); TINT_SCOPED_ASSIGNMENT(current_insertion_point_, nullptr); cb();
diff --git a/src/tint/lang/core/ir/from_program.cc b/src/tint/lang/core/ir/from_program.cc index 10c4c3e..845b228 100644 --- a/src/tint/lang/core/ir/from_program.cc +++ b/src/tint/lang/core/ir/from_program.cc
@@ -509,7 +509,7 @@ return; } - auto b = builder_.With(current_block_); + auto b = builder_.Append(current_block_); if (auto* v = std::get_if<ir::Value*>(&lhs)) { b.Store(*v, rhs); } else if (auto ref = std::get_if<VectorRefElementAccess>(&lhs)) { @@ -540,7 +540,7 @@ } void EmitCompoundAssignment(ValueOrVecElAccess lhs, ir::Value* rhs, ast::BinaryOp op) { - auto b = builder_.With(current_block_); + auto b = builder_.Append(current_block_); if (auto* v = std::get_if<ir::Value*>(&lhs)) { auto* load = b.Load(*v); auto* ty = load->Result()->Type();
diff --git a/src/tint/lang/core/ir/to_program_inlining_test.cc b/src/tint/lang/core/ir/to_program_inlining_test.cc index c93ef6e..d446c73 100644 --- a/src/tint/lang/core/ir/to_program_inlining_test.cc +++ b/src/tint/lang/core/ir/to_program_inlining_test.cc
@@ -35,7 +35,7 @@ //////////////////////////////////////////////////////////////////////////////// TEST_F(IRToProgramInliningTest, LoadVar_ThenStoreVar_ThenUseLoad) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* var = b.Var(ty.ptr<function, i32>()); b.Store(var, 1_i); auto* load = b.Load(var); @@ -59,11 +59,11 @@ //////////////////////////////////////////////////////////////////////////////// TEST_F(IRToProgramInliningTest, BinaryOpUnsequencedLHSThenUnsequencedRHS) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); fn_a->SetParams({b.FunctionParam(ty.i32())}); auto* fn_b = b.Function("b", ty.i32()); - b.With(fn_b->Block(), [&] { + b.Append(fn_b->Block(), [&] { auto* lhs = b.Add(ty.i32(), 1_i, 2_i); auto* rhs = b.Add(ty.i32(), 3_i, 4_i); auto* bin = b.Add(ty.i32(), lhs, rhs); @@ -83,11 +83,11 @@ TEST_F(IRToProgramInliningTest, BinaryOpSequencedLHSThenUnsequencedRHS) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); fn_a->SetParams({b.FunctionParam(ty.i32())}); auto* fn_b = b.Function("b", ty.i32()); - b.With(fn_b->Block(), [&] { + b.Append(fn_b->Block(), [&] { auto* lhs = b.Call(ty.i32(), fn_a, 1_i); auto* rhs = b.Add(ty.i32(), 2_i, 3_i); auto* bin = b.Add(ty.i32(), lhs, rhs); @@ -107,11 +107,11 @@ TEST_F(IRToProgramInliningTest, BinaryOpUnsequencedLHSThenSequencedRHS) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); fn_a->SetParams({b.FunctionParam(ty.i32())}); auto* fn_b = b.Function("b", ty.i32()); - b.With(fn_b->Block(), [&] { + b.Append(fn_b->Block(), [&] { auto* lhs = b.Add(ty.i32(), 1_i, 2_i); auto* rhs = b.Call(ty.i32(), fn_a, 3_i); auto* bin = b.Add(ty.i32(), lhs, rhs); @@ -131,11 +131,11 @@ TEST_F(IRToProgramInliningTest, BinaryOpSequencedLHSThenSequencedRHS) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); fn_a->SetParams({b.FunctionParam(ty.i32())}); auto* fn_b = b.Function("b", ty.i32()); - b.With(fn_b->Block(), [&] { + b.Append(fn_b->Block(), [&] { auto* lhs = b.Call(ty.i32(), fn_a, 1_i); auto* rhs = b.Call(ty.i32(), fn_a, 2_i); auto* bin = b.Add(ty.i32(), lhs, rhs); @@ -155,11 +155,11 @@ TEST_F(IRToProgramInliningTest, BinaryOpUnsequencedRHSThenUnsequencedLHS) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); fn_a->SetParams({b.FunctionParam(ty.i32())}); auto* fn_b = b.Function("b", ty.i32()); - b.With(fn_b->Block(), [&] { + b.Append(fn_b->Block(), [&] { auto* rhs = b.Add(ty.i32(), 3_i, 4_i); auto* lhs = b.Add(ty.i32(), 1_i, 2_i); auto* bin = b.Add(ty.i32(), lhs, rhs); @@ -179,11 +179,11 @@ TEST_F(IRToProgramInliningTest, BinaryOpUnsequencedRHSThenSequencedLHS) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); fn_a->SetParams({b.FunctionParam(ty.i32())}); auto* fn_b = b.Function("b", ty.i32()); - b.With(fn_b->Block(), [&] { + b.Append(fn_b->Block(), [&] { auto* rhs = b.Add(ty.i32(), 2_i, 3_i); auto* lhs = b.Call(ty.i32(), fn_a, 1_i); auto* bin = b.Add(ty.i32(), lhs, rhs); @@ -203,11 +203,11 @@ TEST_F(IRToProgramInliningTest, BinaryOpSequencedRHSThenUnsequencedLHS) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); fn_a->SetParams({b.FunctionParam(ty.i32())}); auto* fn_b = b.Function("b", ty.i32()); - b.With(fn_b->Block(), [&] { + b.Append(fn_b->Block(), [&] { auto* rhs = b.Call(ty.i32(), fn_a, 3_i); auto* lhs = b.Add(ty.i32(), 1_i, 2_i); auto* bin = b.Add(ty.i32(), lhs, rhs); @@ -227,11 +227,11 @@ TEST_F(IRToProgramInliningTest, BinaryOpSequencedRHSThenSequencedLHS) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); fn_a->SetParams({b.FunctionParam(ty.i32())}); auto* fn_b = b.Function("b", ty.i32()); - b.With(fn_b->Block(), [&] { + b.Append(fn_b->Block(), [&] { auto* rhs = b.Call(ty.i32(), fn_a, 2_i); auto* lhs = b.Call(ty.i32(), fn_a, 1_i); auto* bin = b.Add(ty.i32(), lhs, rhs); @@ -255,16 +255,16 @@ //////////////////////////////////////////////////////////////////////////////// TEST_F(IRToProgramInliningTest, CallSequencedXYZ) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); fn_a->SetParams({b.FunctionParam(ty.i32())}); auto* fn_b = b.Function("b", ty.i32()); - b.With(fn_b->Block(), [&] { b.Return(fn_b, 0_i); }); + b.Append(fn_b->Block(), [&] { b.Return(fn_b, 0_i); }); fn_b->SetParams( {b.FunctionParam(ty.i32()), b.FunctionParam(ty.i32()), b.FunctionParam(ty.i32())}); auto* fn_c = b.Function("c", ty.i32()); - b.With(fn_c->Block(), [&] { + b.Append(fn_c->Block(), [&] { auto* x = b.Call(ty.i32(), fn_a, 1_i); auto* y = b.Call(ty.i32(), fn_a, 2_i); auto* z = b.Call(ty.i32(), fn_a, 3_i); @@ -289,16 +289,16 @@ TEST_F(IRToProgramInliningTest, CallSequencedYXZ) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); fn_a->SetParams({b.FunctionParam(ty.i32())}); auto* fn_b = b.Function("b", ty.i32()); - b.With(fn_b->Block(), [&] { b.Return(fn_b, 0_i); }); + b.Append(fn_b->Block(), [&] { b.Return(fn_b, 0_i); }); fn_b->SetParams( {b.FunctionParam(ty.i32()), b.FunctionParam(ty.i32()), b.FunctionParam(ty.i32())}); auto* fn_c = b.Function("c", ty.i32()); - b.With(fn_c->Block(), [&] { + b.Append(fn_c->Block(), [&] { auto* y = b.Call(ty.i32(), fn_a, 2_i); auto* x = b.Call(ty.i32(), fn_a, 1_i); auto* z = b.Call(ty.i32(), fn_a, 3_i); @@ -324,16 +324,16 @@ TEST_F(IRToProgramInliningTest, CallSequencedXZY) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); fn_a->SetParams({b.FunctionParam(ty.i32())}); auto* fn_b = b.Function("b", ty.i32()); - b.With(fn_b->Block(), [&] { b.Return(fn_b, 0_i); }); + b.Append(fn_b->Block(), [&] { b.Return(fn_b, 0_i); }); fn_b->SetParams( {b.FunctionParam(ty.i32()), b.FunctionParam(ty.i32()), b.FunctionParam(ty.i32())}); auto* fn_c = b.Function("c", ty.i32()); - b.With(fn_c->Block(), [&] { + b.Append(fn_c->Block(), [&] { auto* x = b.Call(ty.i32(), fn_a, 1_i); auto* z = b.Call(ty.i32(), fn_a, 3_i); auto* y = b.Call(ty.i32(), fn_a, 2_i); @@ -360,16 +360,16 @@ TEST_F(IRToProgramInliningTest, CallSequencedZXY) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); fn_a->SetParams({b.FunctionParam(ty.i32())}); auto* fn_b = b.Function("b", ty.i32()); - b.With(fn_b->Block(), [&] { b.Return(fn_b, 0_i); }); + b.Append(fn_b->Block(), [&] { b.Return(fn_b, 0_i); }); fn_b->SetParams( {b.FunctionParam(ty.i32()), b.FunctionParam(ty.i32()), b.FunctionParam(ty.i32())}); auto* fn_c = b.Function("c", ty.i32()); - b.With(fn_c->Block(), [&] { + b.Append(fn_c->Block(), [&] { auto* z = b.Call(ty.i32(), fn_a, 3_i); auto* x = b.Call(ty.i32(), fn_a, 1_i); auto* y = b.Call(ty.i32(), fn_a, 2_i); @@ -395,16 +395,16 @@ TEST_F(IRToProgramInliningTest, CallSequencedYZX) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); fn_a->SetParams({b.FunctionParam(ty.i32())}); auto* fn_b = b.Function("b", ty.i32()); - b.With(fn_b->Block(), [&] { b.Return(fn_b, 0_i); }); + b.Append(fn_b->Block(), [&] { b.Return(fn_b, 0_i); }); fn_b->SetParams( {b.FunctionParam(ty.i32()), b.FunctionParam(ty.i32()), b.FunctionParam(ty.i32())}); auto* fn_c = b.Function("c", ty.i32()); - b.With(fn_c->Block(), [&] { + b.Append(fn_c->Block(), [&] { auto* y = b.Call(ty.i32(), fn_a, 2_i); auto* z = b.Call(ty.i32(), fn_a, 3_i); auto* x = b.Call(ty.i32(), fn_a, 1_i); @@ -431,16 +431,16 @@ TEST_F(IRToProgramInliningTest, CallSequencedZYX) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 0_i); }); fn_a->SetParams({b.FunctionParam(ty.i32())}); auto* fn_b = b.Function("b", ty.i32()); - b.With(fn_b->Block(), [&] { b.Return(fn_b, 0_i); }); + b.Append(fn_b->Block(), [&] { b.Return(fn_b, 0_i); }); fn_b->SetParams( {b.FunctionParam(ty.i32()), b.FunctionParam(ty.i32()), b.FunctionParam(ty.i32())}); auto* fn_c = b.Function("c", ty.i32()); - b.With(fn_c->Block(), [&] { + b.Append(fn_c->Block(), [&] { auto* z = b.Call(ty.i32(), fn_a, 3_i); auto* y = b.Call(ty.i32(), fn_a, 2_i); auto* x = b.Call(ty.i32(), fn_a, 1_i); @@ -467,10 +467,10 @@ TEST_F(IRToProgramInliningTest, LoadVar_ThenCallVoidFn_ThenUseLoad) { auto* fn_a = b.Function("a", ty.void_()); - b.With(fn_a->Block(), [&] { b.Return(fn_a); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a); }); auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* var = b.Var(ty.ptr<function, i32>()); b.Store(var, 1_i); auto* load = b.Load(var); @@ -494,10 +494,10 @@ TEST_F(IRToProgramInliningTest, LoadVar_ThenCallUnusedi32Fn_ThenUseLoad) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 1_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 1_i); }); auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* var = b.Var(ty.ptr<function, i32>()); b.Store(var, 1_i); auto* load = b.Load(var); @@ -522,10 +522,10 @@ TEST_F(IRToProgramInliningTest, LoadVar_ThenCalli32Fn_ThenUseLoadBeforeCall) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 1_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 1_i); }); auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* var = b.Var(ty.ptr<function, i32>()); b.Store(var, 1_i); auto* load = b.Load(var); @@ -548,10 +548,10 @@ TEST_F(IRToProgramInliningTest, LoadVar_ThenCalli32Fn_ThenUseCallBeforeLoad) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 1_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 1_i); }); auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* var = b.Var(ty.ptr<function, i32>()); b.Store(var, 1_i); auto* load = b.Load(var); @@ -578,11 +578,11 @@ //////////////////////////////////////////////////////////////////////////////// TEST_F(IRToProgramInliningTest, Access_ArrayOfArrayOfArray_XYZ) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 1_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 1_i); }); fn_a->SetParams({b.FunctionParam(ty.i32())}); auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* arr = b.Var(ty.ptr<function, array<array<array<i32, 3>, 4>, 5>>()); auto* x = b.Call(ty.i32(), fn_a, 1_i); auto* y = b.Call(ty.i32(), fn_a, 2_i); @@ -605,11 +605,11 @@ TEST_F(IRToProgramInliningTest, Access_ArrayOfArrayOfArray_YXZ) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 1_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 1_i); }); fn_a->SetParams({b.FunctionParam(ty.i32())}); auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* arr = b.Var(ty.ptr<function, array<array<array<i32, 3>, 4>, 5>>()); auto* y = b.Call(ty.i32(), fn_a, 2_i); auto* x = b.Call(ty.i32(), fn_a, 1_i); @@ -633,11 +633,11 @@ TEST_F(IRToProgramInliningTest, Access_ArrayOfArrayOfArray_ZXY) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 1_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 1_i); }); fn_a->SetParams({b.FunctionParam(ty.i32())}); auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* arr = b.Var(ty.ptr<function, array<array<array<i32, 3>, 4>, 5>>()); auto* z = b.Call(ty.i32(), fn_a, 3_i); auto* x = b.Call(ty.i32(), fn_a, 1_i); @@ -661,11 +661,11 @@ TEST_F(IRToProgramInliningTest, Access_ArrayOfArrayOfArray_ZYX) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 1_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 1_i); }); fn_a->SetParams({b.FunctionParam(ty.i32())}); auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* arr = b.Var(ty.ptr<function, array<array<array<i32, 3>, 4>, 5>>()); auto* z = b.Call(ty.i32(), fn_a, 3_i); auto* y = b.Call(ty.i32(), fn_a, 2_i); @@ -690,11 +690,11 @@ TEST_F(IRToProgramInliningTest, Access_ArrayOfMat3x4f_XYZ) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 1_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 1_i); }); fn_a->SetParams({b.FunctionParam(ty.i32())}); auto* fn = b.Function("f", ty.f32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* arr = b.Construct(ty.array<mat3x4<f32>, 5>()); auto* x = b.Call(ty.i32(), fn_a, 1_i); auto* y = b.Call(ty.i32(), fn_a, 2_i); @@ -716,11 +716,11 @@ TEST_F(IRToProgramInliningTest, Access_ArrayOfMat3x4f_YXZ) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 1_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 1_i); }); fn_a->SetParams({b.FunctionParam(ty.i32())}); auto* fn = b.Function("f", ty.f32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* arr = b.Construct(ty.array<mat3x4<f32>, 5>()); auto* y = b.Call(ty.i32(), fn_a, 2_i); auto* x = b.Call(ty.i32(), fn_a, 1_i); @@ -744,11 +744,11 @@ TEST_F(IRToProgramInliningTest, Access_ArrayOfMat3x4f_ZXY) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 1_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 1_i); }); fn_a->SetParams({b.FunctionParam(ty.i32())}); auto* fn = b.Function("f", ty.f32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* arr = b.Construct(ty.array<mat3x4<f32>, 5>()); auto* z = b.Call(ty.i32(), fn_a, 3_i); auto* x = b.Call(ty.i32(), fn_a, 1_i); @@ -772,11 +772,11 @@ TEST_F(IRToProgramInliningTest, Access_ArrayOfMat3x4f_ZYX) { auto* fn_a = b.Function("a", ty.i32()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, 1_i); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, 1_i); }); fn_a->SetParams({b.FunctionParam(ty.i32())}); auto* fn = b.Function("f", ty.f32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* arr = b.Construct(ty.array<mat3x4<f32>, 5>()); auto* z = b.Call(ty.i32(), fn_a, 3_i); auto* y = b.Call(ty.i32(), fn_a, 2_i); @@ -804,10 +804,10 @@ //////////////////////////////////////////////////////////////////////////////// TEST_F(IRToProgramInliningTest, UnsequencedOutsideIf) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* v = b.Add(ty.i32(), 1_i, 2_i); auto* if_ = b.If(true); - b.With(if_->True(), [&] { b.Return(fn, v); }); + b.Append(if_->True(), [&] { b.Return(fn, v); }); b.Return(fn, 0_i); }); @@ -823,13 +823,13 @@ TEST_F(IRToProgramInliningTest, SequencedOutsideIf) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* var = b.Var(ty.ptr<function, i32>()); var->SetInitializer(b.Constant(1_i)); auto* v_1 = b.Load(var); auto* v_2 = b.Add(ty.i32(), v_1, 2_i); auto* if_ = b.If(true); - b.With(if_->True(), [&] { b.Return(fn, v_2); }); + b.Append(if_->True(), [&] { b.Return(fn, v_2); }); b.Return(fn, 0_i); }); @@ -847,10 +847,10 @@ TEST_F(IRToProgramInliningTest, UnsequencedUsedByIfCondition) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* v = b.Equal(ty.bool_(), 1_i, 2_i); auto* if_ = b.If(v); - b.With(if_->True(), [&] { b.Return(fn, 3_i); }); + b.Append(if_->True(), [&] { b.Return(fn, 3_i); }); b.Return(fn, 0_i); }); @@ -866,13 +866,13 @@ TEST_F(IRToProgramInliningTest, SequencedUsedByIfCondition) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* var = b.Var(ty.ptr<function, i32>()); var->SetInitializer(b.Constant(1_i)); auto* v_1 = b.Load(var); auto* v_2 = b.Equal(ty.bool_(), v_1, 2_i); auto* if_ = b.If(v_2); - b.With(if_->True(), [&] { b.Return(fn, 3_i); }); + b.Append(if_->True(), [&] { b.Return(fn, 3_i); }); b.Return(fn, 0_i); }); @@ -889,12 +889,12 @@ TEST_F(IRToProgramInliningTest, LoadVar_ThenWriteToVarInIf_ThenUseLoad) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* var = b.Var(ty.ptr<function, i32>()); b.Store(var, 1_i); auto* load = b.Load(var); auto* if_ = b.If(true); - b.With(if_->True(), [&] { + b.Append(if_->True(), [&] { b.Store(var, 2_i); b.ExitIf(if_); }); @@ -919,11 +919,11 @@ //////////////////////////////////////////////////////////////////////////////// TEST_F(IRToProgramInliningTest, UnsequencedOutsideSwitch) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* v = b.Add(ty.i32(), 1_i, 2_i); auto* switch_ = b.Switch(3_i); auto* case_ = b.Case(switch_, {Switch::CaseSelector{}}); - b.With(case_, [&] { b.Return(fn, v); }); + b.Append(case_, [&] { b.Return(fn, v); }); b.Return(fn, 0_i); }); @@ -941,14 +941,14 @@ TEST_F(IRToProgramInliningTest, SequencedOutsideSwitch) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* var = b.Var(ty.ptr<function, i32>()); var->SetInitializer(b.Constant(1_i)); auto* v_1 = b.Load(var); auto* v_2 = b.Add(ty.i32(), v_1, 2_i); auto* switch_ = b.Switch(3_i); auto* case_ = b.Case(switch_, {Switch::CaseSelector{}}); - b.With(case_, [&] { b.Return(fn, v_2); }); + b.Append(case_, [&] { b.Return(fn, v_2); }); b.Return(fn, 0_i); }); @@ -968,11 +968,11 @@ TEST_F(IRToProgramInliningTest, UnsequencedUsedBySwitchCondition) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* v = b.Add(ty.i32(), 1_i, 2_i); auto* switch_ = b.Switch(v); auto* case_ = b.Case(switch_, {Switch::CaseSelector{}}); - b.With(case_, [&] { b.Return(fn, 3_i); }); + b.Append(case_, [&] { b.Return(fn, 3_i); }); b.Return(fn, 0_i); }); @@ -990,13 +990,13 @@ TEST_F(IRToProgramInliningTest, SequencedUsedBySwitchCondition) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* var = b.Var(ty.ptr<function, i32>()); var->SetInitializer(b.Constant(1_i)); auto* v_1 = b.Load(var); auto* switch_ = b.Switch(v_1); auto* case_ = b.Case(switch_, {Switch::CaseSelector{}}); - b.With(case_, [&] { b.Return(fn, 3_i); }); + b.Append(case_, [&] { b.Return(fn, 3_i); }); b.Return(fn, 0_i); }); @@ -1015,13 +1015,13 @@ TEST_F(IRToProgramInliningTest, LoadVar_ThenWriteToVarInSwitch_ThenUseLoad) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* var = b.Var(ty.ptr<function, i32>()); b.Store(var, 1_i); auto* load = b.Load(var); auto* switch_ = b.Switch(1_i); auto* case_ = b.Case(switch_, {Switch::CaseSelector{}}); - b.With(case_, [&] { + b.Append(case_, [&] { b.Store(var, 2_i); b.ExitSwitch(switch_); }); @@ -1048,15 +1048,15 @@ //////////////////////////////////////////////////////////////////////////////// TEST_F(IRToProgramInliningTest, UnsequencedOutsideLoopInitializer) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* var = b.Var(ty.ptr<function, i32>()); auto* v = b.Add(ty.i32(), 1_i, 2_i); auto* loop = b.Loop(); - b.With(loop->Initializer(), [&] { + b.Append(loop->Initializer(), [&] { b.Store(var, v); b.NextIteration(loop); }); - b.With(loop->Body(), [&] { b.ExitLoop(loop); }); + b.Append(loop->Body(), [&] { b.ExitLoop(loop); }); b.Return(fn, 0_i); }); @@ -1076,16 +1076,16 @@ TEST_F(IRToProgramInliningTest, SequencedOutsideLoopInitializer) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* var = b.Var(ty.ptr<function, i32>()); auto* v_1 = b.Load(var); auto* v_2 = b.Add(ty.i32(), v_1, 2_i); auto* loop = b.Loop(); - b.With(loop->Initializer(), [&] { + b.Append(loop->Initializer(), [&] { b.Store(var, v_2); b.NextIteration(loop); }); - b.With(loop->Body(), [&] { b.ExitLoop(loop); }); + b.Append(loop->Body(), [&] { b.ExitLoop(loop); }); b.Return(fn, 0_i); }); @@ -1106,16 +1106,16 @@ TEST_F(IRToProgramInliningTest, LoadVar_ThenWriteToVarInLoopInitializer_ThenUseLoad) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* var = b.Var(ty.ptr<function, i32>()); b.Store(var, 1_i); auto* load = b.Load(var); auto* loop = b.Loop(); - b.With(loop->Initializer(), [&] { + b.Append(loop->Initializer(), [&] { b.Store(var, 2_i); b.NextIteration(loop); }); - b.With(loop->Body(), [&] { b.ExitLoop(loop); }); + b.Append(loop->Body(), [&] { b.ExitLoop(loop); }); b.Return(fn, load); }); @@ -1137,10 +1137,10 @@ TEST_F(IRToProgramInliningTest, UnsequencedOutsideLoopBody) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* v = b.Add(ty.i32(), 1_i, 2_i); auto* loop = b.Loop(); - b.With(loop->Body(), [&] { b.Return(fn, v); }); + b.Append(loop->Body(), [&] { b.Return(fn, v); }); b.Return(fn, 0_i); }); @@ -1156,12 +1156,12 @@ TEST_F(IRToProgramInliningTest, SequencedOutsideLoopBody) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* var = b.Var(ty.ptr<function, i32>()); auto* v_1 = b.Load(var); auto* v_2 = b.Add(ty.i32(), v_1, 2_i); auto* loop = b.Loop(); - b.With(loop->Body(), [&] { b.Return(fn, v_2); }); + b.Append(loop->Body(), [&] { b.Return(fn, v_2); }); b.Return(fn, 0_i); }); @@ -1179,12 +1179,12 @@ TEST_F(IRToProgramInliningTest, LoadVar_ThenWriteToVarInLoopBody_ThenUseLoad) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* var = b.Var(ty.ptr<function, i32>()); b.Store(var, 1_i); auto* load = b.Load(var); auto* loop = b.Loop(); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { b.Store(var, 2_i); b.ExitLoop(loop); }); @@ -1207,11 +1207,11 @@ TEST_F(IRToProgramInliningTest, UnsequencedOutsideLoopContinuing) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* v = b.Add(ty.i32(), 1_i, 2_i); auto* loop = b.Loop(); - b.With(loop->Body(), [&] { b.Continue(loop); }); - b.With(loop->Continuing(), [&] { b.BreakIf(loop, b.Equal(ty.bool_(), v, 3_i)); }); + b.Append(loop->Body(), [&] { b.Continue(loop); }); + b.Append(loop->Continuing(), [&] { b.BreakIf(loop, b.Equal(ty.bool_(), v, 3_i)); }); b.Return(fn, 0_i); }); @@ -1230,13 +1230,13 @@ TEST_F(IRToProgramInliningTest, SequencedOutsideLoopContinuing) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* var = b.Var(ty.ptr<function, i32>()); auto* v_1 = b.Load(var); auto* v_2 = b.Add(ty.i32(), v_1, 2_i); auto* loop = b.Loop(); - b.With(loop->Body(), [&] { b.Continue(loop); }); - b.With(loop->Continuing(), [&] { b.BreakIf(loop, b.Equal(ty.bool_(), v_2, 3_i)); }); + b.Append(loop->Body(), [&] { b.Continue(loop); }); + b.Append(loop->Continuing(), [&] { b.BreakIf(loop, b.Equal(ty.bool_(), v_2, 3_i)); }); b.Return(fn, 0_i); }); @@ -1257,13 +1257,13 @@ TEST_F(IRToProgramInliningTest, LoadVar_ThenWriteToVarInLoopContinuing_ThenUseLoad) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* var = b.Var(ty.ptr<function, i32>()); b.Store(var, 1_i); auto* load = b.Load(var); auto* loop = b.Loop(); - b.With(loop->Body(), [&] { b.Continue(loop); }); - b.With(loop->Continuing(), [&] { + b.Append(loop->Body(), [&] { b.Continue(loop); }); + b.Append(loop->Continuing(), [&] { b.Store(var, 2_i); b.BreakIf(loop, true); }); @@ -1289,14 +1289,14 @@ TEST_F(IRToProgramInliningTest, LoadVarInLoopInitializer_ThenReadAndWriteToVarInLoopBody) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* var = b.Var(ty.ptr<function, i32>()); b.Store(var, 1_i); auto* loop = b.Loop(); - b.With(loop->Initializer(), [&] { + b.Append(loop->Initializer(), [&] { auto* load = b.Load(var); b.NextIteration(loop); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { b.Store(var, b.Add(ty.i32(), load, 1_i)); b.ExitLoop(loop); }); @@ -1322,15 +1322,15 @@ TEST_F(IRToProgramInliningTest, LoadVarInLoopInitializer_ThenReadAndWriteToVarInLoopContinuing) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* var = b.Var(ty.ptr<function, i32>()); b.Store(var, 1_i); auto* loop = b.Loop(); - b.With(loop->Initializer(), [&] { + b.Append(loop->Initializer(), [&] { auto* load = b.Load(var); b.NextIteration(loop); - b.With(loop->Body(), [&] { b.Continue(loop); }); - b.With(loop->Continuing(), [&] { + b.Append(loop->Body(), [&] { b.Continue(loop); }); + b.Append(loop->Continuing(), [&] { b.Store(var, b.Add(ty.i32(), load, 1_i)); b.BreakIf(loop, true); }); @@ -1359,15 +1359,15 @@ TEST_F(IRToProgramInliningTest, LoadVarInLoopBody_ThenReadAndWriteToVarInLoopContinuing) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* var = b.Var(ty.ptr<function, i32>()); b.Store(var, 1_i); auto* loop = b.Loop(); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* load = b.Load(var); b.Continue(loop); - b.With(loop->Continuing(), [&] { + b.Append(loop->Continuing(), [&] { b.Store(var, b.Add(ty.i32(), load, 1_i)); b.BreakIf(loop, true); });
diff --git a/src/tint/lang/core/ir/to_program_test.cc b/src/tint/lang/core/ir/to_program_test.cc index 36e0272..bae2be9 100644 --- a/src/tint/lang/core/ir/to_program_test.cc +++ b/src/tint/lang/core/ir/to_program_test.cc
@@ -107,7 +107,7 @@ auto* i = b.FunctionParam("i", ty.i32()); fn->SetParams({i}); - b.With(fn->Block(), [&] { b.Return(fn, b.Negation(ty.i32(), i)); }); + b.Append(fn->Block(), [&] { b.Return(fn, b.Negation(ty.i32(), i)); }); EXPECT_WGSL(R"( fn f(i : i32) -> i32 { @@ -121,7 +121,7 @@ auto* i = b.FunctionParam("i", ty.u32()); fn->SetParams({i}); - b.With(fn->Block(), [&] { b.Return(fn, b.Complement(ty.u32(), i)); }); + b.Append(fn->Block(), [&] { b.Return(fn, b.Complement(ty.u32(), i)); }); EXPECT_WGSL(R"( fn f(i : u32) -> u32 { @@ -135,7 +135,7 @@ auto* i = b.FunctionParam("b", ty.bool_()); fn->SetParams({i}); - b.With(fn->Block(), [&] { b.Return(fn, b.Not(ty.bool_(), i)); }); + b.Append(fn->Block(), [&] { b.Return(fn, b.Not(ty.bool_(), i)); }); EXPECT_WGSL(R"( fn f(b : bool) -> bool { @@ -153,7 +153,7 @@ auto* pb = b.FunctionParam("b", ty.i32()); fn->SetParams({pa, pb}); - b.With(fn->Block(), [&] { b.Return(fn, b.Add(ty.i32(), pa, pb)); }); + b.Append(fn->Block(), [&] { b.Return(fn, b.Add(ty.i32(), pa, pb)); }); EXPECT_WGSL(R"( fn f(a : i32, b : i32) -> i32 { @@ -168,7 +168,7 @@ auto* pb = b.FunctionParam("b", ty.i32()); fn->SetParams({pa, pb}); - b.With(fn->Block(), [&] { b.Return(fn, b.Subtract(ty.i32(), pa, pb)); }); + b.Append(fn->Block(), [&] { b.Return(fn, b.Subtract(ty.i32(), pa, pb)); }); EXPECT_WGSL(R"( fn f(a : i32, b : i32) -> i32 { @@ -183,7 +183,7 @@ auto* pb = b.FunctionParam("b", ty.i32()); fn->SetParams({pa, pb}); - b.With(fn->Block(), [&] { b.Return(fn, b.Multiply(ty.i32(), pa, pb)); }); + b.Append(fn->Block(), [&] { b.Return(fn, b.Multiply(ty.i32(), pa, pb)); }); EXPECT_WGSL(R"( fn f(a : i32, b : i32) -> i32 { @@ -198,7 +198,7 @@ auto* pb = b.FunctionParam("b", ty.i32()); fn->SetParams({pa, pb}); - b.With(fn->Block(), [&] { b.Return(fn, b.Divide(ty.i32(), pa, pb)); }); + b.Append(fn->Block(), [&] { b.Return(fn, b.Divide(ty.i32(), pa, pb)); }); EXPECT_WGSL(R"( fn f(a : i32, b : i32) -> i32 { @@ -213,7 +213,7 @@ auto* pb = b.FunctionParam("b", ty.i32()); fn->SetParams({pa, pb}); - b.With(fn->Block(), [&] { b.Return(fn, b.Modulo(ty.i32(), pa, pb)); }); + b.Append(fn->Block(), [&] { b.Return(fn, b.Modulo(ty.i32(), pa, pb)); }); EXPECT_WGSL(R"( fn f(a : i32, b : i32) -> i32 { @@ -228,7 +228,7 @@ auto* pb = b.FunctionParam("b", ty.i32()); fn->SetParams({pa, pb}); - b.With(fn->Block(), [&] { b.Return(fn, b.And(ty.i32(), pa, pb)); }); + b.Append(fn->Block(), [&] { b.Return(fn, b.And(ty.i32(), pa, pb)); }); EXPECT_WGSL(R"( fn f(a : i32, b : i32) -> i32 { @@ -243,7 +243,7 @@ auto* pb = b.FunctionParam("b", ty.i32()); fn->SetParams({pa, pb}); - b.With(fn->Block(), [&] { b.Return(fn, b.Or(ty.i32(), pa, pb)); }); + b.Append(fn->Block(), [&] { b.Return(fn, b.Or(ty.i32(), pa, pb)); }); EXPECT_WGSL(R"( fn f(a : i32, b : i32) -> i32 { @@ -258,7 +258,7 @@ auto* pb = b.FunctionParam("b", ty.i32()); fn->SetParams({pa, pb}); - b.With(fn->Block(), [&] { b.Return(fn, b.Xor(ty.i32(), pa, pb)); }); + b.Append(fn->Block(), [&] { b.Return(fn, b.Xor(ty.i32(), pa, pb)); }); EXPECT_WGSL(R"( fn f(a : i32, b : i32) -> i32 { @@ -273,7 +273,7 @@ auto* pb = b.FunctionParam("b", ty.i32()); fn->SetParams({pa, pb}); - b.With(fn->Block(), [&] { b.Return(fn, b.Equal(ty.bool_(), pa, pb)); }); + b.Append(fn->Block(), [&] { b.Return(fn, b.Equal(ty.bool_(), pa, pb)); }); EXPECT_WGSL(R"( fn f(a : i32, b : i32) -> bool { @@ -288,7 +288,7 @@ auto* pb = b.FunctionParam("b", ty.i32()); fn->SetParams({pa, pb}); - b.With(fn->Block(), [&] { b.Return(fn, b.NotEqual(ty.bool_(), pa, pb)); }); + b.Append(fn->Block(), [&] { b.Return(fn, b.NotEqual(ty.bool_(), pa, pb)); }); EXPECT_WGSL(R"( fn f(a : i32, b : i32) -> bool { @@ -303,7 +303,7 @@ auto* pb = b.FunctionParam("b", ty.i32()); fn->SetParams({pa, pb}); - b.With(fn->Block(), [&] { b.Return(fn, b.LessThan(ty.bool_(), pa, pb)); }); + b.Append(fn->Block(), [&] { b.Return(fn, b.LessThan(ty.bool_(), pa, pb)); }); EXPECT_WGSL(R"( fn f(a : i32, b : i32) -> bool { @@ -318,7 +318,7 @@ auto* pb = b.FunctionParam("b", ty.i32()); fn->SetParams({pa, pb}); - b.With(fn->Block(), [&] { b.Return(fn, b.GreaterThan(ty.bool_(), pa, pb)); }); + b.Append(fn->Block(), [&] { b.Return(fn, b.GreaterThan(ty.bool_(), pa, pb)); }); EXPECT_WGSL(R"( fn f(a : i32, b : i32) -> bool { @@ -333,7 +333,7 @@ auto* pb = b.FunctionParam("b", ty.i32()); fn->SetParams({pa, pb}); - b.With(fn->Block(), [&] { b.Return(fn, b.LessThanEqual(ty.bool_(), pa, pb)); }); + b.Append(fn->Block(), [&] { b.Return(fn, b.LessThanEqual(ty.bool_(), pa, pb)); }); EXPECT_WGSL(R"( fn f(a : i32, b : i32) -> bool { @@ -348,7 +348,7 @@ auto* pb = b.FunctionParam("b", ty.i32()); fn->SetParams({pa, pb}); - b.With(fn->Block(), [&] { b.Return(fn, b.GreaterThanEqual(ty.bool_(), pa, pb)); }); + b.Append(fn->Block(), [&] { b.Return(fn, b.GreaterThanEqual(ty.bool_(), pa, pb)); }); EXPECT_WGSL(R"( fn f(a : i32, b : i32) -> bool { @@ -363,7 +363,7 @@ auto* pb = b.FunctionParam("b", ty.u32()); fn->SetParams({pa, pb}); - b.With(fn->Block(), [&] { b.Return(fn, b.ShiftLeft(ty.i32(), pa, pb)); }); + b.Append(fn->Block(), [&] { b.Return(fn, b.ShiftLeft(ty.i32(), pa, pb)); }); EXPECT_WGSL(R"( fn f(a : i32, b : u32) -> i32 { @@ -378,7 +378,7 @@ auto* pb = b.FunctionParam("b", ty.u32()); fn->SetParams({pa, pb}); - b.With(fn->Block(), [&] { b.Return(fn, b.ShiftRight(ty.i32(), pa, pb)); }); + b.Append(fn->Block(), [&] { b.Return(fn, b.ShiftRight(ty.i32(), pa, pb)); }); EXPECT_WGSL(R"( fn f(a : i32, b : u32) -> i32 { @@ -396,11 +396,11 @@ auto* pb = b.FunctionParam("b", ty.bool_()); fn->SetParams({pa, pb}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* if_ = b.If(pa); if_->SetResults(b.InstructionResult(ty.bool_())); - b.With(if_->True(), [&] { b.ExitIf(if_, pb); }); - b.With(if_->False(), [&] { b.ExitIf(if_, false); }); + b.Append(if_->True(), [&] { b.ExitIf(if_, pb); }); + b.Append(if_->False(), [&] { b.ExitIf(if_, false); }); b.Return(fn, if_->Result(0)); }); @@ -419,16 +419,16 @@ auto* pc = b.FunctionParam("c", ty.bool_()); fn->SetParams({pa, pb, pc}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* if1 = b.If(pa); if1->SetResults(b.InstructionResult(ty.bool_())); - b.With(if1->True(), [&] { b.ExitIf(if1, pb); }); - b.With(if1->False(), [&] { b.ExitIf(if1, false); }); + b.Append(if1->True(), [&] { b.ExitIf(if1, pb); }); + b.Append(if1->False(), [&] { b.ExitIf(if1, false); }); auto* if2 = b.If(if1->Result(0)); if2->SetResults(b.InstructionResult(ty.bool_())); - b.With(if2->True(), [&] { b.ExitIf(if2, pc); }); - b.With(if2->False(), [&] { b.ExitIf(if2, false); }); + b.Append(if2->True(), [&] { b.ExitIf(if2, pc); }); + b.Append(if2->False(), [&] { b.ExitIf(if2, false); }); b.Return(fn, if2->Result(0)); }); @@ -447,18 +447,18 @@ auto* pc = b.FunctionParam("c", ty.bool_()); fn->SetParams({pa, pb, pc}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* if1 = b.If(pa); if1->SetResults(b.InstructionResult(ty.bool_())); - b.With(if1->True(), [&] { + b.Append(if1->True(), [&] { auto* if2 = b.If(pb); if2->SetResults(b.InstructionResult(ty.bool_())); - b.With(if2->True(), [&] { b.ExitIf(if2, pc); }); - b.With(if2->False(), [&] { b.ExitIf(if2, false); }); + b.Append(if2->True(), [&] { b.ExitIf(if2, pc); }); + b.Append(if2->False(), [&] { b.ExitIf(if2, false); }); b.ExitIf(if1, if2->Result(0)); }); - b.With(if1->False(), [&] { b.ExitIf(if1, false); }); + b.Append(if1->False(), [&] { b.ExitIf(if1, false); }); b.Return(fn, if1->Result(0)); }); @@ -475,11 +475,11 @@ auto* pb = b.FunctionParam("b", ty.bool_()); fn->SetParams({pa, pb}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* if_ = b.If(pa); if_->SetResults(b.InstructionResult(ty.bool_())); - b.With(if_->True(), [&] { b.ExitIf(if_, pb); }); - b.With(if_->False(), [&] { b.ExitIf(if_, false); }); + b.Append(if_->True(), [&] { b.ExitIf(if_, pb); }); + b.Append(if_->False(), [&] { b.ExitIf(if_, false); }); mod.SetName(if_->Result(0), "l"); b.Return(fn, if_->Result(0)); @@ -500,16 +500,16 @@ auto* pc = b.FunctionParam("c", ty.bool_()); fn->SetParams({pa, pb, pc}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* if1 = b.If(pa); if1->SetResults(b.InstructionResult(ty.bool_())); - b.With(if1->True(), [&] { b.ExitIf(if1, pb); }); - b.With(if1->False(), [&] { b.ExitIf(if1, false); }); + b.Append(if1->True(), [&] { b.ExitIf(if1, pb); }); + b.Append(if1->False(), [&] { b.ExitIf(if1, false); }); auto* if2 = b.If(if1->Result(0)); if2->SetResults(b.InstructionResult(ty.bool_())); - b.With(if2->True(), [&] { b.ExitIf(if2, pc); }); - b.With(if2->False(), [&] { b.ExitIf(if2, false); }); + b.Append(if2->True(), [&] { b.ExitIf(if2, pc); }); + b.Append(if2->False(), [&] { b.ExitIf(if2, false); }); mod.SetName(if2->Result(0), "l"); b.Return(fn, if2->Result(0)); @@ -530,18 +530,18 @@ auto* pc = b.FunctionParam("c", ty.bool_()); fn->SetParams({pa, pb, pc}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* if1 = b.If(pa); if1->SetResults(b.InstructionResult(ty.bool_())); - b.With(if1->True(), [&] { + b.Append(if1->True(), [&] { auto* if2 = b.If(pb); if2->SetResults(b.InstructionResult(ty.bool_())); - b.With(if2->True(), [&] { b.ExitIf(if2, pc); }); - b.With(if2->False(), [&] { b.ExitIf(if2, false); }); + b.Append(if2->True(), [&] { b.ExitIf(if2, pc); }); + b.Append(if2->False(), [&] { b.ExitIf(if2, false); }); b.ExitIf(if1, if2->Result(0)); }); - b.With(if1->False(), [&] { b.ExitIf(if1, false); }); + b.Append(if1->False(), [&] { b.ExitIf(if1, false); }); mod.SetName(if1->Result(0), "l"); b.Return(fn, if1->Result(0)); @@ -557,18 +557,18 @@ TEST_F(IRToProgramTest, ShortCircuit_And_Call_2) { auto* fn_a = b.Function("a", ty.bool_()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, true); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, true); }); auto* fn_b = b.Function("b", ty.bool_()); - b.With(fn_b->Block(), [&] { b.Return(fn_b, true); }); + b.Append(fn_b->Block(), [&] { b.Return(fn_b, true); }); auto* fn = b.Function("f", ty.bool_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* if_ = b.If(b.Call(ty.bool_(), fn_a)); if_->SetResults(b.InstructionResult(ty.bool_())); - b.With(if_->True(), [&] { b.ExitIf(if_, b.Call(ty.bool_(), fn_b)); }); - b.With(if_->False(), [&] { b.ExitIf(if_, false); }); + b.Append(if_->True(), [&] { b.ExitIf(if_, b.Call(ty.bool_(), fn_b)); }); + b.Append(if_->False(), [&] { b.ExitIf(if_, false); }); b.Return(fn, if_->Result(0)); }); @@ -590,26 +590,26 @@ TEST_F(IRToProgramTest, ShortCircuit_And_Call_3_ab_c) { auto* fn_a = b.Function("a", ty.bool_()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, true); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, true); }); auto* fn_b = b.Function("b", ty.bool_()); - b.With(fn_b->Block(), [&] { b.Return(fn_b, true); }); + b.Append(fn_b->Block(), [&] { b.Return(fn_b, true); }); auto* fn_c = b.Function("c", ty.bool_()); - b.With(fn_c->Block(), [&] { b.Return(fn_c, true); }); + b.Append(fn_c->Block(), [&] { b.Return(fn_c, true); }); auto* fn = b.Function("f", ty.bool_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* if1 = b.If(b.Call(ty.bool_(), fn_a)); if1->SetResults(b.InstructionResult(ty.bool_())); - b.With(if1->True(), [&] { b.ExitIf(if1, b.Call(ty.bool_(), fn_b)); }); - b.With(if1->False(), [&] { b.ExitIf(if1, false); }); + b.Append(if1->True(), [&] { b.ExitIf(if1, b.Call(ty.bool_(), fn_b)); }); + b.Append(if1->False(), [&] { b.ExitIf(if1, false); }); auto* if2 = b.If(if1->Result(0)); if2->SetResults(b.InstructionResult(ty.bool_())); - b.With(if2->True(), [&] { b.ExitIf(if2, b.Call(ty.bool_(), fn_c)); }); - b.With(if2->False(), [&] { b.ExitIf(if2, false); }); + b.Append(if2->True(), [&] { b.ExitIf(if2, b.Call(ty.bool_(), fn_c)); }); + b.Append(if2->False(), [&] { b.ExitIf(if2, false); }); b.Return(fn, if2->Result(0)); }); @@ -635,28 +635,28 @@ TEST_F(IRToProgramTest, ShortCircuit_And_Call_3_a_bc) { auto* fn_a = b.Function("a", ty.bool_()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, true); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, true); }); auto* fn_b = b.Function("b", ty.bool_()); - b.With(fn_b->Block(), [&] { b.Return(fn_b, true); }); + b.Append(fn_b->Block(), [&] { b.Return(fn_b, true); }); auto* fn_c = b.Function("c", ty.bool_()); - b.With(fn_c->Block(), [&] { b.Return(fn_c, true); }); + b.Append(fn_c->Block(), [&] { b.Return(fn_c, true); }); auto* fn = b.Function("f", ty.bool_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* if1 = b.If(b.Call(ty.bool_(), fn_a)); if1->SetResults(b.InstructionResult(ty.bool_())); - b.With(if1->True(), [&] { + b.Append(if1->True(), [&] { auto* if2 = b.If(b.Call(ty.bool_(), fn_b)); if2->SetResults(b.InstructionResult(ty.bool_())); - b.With(if2->True(), [&] { b.ExitIf(if2, b.Call(ty.bool_(), fn_c)); }); - b.With(if2->False(), [&] { b.ExitIf(if2, false); }); + b.Append(if2->True(), [&] { b.ExitIf(if2, b.Call(ty.bool_(), fn_c)); }); + b.Append(if2->False(), [&] { b.ExitIf(if2, false); }); b.ExitIf(if1, if2->Result(0)); }); - b.With(if1->False(), [&] { b.ExitIf(if1, false); }); + b.Append(if1->False(), [&] { b.ExitIf(if1, false); }); b.Return(fn, if1->Result(0)); }); @@ -686,11 +686,11 @@ auto* pb = b.FunctionParam("b", ty.bool_()); fn->SetParams({pa, pb}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* if_ = b.If(pa); if_->SetResults(b.InstructionResult(ty.bool_())); - b.With(if_->True(), [&] { b.ExitIf(if_, true); }); - b.With(if_->False(), [&] { b.ExitIf(if_, pb); }); + b.Append(if_->True(), [&] { b.ExitIf(if_, true); }); + b.Append(if_->False(), [&] { b.ExitIf(if_, pb); }); b.Return(fn, if_->Result(0)); }); @@ -709,16 +709,16 @@ auto* pc = b.FunctionParam("c", ty.bool_()); fn->SetParams({pa, pb, pc}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* if1 = b.If(pa); if1->SetResults(b.InstructionResult(ty.bool_())); - b.With(if1->True(), [&] { b.ExitIf(if1, true); }); - b.With(if1->False(), [&] { b.ExitIf(if1, pb); }); + b.Append(if1->True(), [&] { b.ExitIf(if1, true); }); + b.Append(if1->False(), [&] { b.ExitIf(if1, pb); }); auto* if2 = b.If(if1->Result(0)); if2->SetResults(b.InstructionResult(ty.bool_())); - b.With(if2->True(), [&] { b.ExitIf(if2, true); }); - b.With(if2->False(), [&] { b.ExitIf(if2, pc); }); + b.Append(if2->True(), [&] { b.ExitIf(if2, true); }); + b.Append(if2->False(), [&] { b.ExitIf(if2, pc); }); b.Return(fn, if2->Result(0)); }); @@ -737,15 +737,15 @@ auto* pc = b.FunctionParam("c", ty.bool_()); fn->SetParams({pa, pb, pc}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* if1 = b.If(pa); if1->SetResults(b.InstructionResult(ty.bool_())); - b.With(if1->True(), [&] { b.ExitIf(if1, true); }); - b.With(if1->False(), [&] { + b.Append(if1->True(), [&] { b.ExitIf(if1, true); }); + b.Append(if1->False(), [&] { auto* if2 = b.If(pb); if2->SetResults(b.InstructionResult(ty.bool_())); - b.With(if2->True(), [&] { b.ExitIf(if2, true); }); - b.With(if2->False(), [&] { b.ExitIf(if2, pc); }); + b.Append(if2->True(), [&] { b.ExitIf(if2, true); }); + b.Append(if2->False(), [&] { b.ExitIf(if2, pc); }); b.ExitIf(if1, if2->Result(0)); }); @@ -766,11 +766,11 @@ auto* pb = b.FunctionParam("b", ty.bool_()); fn->SetParams({pa, pb}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* if_ = b.If(pa); if_->SetResults(b.InstructionResult(ty.bool_())); - b.With(if_->True(), [&] { b.ExitIf(if_, true); }); - b.With(if_->False(), [&] { b.ExitIf(if_, pb); }); + b.Append(if_->True(), [&] { b.ExitIf(if_, true); }); + b.Append(if_->False(), [&] { b.ExitIf(if_, pb); }); mod.SetName(if_->Result(0), "l"); b.Return(fn, if_->Result(0)); @@ -791,16 +791,16 @@ auto* pc = b.FunctionParam("c", ty.bool_()); fn->SetParams({pa, pb, pc}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* if1 = b.If(pa); if1->SetResults(b.InstructionResult(ty.bool_())); - b.With(if1->True(), [&] { b.ExitIf(if1, true); }); - b.With(if1->False(), [&] { b.ExitIf(if1, pb); }); + b.Append(if1->True(), [&] { b.ExitIf(if1, true); }); + b.Append(if1->False(), [&] { b.ExitIf(if1, pb); }); auto* if2 = b.If(if1->Result(0)); if2->SetResults(b.InstructionResult(ty.bool_())); - b.With(if2->True(), [&] { b.ExitIf(if2, true); }); - b.With(if2->False(), [&] { b.ExitIf(if2, pc); }); + b.Append(if2->True(), [&] { b.ExitIf(if2, true); }); + b.Append(if2->False(), [&] { b.ExitIf(if2, pc); }); mod.SetName(if2->Result(0), "l"); b.Return(fn, if2->Result(0)); @@ -821,15 +821,15 @@ auto* pc = b.FunctionParam("c", ty.bool_()); fn->SetParams({pa, pb, pc}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* if1 = b.If(pa); if1->SetResults(b.InstructionResult(ty.bool_())); - b.With(if1->True(), [&] { b.ExitIf(if1, true); }); - b.With(if1->False(), [&] { + b.Append(if1->True(), [&] { b.ExitIf(if1, true); }); + b.Append(if1->False(), [&] { auto* if2 = b.If(pb); if2->SetResults(b.InstructionResult(ty.bool_())); - b.With(if2->True(), [&] { b.ExitIf(if2, true); }); - b.With(if2->False(), [&] { b.ExitIf(if2, pc); }); + b.Append(if2->True(), [&] { b.ExitIf(if2, true); }); + b.Append(if2->False(), [&] { b.ExitIf(if2, pc); }); b.ExitIf(if1, if2->Result(0)); }); @@ -848,18 +848,18 @@ TEST_F(IRToProgramTest, ShortCircuit_Or_Call_2) { auto* fn_a = b.Function("a", ty.bool_()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, true); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, true); }); auto* fn_b = b.Function("b", ty.bool_()); - b.With(fn_b->Block(), [&] { b.Return(fn_b, true); }); + b.Append(fn_b->Block(), [&] { b.Return(fn_b, true); }); auto* fn = b.Function("f", ty.bool_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* if_ = b.If(b.Call(ty.bool_(), fn_a)); if_->SetResults(b.InstructionResult(ty.bool_())); - b.With(if_->True(), [&] { b.ExitIf(if_, true); }); - b.With(if_->False(), [&] { b.ExitIf(if_, b.Call(ty.bool_(), fn_b)); }); + b.Append(if_->True(), [&] { b.ExitIf(if_, true); }); + b.Append(if_->False(), [&] { b.ExitIf(if_, b.Call(ty.bool_(), fn_b)); }); b.Return(fn, if_->Result(0)); }); @@ -881,26 +881,26 @@ TEST_F(IRToProgramTest, ShortCircuit_Or_Call_3_ab_c) { auto* fn_a = b.Function("a", ty.bool_()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, true); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, true); }); auto* fn_b = b.Function("b", ty.bool_()); - b.With(fn_b->Block(), [&] { b.Return(fn_b, true); }); + b.Append(fn_b->Block(), [&] { b.Return(fn_b, true); }); auto* fn_c = b.Function("c", ty.bool_()); - b.With(fn_c->Block(), [&] { b.Return(fn_c, true); }); + b.Append(fn_c->Block(), [&] { b.Return(fn_c, true); }); auto* fn = b.Function("f", ty.bool_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* if1 = b.If(b.Call(ty.bool_(), fn_a)); if1->SetResults(b.InstructionResult(ty.bool_())); - b.With(if1->True(), [&] { b.ExitIf(if1, true); }); - b.With(if1->False(), [&] { b.ExitIf(if1, b.Call(ty.bool_(), fn_b)); }); + b.Append(if1->True(), [&] { b.ExitIf(if1, true); }); + b.Append(if1->False(), [&] { b.ExitIf(if1, b.Call(ty.bool_(), fn_b)); }); auto* if2 = b.If(if1->Result(0)); if2->SetResults(b.InstructionResult(ty.bool_())); - b.With(if2->True(), [&] { b.ExitIf(if2, true); }); - b.With(if2->False(), [&] { b.ExitIf(if2, b.Call(ty.bool_(), fn_c)); }); + b.Append(if2->True(), [&] { b.ExitIf(if2, true); }); + b.Append(if2->False(), [&] { b.ExitIf(if2, b.Call(ty.bool_(), fn_c)); }); b.Return(fn, if2->Result(0)); }); @@ -926,25 +926,25 @@ TEST_F(IRToProgramTest, ShortCircuit_Or_Call_3_a_bc) { auto* fn_a = b.Function("a", ty.bool_()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, true); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, true); }); auto* fn_b = b.Function("b", ty.bool_()); - b.With(fn_b->Block(), [&] { b.Return(fn_b, true); }); + b.Append(fn_b->Block(), [&] { b.Return(fn_b, true); }); auto* fn_c = b.Function("c", ty.bool_()); - b.With(fn_c->Block(), [&] { b.Return(fn_c, true); }); + b.Append(fn_c->Block(), [&] { b.Return(fn_c, true); }); auto* fn = b.Function("f", ty.bool_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* if1 = b.If(b.Call(ty.bool_(), fn_a)); if1->SetResults(b.InstructionResult(ty.bool_())); - b.With(if1->True(), [&] { b.ExitIf(if1, true); }); - b.With(if1->False(), [&] { + b.Append(if1->True(), [&] { b.ExitIf(if1, true); }); + b.Append(if1->False(), [&] { auto* if2 = b.If(b.Call(ty.bool_(), fn_b)); if2->SetResults(b.InstructionResult(ty.bool_())); - b.With(if2->True(), [&] { b.ExitIf(if2, true); }); - b.With(if2->False(), [&] { b.ExitIf(if2, b.Call(ty.bool_(), fn_c)); }); + b.Append(if2->True(), [&] { b.ExitIf(if2, true); }); + b.Append(if2->False(), [&] { b.ExitIf(if2, b.Call(ty.bool_(), fn_c)); }); b.ExitIf(if1, if2->Result(0)); }); @@ -973,33 +973,33 @@ TEST_F(IRToProgramTest, ShortCircuit_Mixed) { auto* fn_b = b.Function("b", ty.bool_()); - b.With(fn_b->Block(), [&] { b.Return(fn_b, true); }); + b.Append(fn_b->Block(), [&] { b.Return(fn_b, true); }); auto* fn_d = b.Function("d", ty.bool_()); - b.With(fn_d->Block(), [&] { b.Return(fn_d, true); }); + b.Append(fn_d->Block(), [&] { b.Return(fn_d, true); }); auto* fn = b.Function("f", ty.bool_()); auto* pa = b.FunctionParam("a", ty.bool_()); auto* pc = b.FunctionParam("c", ty.bool_()); fn->SetParams({pa, pc}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* if1 = b.If(pa); if1->SetResults(b.InstructionResult(ty.bool_())); - b.With(if1->True(), [&] { b.ExitIf(if1, true); }); - b.With(if1->False(), [&] { b.ExitIf(if1, b.Call(ty.bool_(), fn_b)); }); + b.Append(if1->True(), [&] { b.ExitIf(if1, true); }); + b.Append(if1->False(), [&] { b.ExitIf(if1, b.Call(ty.bool_(), fn_b)); }); auto* if2 = b.If(if1->Result(0)); if2->SetResults(b.InstructionResult(ty.bool_())); - b.With(if2->True(), [&] { + b.Append(if2->True(), [&] { auto* if3 = b.If(pc); if3->SetResults(b.InstructionResult(ty.bool_())); - b.With(if3->True(), [&] { b.ExitIf(if3, true); }); - b.With(if3->False(), [&] { b.ExitIf(if3, b.Call(ty.bool_(), fn_d)); }); + b.Append(if3->True(), [&] { b.ExitIf(if3, true); }); + b.Append(if3->False(), [&] { b.ExitIf(if3, b.Call(ty.bool_(), fn_d)); }); b.ExitIf(if2, if3->Result(0)); }); - b.With(if2->False(), [&] { b.ExitIf(if2, false); }); + b.Append(if2->False(), [&] { b.ExitIf(if2, false); }); mod.SetName(if2->Result(0), "l"); b.Return(fn, if2->Result(0)); @@ -1028,7 +1028,7 @@ //////////////////////////////////////////////////////////////////////////////// TEST_F(IRToProgramTest, NonShortCircuit_And_ParamCallParam_a_bc) { auto* fn_b = b.Function("b", ty.bool_()); - b.With(fn_b->Block(), [&] { b.Return(fn_b, true); }); + b.Append(fn_b->Block(), [&] { b.Return(fn_b, true); }); auto* fn = b.Function("f", ty.bool_()); auto* pa = b.FunctionParam(ty.bool_()); @@ -1037,17 +1037,17 @@ mod.SetName(pc, "c"); fn->SetParams({pa, pc}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { // 'b() && c' is evaluated before 'a'. auto* if1 = b.If(b.Call(ty.bool_(), fn_b)); if1->SetResults(b.InstructionResult(ty.bool_())); - b.With(if1->True(), [&] { b.ExitIf(if1, pc); }); - b.With(if1->False(), [&] { b.ExitIf(if1, false); }); + b.Append(if1->True(), [&] { b.ExitIf(if1, pc); }); + b.Append(if1->False(), [&] { b.ExitIf(if1, false); }); auto* if2 = b.If(pa); if2->SetResults(b.InstructionResult(ty.bool_())); - b.With(if2->True(), [&] { b.ExitIf(if2, if1->Result(0)); }); - b.With(if2->False(), [&] { b.ExitIf(if2, false); }); + b.Append(if2->True(), [&] { b.ExitIf(if2, if1->Result(0)); }); + b.Append(if2->False(), [&] { b.ExitIf(if2, false); }); b.Return(fn, if2->Result(0)); }); @@ -1066,29 +1066,29 @@ TEST_F(IRToProgramTest, NonShortCircuit_And_Call_3_a_bc) { auto* fn_a = b.Function("a", ty.bool_()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, true); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, true); }); auto* fn_b = b.Function("b", ty.bool_()); - b.With(fn_b->Block(), [&] { b.Return(fn_b, true); }); + b.Append(fn_b->Block(), [&] { b.Return(fn_b, true); }); auto* fn_c = b.Function("c", ty.bool_()); - b.With(fn_c->Block(), [&] { b.Return(fn_c, true); }); + b.Append(fn_c->Block(), [&] { b.Return(fn_c, true); }); auto* fn = b.Function("f", ty.bool_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { // 'b() && c()' is evaluated before 'a()'. auto* if1 = b.If(b.Call(ty.bool_(), fn_b)); if1->SetResults(b.InstructionResult(ty.bool_())); - b.With(if1->True(), [&] { b.ExitIf(if1, b.Call(ty.bool_(), fn_c)); }); - b.With(if1->False(), [&] { b.ExitIf(if1, false); }); + b.Append(if1->True(), [&] { b.ExitIf(if1, b.Call(ty.bool_(), fn_c)); }); + b.Append(if1->False(), [&] { b.ExitIf(if1, false); }); auto* if2 = b.If(b.Call(ty.bool_(), fn_a)); if2->SetResults(b.InstructionResult(ty.bool_())); - b.With(if2->True(), [&] { b.ExitIf(if2, if1->Result(0)); }); - b.With(if2->False(), [&] { b.ExitIf(if2, false); }); + b.Append(if2->True(), [&] { b.ExitIf(if2, if1->Result(0)); }); + b.Append(if2->False(), [&] { b.ExitIf(if2, false); }); b.Return(fn, if2->Result(0)); }); @@ -1123,18 +1123,18 @@ mod.SetName(pc, "c"); fn->SetParams({pa, pb, pc}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { // 'b && c' is evaluated outside the true block of if2, but these can be moved to the RHS // of the 'a &&' as the 'b && c' is not sequenced. auto* if1 = b.If(pb); if1->SetResults(b.InstructionResult(ty.bool_())); - b.With(if1->True(), [&] { b.ExitIf(if1, pc); }); - b.With(if1->False(), [&] { b.ExitIf(if1, false); }); + b.Append(if1->True(), [&] { b.ExitIf(if1, pc); }); + b.Append(if1->False(), [&] { b.ExitIf(if1, false); }); auto* if2 = b.If(pa); if2->SetResults(b.InstructionResult(ty.bool_())); - b.With(if2->True(), [&] { b.ExitIf(if2, if1->Result(0)); }); - b.With(if2->False(), [&] { b.ExitIf(if2, false); }); + b.Append(if2->True(), [&] { b.ExitIf(if2, if1->Result(0)); }); + b.Append(if2->False(), [&] { b.ExitIf(if2, false); }); b.Return(fn, if2->Result(0)); }); @@ -1149,7 +1149,7 @@ TEST_F(IRToProgramTest, NonShortCircuit_Or_ParamCallParam_a_bc) { auto* fn_b = b.Function("b", ty.bool_()); - b.With(fn_b->Block(), [&] { b.Return(fn_b, true); }); + b.Append(fn_b->Block(), [&] { b.Return(fn_b, true); }); auto* fn = b.Function("f", ty.bool_()); auto* pa = b.FunctionParam(ty.bool_()); @@ -1158,17 +1158,17 @@ mod.SetName(pc, "c"); fn->SetParams({pa, pc}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { // 'b() && c' is evaluated before 'a'. auto* if1 = b.If(b.Call(ty.bool_(), fn_b)); if1->SetResults(b.InstructionResult(ty.bool_())); - b.With(if1->True(), [&] { b.ExitIf(if1, true); }); - b.With(if1->False(), [&] { b.ExitIf(if1, pc); }); + b.Append(if1->True(), [&] { b.ExitIf(if1, true); }); + b.Append(if1->False(), [&] { b.ExitIf(if1, pc); }); auto* if2 = b.If(pa); if2->SetResults(b.InstructionResult(ty.bool_())); - b.With(if2->True(), [&] { b.ExitIf(if2, true); }); - b.With(if2->False(), [&] { b.ExitIf(if2, if1->Result(0)); }); + b.Append(if2->True(), [&] { b.ExitIf(if2, true); }); + b.Append(if2->False(), [&] { b.ExitIf(if2, if1->Result(0)); }); mod.SetName(if2->Result(0), "l"); b.Return(fn, if2->Result(0)); @@ -1190,28 +1190,28 @@ TEST_F(IRToProgramTest, NonShortCircuit_Or_Call_3_a_bc) { auto* fn_a = b.Function("a", ty.bool_()); - b.With(fn_a->Block(), [&] { b.Return(fn_a, true); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a, true); }); auto* fn_b = b.Function("b", ty.bool_()); - b.With(fn_b->Block(), [&] { b.Return(fn_b, true); }); + b.Append(fn_b->Block(), [&] { b.Return(fn_b, true); }); auto* fn_c = b.Function("c", ty.bool_()); - b.With(fn_c->Block(), [&] { b.Return(fn_c, true); }); + b.Append(fn_c->Block(), [&] { b.Return(fn_c, true); }); auto* fn = b.Function("f", ty.bool_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* if1 = b.If(b.Call(ty.bool_(), fn_b)); if1->SetResults(b.InstructionResult(ty.bool_())); - b.With(if1->True(), [&] { b.ExitIf(if1, true); }); - b.With(if1->False(), [&] { b.ExitIf(if1, b.Call(ty.bool_(), fn_c)); }); + b.Append(if1->True(), [&] { b.ExitIf(if1, true); }); + b.Append(if1->False(), [&] { b.ExitIf(if1, b.Call(ty.bool_(), fn_c)); }); auto* if2 = b.If(b.Call(ty.bool_(), fn_a)); if2->SetResults(b.InstructionResult(ty.bool_())); - b.With(if2->True(), [&] { b.ExitIf(if2, true); }); - b.With(if2->False(), [&] { b.ExitIf(if2, if1->Result(0)); }); + b.Append(if2->True(), [&] { b.ExitIf(if2, true); }); + b.Append(if2->False(), [&] { b.ExitIf(if2, if1->Result(0)); }); b.Return(fn, if2->Result(0)); }); @@ -1246,18 +1246,18 @@ mod.SetName(pc, "c"); fn->SetParams({pa, pb, pc}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { // 'b || c' is evaluated outside the true block of if2, but these can be moved to the RHS // of the 'a ||' as the 'b || c' is not sequenced. auto* if1 = b.If(pb); if1->SetResults(b.InstructionResult(ty.bool_())); - b.With(if1->True(), [&] { b.ExitIf(if1, true); }); - b.With(if1->False(), [&] { b.ExitIf(if1, pc); }); + b.Append(if1->True(), [&] { b.ExitIf(if1, true); }); + b.Append(if1->False(), [&] { b.ExitIf(if1, pc); }); auto* if2 = b.If(pa); if2->SetResults(b.InstructionResult(ty.bool_())); - b.With(if2->True(), [&] { b.ExitIf(if2, true); }); - b.With(if2->False(), [&] { b.ExitIf(if2, if1->Result(0)); }); + b.Append(if2->True(), [&] { b.ExitIf(if2, true); }); + b.Append(if2->False(), [&] { b.ExitIf(if2, if1->Result(0)); }); b.Return(fn, if2->Result(0)); }); @@ -1276,7 +1276,7 @@ TEST_F(IRToProgramTest, CompoundAssign_Increment) { auto* fn = b.Function("f", ty.void_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* v = b.Var("v", ty.ptr<function, i32>()); b.Store(v, b.Add(ty.i32(), b.Load(v), 1_i)); @@ -1294,7 +1294,7 @@ TEST_F(IRToProgramTest, CompoundAssign_Decrement) { auto* fn = b.Function("f", ty.void_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* v = b.Var("v", ty.ptr<function, i32>()); b.Store(v, b.Subtract(ty.i32(), b.Load(v), 1_i)); @@ -1312,7 +1312,7 @@ TEST_F(IRToProgramTest, CompoundAssign_Add) { auto* fn = b.Function("f", ty.void_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* v = b.Var("v", ty.ptr<function, i32>()); b.Store(v, b.Add(ty.i32(), b.Load(v), 8_i)); @@ -1330,7 +1330,7 @@ TEST_F(IRToProgramTest, CompoundAssign_Subtract) { auto* fn = b.Function("f", ty.void_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* v = b.Var("v", ty.ptr<function, i32>()); b.Store(v, b.Subtract(ty.i32(), b.Load(v), 8_i)); @@ -1348,7 +1348,7 @@ TEST_F(IRToProgramTest, CompoundAssign_Multiply) { auto* fn = b.Function("f", ty.void_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* v = b.Var("v", ty.ptr<function, i32>()); b.Store(v, b.Multiply(ty.i32(), b.Load(v), 8_i)); @@ -1366,7 +1366,7 @@ TEST_F(IRToProgramTest, CompoundAssign_Divide) { auto* fn = b.Function("f", ty.void_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* v = b.Var("v", ty.ptr<function, i32>()); b.Store(v, b.Divide(ty.i32(), b.Load(v), 8_i)); @@ -1384,7 +1384,7 @@ TEST_F(IRToProgramTest, CompoundAssign_Xor) { auto* fn = b.Function("f", ty.void_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* v = b.Var("v", ty.ptr<function, i32>()); b.Store(v, b.Xor(ty.i32(), b.Load(v), 8_i)); @@ -1407,7 +1407,7 @@ auto* i = b.FunctionParam("i", ty.u32()); fn->SetParams({i}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* v = b.Complement(ty.u32(), i); b.Return(fn, v); mod.SetName(v, "v"); @@ -1426,7 +1426,7 @@ auto* i = b.FunctionParam("i", ty.i32()); fn->SetParams({i}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* v = b.Multiply(ty.i32(), i, 2_i); b.Return(fn, b.Add(ty.i32(), v, v)); mod.SetName(v, "v"); @@ -1446,7 +1446,7 @@ TEST_F(IRToProgramTest, FunctionScopeVar_i32) { auto* fn = b.Function("f", ty.void_()); - b.With(fn->Block(), [&] { // + b.Append(fn->Block(), [&] { // b.Var("i", ty.ptr<function, i32>()); b.Return(fn); @@ -1462,7 +1462,7 @@ TEST_F(IRToProgramTest, FunctionScopeVar_i32_InitLiteral) { auto* fn = b.Function("f", ty.void_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* i = b.Var("i", ty.ptr<function, i32>()); i->SetInitializer(b.Constant(42_i)); @@ -1479,7 +1479,7 @@ TEST_F(IRToProgramTest, FunctionScopeVar_Chained) { auto* fn = b.Function("f", ty.void_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* va = b.Var("a", ty.ptr<function, i32>()); va->SetInitializer(b.Constant(42_i)); @@ -1508,15 +1508,15 @@ //////////////////////////////////////////////////////////////////////////////// TEST_F(IRToProgramTest, If_CallFn) { auto* fn_a = b.Function("a", ty.void_()); - b.With(fn_a->Block(), [&] { b.Return(fn_a); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a); }); auto* fn = b.Function("f", ty.void_()); auto* cond = b.FunctionParam("cond", ty.bool_()); fn->SetParams({cond}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* if_ = b.If(cond); - b.With(if_->True(), [&] { + b.Append(if_->True(), [&] { b.Call(ty.void_(), fn_a); b.ExitIf(if_); }); @@ -1541,9 +1541,9 @@ auto* cond = b.FunctionParam("cond", ty.bool_()); fn->SetParams({cond}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto if_ = b.If(cond); - b.With(if_->True(), [&] { b.Return(fn); }); + b.Append(if_->True(), [&] { b.Return(fn); }); b.Return(fn); }); @@ -1560,11 +1560,11 @@ TEST_F(IRToProgramTest, If_Return_i32) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* cond = b.Var("cond", ty.ptr<function, bool>()); cond->SetInitializer(b.Constant(true)); auto if_ = b.If(b.Load(cond)); - b.With(if_->True(), [&] { b.Return(fn, 42_i); }); + b.Append(if_->True(), [&] { b.Return(fn, 42_i); }); b.Return(fn, 10_i); }); @@ -1582,22 +1582,22 @@ TEST_F(IRToProgramTest, If_CallFn_Else_CallFn) { auto* fn_a = b.Function("a", ty.void_()); - b.With(fn_a->Block(), [&] { b.Return(fn_a); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a); }); auto* fn_b = b.Function("b", ty.void_()); - b.With(fn_b->Block(), [&] { b.Return(fn_b); }); + b.Append(fn_b->Block(), [&] { b.Return(fn_b); }); auto* fn = b.Function("f", ty.void_()); auto* cond = b.FunctionParam("cond", ty.bool_()); fn->SetParams({cond}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto if_ = b.If(cond); - b.With(if_->True(), [&] { + b.Append(if_->True(), [&] { b.Call(ty.void_(), fn_a); b.ExitIf(if_); }); - b.With(if_->False(), [&] { + b.Append(if_->False(), [&] { b.Call(ty.void_(), fn_b); b.ExitIf(if_); }); @@ -1625,12 +1625,12 @@ TEST_F(IRToProgramTest, If_Return_f32_Else_Return_f32) { auto* fn = b.Function("f", ty.f32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* cond = b.Var("cond", ty.ptr<function, bool>()); cond->SetInitializer(b.Constant(true)); auto if_ = b.If(b.Load(cond)); - b.With(if_->True(), [&] { b.Return(fn, 1.0_f); }); - b.With(if_->False(), [&] { b.Return(fn, 2.0_f); }); + b.Append(if_->True(), [&] { b.Return(fn, 1.0_f); }); + b.Append(if_->False(), [&] { b.Return(fn, 2.0_f); }); b.Unreachable(); }); @@ -1649,19 +1649,19 @@ TEST_F(IRToProgramTest, If_Return_u32_Else_CallFn) { auto* fn_a = b.Function("a", ty.void_()); - b.With(fn_a->Block(), [&] { b.Return(fn_a); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a); }); auto* fn_b = b.Function("b", ty.void_()); - b.With(fn_b->Block(), [&] { b.Return(fn_b); }); + b.Append(fn_b->Block(), [&] { b.Return(fn_b); }); auto* fn = b.Function("f", ty.u32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* cond = b.Var("cond", ty.ptr<function, bool>()); cond->SetInitializer(b.Constant(true)); auto if_ = b.If(b.Load(cond)); - b.With(if_->True(), [&] { b.Return(fn, 1_u); }); - b.With(if_->False(), [&] { + b.Append(if_->True(), [&] { b.Return(fn, 1_u); }); + b.Append(if_->False(), [&] { b.Call(ty.void_(), fn_a); b.ExitIf(if_); }); @@ -1691,27 +1691,27 @@ TEST_F(IRToProgramTest, If_CallFn_ElseIf_CallFn) { auto* fn_a = b.Function("a", ty.void_()); - b.With(fn_a->Block(), [&] { b.Return(fn_a); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a); }); auto* fn_b = b.Function("b", ty.void_()); - b.With(fn_b->Block(), [&] { b.Return(fn_b); }); + b.Append(fn_b->Block(), [&] { b.Return(fn_b); }); auto* fn_c = b.Function("c", ty.void_()); - b.With(fn_c->Block(), [&] { b.Return(fn_c); }); + b.Append(fn_c->Block(), [&] { b.Return(fn_c); }); auto* fn = b.Function("f", ty.void_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* cond = b.Var("cond", ty.ptr<function, bool>()); cond->SetInitializer(b.Constant(true)); auto if1 = b.If(b.Load(cond)); - b.With(if1->True(), [&] { + b.Append(if1->True(), [&] { b.Call(ty.void_(), fn_a); b.ExitIf(if1); }); - b.With(if1->False(), [&] { + b.Append(if1->False(), [&] { auto* if2 = b.If(b.Constant(false)); - b.With(if2->True(), [&] { + b.Append(if2->True(), [&] { b.Call(ty.void_(), fn_b); b.ExitIf(if2); }); @@ -1748,7 +1748,7 @@ auto* x = b.Function("x", ty.bool_()); auto* i = b.FunctionParam("i", ty.i32()); x->SetParams({i}); - b.With(x->Block(), [&] { b.Return(x, true); }); + b.Append(x->Block(), [&] { b.Return(x, true); }); auto* fn = b.Function("f", ty.void_()); auto* pa = b.FunctionParam("a", ty.bool_()); @@ -1757,25 +1757,25 @@ auto* pd = b.FunctionParam("d", ty.bool_()); fn->SetParams({pa, pb, pc, pd}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto if1 = b.If(pa); - b.With(if1->True(), [&] { + b.Append(if1->True(), [&] { b.Call(ty.void_(), x, 0_i); b.ExitIf(if1); }); - b.With(if1->False(), [&] { + b.Append(if1->False(), [&] { auto* if2 = b.If(pb); - b.With(if2->True(), [&] { + b.Append(if2->True(), [&] { b.Call(ty.void_(), x, 1_i); b.ExitIf(if2); }); - b.With(if2->False(), [&] { + b.Append(if2->False(), [&] { auto* if3 = b.If(pc); - b.With(if3->True(), [&] { + b.Append(if3->True(), [&] { b.Call(ty.void_(), x, 2_i); b.ExitIf(if3); }); - b.With(if3->False(), [&] { + b.Append(if3->False(), [&] { b.Call(ty.void_(), x, 3_i); b.ExitIf(if3); }); @@ -1810,16 +1810,16 @@ //////////////////////////////////////////////////////////////////////////////// TEST_F(IRToProgramTest, Switch_Default) { auto* fn_a = b.Function("a", ty.void_()); - b.With(fn_a->Block(), [&] { b.Return(fn_a); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a); }); auto* fn = b.Function("f", ty.void_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* v = b.Var("v", ty.ptr<function, i32>()); v->SetInitializer(b.Constant(42_i)); auto s = b.Switch(b.Load(v)); - b.With(b.Case(s, {Switch::CaseSelector{}}), [&] { + b.Append(b.Case(s, {Switch::CaseSelector{}}), [&] { b.Call(ty.void_(), fn_a); b.ExitSwitch(s); }); @@ -1844,35 +1844,35 @@ TEST_F(IRToProgramTest, Switch_3_Cases) { auto* fn_a = b.Function("a", ty.void_()); - b.With(fn_a->Block(), [&] { b.Return(fn_a); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a); }); auto* fn_b = b.Function("b", ty.void_()); - b.With(fn_b->Block(), [&] { b.Return(fn_b); }); + b.Append(fn_b->Block(), [&] { b.Return(fn_b); }); auto* fn_c = b.Function("c", ty.void_()); - b.With(fn_c->Block(), [&] { b.Return(fn_c); }); + b.Append(fn_c->Block(), [&] { b.Return(fn_c); }); auto* fn = b.Function("f", ty.void_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* v = b.Var("v", ty.ptr<function, i32>()); v->SetInitializer(b.Constant(42_i)); auto s = b.Switch(b.Load(v)); - b.With(b.Case(s, {Switch::CaseSelector{b.Constant(0_i)}}), [&] { + b.Append(b.Case(s, {Switch::CaseSelector{b.Constant(0_i)}}), [&] { b.Call(ty.void_(), fn_a); b.ExitSwitch(s); }); - b.With(b.Case(s, - { - Switch::CaseSelector{b.Constant(1_i)}, - Switch::CaseSelector{}, - }), - [&] { - b.Call(ty.void_(), fn_b); - b.ExitSwitch(s); - }); - b.With(b.Case(s, {Switch::CaseSelector{b.Constant(2_i)}}), [&] { + b.Append(b.Case(s, + { + Switch::CaseSelector{b.Constant(1_i)}, + Switch::CaseSelector{}, + }), + [&] { + b.Call(ty.void_(), fn_b); + b.ExitSwitch(s); + }); + b.Append(b.Case(s, {Switch::CaseSelector{b.Constant(2_i)}}), [&] { b.Call(ty.void_(), fn_c); b.ExitSwitch(s); }); @@ -1909,23 +1909,23 @@ TEST_F(IRToProgramTest, Switch_3_Cases_AllReturn) { auto* fn_a = b.Function("a", ty.void_()); - b.With(fn_a->Block(), [&] { b.Return(fn_a); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a); }); auto* fn = b.Function("f", ty.void_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* v = b.Var("v", ty.ptr<function, i32>()); v->SetInitializer(b.Constant(42_i)); auto s = b.Switch(b.Load(v)); - b.With(b.Case(s, {Switch::CaseSelector{b.Constant(0_i)}}), [&] { b.Return(fn); }); - b.With(b.Case(s, - { - Switch::CaseSelector{b.Constant(1_i)}, - Switch::CaseSelector{}, - }), - [&] { b.Return(fn); }); - b.With(b.Case(s, {Switch::CaseSelector{b.Constant(2_i)}}), [&] { b.Return(fn); }); + b.Append(b.Case(s, {Switch::CaseSelector{b.Constant(0_i)}}), [&] { b.Return(fn); }); + b.Append(b.Case(s, + { + Switch::CaseSelector{b.Constant(1_i)}, + Switch::CaseSelector{}, + }), + [&] { b.Return(fn); }); + b.Append(b.Case(s, {Switch::CaseSelector{b.Constant(2_i)}}), [&] { b.Return(fn); }); b.Call(ty.void_(), fn_a); b.Return(fn); @@ -1955,16 +1955,16 @@ TEST_F(IRToProgramTest, Switch_Nested) { auto* fn_a = b.Function("a", ty.void_()); - b.With(fn_a->Block(), [&] { b.Return(fn_a); }); + b.Append(fn_a->Block(), [&] { b.Return(fn_a); }); auto* fn_b = b.Function("b", ty.void_()); - b.With(fn_b->Block(), [&] { b.Return(fn_b); }); + b.Append(fn_b->Block(), [&] { b.Return(fn_b); }); auto* fn_c = b.Function("c", ty.void_()); - b.With(fn_c->Block(), [&] { b.Return(fn_c); }); + b.Append(fn_c->Block(), [&] { b.Return(fn_c); }); auto* fn = b.Function("f", ty.void_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* v1 = b.Var("v1", ty.ptr<function, i32>()); v1->SetInitializer(b.Constant(42_i)); @@ -1972,29 +1972,29 @@ v2->SetInitializer(b.Constant(24_i)); auto s1 = b.Switch(b.Load(v1)); - b.With(b.Case(s1, {Switch::CaseSelector{b.Constant(0_i)}}), [&] { + b.Append(b.Case(s1, {Switch::CaseSelector{b.Constant(0_i)}}), [&] { b.Call(ty.void_(), fn_a); b.ExitSwitch(s1); }); - b.With(b.Case(s1, - { - Switch::CaseSelector{b.Constant(1_i)}, - Switch::CaseSelector{}, - }), - [&] { - auto s2 = b.Switch(b.Load(v2)); - b.With(b.Case(s2, {Switch::CaseSelector{b.Constant(0_i)}}), - [&] { b.ExitSwitch(s2); }); - b.With(b.Case(s2, - { - Switch::CaseSelector{b.Constant(1_i)}, - Switch::CaseSelector{}, - }), - [&] { b.Return(fn); }); + b.Append(b.Case(s1, + { + Switch::CaseSelector{b.Constant(1_i)}, + Switch::CaseSelector{}, + }), + [&] { + auto s2 = b.Switch(b.Load(v2)); + b.Append(b.Case(s2, {Switch::CaseSelector{b.Constant(0_i)}}), + [&] { b.ExitSwitch(s2); }); + b.Append(b.Case(s2, + { + Switch::CaseSelector{b.Constant(1_i)}, + Switch::CaseSelector{}, + }), + [&] { b.Return(fn); }); - b.ExitSwitch(s1); - }); - b.With(b.Case(s1, {Switch::CaseSelector{b.Constant(2_i)}}), [&] { + b.ExitSwitch(s1); + }); + b.Append(b.Case(s1, {Switch::CaseSelector{b.Constant(2_i)}}), [&] { b.Call(ty.void_(), fn_c); b.ExitSwitch(s1); }); @@ -2041,22 +2041,22 @@ TEST_F(IRToProgramTest, For_Empty) { auto* fn = b.Function("f", ty.void_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Initializer(), [&] { + b.Append(loop->Initializer(), [&] { auto* i = b.Var("i", ty.ptr<function, i32>()); i->SetInitializer(b.Constant(0_i)); b.NextIteration(loop); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { 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.Append(if_->True(), [&] { b.ExitIf(if_); }); + b.Append(if_->False(), [&] { b.ExitLoop(loop); }); b.Continue(loop); }); - b.With(loop->Continuing(), [&] { + b.Append(loop->Continuing(), [&] { b.Store(i, b.Add(ty.i32(), b.Load(i), 1_i)); b.NextIteration(loop); }); @@ -2076,20 +2076,20 @@ TEST_F(IRToProgramTest, For_Empty_NoInit) { auto* fn = b.Function("f", ty.void_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* i = b.Var("i", ty.ptr<function, i32>()); i->SetInitializer(b.Constant(0_i)); auto* loop = b.Loop(); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { 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.Append(if_->True(), [&] { b.ExitIf(if_); }); + b.Append(if_->False(), [&] { b.ExitLoop(loop); }); b.Continue(loop); }); - b.With(loop->Continuing(), [&] { + b.Append(loop->Continuing(), [&] { b.Store(i, b.Add(ty.i32(), b.Load(i), 1_i)); b.NextIteration(loop); }); @@ -2109,18 +2109,18 @@ TEST_F(IRToProgramTest, For_Empty_NoCont) { auto* fn = b.Function("f", ty.void_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Initializer(), [&] { + b.Append(loop->Initializer(), [&] { auto* i = b.Var("i", ty.ptr<function, i32>()); i->SetInitializer(b.Constant(0_i)); b.NextIteration(loop); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { 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.Append(if_->True(), [&] { b.ExitIf(if_); }); + b.Append(if_->False(), [&] { b.ExitLoop(loop); }); b.Continue(loop); }); }); @@ -2140,30 +2140,30 @@ auto* a = b.Function("a", ty.bool_()); auto* v = b.FunctionParam("v", ty.i32()); a->SetParams({v}); - b.With(a->Block(), [&] { b.Return(a, b.Equal(ty.bool_(), v, 1_i)); }); + b.Append(a->Block(), [&] { b.Return(a, b.Equal(ty.bool_(), v, 1_i)); }); auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Initializer(), [&] { + b.Append(loop->Initializer(), [&] { auto* i = b.Var("i", ty.ptr<function, i32>()); i->SetInitializer(b.Constant(0_i)); b.NextIteration(loop); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* if1 = b.If(b.LessThan(ty.bool_(), b.Load(i), 5_i)); - b.With(if1->True(), [&] { b.ExitIf(if1); }); - b.With(if1->False(), [&] { b.ExitLoop(loop); }); + b.Append(if1->True(), [&] { b.ExitIf(if1); }); + b.Append(if1->False(), [&] { b.ExitLoop(loop); }); 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.Append(if2->True(), [&] { b.Return(fn, 1_i); }); + b.Append(if2->False(), [&] { b.Return(fn, 2_i); }); b.Unreachable(); }); - b.With(loop->Continuing(), [&] { + b.Append(loop->Continuing(), [&] { b.Store(i, b.Add(ty.i32(), b.Load(i), 1_i)); b.NextIteration(loop); }); @@ -2194,29 +2194,29 @@ auto* a = b.Function("a", ty.bool_()); auto* v = b.FunctionParam("v", ty.i32()); a->SetParams({v}); - b.With(a->Block(), [&] { b.Return(a, b.Equal(ty.bool_(), v, 1_i)); }); + b.Append(a->Block(), [&] { b.Return(a, b.Equal(ty.bool_(), v, 1_i)); }); auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* i = b.Var("i", ty.ptr<function, i32>()); i->SetInitializer(b.Constant(0_i)); auto* loop = b.Loop(); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* if1 = b.If(b.LessThan(ty.bool_(), b.Load(i), 5_i)); - b.With(if1->True(), [&] { b.ExitIf(if1); }); - b.With(if1->False(), [&] { b.ExitLoop(loop); }); + b.Append(if1->True(), [&] { b.ExitIf(if1); }); + b.Append(if1->False(), [&] { b.ExitLoop(loop); }); 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.Append(if2->True(), [&] { b.Return(fn, 1_i); }); + b.Append(if2->False(), [&] { b.Return(fn, 2_i); }); b.Continue(loop); }); - b.With(loop->Continuing(), [&] { + b.Append(loop->Continuing(), [&] { b.Store(i, b.Add(ty.i32(), b.Load(i), 1_i)); b.NextIteration(loop); }); @@ -2247,26 +2247,26 @@ auto* a = b.Function("a", ty.bool_()); auto* v = b.FunctionParam("v", ty.i32()); a->SetParams({v}); - b.With(a->Block(), [&] { b.Return(a, b.Equal(ty.bool_(), v, 1_i)); }); + b.Append(a->Block(), [&] { b.Return(a, b.Equal(ty.bool_(), v, 1_i)); }); auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Initializer(), [&] { + b.Append(loop->Initializer(), [&] { auto* i = b.Var("i", ty.ptr<function, i32>()); i->SetInitializer(b.Constant(0_i)); b.NextIteration(loop); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* if1 = b.If(b.LessThan(ty.bool_(), b.Load(i), 5_i)); - b.With(if1->True(), [&] { b.ExitIf(if1); }); - b.With(if1->False(), [&] { b.ExitLoop(loop); }); + b.Append(if1->True(), [&] { b.ExitIf(if1); }); + b.Append(if1->False(), [&] { b.ExitLoop(loop); }); 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.Append(if2->True(), [&] { b.Return(fn, 1_i); }); + b.Append(if2->False(), [&] { b.Return(fn, 2_i); }); b.NextIteration(loop); }); @@ -2297,30 +2297,30 @@ auto* fn_n = b.Function("n", ty.i32()); auto* v = b.FunctionParam("v", ty.i32()); fn_n->SetParams({v}); - b.With(fn_n->Block(), [&] { b.Return(fn_n, b.Add(ty.i32(), v, 1_i)); }); + b.Append(fn_n->Block(), [&] { b.Return(fn_n, b.Add(ty.i32(), v, 1_i)); }); auto* fn_f = b.Function("f", ty.void_()); - b.With(fn_f->Block(), [&] { + b.Append(fn_f->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Initializer(), [&] { + b.Append(loop->Initializer(), [&] { auto* n_0 = b.Call(ty.i32(), fn_n, 0_i)->Result(); auto* i = b.Var("i", ty.ptr<function, i32>()); i->SetInitializer(n_0); b.NextIteration(loop); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* load = b.Load(i); auto* call = b.Call(ty.i32(), fn_n, 1_i); auto* if_ = b.If(b.LessThan(ty.bool_(), load, call)); - b.With(if_->True(), [&] { b.ExitIf(if_); }); - b.With(if_->False(), [&] { b.ExitLoop(loop); }); + b.Append(if_->True(), [&] { b.ExitIf(if_); }); + b.Append(if_->False(), [&] { b.ExitLoop(loop); }); b.Continue(loop); }); - b.With(loop->Continuing(), [&] { + b.Append(loop->Continuing(), [&] { b.Store(i, b.Call(ty.i32(), fn_n, b.Load(i))); b.NextIteration(loop); }); @@ -2373,28 +2373,28 @@ // } // } - b.With(b.RootBlock(), [&] { + b.Append(b.RootBlock(), [&] { auto* i = b.Var(ty.ptr<storage, u32, read_write>()); i->SetBindingPoint(0, 0); auto* fn_f = b.Function("f", ty.void_()); - b.With(fn_f->Block(), [&] { + b.Append(fn_f->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Initializer(), [&] { + b.Append(loop->Initializer(), [&] { auto* load_i = b.Load(i); auto* inc_i = b.Add(ty.i32(), load_i, 1_u); b.Store(i, inc_i); b.NextIteration(loop); }); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* load_i = b.Load(i); auto* cmp = b.LessThan(ty.bool_(), load_i, 10_u); auto* if_ = b.If(cmp); - b.With(if_->True(), [&] { b.ExitIf(if_); }); - b.With(if_->False(), [&] { b.ExitLoop(loop); }); + b.Append(if_->True(), [&] { b.ExitIf(if_); }); + b.Append(if_->False(), [&] { b.ExitLoop(loop); }); b.Continue(loop); }); @@ -2418,13 +2418,13 @@ TEST_F(IRToProgramTest, While_Empty) { auto* fn = b.Function("f", ty.void_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* cond = b.If(true); - b.With(cond->True(), [&] { b.ExitIf(cond); }); - b.With(cond->False(), [&] { b.ExitLoop(loop); }); + b.Append(cond->True(), [&] { b.ExitIf(cond); }); + b.Append(cond->False(), [&] { b.ExitLoop(loop); }); b.Continue(loop); }); @@ -2445,13 +2445,13 @@ auto* cond = b.FunctionParam("cond", ty.bool_()); fn->SetParams({cond}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* if_ = b.If(cond); - b.With(if_->True(), [&] { b.ExitIf(if_); }); - b.With(if_->False(), [&] { b.ExitLoop(loop); }); + b.Append(if_->True(), [&] { b.ExitIf(if_); }); + b.Append(if_->False(), [&] { b.ExitLoop(loop); }); b.Continue(loop); }); @@ -2470,13 +2470,13 @@ TEST_F(IRToProgramTest, While_Break) { auto* fn = b.Function("f", ty.void_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* cond = b.If(true); - b.With(cond->True(), [&] { b.ExitIf(cond); }); - b.With(cond->False(), [&] { b.ExitLoop(loop); }); + b.Append(cond->True(), [&] { b.ExitIf(cond); }); + b.Append(cond->False(), [&] { b.ExitLoop(loop); }); b.ExitLoop(loop); }); @@ -2498,16 +2498,16 @@ auto* cond = b.FunctionParam("cond", ty.bool_()); fn->SetParams({cond}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* if1 = b.If(true); - b.With(if1->True(), [&] { b.ExitIf(if1); }); - b.With(if1->False(), [&] { b.ExitLoop(loop); }); + b.Append(if1->True(), [&] { b.ExitIf(if1); }); + b.Append(if1->False(), [&] { b.ExitLoop(loop); }); auto* if2 = b.If(cond); - b.With(if2->True(), [&] { b.ExitLoop(loop); }); + b.Append(if2->True(), [&] { b.ExitLoop(loop); }); b.Continue(loop); }); @@ -2531,16 +2531,16 @@ auto* cond = b.FunctionParam("cond", ty.bool_()); fn->SetParams({cond}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* if1 = b.If(true); - b.With(if1->True(), [&] { b.ExitIf(if1); }); - b.With(if1->False(), [&] { b.ExitLoop(loop); }); + b.Append(if1->True(), [&] { b.ExitIf(if1); }); + b.Append(if1->False(), [&] { b.ExitLoop(loop); }); auto* if2 = b.If(cond); - b.With(if2->True(), [&] { b.Return(fn); }); + b.Append(if2->True(), [&] { b.Return(fn); }); b.Continue(loop); }); @@ -2565,10 +2565,10 @@ TEST_F(IRToProgramTest, Loop_Break) { auto* fn = b.Function("f", ty.void_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Body(), [&] { b.ExitLoop(loop); }); + b.Append(loop->Body(), [&] { b.ExitLoop(loop); }); b.Return(fn); }); @@ -2587,12 +2587,12 @@ auto* cond = b.FunctionParam("cond", ty.bool_()); fn->SetParams({cond}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* if_ = b.If(cond); - b.With(if_->True(), [&] { b.ExitLoop(loop); }); + b.Append(if_->True(), [&] { b.ExitLoop(loop); }); b.Continue(loop); }); @@ -2614,12 +2614,12 @@ auto* cond = b.FunctionParam("cond", ty.bool_()); fn->SetParams({cond}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* if_ = b.If(cond); - b.With(if_->True(), [&] { b.Return(fn); }); + b.Append(if_->True(), [&] { b.Return(fn); }); b.Continue(loop); }); @@ -2640,18 +2640,18 @@ TEST_F(IRToProgramTest, Loop_IfContinuing) { auto* fn = b.Function("f", ty.void_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* cond = b.Var("cond", ty.ptr<function, bool>()); cond->SetInitializer(b.Constant(false)); auto* loop = b.Loop(); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* if_ = b.If(b.Load(cond)); - b.With(if_->True(), [&] { b.Return(fn); }); + b.Append(if_->True(), [&] { b.Return(fn); }); b.Continue(loop); }); - b.With(loop->Continuing(), [&] { + b.Append(loop->Continuing(), [&] { b.Store(cond, true); b.NextIteration(loop); }); @@ -2678,24 +2678,24 @@ TEST_F(IRToProgramTest, Loop_VarsDeclaredOutsideAndInside) { auto* fn = b.Function("f", ty.void_()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* var_b = b.Var("b", ty.ptr<function, i32>()); var_b->SetInitializer(b.Constant(1_i)); auto* loop = b.Loop(); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* var_a = b.Var("a", ty.ptr<function, i32>()); var_a->SetInitializer(b.Constant(2_i)); auto* body_load_a = b.Load(var_a); auto* body_load_b = b.Load(var_b); auto* if_ = b.If(b.Equal(ty.bool_(), body_load_a, body_load_b)); - b.With(if_->True(), [&] { b.Return(fn); }); - b.With(if_->False(), [&] { b.ExitIf(if_); }); + b.Append(if_->True(), [&] { b.Return(fn); }); + b.Append(if_->False(), [&] { b.ExitIf(if_); }); b.Continue(loop); - b.With(loop->Continuing(), [&] { + b.Append(loop->Continuing(), [&] { auto* cont_load_a = b.Load(var_a); auto* cont_load_b = b.Load(var_b); b.Store(var_b, b.Add(ty.i32(), cont_load_a, cont_load_b));
diff --git a/src/tint/lang/core/ir/transform/block_decorated_structs_test.cc b/src/tint/lang/core/ir/transform/block_decorated_structs_test.cc index 1085eeb..c978d20 100644 --- a/src/tint/lang/core/ir/transform/block_decorated_structs_test.cc +++ b/src/tint/lang/core/ir/transform/block_decorated_structs_test.cc
@@ -117,7 +117,7 @@ b.RootBlock()->Append(buffer); auto* func = b.Function("foo", ty.i32()); - b.With(func->Block(), [&] { // + b.Append(func->Block(), [&] { // b.Return(func, b.Load(buffer)); }); @@ -151,7 +151,7 @@ auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* access = b.Access(ty.ptr<storage, i32>(), buffer, 1_u); b.Store(access, 42_i); b.Return(func); @@ -196,7 +196,7 @@ auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* val_ptr = b.Access(i32_ptr, buffer, 0_u); auto* load = b.Load(val_ptr); auto* elem_ptr = b.Access(i32_ptr, buffer, 1_u, 3_u);
diff --git a/src/tint/lang/core/ir/transform/builtin_polyfill_spirv_test.cc b/src/tint/lang/core/ir/transform/builtin_polyfill_spirv_test.cc index 0bf1cba..2b4648d 100644 --- a/src/tint/lang/core/ir/transform/builtin_polyfill_spirv_test.cc +++ b/src/tint/lang/core/ir/transform/builtin_polyfill_spirv_test.cc
@@ -45,7 +45,7 @@ b.RootBlock()->Append(var); auto* func = b.Function("foo", ty.u32()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* access = b.Access(ty.ptr(storage, arr), var, 2_u); auto* result = b.Call(ty.u32(), builtin::Function::kArrayLength, access); b.Return(func, result); @@ -109,7 +109,7 @@ b.RootBlock()->Append(var); auto* func = b.Function("foo", ty.u32()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* let_a = b.Let("a", var); auto* let_b = b.Let("b", let_a); auto* access = b.Access(ty.ptr(storage, arr), let_b, 2_u); @@ -179,7 +179,7 @@ b.RootBlock()->Append(var); auto* func = b.Function("foo", ty.u32()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* access = b.Access(ty.ptr(storage, arr), var, 2_u); auto* let_a = b.Let("a", access); auto* let_b = b.Let("b", let_a); @@ -246,7 +246,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({arg1}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kAtomicAdd, var, arg1); b.Return(func, result); }); @@ -290,7 +290,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({arg1}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kAtomicAdd, var, arg1); b.Return(func, result); }); @@ -334,7 +334,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({arg1}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kAtomicAnd, var, arg1); b.Return(func, result); }); @@ -379,7 +379,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({cmp, val}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result_ty = type::CreateAtomicCompareExchangeResult(ty, mod.symbols, ty.i32()); auto* result = b.Call(result_ty, builtin::Function::kAtomicCompareExchangeWeak, var, cmp, val); @@ -439,7 +439,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({arg1}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kAtomicExchange, var, arg1); b.Return(func, result); }); @@ -481,7 +481,7 @@ auto* func = b.Function("foo", ty.i32()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kAtomicLoad, var); b.Return(func, result); }); @@ -525,7 +525,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({arg1}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kAtomicMax, var, arg1); b.Return(func, result); }); @@ -569,7 +569,7 @@ auto* func = b.Function("foo", ty.u32()); func->SetParams({arg1}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.u32(), builtin::Function::kAtomicMax, var, arg1); b.Return(func, result); }); @@ -613,7 +613,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({arg1}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kAtomicMin, var, arg1); b.Return(func, result); }); @@ -657,7 +657,7 @@ auto* func = b.Function("foo", ty.u32()); func->SetParams({arg1}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.u32(), builtin::Function::kAtomicMin, var, arg1); b.Return(func, result); }); @@ -701,7 +701,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({arg1}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kAtomicOr, var, arg1); b.Return(func, result); }); @@ -745,7 +745,7 @@ auto* func = b.Function("foo", ty.void_()); func->SetParams({arg1}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { b.Call(ty.void_(), builtin::Function::kAtomicStore, var, arg1); b.Return(func); }); @@ -789,7 +789,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({arg1}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kAtomicSub, var, arg1); b.Return(func, result); }); @@ -833,7 +833,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({arg1}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kAtomicXor, var, arg1); b.Return(func, result); }); @@ -876,7 +876,7 @@ auto* func = b.Function("foo", ty.f32()); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.f32(), builtin::Function::kDot, arg1, arg2); b.Return(func, result); }); @@ -911,7 +911,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kDot, arg1, arg2); b.Return(func, result); }); @@ -952,7 +952,7 @@ auto* func = b.Function("foo", ty.u32()); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.u32(), builtin::Function::kDot, arg1, arg2); b.Return(func, result); }); @@ -1002,7 +1002,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({argf, argt, cond}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kSelect, argf, argt, cond); b.Return(func, result); }); @@ -1038,7 +1038,7 @@ auto* func = b.Function("foo", ty.vec4<i32>()); func->SetParams({argf, argt, cond}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<i32>(), builtin::Function::kSelect, argf, argt, cond); b.Return(func, result); }); @@ -1074,7 +1074,7 @@ auto* func = b.Function("foo", ty.vec4<i32>()); func->SetParams({argf, argt, cond}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<i32>(), builtin::Function::kSelect, argf, argt, cond); b.Return(func, result); }); @@ -1112,7 +1112,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({t, coords, lod}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<f32>(), builtin::Function::kTextureLoad, t, coords, lod); b.Return(func, result); }); @@ -1150,7 +1150,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({t, coords, array_idx, lod}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<f32>(), builtin::Function::kTextureLoad, t, coords, array_idx, lod); b.Return(func, result); @@ -1190,7 +1190,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({t, coords, array_idx, lod}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<f32>(), builtin::Function::kTextureLoad, t, coords, array_idx, lod); b.Return(func, result); @@ -1230,7 +1230,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({t, coords, sample_idx}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<f32>(), builtin::Function::kTextureLoad, t, coords, sample_idx); b.Return(func, result); @@ -1267,7 +1267,7 @@ auto* func = b.Function("foo", ty.f32()); func->SetParams({t, coords, lod}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.f32(), builtin::Function::kTextureLoad, t, coords, lod); b.Return(func, result); }); @@ -1305,7 +1305,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({t, s, coords}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<f32>(), builtin::Function::kTextureSample, t, s, coords); b.Return(func, result); }); @@ -1343,7 +1343,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({t, s, coords}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<f32>(), builtin::Function::kTextureSample, t, s, coords); b.Return(func, result); }); @@ -1381,7 +1381,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({t, s, coords}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call( ty.vec4<f32>(), builtin::Function::kTextureSample, t, s, coords, b.Constant(mod.constant_values.Splat(ty.vec2<i32>(), mod.constant_values.Get(1_i), 2))); @@ -1422,7 +1422,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({t, s, coords, array_idx}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call( ty.vec4<f32>(), builtin::Function::kTextureSample, t, s, coords, array_idx, b.Constant(mod.constant_values.Splat(ty.vec2<i32>(), mod.constant_values.Get(1_i), 2))); @@ -1465,7 +1465,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({t, s, coords, bias}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<f32>(), builtin::Function::kTextureSampleBias, t, s, coords, bias); b.Return(func, result); @@ -1505,7 +1505,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({t, s, coords, bias}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call( ty.vec4<f32>(), builtin::Function::kTextureSampleBias, t, s, coords, bias, b.Constant(mod.constant_values.Splat(ty.vec2<i32>(), mod.constant_values.Get(1_i), 2))); @@ -1547,7 +1547,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({t, s, coords, array_idx, bias}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call( ty.vec4<f32>(), builtin::Function::kTextureSampleBias, t, s, coords, array_idx, bias, b.Constant(mod.constant_values.Splat(ty.vec2<i32>(), mod.constant_values.Get(1_i), 2))); @@ -1589,7 +1589,7 @@ auto* func = b.Function("foo", ty.f32()); func->SetParams({t, s, coords, dref}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.f32(), builtin::Function::kTextureSampleCompare, t, s, coords, dref); b.Return(func, result); @@ -1628,7 +1628,7 @@ auto* func = b.Function("foo", ty.f32()); func->SetParams({t, s, coords, dref}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call( ty.f32(), builtin::Function::kTextureSampleCompare, t, s, coords, dref, b.Constant(mod.constant_values.Splat(ty.vec2<i32>(), mod.constant_values.Get(1_i), 2))); @@ -1669,7 +1669,7 @@ auto* func = b.Function("foo", ty.f32()); func->SetParams({t, s, coords, array_idx, bias}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call( ty.f32(), builtin::Function::kTextureSampleCompare, t, s, coords, array_idx, bias, b.Constant(mod.constant_values.Splat(ty.vec2<i32>(), mod.constant_values.Get(1_i), 2))); @@ -1711,7 +1711,7 @@ auto* func = b.Function("foo", ty.f32()); func->SetParams({t, s, coords, dref}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.f32(), builtin::Function::kTextureSampleCompareLevel, t, s, coords, dref); b.Return(func, result); @@ -1750,7 +1750,7 @@ auto* func = b.Function("foo", ty.f32()); func->SetParams({t, s, coords, dref}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call( ty.f32(), builtin::Function::kTextureSampleCompareLevel, t, s, coords, dref, b.Constant(mod.constant_values.Splat(ty.vec2<i32>(), mod.constant_values.Get(1_i), 2))); @@ -1791,7 +1791,7 @@ auto* func = b.Function("foo", ty.f32()); func->SetParams({t, s, coords, array_idx, bias}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call( ty.f32(), builtin::Function::kTextureSampleCompareLevel, t, s, coords, array_idx, bias, b.Constant(mod.constant_values.Splat(ty.vec2<i32>(), mod.constant_values.Get(1_i), 2))); @@ -1835,7 +1835,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({t, s, coords, ddx, ddy}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<f32>(), builtin::Function::kTextureSampleBias, t, s, coords, ddx, ddy); b.Return(func, result); @@ -1876,7 +1876,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({t, s, coords, ddx, ddy}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call( ty.vec4<f32>(), builtin::Function::kTextureSampleBias, t, s, coords, ddx, ddy, b.Constant(mod.constant_values.Splat(ty.vec2<i32>(), mod.constant_values.Get(1_i), 2))); @@ -1919,7 +1919,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({t, s, coords, array_idx, ddx, ddy}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call( ty.vec4<f32>(), builtin::Function::kTextureSampleBias, t, s, coords, array_idx, ddx, ddy, @@ -1963,7 +1963,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({t, s, coords, lod}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<f32>(), builtin::Function::kTextureSampleLevel, t, s, coords, lod); b.Return(func, result); @@ -2003,7 +2003,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({t, s, coords, lod}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call( ty.vec4<f32>(), builtin::Function::kTextureSampleLevel, t, s, coords, lod, b.Constant(mod.constant_values.Splat(ty.vec2<i32>(), mod.constant_values.Get(1_i), 2))); @@ -2045,7 +2045,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({t, s, coords, array_idx, lod}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call( ty.vec4<f32>(), builtin::Function::kTextureSampleLevel, t, s, coords, array_idx, lod, b.Constant(mod.constant_values.Splat(ty.vec2<i32>(), mod.constant_values.Get(1_i), 2))); @@ -2088,7 +2088,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({component, t, s, coords}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<f32>(), builtin::Function::kTextureGather, component, t, s, coords); b.Return(func, result); @@ -2128,7 +2128,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({t, s, component, coords}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call( ty.vec4<f32>(), builtin::Function::kTextureGather, component, t, s, coords, b.Constant(mod.constant_values.Splat(ty.vec2<i32>(), mod.constant_values.Get(1_i), 2))); @@ -2170,7 +2170,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({t, s, component, coords, array_idx}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call( ty.vec4<f32>(), builtin::Function::kTextureGather, component, t, s, coords, array_idx, b.Constant(mod.constant_values.Splat(ty.vec2<i32>(), mod.constant_values.Get(1_i), 2))); @@ -2211,7 +2211,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({t, s, coords}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<f32>(), builtin::Function::kTextureGather, t, s, coords); b.Return(func, result); }); @@ -2249,7 +2249,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({t, s, coords, depth}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<f32>(), builtin::Function::kTextureGatherCompare, t, s, coords, depth); b.Return(func, result); @@ -2288,7 +2288,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({t, s, coords, depth}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call( ty.vec4<f32>(), builtin::Function::kTextureGatherCompare, t, s, coords, depth, b.Constant(mod.constant_values.Splat(ty.vec2<i32>(), mod.constant_values.Get(1_i), 2))); @@ -2329,7 +2329,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({t, s, coords, array_idx, depth}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<f32>(), builtin::Function::kTextureGatherCompare, t, s, coords, array_idx, depth); b.Return(func, result); @@ -2372,7 +2372,7 @@ auto* func = b.Function("foo", ty.void_()); func->SetParams({t, coords, texel}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { b.Call(ty.void_(), builtin::Function::kTextureStore, t, coords, texel); b.Return(func); }); @@ -2413,7 +2413,7 @@ auto* func = b.Function("foo", ty.void_()); func->SetParams({t, coords, array_idx, texel}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { b.Call(ty.void_(), builtin::Function::kTextureStore, t, coords, array_idx, texel); b.Return(func); }); @@ -2455,7 +2455,7 @@ auto* func = b.Function("foo", ty.void_()); func->SetParams({t, coords, array_idx, texel}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { b.Call(ty.void_(), builtin::Function::kTextureStore, t, coords, array_idx, texel); b.Return(func); }); @@ -2492,7 +2492,7 @@ auto* func = b.Function("foo", ty.vec2<u32>()); func->SetParams({t}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec2<u32>(), builtin::Function::kTextureDimensions, t); b.Return(func, result); }); @@ -2528,7 +2528,7 @@ auto* func = b.Function("foo", ty.vec2<u32>()); func->SetParams({t, lod}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec2<u32>(), builtin::Function::kTextureDimensions, t, lod); b.Return(func, result); }); @@ -2563,7 +2563,7 @@ auto* func = b.Function("foo", ty.vec2<u32>()); func->SetParams({t}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec2<u32>(), builtin::Function::kTextureDimensions, t); b.Return(func, result); }); @@ -2599,7 +2599,7 @@ auto* func = b.Function("foo", ty.vec2<u32>()); func->SetParams({t}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec2<u32>(), builtin::Function::kTextureDimensions, t); b.Return(func, result); }); @@ -2634,7 +2634,7 @@ auto* func = b.Function("foo", ty.u32()); func->SetParams({t}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.u32(), builtin::Function::kTextureNumLayers, t); b.Return(func, result); }); @@ -2670,7 +2670,7 @@ auto* func = b.Function("foo", ty.u32()); func->SetParams({t}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.u32(), builtin::Function::kTextureNumLayers, t); b.Return(func, result); }); @@ -2705,7 +2705,7 @@ auto* func = b.Function("foo", ty.u32()); func->SetParams({t}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.u32(), builtin::Function::kTextureNumLayers, t); b.Return(func, result); }); @@ -2740,7 +2740,7 @@ auto* func = b.Function("foo", ty.u32()); func->SetParams({t}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.u32(), builtin::Function::kTextureNumLayers, t); b.Return(func, result); }); @@ -2778,7 +2778,7 @@ auto* func = b.Function("foo", ty.u32()); func->SetParams({t}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.u32(), builtin::Function::kTextureNumLayers, t); b.Return(func, result); });
diff --git a/src/tint/lang/core/ir/transform/demote_to_helper_test.cc b/src/tint/lang/core/ir/transform/demote_to_helper_test.cc index ec1fdbd..92b3046 100644 --- a/src/tint/lang/core/ir/transform/demote_to_helper_test.cc +++ b/src/tint/lang/core/ir/transform/demote_to_helper_test.cc
@@ -37,7 +37,7 @@ auto* ep = b.Function("ep", ty.f32(), Function::PipelineStage::kFragment); ep->SetReturnLocation(0_u, {}); - b.With(ep->Block(), [&] { // + b.Append(ep->Block(), [&] { // b.Store(buffer, 42_i); b.Return(ep, 0.5_f); }); @@ -74,9 +74,9 @@ ep->SetParams({front_facing}); ep->SetReturnLocation(0_u, {}); - b.With(ep->Block(), [&] { + b.Append(ep->Block(), [&] { auto* ifelse = b.If(front_facing); - b.With(ifelse->True(), [&] { // + b.Append(ifelse->True(), [&] { // b.Discard(); b.ExitIf(ifelse); }); @@ -147,7 +147,7 @@ b.RootBlock()->Append(buffer); auto* helper = b.Function("foo", ty.void_()); - b.With(helper->Block(), [&] { + b.Append(helper->Block(), [&] { b.Store(buffer, 42_i); b.Return(helper); }); @@ -158,9 +158,9 @@ ep->SetParams({front_facing}); ep->SetReturnLocation(0_u, {}); - b.With(ep->Block(), [&] { + b.Append(ep->Block(), [&] { auto* ifelse = b.If(front_facing); - b.With(ifelse->True(), [&] { // + b.Append(ifelse->True(), [&] { // b.Discard(); b.ExitIf(ifelse); }); @@ -245,9 +245,9 @@ auto* cond = b.FunctionParam("cond", ty.bool_()); auto* helper = b.Function("foo", ty.void_()); helper->SetParams({cond}); - b.With(helper->Block(), [&] { + b.Append(helper->Block(), [&] { auto* ifelse = b.If(cond); - b.With(ifelse->True(), [&] { // + b.Append(ifelse->True(), [&] { // b.Discard(); b.ExitIf(ifelse); }); @@ -260,7 +260,7 @@ ep->SetParams({front_facing}); ep->SetReturnLocation(0_u, {}); - b.With(ep->Block(), [&] { + b.Append(ep->Block(), [&] { b.Call(ty.void_(), helper, front_facing); b.Store(buffer, 42_i); b.Return(ep, 0.5_f); @@ -343,9 +343,9 @@ auto* cond = b.FunctionParam("cond", ty.bool_()); auto* helper = b.Function("foo", ty.void_()); helper->SetParams({cond}); - b.With(helper->Block(), [&] { + b.Append(helper->Block(), [&] { auto* ifelse = b.If(cond); - b.With(ifelse->True(), [&] { // + b.Append(ifelse->True(), [&] { // b.Discard(); b.ExitIf(ifelse); }); @@ -359,7 +359,7 @@ ep->SetParams({front_facing}); ep->SetReturnLocation(0_u, {}); - b.With(ep->Block(), [&] { + b.Append(ep->Block(), [&] { b.Call(ty.void_(), helper, front_facing); b.Return(ep, 0.5_f); }); @@ -441,10 +441,10 @@ ep->SetParams({front_facing}); ep->SetReturnLocation(0_u, {}); - b.With(ep->Block(), [&] { + b.Append(ep->Block(), [&] { auto* func = b.Var("func", ty.ptr<function, i32>()); auto* ifelse = b.If(front_facing); - b.With(ifelse->True(), [&] { // + b.Append(ifelse->True(), [&] { // b.Discard(); b.ExitIf(ifelse); }); @@ -525,9 +525,9 @@ ep->SetParams({front_facing, coord}); ep->SetReturnLocation(0_u, {}); - b.With(ep->Block(), [&] { + b.Append(ep->Block(), [&] { auto* ifelse = b.If(front_facing); - b.With(ifelse->True(), [&] { // + b.Append(ifelse->True(), [&] { // b.Discard(); b.ExitIf(ifelse); }); @@ -603,9 +603,9 @@ ep->SetParams({front_facing}); ep->SetReturnLocation(0_u, {}); - b.With(ep->Block(), [&] { + b.Append(ep->Block(), [&] { auto* ifelse = b.If(front_facing); - b.With(ifelse->True(), [&] { // + b.Append(ifelse->True(), [&] { // b.Discard(); b.ExitIf(ifelse); }); @@ -681,9 +681,9 @@ ep->SetParams({front_facing}); ep->SetReturnLocation(0_u, {}); - b.With(ep->Block(), [&] { + b.Append(ep->Block(), [&] { auto* ifelse = b.If(front_facing); - b.With(ifelse->True(), [&] { // + b.Append(ifelse->True(), [&] { // b.Discard(); b.ExitIf(ifelse); }); @@ -763,9 +763,9 @@ ep->SetParams({front_facing}); ep->SetReturnLocation(0_u, {}); - b.With(ep->Block(), [&] { + b.Append(ep->Block(), [&] { auto* ifelse = b.If(front_facing); - b.With(ifelse->True(), [&] { // + b.Append(ifelse->True(), [&] { // b.Discard(); b.ExitIf(ifelse); });
diff --git a/src/tint/lang/core/ir/transform/expand_implicit_splats_test.cc b/src/tint/lang/core/ir/transform/expand_implicit_splats_test.cc index 55edaa8..66a23cc 100644 --- a/src/tint/lang/core/ir/transform/expand_implicit_splats_test.cc +++ b/src/tint/lang/core/ir/transform/expand_implicit_splats_test.cc
@@ -31,7 +31,7 @@ auto* func = b.Function("foo", ty.vec2<i32>()); func->SetParams({vector}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Construct(ty.vec2<i32>(), vector); b.Return(func, result); }); @@ -56,7 +56,7 @@ auto* func = b.Function("foo", ty.vec3<i32>()); func->SetParams({scalar, vector}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Construct(ty.vec3<i32>(), scalar, vector); b.Return(func, result); }); @@ -80,7 +80,7 @@ auto* func = b.Function("foo", ty.vec3<i32>()); func->SetParams({scalar}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Construct(ty.vec3<i32>(), scalar, scalar, scalar); b.Return(func, result); }); @@ -104,7 +104,7 @@ auto* func = b.Function("foo", ty.vec2<i32>()); func->SetParams({scalar}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Construct(ty.vec2<i32>(), scalar); b.Return(func, result); }); @@ -138,7 +138,7 @@ auto* func = b.Function("foo", ty.vec3<u32>()); func->SetParams({scalar}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Construct(ty.vec3<u32>(), scalar); b.Return(func, result); }); @@ -172,7 +172,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({scalar}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Construct(ty.vec4<f32>(), scalar); b.Return(func, result); }); @@ -207,7 +207,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({scalar, vector}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Add(ty.vec4<f32>(), vector, scalar); b.Return(func, result); }); @@ -243,7 +243,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({scalar, vector}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Add(ty.vec4<f32>(), scalar, vector); b.Return(func, result); }); @@ -279,7 +279,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({scalar, vector}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Subtract(ty.vec4<f32>(), vector, scalar); b.Return(func, result); }); @@ -315,7 +315,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({scalar, vector}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Subtract(ty.vec4<f32>(), scalar, vector); b.Return(func, result); }); @@ -351,7 +351,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({scalar, vector}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Divide(ty.vec4<f32>(), vector, scalar); b.Return(func, result); }); @@ -387,7 +387,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({scalar, vector}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Divide(ty.vec4<f32>(), scalar, vector); b.Return(func, result); }); @@ -423,7 +423,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({scalar, vector}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Modulo(ty.vec4<f32>(), vector, scalar); b.Return(func, result); }); @@ -459,7 +459,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({scalar, vector}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Modulo(ty.vec4<f32>(), scalar, vector); b.Return(func, result); }); @@ -495,7 +495,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({scalar, vector}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Multiply(ty.vec4<f32>(), vector, scalar); b.Return(func, result); }); @@ -530,7 +530,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({scalar, vector}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Multiply(ty.vec4<f32>(), scalar, vector); b.Return(func, result); }); @@ -565,7 +565,7 @@ auto* func = b.Function("foo", ty.vec4<i32>()); func->SetParams({scalar, vector}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Multiply(ty.vec4<i32>(), vector, scalar); b.Return(func, result); }); @@ -601,7 +601,7 @@ auto* func = b.Function("foo", ty.vec4<i32>()); func->SetParams({scalar, vector}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Multiply(ty.vec4<i32>(), scalar, vector); b.Return(func, result); }); @@ -638,7 +638,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({arg1, arg2, factor}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<f32>(), builtin::Function::kMix, arg1, arg2, factor); b.Return(func, result); });
diff --git a/src/tint/lang/core/ir/transform/handle_matrix_arithmetic_test.cc b/src/tint/lang/core/ir/transform/handle_matrix_arithmetic_test.cc index 20ef140..462f0c8 100644 --- a/src/tint/lang/core/ir/transform/handle_matrix_arithmetic_test.cc +++ b/src/tint/lang/core/ir/transform/handle_matrix_arithmetic_test.cc
@@ -33,7 +33,7 @@ auto* func = b.Function("foo", ty.mat2x3<f32>()); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Add(ty.mat2x3<f32>(), arg1, arg2); b.Return(func, result); }); @@ -74,7 +74,7 @@ auto* func = b.Function("foo", ty.mat4x2<f16>()); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Add(ty.mat4x2<f16>(), arg1, arg2); b.Return(func, result); }); @@ -121,7 +121,7 @@ auto* func = b.Function("foo", ty.mat3x2<f32>()); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Subtract(ty.mat3x2<f32>(), arg1, arg2); b.Return(func, result); }); @@ -165,7 +165,7 @@ auto* func = b.Function("foo", ty.mat2x4<f16>()); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Subtract(ty.mat2x4<f16>(), arg1, arg2); b.Return(func, result); }); @@ -206,7 +206,7 @@ auto* func = b.Function("foo", ty.mat2x3<f32>()); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Multiply(ty.mat2x3<f32>(), arg1, arg2); b.Return(func, result); }); @@ -241,7 +241,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Multiply(ty.vec4<f32>(), arg1, arg2); b.Return(func, result); }); @@ -276,7 +276,7 @@ auto* func = b.Function("foo", ty.mat2x2<f32>()); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Multiply(ty.mat2x2<f32>(), arg1, arg2); b.Return(func, result); }); @@ -311,7 +311,7 @@ auto* func = b.Function("foo", ty.mat3x2<f16>()); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Multiply(ty.mat3x2<f16>(), arg1, arg2); b.Return(func, result); }); @@ -346,7 +346,7 @@ auto* func = b.Function("foo", ty.vec4<f16>()); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Multiply(ty.vec4<f16>(), arg1, arg2); b.Return(func, result); }); @@ -381,7 +381,7 @@ auto* func = b.Function("foo", ty.mat3x3<f16>()); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Multiply(ty.mat3x3<f16>(), arg1, arg2); b.Return(func, result); }); @@ -415,7 +415,7 @@ auto* func = b.Function("foo", ty.mat2x3<f16>()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Convert(ty.mat2x3<f16>(), arg); b.Return(func, result); }); @@ -453,7 +453,7 @@ auto* func = b.Function("foo", ty.mat4x4<f16>()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Convert(ty.mat4x4<f16>(), arg); b.Return(func, result); }); @@ -495,7 +495,7 @@ auto* func = b.Function("foo", ty.mat4x3<f32>()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Convert(ty.mat4x3<f32>(), arg); b.Return(func, result); }); @@ -537,7 +537,7 @@ auto* func = b.Function("foo", ty.mat2x2<f16>()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Convert(ty.mat2x2<f16>(), arg); b.Return(func, result); });
diff --git a/src/tint/lang/core/ir/transform/merge_return.cc b/src/tint/lang/core/ir/transform/merge_return.cc index 1d321c7..5eaa976 100644 --- a/src/tint/lang/core/ir/transform/merge_return.cc +++ b/src/tint/lang/core/ir/transform/merge_return.cc
@@ -277,7 +277,7 @@ /// Adds a final return instruction to the end of @p fn /// @param fn the function void AppendFinalReturn(Function* fn) { - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { if (return_val) { b.Return(fn, b.Load(return_val)); } else {
diff --git a/src/tint/lang/core/ir/transform/merge_return_test.cc b/src/tint/lang/core/ir/transform/merge_return_test.cc index 055de57..2fb5bd0 100644 --- a/src/tint/lang/core/ir/transform/merge_return_test.cc +++ b/src/tint/lang/core/ir/transform/merge_return_test.cc
@@ -31,7 +31,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({in}); - b.With(func->Block(), [&] { b.Return(func, b.Add(ty.i32(), in, 1_i)); }); + b.Append(func->Block(), [&] { b.Return(func, b.Add(ty.i32(), in, 1_i)); }); auto* src = R"( %foo = func(%2:i32):i32 -> %b1 { @@ -56,11 +56,11 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({in}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* ifelse = b.If(cond); ifelse->SetResults(b.InstructionResult(ty.i32())); - b.With(ifelse->True(), [&] { b.ExitIf(ifelse, b.Add(ty.i32(), in, 1_i)); }); - b.With(ifelse->False(), [&] { b.ExitIf(ifelse, b.Add(ty.i32(), in, 2_i)); }); + b.Append(ifelse->True(), [&] { b.ExitIf(ifelse, b.Add(ty.i32(), in, 1_i)); }); + b.Append(ifelse->False(), [&] { b.ExitIf(ifelse, b.Add(ty.i32(), in, 2_i)); }); b.Return(func, ifelse->Result(0)); }); @@ -96,17 +96,17 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({in}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* swtch = b.Switch(in); - b.With(b.Case(swtch, {Switch::CaseSelector{}}), [&] { b.ExitSwitch(swtch); }); + b.Append(b.Case(swtch, {Switch::CaseSelector{}}), [&] { b.ExitSwitch(swtch); }); auto* l = b.Loop(); - b.With(l->Body(), [&] { b.ExitLoop(l); }); + b.Append(l->Body(), [&] { b.ExitLoop(l); }); auto* ifelse = b.If(cond); ifelse->SetResults(b.InstructionResult(ty.i32())); - b.With(ifelse->True(), [&] { b.ExitIf(ifelse, b.Add(ty.i32(), in, 1_i)); }); - b.With(ifelse->False(), [&] { b.ExitIf(ifelse, b.Add(ty.i32(), in, 2_i)); }); + b.Append(ifelse->True(), [&] { b.ExitIf(ifelse, b.Add(ty.i32(), in, 1_i)); }); + b.Append(ifelse->False(), [&] { b.ExitIf(ifelse, b.Add(ty.i32(), in, 2_i)); }); b.Return(func, ifelse->Result(0)); }); @@ -152,10 +152,10 @@ auto* func = b.Function("foo", ty.void_()); func->SetParams({cond}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* ifelse = b.If(cond); - b.With(ifelse->True(), [&] { b.Return(func); }); - b.With(ifelse->False(), [&] { b.ExitIf(ifelse); }); + b.Append(ifelse->True(), [&] { b.Return(func); }); + b.Append(ifelse->False(), [&] { b.ExitIf(ifelse); }); b.Return(func); }); @@ -205,12 +205,12 @@ auto* func = b.Function("foo", ty.void_()); func->SetParams({cond}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* ifelse = b.If(cond); b.Return(func); - b.With(ifelse->True(), [&] { b.Return(func); }); - b.With(ifelse->False(), [&] { b.ExitIf(ifelse); }); + b.Append(ifelse->True(), [&] { b.Return(func); }); + b.Append(ifelse->False(), [&] { b.ExitIf(ifelse); }); }); auto* src = R"( @@ -256,10 +256,10 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({cond}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* ifelse = b.If(cond); - b.With(ifelse->True(), [&] { b.Return(func, 1_i); }); - b.With(ifelse->False(), [&] { b.ExitIf(ifelse); }); + b.Append(ifelse->True(), [&] { b.Return(func, 1_i); }); + b.Append(ifelse->False(), [&] { b.ExitIf(ifelse); }); b.Return(func, 2_i); }); @@ -319,11 +319,11 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({cond}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* ifelse = b.If(cond); ifelse->SetResults(b.InstructionResult(ty.i32())); - b.With(ifelse->True(), [&] { b.Return(func, 1_i); }); - b.With(ifelse->False(), [&] { b.ExitIf(ifelse, 2_i); }); + b.Append(ifelse->True(), [&] { b.Return(func, 1_i); }); + b.Append(ifelse->False(), [&] { b.ExitIf(ifelse, 2_i); }); b.Return(func, ifelse->Result(0)); }); @@ -383,11 +383,11 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({cond}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* ifelse = b.If(cond); ifelse->SetResults(b.InstructionResult(ty.i32())); - b.With(ifelse->True(), [&] { b.Return(func, 1_i); }); - b.With(ifelse->False(), [&] { b.ExitIf(ifelse, nullptr); }); + b.Append(ifelse->True(), [&] { b.Return(func, 1_i); }); + b.Append(ifelse->False(), [&] { b.ExitIf(ifelse, nullptr); }); b.Return(func, ifelse->Result(0)); }); @@ -447,10 +447,10 @@ auto* func = b.Function("foo", ty.void_()); func->SetParams({cond}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* ifelse = b.If(cond); - b.With(ifelse->True(), [&] { b.Return(func); }); - b.With(ifelse->False(), [&] { b.Return(func); }); + b.Append(ifelse->True(), [&] { b.Return(func); }); + b.Append(ifelse->False(), [&] { b.Return(func); }); b.Unreachable(); }); @@ -502,10 +502,10 @@ auto* func = b.Function("foo", ty.void_()); func->SetParams({cond}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* ifelse = b.If(cond); - b.With(ifelse->True(), [&] { b.Return(func); }); - b.With(ifelse->False(), [&] { b.ExitIf(ifelse); }); + b.Append(ifelse->True(), [&] { b.Return(func); }); + b.Append(ifelse->False(), [&] { b.ExitIf(ifelse); }); b.Store(global, 42_i); b.Return(func); @@ -578,13 +578,13 @@ auto* func = b.Function("foo", ty.void_()); func->SetParams({cond}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* ifelse = b.If(cond); b.Store(global, 42_i); b.Return(func); - b.With(ifelse->True(), [&] { b.Return(func); }); - b.With(ifelse->False(), [&] { b.ExitIf(ifelse); }); + b.Append(ifelse->True(), [&] { b.Return(func); }); + b.Append(ifelse->False(), [&] { b.ExitIf(ifelse); }); }); auto* src = R"( @@ -654,20 +654,20 @@ auto* condC = b.FunctionParam("condC", ty.bool_()); func->SetParams({condA, condB, condC}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* ifelse_outer = b.If(condA); - b.With(ifelse_outer->True(), [&] { b.Return(func, 3_i); }); - b.With(ifelse_outer->False(), [&] { + b.Append(ifelse_outer->True(), [&] { b.Return(func, 3_i); }); + b.Append(ifelse_outer->False(), [&] { auto* ifelse_middle = b.If(condB); - b.With(ifelse_middle->True(), [&] { + b.Append(ifelse_middle->True(), [&] { auto* ifelse_inner = b.If(condC); - b.With(ifelse_inner->True(), [&] { b.Return(func, 1_i); }); - b.With(ifelse_inner->False(), [&] { b.ExitIf(ifelse_inner); }); + b.Append(ifelse_inner->True(), [&] { b.Return(func, 1_i); }); + b.Append(ifelse_inner->False(), [&] { b.ExitIf(ifelse_inner); }); b.Store(global, 1_i); b.Return(func, 2_i); }); - b.With(ifelse_middle->False(), [&] { b.ExitIf(ifelse_middle); }); + b.Append(ifelse_middle->False(), [&] { b.ExitIf(ifelse_middle); }); b.Store(global, 2_i); b.ExitIf(ifelse_outer); }); @@ -800,19 +800,19 @@ auto* condC = b.FunctionParam("condC", ty.bool_()); func->SetParams({condA, condB, condC}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* ifelse_outer = b.If(condA); - b.With(ifelse_outer->True(), [&] { b.Return(func, 3_i); }); - b.With(ifelse_outer->False(), [&] { + b.Append(ifelse_outer->True(), [&] { b.Return(func, 3_i); }); + b.Append(ifelse_outer->False(), [&] { auto* ifelse_middle = b.If(condB); - b.With(ifelse_middle->True(), [&] { + b.Append(ifelse_middle->True(), [&] { auto* ifelse_inner = b.If(condC); - b.With(ifelse_inner->True(), [&] { b.Return(func, 1_i); }); - b.With(ifelse_inner->False(), [&] { b.ExitIf(ifelse_inner); }); + b.Append(ifelse_inner->True(), [&] { b.Return(func, 1_i); }); + b.Append(ifelse_inner->False(), [&] { b.ExitIf(ifelse_inner); }); b.ExitIf(ifelse_middle); }); - b.With(ifelse_middle->False(), [&] { b.ExitIf(ifelse_middle); }); + b.Append(ifelse_middle->False(), [&] { b.ExitIf(ifelse_middle); }); b.ExitIf(ifelse_outer); }); @@ -921,23 +921,23 @@ auto* condC = b.FunctionParam("condC", ty.bool_()); func->SetParams({condA, condB, condC}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* ifelse_outer = b.If(condA); ifelse_outer->SetResults(b.InstructionResult(ty.i32())); - b.With(ifelse_outer->True(), [&] { b.Return(func, 3_i); }); - b.With(ifelse_outer->False(), [&] { + b.Append(ifelse_outer->True(), [&] { b.Return(func, 3_i); }); + b.Append(ifelse_outer->False(), [&] { auto* ifelse_middle = b.If(condB); ifelse_middle->SetResults(b.InstructionResult(ty.i32())); - b.With(ifelse_middle->True(), [&] { + b.Append(ifelse_middle->True(), [&] { auto* ifelse_inner = b.If(condC); - b.With(ifelse_inner->True(), [&] { b.Return(func, 1_i); }); - b.With(ifelse_inner->False(), [&] { b.ExitIf(ifelse_inner); }); + b.Append(ifelse_inner->True(), [&] { b.Return(func, 1_i); }); + b.Append(ifelse_inner->False(), [&] { b.ExitIf(ifelse_inner); }); b.ExitIf(ifelse_middle, b.Add(ty.i32(), 42_i, 1_i)); }); - b.With(ifelse_middle->False(), - [&] { b.ExitIf(ifelse_middle, b.Add(ty.i32(), 43_i, 2_i)); }); + b.Append(ifelse_middle->False(), + [&] { b.ExitIf(ifelse_middle, b.Add(ty.i32(), 43_i, 2_i)); }); b.ExitIf(ifelse_outer, b.Add(ty.i32(), ifelse_middle->Result(0), 1_i)); }); @@ -1062,9 +1062,9 @@ TEST_F(IR_MergeReturnTest, Loop_UnconditionalReturnInBody) { auto* func = b.Function("foo", ty.i32()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Body(), [&] { b.Return(func, 42_i); }); + b.Append(loop->Body(), [&] { b.Return(func, 42_i); }); b.Unreachable(); }); @@ -1111,18 +1111,18 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({cond}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* ifelse = b.If(cond); - b.With(ifelse->True(), [&] { b.Return(func, 42_i); }); - b.With(ifelse->False(), [&] { b.ExitIf(ifelse); }); + b.Append(ifelse->True(), [&] { b.Return(func, 42_i); }); + b.Append(ifelse->False(), [&] { b.ExitIf(ifelse); }); b.Store(global, 2_i); b.Continue(loop); }); - b.With(loop->Continuing(), [&] { + b.Append(loop->Continuing(), [&] { b.Store(global, 1_i); b.BreakIf(loop, true); }); @@ -1225,19 +1225,19 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({cond}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* ifelse = b.If(cond); - b.With(ifelse->True(), [&] { b.Return(func, 42_i); }); - b.With(ifelse->False(), [&] { b.ExitIf(ifelse); }); + b.Append(ifelse->True(), [&] { b.Return(func, 42_i); }); + b.Append(ifelse->False(), [&] { b.ExitIf(ifelse); }); b.Store(global, 2_i); b.Continue(loop); }); - b.With(loop->Continuing(), [&] { + b.Append(loop->Continuing(), [&] { b.Store(global, 1_i); b.NextIteration(loop); }); @@ -1330,19 +1330,19 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({cond}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* loop = b.Loop(); loop->SetResults(b.InstructionResult(ty.i32())); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* ifelse = b.If(cond); - b.With(ifelse->True(), [&] { b.Return(func, 42_i); }); - b.With(ifelse->False(), [&] { b.ExitIf(ifelse); }); + b.Append(ifelse->True(), [&] { b.Return(func, 42_i); }); + b.Append(ifelse->False(), [&] { b.ExitIf(ifelse); }); b.Store(global, 2_i); b.Continue(loop); }); - b.With(loop->Continuing(), [&] { + b.Append(loop->Continuing(), [&] { b.Store(global, 1_i); b.BreakIf(loop, true, 4_i); }); @@ -1441,10 +1441,11 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({cond}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* sw = b.Switch(cond); - b.With(b.Case(sw, {Switch::CaseSelector{b.Constant(1_i)}}), [&] { b.Return(func, 42_i); }); - b.With(b.Case(sw, {Switch::CaseSelector{}}), [&] { b.ExitSwitch(sw); }); + b.Append(b.Case(sw, {Switch::CaseSelector{b.Constant(1_i)}}), + [&] { b.Return(func, 42_i); }); + b.Append(b.Case(sw, {Switch::CaseSelector{}}), [&] { b.ExitSwitch(sw); }); b.Return(func, 0_i); }); @@ -1507,19 +1508,19 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({cond}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* sw = b.Switch(cond); - b.With(b.Case(sw, {Switch::CaseSelector{b.Constant(1_i)}}), [&] { + b.Append(b.Case(sw, {Switch::CaseSelector{b.Constant(1_i)}}), [&] { auto* ifcond = b.Equal(ty.bool_(), cond, 1_i); auto* ifelse = b.If(ifcond); - b.With(ifelse->True(), [&] { b.Return(func, 42_i); }); - b.With(ifelse->False(), [&] { b.ExitIf(ifelse); }); + b.Append(ifelse->True(), [&] { b.Return(func, 42_i); }); + b.Append(ifelse->False(), [&] { b.ExitIf(ifelse); }); b.Store(global, 2_i); b.ExitSwitch(sw); }); - b.With(b.Case(sw, {Switch::CaseSelector{}}), [&] { b.ExitSwitch(sw); }); + b.Append(b.Case(sw, {Switch::CaseSelector{}}), [&] { b.ExitSwitch(sw); }); b.Return(func, 0_i); }); @@ -1613,13 +1614,16 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({cond}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* sw = b.Switch(cond); sw->SetResults(b.InstructionResult(ty.i32())); // NOLINT: false detection of std::tuple - b.With(b.Case(sw, {Switch::CaseSelector{b.Constant(1_i)}}), [&] { b.Return(func, 42_i); }); - b.With(b.Case(sw, {Switch::CaseSelector{b.Constant(2_i)}}), [&] { b.Return(func, 99_i); }); - b.With(b.Case(sw, {Switch::CaseSelector{b.Constant(3_i)}}), [&] { b.ExitSwitch(sw, 1_i); }); - b.With(b.Case(sw, {Switch::CaseSelector{}}), [&] { b.ExitSwitch(sw, 0_i); }); + b.Append(b.Case(sw, {Switch::CaseSelector{b.Constant(1_i)}}), + [&] { b.Return(func, 42_i); }); + b.Append(b.Case(sw, {Switch::CaseSelector{b.Constant(2_i)}}), + [&] { b.Return(func, 99_i); }); + b.Append(b.Case(sw, {Switch::CaseSelector{b.Constant(3_i)}}), + [&] { b.ExitSwitch(sw, 1_i); }); + b.Append(b.Case(sw, {Switch::CaseSelector{}}), [&] { b.ExitSwitch(sw, 0_i); }); b.Return(func, sw->Result(0)); }); @@ -1691,10 +1695,10 @@ TEST_F(IR_MergeReturnTest, LoopIfReturnThenContinue) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Body(), [&] { - b.With(b.If(true)->True(), [&] { b.Return(func); }); + b.Append(loop->Body(), [&] { + b.Append(b.If(true)->True(), [&] { b.Return(func); }); b.Continue(loop); }); b.Unreachable(); @@ -1753,9 +1757,9 @@ TEST_F(IR_MergeReturnTest, NestedIfsWithReturns) { auto* func = b.Function("foo", ty.i32()); - b.With(func->Block(), [&] { - b.With(b.If(true)->True(), [&] { - b.With(b.If(true)->True(), [&] { b.Return(func, 1_i); }); + b.Append(func->Block(), [&] { + b.Append(b.If(true)->True(), [&] { + b.Append(b.If(true)->True(), [&] { b.Return(func, 1_i); }); b.Return(func, 2_i); }); b.Return(func, 3_i);
diff --git a/src/tint/lang/core/ir/transform/rename_conflicts_wgsl_test.cc b/src/tint/lang/core/ir/transform/rename_conflicts_wgsl_test.cc index 3ea134c29a..32dd8bf 100644 --- a/src/tint/lang/core/ir/transform/rename_conflicts_wgsl_test.cc +++ b/src/tint/lang/core/ir/transform/rename_conflicts_wgsl_test.cc
@@ -28,7 +28,7 @@ using IR_RenameConflictsWGSLTest = TransformTest; TEST_F(IR_RenameConflictsWGSLTest, NoModify_SingleNamedRootBlockVar) { - b.With(b.RootBlock(), [&] { b.ir.SetName(b.Var(ty.ptr<private_, i32>()), "v"); }); + b.Append(b.RootBlock(), [&] { b.ir.SetName(b.Var(ty.ptr<private_, i32>()), "v"); }); auto* src = R"( %b1 = block { # root @@ -46,7 +46,7 @@ } TEST_F(IR_RenameConflictsWGSLTest, Conflict_TwoRootBlockVarsWithSameName) { - b.With(b.RootBlock(), [&] { + b.Append(b.RootBlock(), [&] { b.ir.SetName(b.Var(ty.ptr<private_, i32>()), "v"); b.ir.SetName(b.Var(ty.ptr<private_, u32>()), "v"); }); @@ -75,7 +75,7 @@ TEST_F(IR_RenameConflictsWGSLTest, Conflict_RootBlockVarAndStructWithSameName) { auto* s = ty.Struct(b.ir.symbols.New("v"), {{b.ir.symbols.New("x"), ty.i32()}}); - b.With(b.RootBlock(), [&] { b.ir.SetName(b.Var(ty.ptr(function, s)), "v"); }); + b.Append(b.RootBlock(), [&] { b.ir.SetName(b.Var(ty.ptr(function, s)), "v"); }); auto* src = R"( v = struct @align(4) { @@ -106,10 +106,10 @@ } TEST_F(IR_RenameConflictsWGSLTest, Conflict_RootBlockVarAndFnWithSameName) { - b.With(b.RootBlock(), [&] { b.ir.SetName(b.Var(ty.ptr<private_, i32>()), "v"); }); + b.Append(b.RootBlock(), [&] { b.ir.SetName(b.Var(ty.ptr<private_, i32>()), "v"); }); auto* fn = b.Function("v", ty.void_()); - b.With(fn->Block(), [&] { b.Return(fn); }); + b.Append(fn->Block(), [&] { b.Return(fn); }); auto* src = R"( %b1 = block { # root @@ -142,12 +142,12 @@ } TEST_F(IR_RenameConflictsWGSLTest, NoModify_RootBlockVar_ShadowedBy_FnVar) { - b.With(b.RootBlock(), [&] { + b.Append(b.RootBlock(), [&] { auto* outer = b.Var(ty.ptr<private_, i32>()); b.ir.SetName(outer, "v"); auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* load_outer = b.Load(outer); auto* inner = b.Var(ty.ptr<function, f32>()); @@ -183,12 +183,12 @@ } TEST_F(IR_RenameConflictsWGSLTest, Conflict_RootBlockVar_ShadowedBy_FnVar) { - b.With(b.RootBlock(), [&] { + b.Append(b.RootBlock(), [&] { auto* outer = b.Var(ty.ptr<private_, i32>()); b.ir.SetName(outer, "v"); auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* inner = b.Var(ty.ptr<function, f32>()); b.ir.SetName(inner, "v"); @@ -238,12 +238,12 @@ TEST_F(IR_RenameConflictsWGSLTest, NoModify_FnVar_ShadowedBy_IfVar) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* outer = b.Var(ty.ptr<function, f32>()); b.ir.SetName(outer, "v"); auto* if_ = b.If(true); - b.With(if_->True(), [&] { + b.Append(if_->True(), [&] { auto* load_outer = b.Load(outer); auto* inner = b.Var(ty.ptr<function, f32>()); @@ -284,12 +284,12 @@ TEST_F(IR_RenameConflictsWGSLTest, Conflict_FnVar_ShadowedBy_IfVar) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* outer = b.Var(ty.ptr<function, f32>()); b.ir.SetName(outer, "v"); auto* if_ = b.If(true); - b.With(if_->True(), [&] { + b.Append(if_->True(), [&] { auto* inner = b.Var(ty.ptr<function, f32>()); b.ir.SetName(inner, "v"); @@ -345,14 +345,14 @@ TEST_F(IR_RenameConflictsWGSLTest, NoModify_LoopInitVar_ShadowedBy_LoopBodyVar) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Initializer(), [&] { + b.Append(loop->Initializer(), [&] { auto* outer = b.Var(ty.ptr<function, f32>()); b.ir.SetName(outer, "v"); b.NextIteration(loop); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* load_outer = b.Load(outer); auto* inner = b.Var(ty.ptr<function, f32>()); @@ -397,14 +397,14 @@ TEST_F(IR_RenameConflictsWGSLTest, Conflict_LoopInitVar_ShadowedBy_LoopBodyVar) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Initializer(), [&] { + b.Append(loop->Initializer(), [&] { auto* outer = b.Var(ty.ptr<function, f32>()); b.ir.SetName(outer, "v"); b.NextIteration(loop); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* inner = b.Var(ty.ptr<function, f32>()); b.ir.SetName(inner, "v"); @@ -467,15 +467,15 @@ TEST_F(IR_RenameConflictsWGSLTest, NoModify_LoopBodyVar_ShadowedBy_LoopContVar) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Initializer(), [&] { b.NextIteration(loop); }); - b.With(loop->Body(), [&] { + b.Append(loop->Initializer(), [&] { b.NextIteration(loop); }); + b.Append(loop->Body(), [&] { auto* outer = b.Var(ty.ptr<function, f32>()); b.ir.SetName(outer, "v"); b.Continue(loop); - b.With(loop->Continuing(), [&] { + b.Append(loop->Continuing(), [&] { auto* load_outer = b.Load(outer); auto* inner = b.Var(ty.ptr<function, f32>()); @@ -523,15 +523,15 @@ TEST_F(IR_RenameConflictsWGSLTest, Conflict_LoopBodyVar_ShadowedBy_LoopContVar) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Initializer(), [&] { b.NextIteration(loop); }); - b.With(loop->Body(), [&] { + b.Append(loop->Initializer(), [&] { b.NextIteration(loop); }); + b.Append(loop->Body(), [&] { auto* outer = b.Var(ty.ptr<function, f32>()); b.ir.SetName(outer, "v"); b.Continue(loop); - b.With(loop->Continuing(), [&] { + b.Append(loop->Continuing(), [&] { auto* inner = b.Var(ty.ptr<function, f32>()); b.ir.SetName(inner, "v"); @@ -604,7 +604,7 @@ b.ir.SetName(p, "i32"); fn->SetParams({p}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { b.Var(ty.ptr<function, i32>()); b.Return(fn); }); @@ -639,7 +639,7 @@ b.ir.SetName(p, "vec2"); fn->SetParams({p}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { b.Var(ty.ptr<function, vec3<i32>>()); b.Return(fn); }); @@ -667,7 +667,7 @@ b.ir.SetName(p, "vec3"); fn->SetParams({p}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { b.Var(ty.ptr<function, vec3<i32>>()); b.Return(fn); }); @@ -702,7 +702,7 @@ b.ir.SetName(p, "mat3x2"); fn->SetParams({p}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { b.Var(ty.ptr<function, mat2x4<f32>>()); b.Return(fn); }); @@ -730,7 +730,7 @@ b.ir.SetName(p, "mat2x4"); fn->SetParams({p}); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { b.Var(ty.ptr<function, mat2x4<f32>>()); b.Return(fn); }); @@ -761,7 +761,7 @@ TEST_F(IR_RenameConflictsWGSLTest, NoModify_BuiltinScalar_ShadowedBy_FnVar) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* v = b.Var(ty.ptr<function, i32>()); b.ir.SetName(v, "f32"); @@ -788,7 +788,7 @@ TEST_F(IR_RenameConflictsWGSLTest, Conflict_BuiltinScalar_ShadowedBy_FnVar) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* v = b.Var(ty.ptr<function, i32>()); b.ir.SetName(v, "i32"); @@ -823,7 +823,7 @@ TEST_F(IR_RenameConflictsWGSLTest, NoModify_BuiltinScalar_ShadowedBy_NamedInst) { auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* i = b.Add(ty.i32(), 1_i, 2_i); b.ir.SetName(i, "i32"); @@ -849,7 +849,7 @@ TEST_F(IR_RenameConflictsWGSLTest, Conflict_BuiltinScalar_ShadowedBy_NamedInst) { auto* fn = b.Function("f", ty.f32()); - b.With(fn->Block(), [&] { + b.Append(fn->Block(), [&] { auto* i = b.Add(ty.i32(), 1_i, 2_i); b.ir.SetName(i, "f32"); @@ -883,7 +883,7 @@ } TEST_F(IR_RenameConflictsWGSLTest, NoModify_BuiltinAddressSpace_ShadowedBy_RootBlockVar) { - b.With(b.RootBlock(), [&] { // + b.Append(b.RootBlock(), [&] { // b.ir.SetName(b.Var(ty.ptr<private_, i32>()), "function"); }); @@ -903,7 +903,7 @@ } TEST_F(IR_RenameConflictsWGSLTest, Conflict_BuiltinAddressSpace_ShadowedBy_RootBlockVar) { - b.With(b.RootBlock(), [&] { // + b.Append(b.RootBlock(), [&] { // b.ir.SetName(b.Var(ty.ptr<private_, i32>()), "private"); }); @@ -928,7 +928,7 @@ } TEST_F(IR_RenameConflictsWGSLTest, NoModify_BuiltinAccess_ShadowedBy_RootBlockVar) { - b.With(b.RootBlock(), [&] { // + b.Append(b.RootBlock(), [&] { // b.ir.SetName(b.Var(ty.ptr<private_, i32>()), "read"); }); @@ -948,7 +948,7 @@ } TEST_F(IR_RenameConflictsWGSLTest, Conflict_BuiltinAccess_ShadowedBy_RootBlockVar) { - b.With(b.RootBlock(), [&] { // + b.Append(b.RootBlock(), [&] { // b.ir.SetName(b.Var(ty.ptr<private_, i32>()), "read_write"); }); @@ -973,13 +973,13 @@ } TEST_F(IR_RenameConflictsWGSLTest, NoModify_BuiltinFn_ShadowedBy_RootBlockVar) { - b.With(b.RootBlock(), [&] { // + b.Append(b.RootBlock(), [&] { // auto* v = b.Var(ty.ptr<private_, i32>()); b.ir.SetName(v, "min"); }); auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { // + b.Append(fn->Block(), [&] { // auto* res = b.Call(ty.i32(), builtin::Function::kMax, 1_i, 2_i)->Result(); b.Return(fn, res); }); @@ -1006,13 +1006,13 @@ } TEST_F(IR_RenameConflictsWGSLTest, Conflict_BuiltinFn_ShadowedBy_RootBlockVar) { - b.With(b.RootBlock(), [&] { // + b.Append(b.RootBlock(), [&] { // auto* v = b.Var(ty.ptr<private_, i32>()); b.ir.SetName(v, "max"); }); auto* fn = b.Function("f", ty.i32()); - b.With(fn->Block(), [&] { // + b.Append(fn->Block(), [&] { // auto* res = b.Call(ty.i32(), builtin::Function::kMax, 1_i, 2_i)->Result(); b.Return(fn, res); });
diff --git a/src/tint/lang/core/ir/transform/shader_io.cc b/src/tint/lang/core/ir/transform/shader_io.cc index 45db03e..a324b93 100644 --- a/src/tint/lang/core/ir/transform/shader_io.cc +++ b/src/tint/lang/core/ir/transform/shader_io.cc
@@ -126,7 +126,7 @@ if (wgsize) { ep->SetWorkgroupSize((*wgsize)[0], (*wgsize)[1], (*wgsize)[2]); } - auto wrapper = b.With(ep->Block()); + auto wrapper = b.Append(ep->Block()); // Call the original function, passing it the inputs and capturing its return value. auto inner_call_args = BuildInnerCallArgs(wrapper);
diff --git a/src/tint/lang/core/ir/transform/shader_io_spirv_test.cc b/src/tint/lang/core/ir/transform/shader_io_spirv_test.cc index e85a5270..dd11fcc 100644 --- a/src/tint/lang/core/ir/transform/shader_io_spirv_test.cc +++ b/src/tint/lang/core/ir/transform/shader_io_spirv_test.cc
@@ -30,7 +30,7 @@ auto* ep = b.Function("foo", ty.void_()); ep->SetStage(Function::PipelineStage::kCompute); - b.With(ep->Block(), [&] { // + b.Append(ep->Block(), [&] { // b.Return(ep); }); @@ -66,9 +66,9 @@ ep->SetParams({front_facing, position, color1, color2}); ep->SetStage(Function::PipelineStage::kFragment); - b.With(ep->Block(), [&] { + b.Append(ep->Block(), [&] { auto* ifelse = b.If(front_facing); - b.With(ifelse->True(), [&] { + b.Append(ifelse->True(), [&] { b.Multiply(ty.vec4<f32>(), position, b.Add(ty.f32(), color1, color2)); b.ExitIf(ifelse); }); @@ -176,9 +176,9 @@ ep->SetParams({str_param}); ep->SetStage(Function::PipelineStage::kFragment); - b.With(ep->Block(), [&] { + b.Append(ep->Block(), [&] { auto* ifelse = b.If(b.Access(ty.bool_(), str_param, 0_i)); - b.With(ifelse->True(), [&] { + b.Append(ifelse->True(), [&] { auto* position = b.Access(ty.vec4<f32>(), str_param, 1_i); auto* color1 = b.Access(ty.f32(), str_param, 2_i); auto* color2 = b.Access(ty.f32(), str_param, 3_i); @@ -302,9 +302,9 @@ ep->SetParams({front_facing, str_param, color2}); ep->SetStage(Function::PipelineStage::kFragment); - b.With(ep->Block(), [&] { + b.Append(ep->Block(), [&] { auto* ifelse = b.If(front_facing); - b.With(ifelse->True(), [&] { + b.Append(ifelse->True(), [&] { auto* position = b.Access(ty.vec4<f32>(), str_param, 0_i); auto* color1 = b.Access(ty.f32(), str_param, 1_i); b.Multiply(ty.vec4<f32>(), position, b.Add(ty.f32(), color1, color2)); @@ -399,7 +399,7 @@ ep->SetReturnInvariant(true); ep->SetStage(Function::PipelineStage::kVertex); - b.With(ep->Block(), [&] { // + b.Append(ep->Block(), [&] { // b.Return(ep, b.Construct(ty.vec4<f32>(), 0.5_f)); }); @@ -448,7 +448,7 @@ ep->SetReturnLocation(1u, {}); ep->SetStage(Function::PipelineStage::kFragment); - b.With(ep->Block(), [&] { // + b.Append(ep->Block(), [&] { // b.Return(ep, b.Construct(ty.vec4<f32>(), 0.5_f)); }); @@ -521,7 +521,7 @@ auto* ep = b.Function("foo", str_ty); ep->SetStage(Function::PipelineStage::kVertex); - b.With(ep->Block(), [&] { // + b.Append(ep->Block(), [&] { // b.Return(ep, b.Construct(str_ty, b.Construct(ty.vec4<f32>(), 0_f), 0.25_f, 0.75_f)); }); @@ -613,7 +613,7 @@ auto* ep = b.Function("vert", str_ty); ep->SetStage(Function::PipelineStage::kVertex); - b.With(ep->Block(), [&] { // + b.Append(ep->Block(), [&] { // auto* position = b.Construct(vec4f, 0_f); auto* color = b.Construct(vec4f, 1_f); b.Return(ep, b.Construct(str_ty, position, color)); @@ -627,7 +627,7 @@ ep->SetStage(Function::PipelineStage::kFragment); ep->SetParams({inputs}); - b.With(ep->Block(), [&] { // + b.Append(ep->Block(), [&] { // auto* position = b.Access(vec4f, inputs, 0_u); auto* color = b.Access(vec4f, inputs, 1_u); b.Return(ep, b.Add(vec4f, position, color)); @@ -762,7 +762,7 @@ auto* ep = b.Function("vert", str_ty); ep->SetStage(Function::PipelineStage::kVertex); - b.With(ep->Block(), [&] { // + b.Append(ep->Block(), [&] { // b.Return(ep, b.Load(buffer)); }); @@ -853,7 +853,7 @@ ep->SetStage(Function::PipelineStage::kFragment); ep->SetParams({mask_in}); - b.With(ep->Block(), [&] { // + b.Append(ep->Block(), [&] { // b.Return(ep, b.Construct(str_ty, 0.5_f, mask_in)); });
diff --git a/src/tint/lang/core/ir/validator_test.cc b/src/tint/lang/core/ir/validator_test.cc index 9921a81..6701b74 100644 --- a/src/tint/lang/core/ir/validator_test.cc +++ b/src/tint/lang/core/ir/validator_test.cc
@@ -126,7 +126,7 @@ auto* obj = b.FunctionParam(ty.vec3<f32>()); f->SetParams({obj}); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Access(ty.f32(), obj, -1_i); b.Return(f); }); @@ -156,7 +156,7 @@ auto* obj = b.FunctionParam(ty.mat3x2<f32>()); f->SetParams({obj}); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Access(ty.f32(), obj, 1_u, 3_u); b.Return(f); }); @@ -190,7 +190,7 @@ auto* obj = b.FunctionParam(ty.ptr<private_, array<array<f32, 2>, 3>>()); f->SetParams({obj}); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Access(ty.ptr<private_, f32>(), obj, 1_u, 3_u); b.Return(f); }); @@ -225,7 +225,7 @@ auto* obj = b.FunctionParam(ty.f32()); f->SetParams({obj}); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Access(ty.f32(), obj, 1_u); b.Return(f); }); @@ -255,7 +255,7 @@ auto* obj = b.FunctionParam(ty.ptr<private_, f32>()); f->SetParams({obj}); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Access(ty.ptr<private_, f32>(), obj, 1_u); b.Return(f); }); @@ -291,7 +291,7 @@ auto* idx = b.FunctionParam(ty.i32()); f->SetParams({obj, idx}); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Access(ty.i32(), obj, idx); b.Return(f); }); @@ -333,7 +333,7 @@ auto* idx = b.FunctionParam(ty.i32()); f->SetParams({obj, idx}); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Access(ty.i32(), obj, idx); b.Return(f); }); @@ -369,7 +369,7 @@ auto* obj = b.FunctionParam(ty.mat3x2<f32>()); f->SetParams({obj}); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Access(ty.i32(), obj, 1_u, 1_u); b.Return(f); }); @@ -400,7 +400,7 @@ auto* obj = b.FunctionParam(ty.ptr<private_, array<array<f32, 2>, 3>>()); f->SetParams({obj}); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Access(ty.ptr<private_, i32>(), obj, 1_u, 1_u); b.Return(f); }); @@ -432,7 +432,7 @@ auto* obj = b.FunctionParam(ty.ptr<private_, array<array<f32, 2>, 3>>()); f->SetParams({obj}); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Access(ty.f32(), obj, 1_u, 1_u); b.Return(f); }); @@ -464,7 +464,7 @@ auto* obj = b.FunctionParam(ty.ptr<private_, vec3<f32>>()); f->SetParams({obj}); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Access(ty.f32(), obj, 1_u); b.Return(f); }); @@ -495,7 +495,7 @@ auto* obj = b.FunctionParam(ty.ptr<private_, mat3x2<f32>>()); f->SetParams({obj}); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Access(ty.f32(), obj, 1_u, 1_u); b.Return(f); }); @@ -526,7 +526,7 @@ auto* obj = b.FunctionParam(ty.vec3<f32>()); f->SetParams({obj}); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Access(ty.f32(), obj, 1_u); b.Return(f); }); @@ -540,7 +540,7 @@ auto* obj = b.FunctionParam(ty.mat3x2<f32>()); f->SetParams({obj}); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Access(ty.f32(), obj, 1_u, 1_u); b.Return(f); }); @@ -552,7 +552,7 @@ TEST_F(IR_ValidatorTest, Block_TerminatorInMiddle) { auto* f = b.Function("my_func", ty.void_()); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Return(f); b.Return(f); }); @@ -741,7 +741,7 @@ auto* l = b.Loop(); l->Body()->Append(b.ExitLoop(l)); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(l); sb.Return(f); @@ -752,7 +752,7 @@ TEST_F(IR_ValidatorTest, Loop_EmptyBody) { auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(b.Loop()); sb.Return(f); @@ -802,7 +802,7 @@ auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(v); sb.Return(f); @@ -829,7 +829,7 @@ TEST_F(IR_ValidatorTest, Var_Init_WrongType) { auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); auto* v = sb.Var(ty.ptr<function, f32>()); sb.Return(f); @@ -861,7 +861,7 @@ auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(v); sb.Return(f); @@ -890,7 +890,7 @@ auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(v); sb.Return(f); @@ -919,7 +919,7 @@ auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(v); sb.Return(f); @@ -946,7 +946,7 @@ TEST_F(IR_ValidatorTest, Instruction_AppendedDead) { auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); auto* v = sb.Var(ty.ptr<function, f32>()); auto* ret = sb.Return(f); @@ -984,7 +984,7 @@ TEST_F(IR_ValidatorTest, Instruction_NullSource) { auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); auto* v = sb.Var(ty.ptr<function, f32>()); sb.Return(f); @@ -1013,7 +1013,7 @@ TEST_F(IR_ValidatorTest, Instruction_DeadOperand) { auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); auto* v = sb.Var(ty.ptr<function, f32>()); sb.Return(f); @@ -1044,7 +1044,7 @@ TEST_F(IR_ValidatorTest, Instruction_OperandUsageRemoved) { auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); auto* v = sb.Var(ty.ptr<function, f32>()); sb.Return(f); @@ -1075,7 +1075,7 @@ TEST_F(IR_ValidatorTest, Binary_LHS_Nullptr) { auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Add(ty.i32(), nullptr, sb.Constant(2_i)); sb.Return(f); @@ -1102,7 +1102,7 @@ TEST_F(IR_ValidatorTest, Binary_RHS_Nullptr) { auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Add(ty.i32(), sb.Constant(2_i), nullptr); sb.Return(f); @@ -1132,7 +1132,7 @@ auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(bin); sb.Return(f); @@ -1159,7 +1159,7 @@ TEST_F(IR_ValidatorTest, Unary_Value_Nullptr) { auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Negation(ty.i32(), nullptr); sb.Return(f); @@ -1189,7 +1189,7 @@ auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(bin); sb.Return(f); @@ -1218,7 +1218,7 @@ auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(bin); sb.Return(f); @@ -1247,7 +1247,7 @@ if_->True()->Append(b.ExitIf(if_)); auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(if_); sb.Return(f); @@ -1260,7 +1260,7 @@ if_->True()->Append(mod.instructions.Create<ExitIf>(nullptr)); auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(if_); sb.Return(f); @@ -1297,7 +1297,7 @@ if_->SetResults(utils::Vector{r1, r2}); auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(if_); sb.Return(f); @@ -1341,7 +1341,7 @@ if_->SetResults(utils::Vector{r1, r2}); auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(if_); sb.Return(f); @@ -1385,7 +1385,7 @@ if_->SetResults(utils::Vector{r1, r2}); auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(if_); sb.Return(f); @@ -1402,7 +1402,7 @@ if_->SetResults(utils::Vector{r1, r2}); auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(if_); sb.Return(f); @@ -1443,7 +1443,7 @@ auto* if_ = b.If(true); if_->True()->Append(b.Return(f)); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(if_); sb.ExitIf(if_); @@ -1478,14 +1478,14 @@ auto* if_inner = b.If(true); auto* if_outer = b.If(true); - b.With(if_outer->True(), [&] { + b.Append(if_outer->True(), [&] { b.Append(if_inner); b.ExitIf(if_outer); }); - b.With(if_inner->True(), [&] { b.ExitIf(if_outer); }); + b.Append(if_inner->True(), [&] { b.ExitIf(if_outer); }); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Append(if_outer); b.Return(f); }); @@ -1530,15 +1530,15 @@ auto* switch_inner = b.Switch(1_i); auto* if_outer = b.If(true); - b.With(if_outer->True(), [&] { + b.Append(if_outer->True(), [&] { b.Append(switch_inner); b.ExitIf(if_outer); }); auto* c = b.Case(switch_inner, {Switch::CaseSelector{b.Constant(1_i)}}); - b.With(c, [&] { b.ExitIf(if_outer); }); + b.Append(c, [&] { b.ExitIf(if_outer); }); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Append(if_outer); b.Return(f); }); @@ -1583,14 +1583,14 @@ auto* loop = b.Loop(); auto* if_outer = b.If(true); - b.With(if_outer->True(), [&] { + b.Append(if_outer->True(), [&] { b.Append(loop); b.ExitIf(if_outer); }); - b.With(loop->Body(), [&] { b.ExitIf(if_outer); }); + b.Append(loop->Body(), [&] { b.ExitIf(if_outer); }); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Append(if_outer); b.Return(f); }); @@ -1636,7 +1636,7 @@ def->Append(b.ExitSwitch(switch_)); auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(switch_); sb.Return(f); @@ -1651,7 +1651,7 @@ def->Append(mod.instructions.Create<ExitSwitch>(nullptr)); auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(switch_); sb.Return(f); @@ -1690,7 +1690,7 @@ def->Append(b.ExitSwitch(switch_, 1_i)); auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(switch_); sb.Return(f); @@ -1734,7 +1734,7 @@ def->Append(b.ExitSwitch(switch_, 1_i, 2_f, 3_i)); auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(switch_); sb.Return(f); @@ -1778,7 +1778,7 @@ def->Append(b.ExitSwitch(switch_, 1_i, 2_f)); auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(switch_); sb.Return(f); @@ -1796,7 +1796,7 @@ def->Append(b.ExitSwitch(switch_, 1_i, 2_i)); auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(switch_); sb.Return(f); @@ -1838,11 +1838,11 @@ auto* def = b.Case(switch_, {Switch::CaseSelector{}}); def->Append(b.Return(f)); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(switch_); auto* if_ = sb.Append(b.If(true)); - b.With(if_->True(), [&] { b.ExitSwitch(switch_); }); + b.Append(if_->True(), [&] { b.ExitSwitch(switch_); }); sb.Append(b.Return(f)); auto res = ir::Validate(mod); @@ -1890,17 +1890,17 @@ auto* f = b.Function("my_func", ty.void_()); auto* def = b.Case(switch_, {Switch::CaseSelector{}}); - b.With(def, [&] { + b.Append(def, [&] { auto* if_ = b.If(true); - b.With(if_->True(), [&] { + b.Append(if_->True(), [&] { auto* inner_if_ = b.If(false); - b.With(inner_if_->True(), [&] { b.ExitSwitch(switch_); }); + b.Append(inner_if_->True(), [&] { b.ExitSwitch(switch_); }); b.Return(f); }); b.ExitSwitch(switch_); }); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(switch_); sb.Return(f); @@ -1912,17 +1912,17 @@ auto* switch_ = b.Switch(true); auto* def = b.Case(switch_, {Switch::CaseSelector{}}); - b.With(def, [&] { + b.Append(def, [&] { auto* inner = b.Switch(false); b.ExitSwitch(switch_); auto* inner_def = b.Case(inner, {Switch::CaseSelector{}}); - b.With(inner_def, [&] { b.ExitSwitch(switch_); }); + b.Append(inner_def, [&] { b.ExitSwitch(switch_); }); }); auto* f = b.Function("my_func", ty.void_()); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Append(switch_); b.Return(f); }); @@ -1965,15 +1965,15 @@ auto* switch_ = b.Switch(true); auto* def = b.Case(switch_, {Switch::CaseSelector{}}); - b.With(def, [&] { + b.Append(def, [&] { auto* loop = b.Loop(); - b.With(loop->Body(), [&] { b.ExitSwitch(switch_); }); + b.Append(loop->Body(), [&] { b.ExitSwitch(switch_); }); b.ExitSwitch(switch_); }); auto* f = b.Function("my_func", ty.void_()); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Append(switch_); b.Return(f); }); @@ -2018,7 +2018,7 @@ loop->Body()->Append(b.ExitLoop(loop)); auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(loop); sb.Return(f); @@ -2032,7 +2032,7 @@ loop->Body()->Append(mod.instructions.Create<ExitLoop>(nullptr)); auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(loop); sb.Return(f); @@ -2073,7 +2073,7 @@ loop->Body()->Append(b.ExitLoop(loop, 1_i)); auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(loop); sb.Return(f); @@ -2120,7 +2120,7 @@ loop->Body()->Append(b.ExitLoop(loop, 1_i, 2_f, 3_i)); auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(loop); sb.Return(f); @@ -2167,7 +2167,7 @@ loop->Body()->Append(b.ExitLoop(loop, 1_i, 2_f)); auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(loop); sb.Return(f); @@ -2185,7 +2185,7 @@ loop->Body()->Append(b.ExitLoop(loop, 1_i, 2_i)); auto* f = b.Function("my_func", ty.void_()); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(loop); sb.Return(f); @@ -2229,11 +2229,11 @@ loop->Continuing()->Append(b.NextIteration(loop)); loop->Body()->Append(b.Return(f)); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(loop); auto* if_ = sb.Append(b.If(true)); - b.With(if_->True(), [&] { b.ExitLoop(loop); }); + b.Append(if_->True(), [&] { b.ExitLoop(loop); }); sb.Append(b.Return(f)); auto res = ir::Validate(mod); @@ -2283,17 +2283,17 @@ auto* f = b.Function("my_func", ty.void_()); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* if_ = b.If(true); - b.With(if_->True(), [&] { + b.Append(if_->True(), [&] { auto* inner_if_ = b.If(false); - b.With(inner_if_->True(), [&] { b.ExitLoop(loop); }); + b.Append(inner_if_->True(), [&] { b.ExitLoop(loop); }); b.Return(f); }); b.ExitLoop(loop); }); - auto sb = b.With(f->Block()); + auto sb = b.Append(f->Block()); sb.Append(loop); sb.Return(f); @@ -2305,17 +2305,17 @@ auto* loop = b.Loop(); loop->Continuing()->Append(b.NextIteration(loop)); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* inner = b.Switch(false); b.ExitLoop(loop); auto* inner_def = b.Case(inner, {Switch::CaseSelector{}}); - b.With(inner_def, [&] { b.ExitLoop(loop); }); + b.Append(inner_def, [&] { b.ExitLoop(loop); }); }); auto* f = b.Function("my_func", ty.void_()); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Append(loop); b.Return(f); }); @@ -2362,15 +2362,15 @@ outer_loop->Continuing()->Append(b.NextIteration(outer_loop)); - b.With(outer_loop->Body(), [&] { + b.Append(outer_loop->Body(), [&] { auto* loop = b.Loop(); - b.With(loop->Body(), [&] { b.ExitLoop(outer_loop); }); + b.Append(loop->Body(), [&] { b.ExitLoop(outer_loop); }); b.ExitLoop(outer_loop); }); auto* f = b.Function("my_func", ty.void_()); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Append(outer_loop); b.Return(f); }); @@ -2420,7 +2420,7 @@ auto* f = b.Function("my_func", ty.void_()); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Append(loop); b.Return(f); }); @@ -2456,17 +2456,17 @@ TEST_F(IR_ValidatorTest, ExitLoop_InvalidInsideContinuingNested) { auto* loop = b.Loop(); - b.With(loop->Continuing(), [&]() { + b.Append(loop->Continuing(), [&]() { auto* if_ = b.If(true); - b.With(if_->True(), [&]() { b.ExitLoop(loop); }); + b.Append(if_->True(), [&]() { b.ExitLoop(loop); }); b.NextIteration(loop); }); - b.With(loop->Body(), [&] { b.Continue(loop); }); + b.Append(loop->Body(), [&] { b.Continue(loop); }); auto* f = b.Function("my_func", ty.void_()); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Append(loop); b.Return(f); }); @@ -2514,11 +2514,11 @@ loop->Initializer()->Append(b.ExitLoop(loop)); loop->Continuing()->Append(b.NextIteration(loop)); - b.With(loop->Body(), [&] { b.Continue(loop); }); + b.Append(loop->Body(), [&] { b.Continue(loop); }); auto* f = b.Function("my_func", ty.void_()); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Append(loop); b.Return(f); }); @@ -2557,18 +2557,18 @@ TEST_F(IR_ValidatorTest, ExitLoop_InvalidInsideInitializerNested) { auto* loop = b.Loop(); - b.With(loop->Initializer(), [&]() { + b.Append(loop->Initializer(), [&]() { auto* if_ = b.If(true); - b.With(if_->True(), [&]() { b.ExitLoop(loop); }); + b.Append(if_->True(), [&]() { b.ExitLoop(loop); }); b.NextIteration(loop); }); loop->Continuing()->Append(b.NextIteration(loop)); - b.With(loop->Body(), [&] { b.Continue(loop); }); + b.Append(loop->Body(), [&] { b.Continue(loop); }); auto* f = b.Function("my_func", ty.void_()); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Append(loop); b.Return(f); }); @@ -2615,7 +2615,7 @@ TEST_F(IR_ValidatorTest, Return) { auto* f = b.Function("my_func", ty.void_()); - b.With(f->Block(), [&] { // + b.Append(f->Block(), [&] { // b.Return(f); }); @@ -2625,7 +2625,7 @@ TEST_F(IR_ValidatorTest, Return_WithValue) { auto* f = b.Function("my_func", ty.i32()); - b.With(f->Block(), [&] { // + b.Append(f->Block(), [&] { // b.Return(f, 42_i); }); @@ -2635,7 +2635,7 @@ TEST_F(IR_ValidatorTest, Return_NullFunction) { auto* f = b.Function("my_func", ty.void_()); - b.With(f->Block(), [&] { // + b.Append(f->Block(), [&] { // b.Return(nullptr); }); @@ -2660,7 +2660,7 @@ TEST_F(IR_ValidatorTest, Return_UnexpectedValue) { auto* f = b.Function("my_func", ty.void_()); - b.With(f->Block(), [&] { // + b.Append(f->Block(), [&] { // b.Return(f, 42_i); }); @@ -2685,7 +2685,7 @@ TEST_F(IR_ValidatorTest, Return_MissingValue) { auto* f = b.Function("my_func", ty.i32()); - b.With(f->Block(), [&] { // + b.Append(f->Block(), [&] { // b.Return(f); }); @@ -2710,7 +2710,7 @@ TEST_F(IR_ValidatorTest, Return_WrongValueType) { auto* f = b.Function("my_func", ty.i32()); - b.With(f->Block(), [&] { // + b.Append(f->Block(), [&] { // b.Return(f, 42_f); }); @@ -2737,7 +2737,7 @@ TEST_F(IR_ValidatorTest, LoadVectorElement_NullResult) { auto* f = b.Function("my_func", ty.void_()); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { auto* var = b.Var(ty.ptr<function, vec3<f32>>()); b.Append(mod.instructions.Create<ir::LoadVectorElement>(nullptr, var->Result(), b.Constant(1_i))); @@ -2769,7 +2769,7 @@ TEST_F(IR_ValidatorTest, LoadVectorElement_NullFrom) { auto* f = b.Function("my_func", ty.void_()); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Append(mod.instructions.Create<ir::LoadVectorElement>(b.InstructionResult(ty.f32()), nullptr, b.Constant(1_i))); b.Return(f); @@ -2798,7 +2798,7 @@ TEST_F(IR_ValidatorTest, LoadVectorElement_NullIndex) { auto* f = b.Function("my_func", ty.void_()); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { auto* var = b.Var(ty.ptr<function, vec3<f32>>()); b.Append(mod.instructions.Create<ir::LoadVectorElement>(b.InstructionResult(ty.f32()), var->Result(), nullptr)); @@ -2829,7 +2829,7 @@ TEST_F(IR_ValidatorTest, StoreVectorElement_NullTo) { auto* f = b.Function("my_func", ty.void_()); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { b.Append(mod.instructions.Create<ir::StoreVectorElement>(nullptr, b.Constant(1_i), b.Constant(2_i))); b.Return(f); @@ -2858,7 +2858,7 @@ TEST_F(IR_ValidatorTest, StoreVectorElement_NullIndex) { auto* f = b.Function("my_func", ty.void_()); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { auto* var = b.Var(ty.ptr<function, vec3<f32>>()); b.Append(mod.instructions.Create<ir::StoreVectorElement>(var->Result(), nullptr, b.Constant(2_i))); @@ -2897,7 +2897,7 @@ TEST_F(IR_ValidatorTest, StoreVectorElement_NullValue) { auto* f = b.Function("my_func", ty.void_()); - b.With(f->Block(), [&] { + b.Append(f->Block(), [&] { auto* var = b.Var(ty.ptr<function, vec3<f32>>()); b.Append(mod.instructions.Create<ir::StoreVectorElement>(var->Result(), b.Constant(1_i), nullptr));
diff --git a/src/tint/lang/spirv/writer/access_test.cc b/src/tint/lang/spirv/writer/access_test.cc index 8ae088f..1061393 100644 --- a/src/tint/lang/spirv/writer/access_test.cc +++ b/src/tint/lang/spirv/writer/access_test.cc
@@ -24,7 +24,7 @@ auto* arr_val = b.FunctionParam("arr", ty.array(ty.i32(), 4)); auto* func = b.Function("foo", ty.void_()); func->SetParams({arr_val}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Access(ty.i32(), arr_val, 1_u); b.Return(func); mod.SetName(result, "result"); @@ -36,7 +36,7 @@ TEST_F(SpirvWriterTest, Access_Array_Pointer_ConstantIndex) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* arr_var = b.Var("arr", ty.ptr<function, array<i32, 4>>()); auto* result = b.Access(ty.ptr<function, i32>(), arr_var, 1_u); b.Return(func); @@ -51,7 +51,7 @@ auto* idx = b.FunctionParam("idx", ty.i32()); auto* func = b.Function("foo", ty.void_()); func->SetParams({idx}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* arr_var = b.Var("arr", ty.ptr<function, array<i32, 4>>()); auto* result = b.Access(ty.ptr<function, i32>(), arr_var, idx); b.Return(func); @@ -66,7 +66,7 @@ auto* mat_val = b.FunctionParam("mat", ty.mat2x2(ty.f32())); auto* func = b.Function("foo", ty.void_()); func->SetParams({mat_val}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result_vector = b.Access(ty.vec2(ty.f32()), mat_val, 1_u); auto* result_scalar = b.Access(ty.f32(), mat_val, 1_u, 0_u); b.Return(func); @@ -81,7 +81,7 @@ TEST_F(SpirvWriterTest, Access_Matrix_Pointer_ConstantIndex) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* mat_var = b.Var("mat", ty.ptr<function, mat2x2<f32>>()); auto* result_vector = b.Access(ty.ptr<function, vec2<f32>>(), mat_var, 1_u); auto* result_scalar = b.LoadVectorElement(result_vector, 0_u); @@ -100,7 +100,7 @@ auto* idx = b.FunctionParam("idx", ty.i32()); auto* func = b.Function("foo", ty.void_()); func->SetParams({idx}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* mat_var = b.Var("mat", ty.ptr<function, mat2x2<f32>>()); auto* result_vector = b.Access(ty.ptr<function, vec2<f32>>(), mat_var, idx); auto* result_scalar = b.LoadVectorElement(result_vector, idx); @@ -119,7 +119,7 @@ auto* vec_val = b.FunctionParam("vec", ty.vec4(ty.i32())); auto* func = b.Function("foo", ty.void_()); func->SetParams({vec_val}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Access(ty.i32(), vec_val, 1_u); b.Return(func); mod.SetName(result, "result"); @@ -134,7 +134,7 @@ auto* idx = b.FunctionParam("idx", ty.i32()); auto* func = b.Function("foo", ty.void_()); func->SetParams({vec_val, idx}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Access(ty.i32(), vec_val, idx); b.Return(func); mod.SetName(result, "result"); @@ -149,7 +149,7 @@ auto* idx = b.FunctionParam("idx", ty.i32()); auto* func = b.Function("foo", ty.void_()); func->SetParams({val, idx}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Access(ty.i32(), val, 1_u, 2_u, idx); b.Return(func); mod.SetName(result, "result"); @@ -169,7 +169,7 @@ auto* str_val = b.FunctionParam("str", str); auto* func = b.Function("foo", ty.void_()); func->SetParams({str_val}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result_a = b.Access(ty.f32(), str_val, 0_u); auto* result_b = b.Access(ty.i32(), str_val, 1_u, 2_u); b.Return(func); @@ -189,7 +189,7 @@ {mod.symbols.Register("b"), ty.vec4<i32>()}, }); auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* str_var = b.Var("str", ty.ptr(function, str, read_write)); auto* result_a = b.Access(ty.ptr<function, f32>(), str_var, 0_u); auto* result_b = b.Access(ty.ptr<function, vec4<i32>>(), str_var, 1_u); @@ -205,7 +205,7 @@ TEST_F(SpirvWriterTest, LoadVectorElement_ConstantIndex) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* vec_var = b.Var("vec", ty.ptr<function, vec4<i32>>()); auto* result = b.LoadVectorElement(vec_var, 1_u); b.Return(func); @@ -221,7 +221,7 @@ auto* idx = b.FunctionParam("idx", ty.i32()); auto* func = b.Function("foo", ty.void_()); func->SetParams({idx}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* vec_var = b.Var("vec", ty.ptr<function, vec4<i32>>()); auto* result = b.LoadVectorElement(vec_var, idx); b.Return(func); @@ -235,7 +235,7 @@ TEST_F(SpirvWriterTest, StoreVectorElement_ConstantIndex) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* vec_var = b.Var("vec", ty.ptr<function, vec4<i32>>()); b.StoreVectorElement(vec_var, 1_u, b.Constant(42_i)); b.Return(func); @@ -250,7 +250,7 @@ auto* idx = b.FunctionParam("idx", ty.i32()); auto* func = b.Function("foo", ty.void_()); func->SetParams({idx}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* vec_var = b.Var("vec", ty.ptr<function, vec4<i32>>()); b.StoreVectorElement(vec_var, idx, b.Constant(42_i)); b.Return(func);
diff --git a/src/tint/lang/spirv/writer/atomic_builtin_test.cc b/src/tint/lang/spirv/writer/atomic_builtin_test.cc index 7667513..da248ce 100644 --- a/src/tint/lang/spirv/writer/atomic_builtin_test.cc +++ b/src/tint/lang/spirv/writer/atomic_builtin_test.cc
@@ -32,7 +32,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({arg1}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* ptr = b.Let("ptr", var); auto* result = b.Call(ty.i32(), builtin::Function::kAtomicAdd, ptr, arg1); b.Return(func, result); @@ -50,7 +50,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({arg1}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kAtomicAdd, var, arg1); b.Return(func, result); mod.SetName(result, "result"); @@ -67,7 +67,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({arg1}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kAtomicAnd, var, arg1); b.Return(func, result); mod.SetName(result, "result"); @@ -85,7 +85,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({cmp, val}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result_ty = type::CreateAtomicCompareExchangeResult(ty, mod.symbols, ty.i32()); auto* result = b.Call(result_ty, builtin::Function::kAtomicCompareExchangeWeak, var, cmp, val); @@ -109,7 +109,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({arg1}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kAtomicExchange, var, arg1); b.Return(func, result); mod.SetName(result, "result"); @@ -124,7 +124,7 @@ auto* func = b.Function("foo", ty.i32()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kAtomicLoad, var); b.Return(func, result); mod.SetName(result, "result"); @@ -141,7 +141,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({arg1}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kAtomicMax, var, arg1); b.Return(func, result); mod.SetName(result, "result"); @@ -158,7 +158,7 @@ auto* func = b.Function("foo", ty.u32()); func->SetParams({arg1}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.u32(), builtin::Function::kAtomicMax, var, arg1); b.Return(func, result); mod.SetName(result, "result"); @@ -175,7 +175,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({arg1}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kAtomicMin, var, arg1); b.Return(func, result); mod.SetName(result, "result"); @@ -192,7 +192,7 @@ auto* func = b.Function("foo", ty.u32()); func->SetParams({arg1}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.u32(), builtin::Function::kAtomicMin, var, arg1); b.Return(func, result); mod.SetName(result, "result"); @@ -209,7 +209,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({arg1}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kAtomicOr, var, arg1); b.Return(func, result); mod.SetName(result, "result"); @@ -226,7 +226,7 @@ auto* func = b.Function("foo", ty.void_()); func->SetParams({arg1}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { b.Call(ty.void_(), builtin::Function::kAtomicStore, var, arg1); b.Return(func); }); @@ -242,7 +242,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({arg1}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kAtomicSub, var, arg1); b.Return(func, result); mod.SetName(result, "result"); @@ -259,7 +259,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({arg1}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kAtomicXor, var, arg1); b.Return(func, result); mod.SetName(result, "result");
diff --git a/src/tint/lang/spirv/writer/binary_test.cc b/src/tint/lang/spirv/writer/binary_test.cc index 23cf93c..eb1ae08 100644 --- a/src/tint/lang/spirv/writer/binary_test.cc +++ b/src/tint/lang/spirv/writer/binary_test.cc
@@ -38,7 +38,7 @@ auto params = GetParam(); auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* lhs = MakeScalarValue(params.type); auto* rhs = MakeScalarValue(params.type); auto* result = b.Binary(params.kind, MakeScalarType(params.type), lhs, rhs); @@ -53,7 +53,7 @@ auto params = GetParam(); auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* lhs = MakeVectorValue(params.type); auto* rhs = MakeVectorValue(params.type); auto* result = b.Binary(params.kind, MakeVectorType(params.type), lhs, rhs); @@ -119,7 +119,7 @@ auto* vector = b.FunctionParam("vector", ty.vec4<f32>()); auto* func = b.Function("foo", ty.void_()); func->SetParams({scalar, vector}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Multiply(ty.vec4<f32>(), scalar, vector); b.Return(func); mod.SetName(result, "result"); @@ -134,7 +134,7 @@ auto* vector = b.FunctionParam("vector", ty.vec4<f32>()); auto* func = b.Function("foo", ty.void_()); func->SetParams({scalar, vector}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Multiply(ty.vec4<f32>(), vector, scalar); b.Return(func); mod.SetName(result, "result"); @@ -149,7 +149,7 @@ auto* matrix = b.FunctionParam("matrix", ty.mat3x4<f32>()); auto* func = b.Function("foo", ty.void_()); func->SetParams({scalar, matrix}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Multiply(ty.mat3x4<f32>(), scalar, matrix); b.Return(func); mod.SetName(result, "result"); @@ -164,7 +164,7 @@ auto* matrix = b.FunctionParam("matrix", ty.mat3x4<f32>()); auto* func = b.Function("foo", ty.void_()); func->SetParams({scalar, matrix}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Multiply(ty.mat3x4<f32>(), matrix, scalar); b.Return(func); mod.SetName(result, "result"); @@ -179,7 +179,7 @@ auto* matrix = b.FunctionParam("matrix", ty.mat3x4<f32>()); auto* func = b.Function("foo", ty.void_()); func->SetParams({vector, matrix}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Multiply(ty.vec3<f32>(), vector, matrix); b.Return(func); mod.SetName(result, "result"); @@ -194,7 +194,7 @@ auto* matrix = b.FunctionParam("matrix", ty.mat3x4<f32>()); auto* func = b.Function("foo", ty.void_()); func->SetParams({vector, matrix}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Multiply(ty.vec4<f32>(), matrix, vector); b.Return(func); mod.SetName(result, "result"); @@ -209,7 +209,7 @@ auto* mat2 = b.FunctionParam("mat2", ty.mat3x4<f32>()); auto* func = b.Function("foo", ty.void_()); func->SetParams({mat1, mat2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Multiply(ty.mat3x3<f32>(), mat1, mat2); b.Return(func); mod.SetName(result, "result"); @@ -224,7 +224,7 @@ auto params = GetParam(); auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* lhs = MakeScalarValue(params.type); auto* rhs = MakeScalarValue(params.type); auto* result = b.Binary(params.kind, ty.bool_(), lhs, rhs); @@ -240,7 +240,7 @@ auto params = GetParam(); auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* lhs = MakeVectorValue(params.type); auto* rhs = MakeVectorValue(params.type); auto* result = b.Binary(params.kind, ty.vec2<bool>(), lhs, rhs); @@ -301,7 +301,7 @@ TEST_F(SpirvWriterTest, Binary_Chain) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* sub = b.Subtract(ty.i32(), 1_i, 2_i); auto* add = b.Add(ty.i32(), sub, sub); b.Return(func);
diff --git a/src/tint/lang/spirv/writer/bitcast_test.cc b/src/tint/lang/spirv/writer/bitcast_test.cc index 3b57441..5faaa0c 100644 --- a/src/tint/lang/spirv/writer/bitcast_test.cc +++ b/src/tint/lang/spirv/writer/bitcast_test.cc
@@ -40,7 +40,7 @@ auto& params = GetParam(); auto* func = b.Function("foo", MakeScalarType(params.out)); func->SetParams({b.FunctionParam("arg", MakeScalarType(params.in))}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Bitcast(MakeScalarType(params.out), func->Params()[0]); b.Return(func, result); mod.SetName(result, "result"); @@ -57,7 +57,7 @@ auto& params = GetParam(); auto* func = b.Function("foo", MakeVectorType(params.out)); func->SetParams({b.FunctionParam("arg", MakeVectorType(params.in))}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Bitcast(MakeVectorType(params.out), func->Params()[0]); b.Return(func, result); mod.SetName(result, "result"); @@ -95,7 +95,7 @@ TEST_F(SpirvWriterTest, Bitcast_u32_to_vec2h) { auto* func = b.Function("foo", ty.vec2<f16>()); func->SetParams({b.FunctionParam("arg", ty.u32())}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Bitcast(ty.vec2<f16>(), func->Params()[0]); b.Return(func, result); mod.SetName(result, "result"); @@ -108,7 +108,7 @@ TEST_F(SpirvWriterTest, Bitcast_vec2i_to_vec4h) { auto* func = b.Function("foo", ty.vec4<f16>()); func->SetParams({b.FunctionParam("arg", ty.vec2<i32>())}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Bitcast(ty.vec4<f16>(), func->Params()[0]); b.Return(func, result); mod.SetName(result, "result"); @@ -121,7 +121,7 @@ TEST_F(SpirvWriterTest, Bitcast_vec2h_to_u32) { auto* func = b.Function("foo", ty.u32()); func->SetParams({b.FunctionParam("arg", ty.vec2<f16>())}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Bitcast(ty.u32(), func->Params()[0]); b.Return(func, result); mod.SetName(result, "result"); @@ -134,7 +134,7 @@ TEST_F(SpirvWriterTest, Bitcast_vec4h_to_vec2i) { auto* func = b.Function("foo", ty.vec2<i32>()); func->SetParams({b.FunctionParam("arg", ty.vec4<f16>())}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Bitcast(ty.vec2<i32>(), func->Params()[0]); b.Return(func, result); mod.SetName(result, "result");
diff --git a/src/tint/lang/spirv/writer/builtin_test.cc b/src/tint/lang/spirv/writer/builtin_test.cc index 45bbca0..b922413 100644 --- a/src/tint/lang/spirv/writer/builtin_test.cc +++ b/src/tint/lang/spirv/writer/builtin_test.cc
@@ -39,7 +39,7 @@ auto params = GetParam(); auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { b.Call(MakeScalarType(params.type), params.function, MakeScalarValue(params.type)); b.Return(func); }); @@ -51,7 +51,7 @@ auto params = GetParam(); auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { b.Call(MakeVectorType(params.type), params.function, MakeVectorValue(params.type)); b.Return(func); }); @@ -136,7 +136,7 @@ // Test that abs of an unsigned value just folds away. TEST_F(SpirvWriterTest, Builtin_Abs_u32) { auto* func = b.Function("foo", MakeScalarType(kU32)); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* arg = MakeScalarValue(kU32); auto* result = b.Call(MakeScalarType(kU32), builtin::Function::kAbs, arg); b.Return(func, result); @@ -154,7 +154,7 @@ TEST_F(SpirvWriterTest, Builtin_Abs_vec2u) { auto* func = b.Function("foo", MakeVectorType(kU32)); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* arg = MakeVectorValue(kU32); auto* result = b.Call(MakeVectorType(kU32), builtin::Function::kAbs, arg); b.Return(func, result); @@ -175,7 +175,7 @@ auto* arg = b.FunctionParam("arg", ty.bool_()); auto* func = b.Function("foo", ty.bool_()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.bool_(), builtin::Function::kAll, arg); b.Return(func, result); }); @@ -188,7 +188,7 @@ auto* arg = b.FunctionParam("arg", ty.vec4<bool>()); auto* func = b.Function("foo", ty.bool_()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.bool_(), builtin::Function::kAll, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -203,7 +203,7 @@ auto* arg = b.FunctionParam("arg", ty.bool_()); auto* func = b.Function("foo", ty.bool_()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.bool_(), builtin::Function::kAny, arg); b.Return(func, result); }); @@ -216,7 +216,7 @@ auto* arg = b.FunctionParam("arg", ty.vec4<bool>()); auto* func = b.Function("foo", ty.bool_()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.bool_(), builtin::Function::kAny, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -230,7 +230,7 @@ auto* arg = b.FunctionParam("arg", ty.mat4x4<f32>()); auto* func = b.Function("foo", ty.f32()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.f32(), builtin::Function::kDeterminant, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -244,7 +244,7 @@ auto* arg = b.FunctionParam("arg", ty.mat3x3<f16>()); auto* func = b.Function("foo", ty.f16()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.f16(), builtin::Function::kDeterminant, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -259,7 +259,7 @@ auto* arg = b.FunctionParam("arg", ty.f32()); auto* func = b.Function("foo", str); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(str, builtin::Function::kFrexp, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -274,7 +274,7 @@ auto* arg = b.FunctionParam("arg", ty.f16()); auto* func = b.Function("foo", str); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(str, builtin::Function::kFrexp, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -289,7 +289,7 @@ auto* arg = b.FunctionParam("arg", ty.vec2<f32>()); auto* func = b.Function("foo", str); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(str, builtin::Function::kFrexp, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -304,7 +304,7 @@ auto* arg = b.FunctionParam("arg", ty.vec3<f16>()); auto* func = b.Function("foo", str); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(str, builtin::Function::kFrexp, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -318,7 +318,7 @@ auto* arg = b.FunctionParam("arg", ty.vec4<f32>()); auto* func = b.Function("foo", ty.f32()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.f32(), builtin::Function::kLength, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -333,7 +333,7 @@ auto* arg = b.FunctionParam("arg", ty.f32()); auto* func = b.Function("foo", str); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(str, builtin::Function::kModf, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -348,7 +348,7 @@ auto* arg = b.FunctionParam("arg", ty.f16()); auto* func = b.Function("foo", str); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(str, builtin::Function::kModf, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -363,7 +363,7 @@ auto* arg = b.FunctionParam("arg", ty.vec2<f32>()); auto* func = b.Function("foo", str); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(str, builtin::Function::kModf, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -378,7 +378,7 @@ auto* arg = b.FunctionParam("arg", ty.vec3<f16>()); auto* func = b.Function("foo", str); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(str, builtin::Function::kModf, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -392,7 +392,7 @@ auto* arg = b.FunctionParam("arg", ty.vec4<f32>()); auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<f32>(), builtin::Function::kNormalize, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -406,7 +406,7 @@ auto* arg = b.FunctionParam("arg", ty.mat2x3<f32>()); auto* func = b.Function("foo", ty.mat3x2<f32>()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.mat3x2<f32>(), builtin::Function::kTranspose, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -420,7 +420,7 @@ auto* arg = b.FunctionParam("arg", ty.mat4x4<f32>()); auto* func = b.Function("foo", ty.mat4x4<f32>()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.mat4x4<f32>(), builtin::Function::kTranspose, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -434,7 +434,7 @@ auto* arg = b.FunctionParam("arg", ty.mat4x3<f16>()); auto* func = b.Function("foo", ty.mat3x4<f16>()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.mat3x4<f16>(), builtin::Function::kTranspose, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -448,7 +448,7 @@ auto* arg = b.FunctionParam("arg", ty.mat2x2<f16>()); auto* func = b.Function("foo", ty.mat2x2<f16>()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.mat2x2<f16>(), builtin::Function::kTranspose, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -462,7 +462,7 @@ auto* arg = b.FunctionParam("arg", ty.vec2<f32>()); auto* func = b.Function("foo", ty.u32()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.u32(), builtin::Function::kPack2X16Float, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -476,7 +476,7 @@ auto* arg = b.FunctionParam("arg", ty.vec2<f32>()); auto* func = b.Function("foo", ty.u32()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.u32(), builtin::Function::kPack2X16Snorm, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -490,7 +490,7 @@ auto* arg = b.FunctionParam("arg", ty.vec2<f32>()); auto* func = b.Function("foo", ty.u32()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.u32(), builtin::Function::kPack2X16Unorm, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -504,7 +504,7 @@ auto* arg = b.FunctionParam("arg", ty.vec4<f32>()); auto* func = b.Function("foo", ty.u32()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.u32(), builtin::Function::kPack4X8Snorm, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -518,7 +518,7 @@ auto* arg = b.FunctionParam("arg", ty.vec4<f32>()); auto* func = b.Function("foo", ty.u32()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.u32(), builtin::Function::kPack4X8Unorm, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -532,7 +532,7 @@ auto* arg = b.FunctionParam("arg", ty.u32()); auto* func = b.Function("foo", ty.vec2<f32>()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec2<f32>(), builtin::Function::kUnpack2X16Float, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -546,7 +546,7 @@ auto* arg = b.FunctionParam("arg", ty.u32()); auto* func = b.Function("foo", ty.vec2<f32>()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec2<f32>(), builtin::Function::kUnpack2X16Snorm, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -560,7 +560,7 @@ auto* arg = b.FunctionParam("arg", ty.u32()); auto* func = b.Function("foo", ty.vec2<f32>()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec2<f32>(), builtin::Function::kUnpack2X16Unorm, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -574,7 +574,7 @@ auto* arg = b.FunctionParam("arg", ty.u32()); auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<f32>(), builtin::Function::kUnpack4X8Snorm, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -588,7 +588,7 @@ auto* arg = b.FunctionParam("arg", ty.u32()); auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<f32>(), builtin::Function::kUnpack4X8Unorm, arg); b.Return(func, result); mod.SetName(result, "result"); @@ -604,7 +604,7 @@ auto params = GetParam(); auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { b.Call(MakeScalarType(params.type), params.function, MakeScalarValue(params.type), MakeScalarValue(params.type)); b.Return(func); @@ -617,7 +617,7 @@ auto params = GetParam(); auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { b.Call(MakeVectorType(params.type), params.function, MakeVectorValue(params.type), MakeVectorValue(params.type)); b.Return(func); @@ -645,7 +645,7 @@ auto* arg2 = b.FunctionParam("arg2", ty.vec3<f32>()); auto* func = b.Function("foo", ty.vec3<f32>()); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec3<f32>(), builtin::Function::kCross, arg1, arg2); b.Return(func, result); mod.SetName(result, "result"); @@ -660,7 +660,7 @@ auto* arg2 = b.FunctionParam("arg2", MakeVectorType(kF32)); auto* func = b.Function("foo", MakeScalarType(kF32)); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(MakeScalarType(kF32), builtin::Function::kDistance, arg1, arg2); b.Return(func, result); mod.SetName(result, "result"); @@ -675,7 +675,7 @@ auto* arg2 = b.FunctionParam("arg2", MakeVectorType(kF16)); auto* func = b.Function("foo", MakeScalarType(kF16)); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(MakeScalarType(kF16), builtin::Function::kDistance, arg1, arg2); b.Return(func, result); mod.SetName(result, "result"); @@ -690,7 +690,7 @@ auto* arg2 = b.FunctionParam("arg2", ty.vec4<f32>()); auto* func = b.Function("foo", ty.f32()); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.f32(), builtin::Function::kDot, arg1, arg2); b.Return(func, result); mod.SetName(result, "result"); @@ -705,7 +705,7 @@ auto* arg2 = b.FunctionParam("arg2", ty.vec2<i32>()); auto* func = b.Function("foo", ty.i32()); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kDot, arg1, arg2); b.Return(func, result); mod.SetName(result, "result"); @@ -728,7 +728,7 @@ auto* arg2 = b.FunctionParam("arg2", ty.vec4<u32>()); auto* func = b.Function("foo", ty.u32()); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.u32(), builtin::Function::kDot, arg1, arg2); b.Return(func, result); mod.SetName(result, "result"); @@ -759,7 +759,7 @@ auto* arg2 = b.FunctionParam("arg2", ty.i32()); auto* func = b.Function("foo", ty.f32()); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.f32(), builtin::Function::kLdexp, arg1, arg2); b.Return(func, result); mod.SetName(result, "result"); @@ -774,7 +774,7 @@ auto* arg2 = b.FunctionParam("arg2", ty.i32()); auto* func = b.Function("foo", ty.f16()); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.f16(), builtin::Function::kLdexp, arg1, arg2); b.Return(func, result); mod.SetName(result, "result"); @@ -789,7 +789,7 @@ auto* arg2 = b.FunctionParam("arg2", ty.vec2<i32>()); auto* func = b.Function("foo", ty.vec2<f32>()); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec2<f32>(), builtin::Function::kLdexp, arg1, arg2); b.Return(func, result); mod.SetName(result, "result"); @@ -804,7 +804,7 @@ auto* arg2 = b.FunctionParam("arg2", ty.vec3<i32>()); auto* func = b.Function("foo", ty.vec3<f16>()); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec3<f16>(), builtin::Function::kLdexp, arg1, arg2); b.Return(func, result); mod.SetName(result, "result"); @@ -819,7 +819,7 @@ auto* arg2 = b.FunctionParam("arg2", ty.vec3<f32>()); auto* func = b.Function("foo", ty.vec3<f32>()); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec3<f32>(), builtin::Function::kReflect, arg1, arg2); b.Return(func, result); mod.SetName(result, "result"); @@ -834,7 +834,7 @@ auto* arg2 = b.FunctionParam("arg2", ty.vec4<f16>()); auto* func = b.Function("foo", ty.vec4<f16>()); func->SetParams({arg1, arg2}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<f16>(), builtin::Function::kReflect, arg1, arg2); b.Return(func, result); mod.SetName(result, "result"); @@ -850,7 +850,7 @@ auto params = GetParam(); auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { b.Call(MakeScalarType(params.type), params.function, MakeScalarValue(params.type), MakeScalarValue(params.type), MakeScalarValue(params.type)); b.Return(func); @@ -863,7 +863,7 @@ auto params = GetParam(); auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { b.Call(MakeVectorType(params.type), params.function, MakeVectorValue(params.type), MakeVectorValue(params.type), MakeVectorValue(params.type)); b.Return(func); @@ -892,7 +892,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({arg, offset, count}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kExtractBits, arg, offset, count); b.Return(func, result); mod.SetName(result, "result"); @@ -909,7 +909,7 @@ auto* func = b.Function("foo", ty.u32()); func->SetParams({arg, offset, count}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.u32(), builtin::Function::kExtractBits, arg, offset, count); b.Return(func, result); mod.SetName(result, "result"); @@ -926,7 +926,7 @@ auto* func = b.Function("foo", ty.vec4<i32>()); func->SetParams({arg, offset, count}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<i32>(), builtin::Function::kExtractBits, arg, offset, count); b.Return(func, result); mod.SetName(result, "result"); @@ -943,7 +943,7 @@ auto* func = b.Function("foo", ty.vec2<u32>()); func->SetParams({arg, offset, count}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec2<u32>(), builtin::Function::kExtractBits, arg, offset, count); b.Return(func, result); mod.SetName(result, "result"); @@ -961,7 +961,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({arg, newbits, offset, count}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kInsertBits, arg, newbits, offset, count); b.Return(func, result); @@ -980,7 +980,7 @@ auto* func = b.Function("foo", ty.u32()); func->SetParams({arg, newbits, offset, count}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.u32(), builtin::Function::kInsertBits, arg, newbits, offset, count); b.Return(func, result); @@ -999,7 +999,7 @@ auto* func = b.Function("foo", ty.vec4<i32>()); func->SetParams({arg, newbits, offset, count}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<i32>(), builtin::Function::kInsertBits, arg, newbits, offset, count); b.Return(func, result); @@ -1018,7 +1018,7 @@ auto* func = b.Function("foo", ty.vec2<u32>()); func->SetParams({arg, newbits, offset, count}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec2<u32>(), builtin::Function::kInsertBits, arg, newbits, offset, count); b.Return(func, result); @@ -1035,7 +1035,7 @@ auto* arg3 = b.FunctionParam("arg3", ty.vec3<f32>()); auto* func = b.Function("foo", ty.vec3<f32>()); func->SetParams({arg1, arg2, arg3}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec3<f32>(), builtin::Function::kFaceForward, arg1, arg2, arg3); b.Return(func, result); mod.SetName(result, "result"); @@ -1051,7 +1051,7 @@ auto* arg3 = b.FunctionParam("arg3", ty.vec4<f16>()); auto* func = b.Function("foo", ty.vec4<f16>()); func->SetParams({arg1, arg2, arg3}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<f16>(), builtin::Function::kFaceForward, arg1, arg2, arg3); b.Return(func, result); mod.SetName(result, "result"); @@ -1068,7 +1068,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({arg1, arg2, factor}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<f32>(), builtin::Function::kMix, arg1, arg2, factor); b.Return(func, result); mod.SetName(result, "result"); @@ -1086,7 +1086,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({arg1, arg2, factor}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<f32>(), builtin::Function::kMix, arg1, arg2, factor); b.Return(func, result); mod.SetName(result, "result"); @@ -1103,7 +1103,7 @@ auto* func = b.Function("foo", ty.vec4<f32>()); func->SetParams({arg1, arg2, i}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<f32>(), builtin::Function::kRefract, arg1, arg2, i); b.Return(func, result); mod.SetName(result, "result"); @@ -1120,7 +1120,7 @@ auto* func = b.Function("foo", ty.vec4<f16>()); func->SetParams({arg1, arg2, i}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<f16>(), builtin::Function::kRefract, arg1, arg2, i); b.Return(func, result); mod.SetName(result, "result"); @@ -1137,7 +1137,7 @@ auto* func = b.Function("foo", ty.i32()); func->SetParams({argf, argt, cond}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.i32(), builtin::Function::kSelect, argf, argt, cond); b.Return(func, result); mod.SetName(result, "result"); @@ -1154,7 +1154,7 @@ auto* func = b.Function("foo", ty.vec4<i32>()); func->SetParams({argf, argt, cond}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<i32>(), builtin::Function::kSelect, argf, argt, cond); b.Return(func, result); mod.SetName(result, "result"); @@ -1171,7 +1171,7 @@ auto* func = b.Function("foo", ty.vec4<i32>()); func->SetParams({argf, argt, cond}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Call(ty.vec4<i32>(), builtin::Function::kSelect, argf, argt, cond); b.Return(func, result); mod.SetName(result, "result"); @@ -1184,7 +1184,7 @@ TEST_F(SpirvWriterTest, Builtin_StorageBarrier) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { b.Call(ty.void_(), builtin::Function::kStorageBarrier); b.Return(func); }); @@ -1195,7 +1195,7 @@ TEST_F(SpirvWriterTest, Builtin_WorkgroupBarrier) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { b.Call(ty.void_(), builtin::Function::kWorkgroupBarrier); b.Return(func); }); @@ -1210,7 +1210,7 @@ b.RootBlock()->Append(var); auto* func = b.Function("foo", ty.u32()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* ptr = b.Let("ptr", var); auto* result = b.Call(ty.u32(), builtin::Function::kArrayLength, ptr); b.Return(func, result); @@ -1234,7 +1234,7 @@ b.RootBlock()->Append(var); auto* func = b.Function("foo", ty.u32()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* ptr = b.Let("ptr", b.Access(ty.ptr(storage, arr), var, 2_u)); auto* result = b.Call(ty.u32(), builtin::Function::kArrayLength, ptr); b.Return(func, result);
diff --git a/src/tint/lang/spirv/writer/construct_test.cc b/src/tint/lang/spirv/writer/construct_test.cc index cf2decb..67be9a4 100644 --- a/src/tint/lang/spirv/writer/construct_test.cc +++ b/src/tint/lang/spirv/writer/construct_test.cc
@@ -28,7 +28,7 @@ b.FunctionParam("c", ty.i32()), b.FunctionParam("d", ty.i32()), }); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Construct(ty.vec4<i32>(), func->Params()); b.Return(func, result); mod.SetName(result, "result"); @@ -45,7 +45,7 @@ b.FunctionParam("b", ty.vec4<f32>()), b.FunctionParam("c", ty.vec4<f32>()), }); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Construct(ty.mat3x4<f32>(), func->Params()); b.Return(func, result); mod.SetName(result, "result"); @@ -63,7 +63,7 @@ b.FunctionParam("c", ty.f32()), b.FunctionParam("d", ty.f32()), }); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Construct(ty.array<f32, 4>(), func->Params()); b.Return(func, result); mod.SetName(result, "result"); @@ -86,7 +86,7 @@ b.FunctionParam("b", ty.u32()), b.FunctionParam("c", ty.vec4<f32>()), }); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Construct(str, func->Params()); b.Return(func, result); mod.SetName(result, "result"); @@ -99,7 +99,7 @@ TEST_F(SpirvWriterTest, Construct_Scalar_Identity) { auto* func = b.Function("foo", ty.i32()); func->SetParams({b.FunctionParam("arg", ty.i32())}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Construct(ty.i32(), func->Params()[0]); b.Return(func, result); }); @@ -111,7 +111,7 @@ TEST_F(SpirvWriterTest, Construct_Vector_Identity) { auto* func = b.Function("foo", ty.vec4<i32>()); func->SetParams({b.FunctionParam("arg", ty.vec4<i32>())}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Construct(ty.vec4<i32>(), func->Params()[0]); b.Return(func, result); });
diff --git a/src/tint/lang/spirv/writer/convert_test.cc b/src/tint/lang/spirv/writer/convert_test.cc index 9a73271..318cc47 100644 --- a/src/tint/lang/spirv/writer/convert_test.cc +++ b/src/tint/lang/spirv/writer/convert_test.cc
@@ -42,7 +42,7 @@ auto& params = GetParam(); auto* func = b.Function("foo", MakeScalarType(params.out)); func->SetParams({b.FunctionParam("arg", MakeScalarType(params.in))}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Convert(MakeScalarType(params.out), func->Params()[0]); b.Return(func, result); mod.SetName(result, "result"); @@ -55,7 +55,7 @@ auto& params = GetParam(); auto* func = b.Function("foo", MakeVectorType(params.out)); func->SetParams({b.FunctionParam("arg", MakeVectorType(params.in))}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Convert(MakeVectorType(params.out), func->Params()[0]); b.Return(func, result); mod.SetName(result, "result"); @@ -101,7 +101,7 @@ TEST_F(SpirvWriterTest, Convert_Mat2x3_F16_to_F32) { auto* func = b.Function("foo", ty.mat2x3<f32>()); func->SetParams({b.FunctionParam("arg", ty.mat2x3<f16>())}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Convert(ty.mat2x3<f32>(), func->Params()[0]); b.Return(func, result); mod.SetName(result, "result"); @@ -120,7 +120,7 @@ TEST_F(SpirvWriterTest, Convert_Mat4x2_F32_to_F16) { auto* func = b.Function("foo", ty.mat4x2<f16>()); func->SetParams({b.FunctionParam("arg", ty.mat4x2<f32>())}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Convert(ty.mat4x2<f16>(), func->Params()[0]); b.Return(func, result); mod.SetName(result, "result");
diff --git a/src/tint/lang/spirv/writer/discard_test.cc b/src/tint/lang/spirv/writer/discard_test.cc index af7446c..435c217 100644 --- a/src/tint/lang/spirv/writer/discard_test.cc +++ b/src/tint/lang/spirv/writer/discard_test.cc
@@ -31,9 +31,9 @@ ep->SetParams({front_facing}); ep->SetReturnLocation(0_u, {}); - b.With(ep->Block(), [&] { + b.Append(ep->Block(), [&] { auto* ifelse = b.If(front_facing); - b.With(ifelse->True(), [&] { // + b.Append(ifelse->True(), [&] { // b.Discard(); b.ExitIf(ifelse); });
diff --git a/src/tint/lang/spirv/writer/function_test.cc b/src/tint/lang/spirv/writer/function_test.cc index 54196dc..f3ef5b8 100644 --- a/src/tint/lang/spirv/writer/function_test.cc +++ b/src/tint/lang/spirv/writer/function_test.cc
@@ -22,7 +22,7 @@ TEST_F(SpirvWriterTest, Function_Empty) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { // + b.Append(func->Block(), [&] { // b.Return(func); }); @@ -38,15 +38,15 @@ // Test that we do not emit the same function type more than once. TEST_F(SpirvWriterTest, Function_DeduplicateType) { auto* func_a = b.Function("func_a", ty.void_()); - b.With(func_a->Block(), [&] { // + b.Append(func_a->Block(), [&] { // b.Return(func_a); }); auto* func_b = b.Function("func_b", ty.void_()); - b.With(func_b->Block(), [&] { // + b.Append(func_b->Block(), [&] { // b.Return(func_b); }); auto* func_c = b.Function("func_c", ty.void_()); - b.With(func_c->Block(), [&] { // + b.Append(func_c->Block(), [&] { // b.Return(func_c); }); @@ -79,7 +79,7 @@ TEST_F(SpirvWriterTest, Function_EntryPoint_Compute) { auto* func = b.Function("main", ty.void_(), ir::Function::PipelineStage::kCompute, {{32, 4, 1}}); - b.With(func->Block(), [&] { // + b.Append(func->Block(), [&] { // b.Return(func); }); @@ -105,7 +105,7 @@ TEST_F(SpirvWriterTest, Function_EntryPoint_Fragment) { auto* func = b.Function("main", ty.void_(), ir::Function::PipelineStage::kFragment); - b.With(func->Block(), [&] { // + b.Append(func->Block(), [&] { // b.Return(func); }); @@ -131,7 +131,7 @@ TEST_F(SpirvWriterTest, Function_EntryPoint_Vertex) { auto* func = b.Function("main", ty.void_(), ir::Function::PipelineStage::kVertex); - b.With(func->Block(), [&] { // + b.Append(func->Block(), [&] { // b.Return(func); }); @@ -156,17 +156,17 @@ TEST_F(SpirvWriterTest, Function_EntryPoint_Multiple) { auto* f1 = b.Function("main1", ty.void_(), ir::Function::PipelineStage::kCompute, {{32, 4, 1}}); - b.With(f1->Block(), [&] { // + b.Append(f1->Block(), [&] { // b.Return(f1); }); auto* f2 = b.Function("main2", ty.void_(), ir::Function::PipelineStage::kCompute, {{8, 2, 16}}); - b.With(f2->Block(), [&] { // + b.Append(f2->Block(), [&] { // b.Return(f2); }); auto* f3 = b.Function("main3", ty.void_(), ir::Function::PipelineStage::kFragment); - b.With(f3->Block(), [&] { // + b.Append(f3->Block(), [&] { // b.Return(f3); }); @@ -210,7 +210,7 @@ TEST_F(SpirvWriterTest, Function_ReturnValue) { auto* func = b.Function("foo", ty.i32()); - b.With(func->Block(), [&] { // + b.Append(func->Block(), [&] { // b.Return(func, 42_i); }); @@ -236,7 +236,7 @@ auto* func = b.Function("foo", i32); func->SetParams({x, y}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Add(i32, x, y); b.Return(func, result); }); @@ -265,13 +265,13 @@ auto* foo = b.Function("foo", i32); foo->SetParams({x, y}); - b.With(foo->Block(), [&] { + b.Append(foo->Block(), [&] { auto* result = b.Add(i32, x, y); b.Return(foo, result); }); auto* bar = b.Function("bar", ty.void_()); - b.With(bar->Block(), [&] { + b.Append(bar->Block(), [&] { auto* result = b.Call(i32, foo, 2_i, 3_i); b.Return(bar); mod.SetName(result, "result"); @@ -283,12 +283,12 @@ TEST_F(SpirvWriterTest, Function_Call_Void) { auto* foo = b.Function("foo", ty.void_()); - b.With(foo->Block(), [&] { // + b.Append(foo->Block(), [&] { // b.Return(foo); }); auto* bar = b.Function("bar", ty.void_()); - b.With(bar->Block(), [&] { + b.Append(bar->Block(), [&] { auto* result = b.Call(ty.void_(), foo); b.Return(bar); mod.SetName(result, "result");
diff --git a/src/tint/lang/spirv/writer/if_test.cc b/src/tint/lang/spirv/writer/if_test.cc index 1a3c61c..2326d08 100644 --- a/src/tint/lang/spirv/writer/if_test.cc +++ b/src/tint/lang/spirv/writer/if_test.cc
@@ -21,12 +21,12 @@ TEST_F(SpirvWriterTest, If_TrueEmpty_FalseEmpty) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* i = b.If(true); - b.With(i->True(), [&] { // + b.Append(i->True(), [&] { // b.ExitIf(i); }); - b.With(i->False(), [&] { // + b.Append(i->False(), [&] { // b.ExitIf(i); }); b.Return(func); @@ -44,13 +44,13 @@ TEST_F(SpirvWriterTest, If_FalseEmpty) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* i = b.If(true); - b.With(i->True(), [&] { + b.Append(i->True(), [&] { b.Add(ty.i32(), 1_i, 1_i); b.ExitIf(i); }); - b.With(i->False(), [&] { // + b.Append(i->False(), [&] { // b.ExitIf(i); }); b.Return(func); @@ -71,12 +71,12 @@ TEST_F(SpirvWriterTest, If_TrueEmpty) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* i = b.If(true); - b.With(i->True(), [&] { // + b.Append(i->True(), [&] { // b.ExitIf(i); }); - b.With(i->False(), [&] { + b.Append(i->False(), [&] { b.Add(ty.i32(), 1_i, 1_i); b.ExitIf(i); }); @@ -98,12 +98,12 @@ TEST_F(SpirvWriterTest, If_BothBranchesReturn) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* i = b.If(true); - b.With(i->True(), [&] { // + b.Append(i->True(), [&] { // b.Return(func); }); - b.With(i->False(), [&] { // + b.Append(i->False(), [&] { // b.Return(func); }); b.Unreachable(); @@ -121,13 +121,13 @@ TEST_F(SpirvWriterTest, If_Phi_SingleValue) { auto* func = b.Function("foo", ty.i32()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* i = b.If(true); i->SetResults(b.InstructionResult(ty.i32())); - b.With(i->True(), [&] { // + b.Append(i->True(), [&] { // b.ExitIf(i, 10_i); }); - b.With(i->False(), [&] { // + b.Append(i->False(), [&] { // b.ExitIf(i, 20_i); }); b.Return(func, i); @@ -150,13 +150,13 @@ TEST_F(SpirvWriterTest, If_Phi_SingleValue_TrueReturn) { auto* func = b.Function("foo", ty.i32()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* i = b.If(true); i->SetResults(b.InstructionResult(ty.i32())); - b.With(i->True(), [&] { // + b.Append(i->True(), [&] { // b.Return(func, 42_i); }); - b.With(i->False(), [&] { // + b.Append(i->False(), [&] { // b.ExitIf(i, 20_i); }); b.Return(func, i); @@ -190,13 +190,13 @@ TEST_F(SpirvWriterTest, If_Phi_SingleValue_FalseReturn) { auto* func = b.Function("foo", ty.i32()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* i = b.If(true); i->SetResults(b.InstructionResult(ty.i32())); - b.With(i->True(), [&] { // + b.Append(i->True(), [&] { // b.ExitIf(i, 10_i); }); - b.With(i->False(), [&] { // + b.Append(i->False(), [&] { // b.Return(func, 42_i); }); b.Return(func, i); @@ -230,13 +230,13 @@ TEST_F(SpirvWriterTest, If_Phi_MultipleValue_0) { auto* func = b.Function("foo", ty.i32()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* i = b.If(true); i->SetResults(b.InstructionResult(ty.i32()), b.InstructionResult(ty.bool_())); - b.With(i->True(), [&] { // + b.Append(i->True(), [&] { // b.ExitIf(i, 10_i, true); }); - b.With(i->False(), [&] { // + b.Append(i->False(), [&] { // b.ExitIf(i, 20_i, false); }); b.Return(func, i->Result(0)); @@ -260,13 +260,13 @@ TEST_F(SpirvWriterTest, If_Phi_MultipleValue_1) { auto* func = b.Function("foo", ty.bool_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* i = b.If(true); i->SetResults(b.InstructionResult(ty.i32()), b.InstructionResult(ty.bool_())); - b.With(i->True(), [&] { // + b.Append(i->True(), [&] { // b.ExitIf(i, 10_i, true); }); - b.With(i->False(), [&] { // + b.Append(i->False(), [&] { // b.ExitIf(i, 20_i, false); }); b.Return(func, i->Result(1));
diff --git a/src/tint/lang/spirv/writer/let_test.cc b/src/tint/lang/spirv/writer/let_test.cc index 39b71f8..c6febf2 100644 --- a/src/tint/lang/spirv/writer/let_test.cc +++ b/src/tint/lang/spirv/writer/let_test.cc
@@ -22,7 +22,7 @@ TEST_F(SpirvWriterTest, Let_Constant) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { b.Let("l", u32(42)); b.Return(func); }); @@ -34,7 +34,7 @@ TEST_F(SpirvWriterTest, Let_SharedConstant) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { b.Let("l1", u32(42)); b.Let("l2", u32(42)); b.Return(func);
diff --git a/src/tint/lang/spirv/writer/loop_test.cc b/src/tint/lang/spirv/writer/loop_test.cc index f43e871..79f423c 100644 --- a/src/tint/lang/spirv/writer/loop_test.cc +++ b/src/tint/lang/spirv/writer/loop_test.cc
@@ -21,12 +21,12 @@ TEST_F(SpirvWriterTest, Loop_BreakIf) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Body(), [&] { // + b.Append(loop->Body(), [&] { // b.Continue(loop); - b.With(loop->Continuing(), [&] { // + b.Append(loop->Continuing(), [&] { // b.BreakIf(loop, true); }); }); @@ -53,9 +53,9 @@ // Test that we still emit the continuing block with a back-edge, even when it is unreachable. TEST_F(SpirvWriterTest, Loop_UnconditionalBreakInBody) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Body(), [&] { // + b.Append(loop->Body(), [&] { // b.ExitLoop(loop); }); b.Return(func); @@ -80,19 +80,19 @@ TEST_F(SpirvWriterTest, Loop_ConditionalBreakInBody) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* cond_break = b.If(true); - b.With(cond_break->True(), [&] { // + b.Append(cond_break->True(), [&] { // b.ExitLoop(loop); }); - b.With(cond_break->False(), [&] { // + b.Append(cond_break->False(), [&] { // b.ExitIf(cond_break); }); b.Continue(loop); - b.With(loop->Continuing(), [&] { // + b.Append(loop->Continuing(), [&] { // b.NextIteration(loop); }); }); @@ -123,19 +123,19 @@ TEST_F(SpirvWriterTest, Loop_ConditionalContinueInBody) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* cond_break = b.If(true); - b.With(cond_break->True(), [&] { // + b.Append(cond_break->True(), [&] { // b.Continue(loop); }); - b.With(cond_break->False(), [&] { // + b.Append(cond_break->False(), [&] { // b.ExitIf(cond_break); }); b.ExitLoop(loop); - b.With(loop->Continuing(), [&] { // + b.Append(loop->Continuing(), [&] { // b.NextIteration(loop); }); }); @@ -168,9 +168,9 @@ // they are unreachable. TEST_F(SpirvWriterTest, Loop_UnconditionalReturnInBody) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Body(), [&] { // + b.Append(loop->Body(), [&] { // b.Return(func); }); b.Unreachable(); @@ -195,13 +195,13 @@ TEST_F(SpirvWriterTest, Loop_UseResultFromBodyInContinuing) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* result = b.Equal(ty.bool_(), 1_i, 2_i); b.Continue(loop, result); - b.With(loop->Continuing(), [&] { // + b.Append(loop->Continuing(), [&] { // b.BreakIf(loop, result); }); }); @@ -228,23 +228,23 @@ TEST_F(SpirvWriterTest, Loop_NestedLoopInBody) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* outer_loop = b.Loop(); - b.With(outer_loop->Body(), [&] { + b.Append(outer_loop->Body(), [&] { auto* inner_loop = b.Loop(); - b.With(inner_loop->Body(), [&] { + b.Append(inner_loop->Body(), [&] { b.ExitLoop(inner_loop); - b.With(inner_loop->Continuing(), [&] { // + b.Append(inner_loop->Continuing(), [&] { // b.NextIteration(inner_loop); }); }); b.Continue(outer_loop); - b.With(outer_loop->Continuing(), - [&] { // - b.BreakIf(outer_loop, true); - }); + b.Append(outer_loop->Continuing(), + [&] { // + b.BreakIf(outer_loop, true); + }); }); b.Return(func); }); @@ -277,17 +277,17 @@ TEST_F(SpirvWriterTest, Loop_NestedLoopInContinuing) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* outer_loop = b.Loop(); - b.With(outer_loop->Body(), [&] { + b.Append(outer_loop->Body(), [&] { b.Continue(outer_loop); - b.With(outer_loop->Continuing(), [&] { + b.Append(outer_loop->Continuing(), [&] { auto* inner_loop = b.Loop(); - b.With(inner_loop->Body(), [&] { + b.Append(inner_loop->Body(), [&] { b.Continue(inner_loop); - b.With(inner_loop->Continuing(), [&] { // + b.Append(inner_loop->Continuing(), [&] { // b.BreakIf(inner_loop, true); }); }); @@ -326,24 +326,24 @@ TEST_F(SpirvWriterTest, Loop_Phi_SingleValue) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Initializer(), [&] { // + b.Append(loop->Initializer(), [&] { // b.NextIteration(loop, 1_i, false); }); auto* loop_param = b.BlockParam(ty.i32()); loop->Body()->SetParams({loop_param}); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* inc = b.Add(ty.i32(), loop_param, 1_i); b.Continue(loop, inc); }); auto* cont_param = b.BlockParam(ty.i32()); loop->Continuing()->SetParams({cont_param}); - b.With(loop->Continuing(), [&] { + b.Append(loop->Continuing(), [&] { auto* cmp = b.GreaterThan(ty.bool_(), cont_param, 5_i); b.BreakIf(loop, cmp, cont_param); }); @@ -375,10 +375,10 @@ TEST_F(SpirvWriterTest, Loop_Phi_MultipleValue) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Initializer(), [&] { // + b.Append(loop->Initializer(), [&] { // b.NextIteration(loop, 1_i, false); }); @@ -386,7 +386,7 @@ auto* loop_param_b = b.BlockParam(ty.bool_()); loop->Body()->SetParams({loop_param_a, loop_param_b}); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* inc = b.Add(ty.i32(), loop_param_a, 1_i); b.Continue(loop, inc, loop_param_b); }); @@ -394,7 +394,7 @@ auto* cont_param_a = b.BlockParam(ty.i32()); auto* cont_param_b = b.BlockParam(ty.bool_()); loop->Continuing()->SetParams({cont_param_a, cont_param_b}); - b.With(loop->Continuing(), [&] { + b.Append(loop->Continuing(), [&] { auto* cmp = b.GreaterThan(ty.bool_(), cont_param_a, 5_i); auto* not_b = b.Not(ty.bool_(), cont_param_b); b.BreakIf(loop, cmp, cont_param_a, not_b);
diff --git a/src/tint/lang/spirv/writer/switch_test.cc b/src/tint/lang/spirv/writer/switch_test.cc index eb7696c..532c6ff 100644 --- a/src/tint/lang/spirv/writer/switch_test.cc +++ b/src/tint/lang/spirv/writer/switch_test.cc
@@ -21,11 +21,11 @@ TEST_F(SpirvWriterTest, Switch_Basic) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* swtch = b.Switch(42_i); auto* def_case = b.Case(swtch, utils::Vector{ir::Switch::CaseSelector()}); - b.With(def_case, [&] { // + b.Append(def_case, [&] { // b.ExitSwitch(swtch); }); @@ -47,21 +47,21 @@ TEST_F(SpirvWriterTest, Switch_MultipleCases) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* swtch = b.Switch(42_i); auto* case_a = b.Case(swtch, utils::Vector{ir::Switch::CaseSelector{b.Constant(1_i)}}); - b.With(case_a, [&] { // + b.Append(case_a, [&] { // b.ExitSwitch(swtch); }); auto* case_b = b.Case(swtch, utils::Vector{ir::Switch::CaseSelector{b.Constant(2_i)}}); - b.With(case_b, [&] { // + b.Append(case_b, [&] { // b.ExitSwitch(swtch); }); auto* def_case = b.Case(swtch, utils::Vector{ir::Switch::CaseSelector()}); - b.With(def_case, [&] { // + b.Append(def_case, [&] { // b.ExitSwitch(swtch); }); @@ -87,24 +87,24 @@ TEST_F(SpirvWriterTest, Switch_MultipleSelectorsPerCase) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* swtch = b.Switch(42_i); auto* case_a = b.Case(swtch, utils::Vector{ir::Switch::CaseSelector{b.Constant(1_i)}, ir::Switch::CaseSelector{b.Constant(3_i)}}); - b.With(case_a, [&] { // + b.Append(case_a, [&] { // b.ExitSwitch(swtch); }); auto* case_b = b.Case(swtch, utils::Vector{ir::Switch::CaseSelector{b.Constant(2_i)}, ir::Switch::CaseSelector{b.Constant(4_i)}}); - b.With(case_b, [&] { // + b.Append(case_b, [&] { // b.ExitSwitch(swtch); }); auto* def_case = b.Case(swtch, utils::Vector{ir::Switch::CaseSelector{b.Constant(5_i)}, ir::Switch::CaseSelector()}); - b.With(def_case, [&] { // + b.Append(def_case, [&] { // b.ExitSwitch(swtch); }); @@ -130,21 +130,21 @@ TEST_F(SpirvWriterTest, Switch_AllCasesReturn) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* swtch = b.Switch(42_i); auto* case_a = b.Case(swtch, utils::Vector{ir::Switch::CaseSelector{b.Constant(1_i)}}); - b.With(case_a, [&] { // + b.Append(case_a, [&] { // b.Return(func); }); auto* case_b = b.Case(swtch, utils::Vector{ir::Switch::CaseSelector{b.Constant(2_i)}}); - b.With(case_b, [&] { // + b.Append(case_b, [&] { // b.Return(func); }); auto* def_case = b.Case(swtch, utils::Vector{ir::Switch::CaseSelector()}); - b.With(def_case, [&] { // + b.Append(def_case, [&] { // b.Return(func); }); @@ -170,16 +170,16 @@ TEST_F(SpirvWriterTest, Switch_ConditionalBreak) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* swtch = b.Switch(42_i); auto* case_a = b.Case(swtch, utils::Vector{ir::Switch::CaseSelector{b.Constant(1_i)}}); - b.With(case_a, [&] { + b.Append(case_a, [&] { auto* cond_break = b.If(true); - b.With(cond_break->True(), [&] { // + b.Append(cond_break->True(), [&] { // b.ExitSwitch(swtch); }); - b.With(cond_break->False(), [&] { // + b.Append(cond_break->False(), [&] { // b.ExitIf(cond_break); }); @@ -187,7 +187,7 @@ }); auto* def_case = b.Case(swtch, utils::Vector{ir::Switch::CaseSelector()}); - b.With(def_case, [&] { // + b.Append(def_case, [&] { // b.ExitSwitch(swtch); }); @@ -216,17 +216,17 @@ TEST_F(SpirvWriterTest, Switch_Phi_SingleValue) { auto* func = b.Function("foo", ty.i32()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* s = b.Switch(42_i); s->SetResults(b.InstructionResult(ty.i32())); auto* case_a = b.Case(s, utils::Vector{ir::Switch::CaseSelector{b.Constant(1_i)}, ir::Switch::CaseSelector{nullptr}}); - b.With(case_a, [&] { // + b.Append(case_a, [&] { // b.ExitSwitch(s, 10_i); }); auto* case_b = b.Case(s, utils::Vector{ir::Switch::CaseSelector{b.Constant(2_i)}}); - b.With(case_b, [&] { // + b.Append(case_b, [&] { // b.ExitSwitch(s, 20_i); }); @@ -251,17 +251,17 @@ TEST_F(SpirvWriterTest, Switch_Phi_SingleValue_CaseReturn) { auto* func = b.Function("foo", ty.i32()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* s = b.Switch(42_i); s->SetResults(b.InstructionResult(ty.i32())); auto* case_a = b.Case(s, utils::Vector{ir::Switch::CaseSelector{b.Constant(1_i)}, ir::Switch::CaseSelector{nullptr}}); - b.With(case_a, [&] { // + b.Append(case_a, [&] { // b.Return(func, 10_i); }); auto* case_b = b.Case(s, utils::Vector{ir::Switch::CaseSelector{b.Constant(2_i)}}); - b.With(case_b, [&] { // + b.Append(case_b, [&] { // b.ExitSwitch(s, 20_i); }); @@ -299,17 +299,17 @@ TEST_F(SpirvWriterTest, Switch_Phi_MultipleValue_0) { auto* func = b.Function("foo", ty.i32()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* s = b.Switch(42_i); s->SetResults(b.InstructionResult(ty.i32()), b.InstructionResult(ty.bool_())); auto* case_a = b.Case(s, utils::Vector{ir::Switch::CaseSelector{b.Constant(1_i)}, ir::Switch::CaseSelector{nullptr}}); - b.With(case_a, [&] { // + b.Append(case_a, [&] { // b.ExitSwitch(s, 10_i, true); }); auto* case_b = b.Case(s, utils::Vector{ir::Switch::CaseSelector{b.Constant(2_i)}}); - b.With(case_b, [&] { // + b.Append(case_b, [&] { // b.ExitSwitch(s, 20_i, false); }); @@ -335,17 +335,17 @@ TEST_F(SpirvWriterTest, Switch_Phi_MultipleValue_1) { auto* func = b.Function("foo", ty.bool_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* s = b.Switch(b.Constant(42_i)); s->SetResults(b.InstructionResult(ty.i32()), b.InstructionResult(ty.bool_())); auto* case_a = b.Case(s, utils::Vector{ir::Switch::CaseSelector{b.Constant(1_i)}, ir::Switch::CaseSelector{nullptr}}); - b.With(case_a, [&] { // + b.Append(case_a, [&] { // b.ExitSwitch(s, 10_i, true); }); auto* case_b = b.Case(s, utils::Vector{ir::Switch::CaseSelector{b.Constant(2_i)}}); - b.With(case_b, [&] { // + b.Append(case_b, [&] { // b.ExitSwitch(s, 20_i, false); });
diff --git a/src/tint/lang/spirv/writer/swizzle_test.cc b/src/tint/lang/spirv/writer/swizzle_test.cc index 4b25b33..970331c 100644 --- a/src/tint/lang/spirv/writer/swizzle_test.cc +++ b/src/tint/lang/spirv/writer/swizzle_test.cc
@@ -24,7 +24,7 @@ auto* vec = b.FunctionParam("vec", ty.vec4<i32>()); auto* func = b.Function("foo", ty.void_()); func->SetParams({vec}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Swizzle(ty.vec2<i32>(), vec, {3_u, 2_u}); b.Return(func); mod.SetName(result, "result"); @@ -38,7 +38,7 @@ auto* vec = b.FunctionParam("vec", ty.vec4<i32>()); auto* func = b.Function("foo", ty.void_()); func->SetParams({vec}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Swizzle(ty.vec3<i32>(), vec, {3_u, 2_u, 1_u}); b.Return(func); mod.SetName(result, "result"); @@ -52,7 +52,7 @@ auto* vec = b.FunctionParam("vec", ty.vec4<i32>()); auto* func = b.Function("foo", ty.void_()); func->SetParams({vec}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Swizzle(ty.vec4<i32>(), vec, {3_u, 2_u, 1_u, 0u}); b.Return(func); mod.SetName(result, "result"); @@ -66,7 +66,7 @@ auto* vec = b.FunctionParam("vec", ty.vec2<i32>()); auto* func = b.Function("foo", ty.void_()); func->SetParams({vec}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Swizzle(ty.vec4<i32>(), vec, {1_u, 3_u, 1_u, 3_u}); b.Return(func); mod.SetName(result, "result");
diff --git a/src/tint/lang/spirv/writer/texture_builtin_test.cc b/src/tint/lang/spirv/writer/texture_builtin_test.cc index 0615aefb..c5b6906 100644 --- a/src/tint/lang/spirv/writer/texture_builtin_test.cc +++ b/src/tint/lang/spirv/writer/texture_builtin_test.cc
@@ -155,7 +155,7 @@ auto* func = b.Function("foo", result_ty); func->SetParams(std::move(func_params)); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { uint32_t arg_value = 1; utils::Vector<ir::Value*, 4> args;
diff --git a/src/tint/lang/spirv/writer/unary_test.cc b/src/tint/lang/spirv/writer/unary_test.cc index 342db80..51a1bad 100644 --- a/src/tint/lang/spirv/writer/unary_test.cc +++ b/src/tint/lang/spirv/writer/unary_test.cc
@@ -40,7 +40,7 @@ auto* arg = b.FunctionParam("arg", MakeScalarType(params.type)); auto* func = b.Function("foo", ty.void_()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Unary(params.kind, MakeScalarType(params.type), arg); b.Return(func); mod.SetName(result, "result"); @@ -55,7 +55,7 @@ auto* arg = b.FunctionParam("arg", MakeVectorType(params.type)); auto* func = b.Function("foo", ty.void_()); func->SetParams({arg}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* result = b.Unary(params.kind, MakeVectorType(params.type), arg); b.Return(func); mod.SetName(result, "result");
diff --git a/src/tint/lang/spirv/writer/var_test.cc b/src/tint/lang/spirv/writer/var_test.cc index 5b5f272..e3ddc47 100644 --- a/src/tint/lang/spirv/writer/var_test.cc +++ b/src/tint/lang/spirv/writer/var_test.cc
@@ -24,7 +24,7 @@ TEST_F(SpirvWriterTest, FunctionVar_NoInit) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { b.Var("v", ty.ptr<function, i32>()); b.Return(func); }); @@ -35,7 +35,7 @@ TEST_F(SpirvWriterTest, FunctionVar_WithInit) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* v = b.Var("v", ty.ptr<function, i32>()); v->SetInitializer(b.Constant(42_i)); b.Return(func); @@ -48,9 +48,9 @@ TEST_F(SpirvWriterTest, FunctionVar_DeclInsideBlock) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* i = b.If(true); - b.With(i->True(), [&] { + b.Append(i->True(), [&] { auto* v = b.Var("v", ty.ptr<function, i32>()); v->SetInitializer(b.Constant(42_i)); b.ExitIf(i); @@ -76,7 +76,7 @@ TEST_F(SpirvWriterTest, FunctionVar_Load) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* v = b.Var("v", ty.ptr<function, i32>()); auto* result = b.Load(v); b.Return(func); @@ -90,7 +90,7 @@ TEST_F(SpirvWriterTest, FunctionVar_Store) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* v = b.Var("v", ty.ptr<function, i32>()); b.Store(v, 42_i); b.Return(func); @@ -123,7 +123,7 @@ b.RootBlock()->Append(v); auto* func = b.Function("foo", ty.void_(), ir::Function::PipelineStage::kFragment); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* load = b.Load(v); auto* add = b.Add(ty.i32(), load, 1_i); b.Store(v, add); @@ -150,7 +150,7 @@ auto* func = b.Function("foo", ty.void_(), ir::Function::PipelineStage::kCompute, std::array{1u, 1u, 1u}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* load = b.Load(v); auto* add = b.Add(ty.i32(), load, 1_i); b.Store(v, add); @@ -200,7 +200,7 @@ auto* func = b.Function("foo", ty.void_(), ir::Function::PipelineStage::kCompute, std::array{1u, 1u, 1u}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* load = b.Load(v); auto* add = b.Add(ty.i32(), load, 1_i); b.Store(v, add); @@ -244,7 +244,7 @@ auto* func = b.Function("foo", ty.void_(), ir::Function::PipelineStage::kCompute, std::array{1u, 1u, 1u}); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* load = b.Load(v); b.Return(func); mod.SetName(load, "load"); @@ -277,7 +277,7 @@ b.RootBlock()->Append(v); auto* func = b.Function("foo", ty.i32()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* load = b.Load(v); b.Return(func, load); mod.SetName(load, "load"); @@ -316,7 +316,7 @@ b.RootBlock()->Append(v); auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* load = b.Load(v); b.Return(func); mod.SetName(load, "load"); @@ -353,7 +353,7 @@ b.RootBlock()->Append(v); auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* load = b.Load(v); b.Return(func); mod.SetName(load, "load");
diff --git a/src/tint/lang/spirv/writer/writer_test.cc b/src/tint/lang/spirv/writer/writer_test.cc index 03ada9a..b31a05d 100644 --- a/src/tint/lang/spirv/writer/writer_test.cc +++ b/src/tint/lang/spirv/writer/writer_test.cc
@@ -31,19 +31,19 @@ TEST_F(SpirvWriterTest, Unreachable) { auto* func = b.Function("foo", ty.void_()); - b.With(func->Block(), [&] { + b.Append(func->Block(), [&] { auto* loop = b.Loop(); - b.With(loop->Body(), [&] { + b.Append(loop->Body(), [&] { auto* ifelse = b.If(true); - b.With(ifelse->True(), [&] { // + b.Append(ifelse->True(), [&] { // b.Continue(loop); }); - b.With(ifelse->False(), [&] { // + b.Append(ifelse->False(), [&] { // b.Continue(loop); }); b.Unreachable(); - b.With(loop->Continuing(), [&] { // + b.Append(loop->Continuing(), [&] { // b.NextIteration(loop); }); });