[tint][ir] Use Builder::Call in more places
These manual uses of `CreateInstruction` are unnecessary as we have
overloads of `Call` that can handle non-core builtin functions.
Change-Id: I2978c40616ed61d6993b0282da23db2245e1c0ca
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/223474
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Commit-Queue: James Price <jrprice@google.com>
diff --git a/src/tint/lang/wgsl/reader/lower/lower_test.cc b/src/tint/lang/wgsl/reader/lower/lower_test.cc
index 079eb05..bda9b7a 100644
--- a/src/tint/lang/wgsl/reader/lower/lower_test.cc
+++ b/src/tint/lang/wgsl/reader/lower/lower_test.cc
@@ -44,12 +44,7 @@
TEST_F(Wgslreader_LowerTest, BuiltinConversion) {
auto* f = b.Function("f", ty.void_());
b.Append(f->Block(), [&] { //
- auto* result = b.InstructionResult(ty.i32());
- b.Append(b.ir.CreateInstruction<wgsl::ir::BuiltinCall>(result, wgsl::BuiltinFn::kMax,
- Vector{
- b.Value(i32(1)),
- b.Value(i32(2)),
- }));
+ b.Call<wgsl::ir::BuiltinCall>(ty.i32(), wgsl::BuiltinFn::kMax, 1_i, 2_i);
b.Return(f);
});
@@ -83,9 +78,8 @@
auto* f = b.Function("f", ty.i32());
b.Append(f->Block(), [&] { //
- auto* result = b.InstructionResult(ty.i32());
- b.Append(b.ir.CreateInstruction<wgsl::ir::BuiltinCall>(
- result, wgsl::BuiltinFn::kWorkgroupUniformLoad, Vector{wgvar->Result(0)}));
+ auto* result = b.Call<wgsl::ir::BuiltinCall>(
+ ty.i32(), wgsl::BuiltinFn::kWorkgroupUniformLoad, wgvar->Result(0));
b.Return(f, result);
});
diff --git a/src/tint/lang/wgsl/reader/program_to_ir/program_to_ir.cc b/src/tint/lang/wgsl/reader/program_to_ir/program_to_ir.cc
index 83ed512..e795ef6 100644
--- a/src/tint/lang/wgsl/reader/program_to_ir/program_to_ir.cc
+++ b/src/tint/lang/wgsl/reader/program_to_ir/program_to_ir.cc
@@ -983,9 +983,8 @@
if (b->Fn() == wgsl::BuiltinFn::kBitcast) {
inst = impl.builder_.Bitcast(ty, args[0]);
} else {
- auto* res = impl.builder_.InstructionResult(ty);
- inst = impl.builder_.ir.CreateInstruction<wgsl::ir::BuiltinCall>(
- res, b->Fn(), std::move(args));
+ inst =
+ impl.builder_.Call<wgsl::ir::BuiltinCall>(ty, b->Fn(), std::move(args));
}
} else if (sem->Target()->As<sem::ValueConstructor>()) {
inst = impl.builder_.Construct(ty, std::move(args));