[tint][ir] Remove BuiltinCall::IntrinsicName()

And move the 'spirv.' prefix to the spirv::ir::BuiltinCall()
implementation of FriendlyName().

Change-Id: I684f13b03247f9dab9856f377b23a23881e6017e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/152548
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
diff --git a/src/tint/lang/core/ir/builtin_call.h b/src/tint/lang/core/ir/builtin_call.h
index fe35766..6874f7e 100644
--- a/src/tint/lang/core/ir/builtin_call.h
+++ b/src/tint/lang/core/ir/builtin_call.h
@@ -36,9 +36,6 @@
     /// @returns the identifier for the function
     virtual size_t FuncId() = 0;
 
-    /// @returns the intrinsic name
-    virtual const char* IntrinsicName() = 0;
-
     /// @returns the table data to validate this builtin
     virtual const core::intrinsic::TableData& TableData() = 0;
 };
diff --git a/src/tint/lang/core/ir/core_builtin_call.h b/src/tint/lang/core/ir/core_builtin_call.h
index 24c998d..9228678 100644
--- a/src/tint/lang/core/ir/core_builtin_call.h
+++ b/src/tint/lang/core/ir/core_builtin_call.h
@@ -49,9 +49,6 @@
     /// @returns the friendly name for the instruction
     std::string FriendlyName() override { return core::str(func_); }
 
-    /// @returns the intrinsic name
-    const char* IntrinsicName() override { return core::str(func_); }
-
     /// @returns the table data to validate this builtin
     const core::intrinsic::TableData& TableData() override { return core::intrinsic::data::kData; }
 
diff --git a/src/tint/lang/core/ir/validator.cc b/src/tint/lang/core/ir/validator.cc
index 3a2a461..2fc78c8 100644
--- a/src/tint/lang/core/ir/validator.cc
+++ b/src/tint/lang/core/ir/validator.cc
@@ -531,8 +531,8 @@
     auto args = Transform<8>(call->Args(), [&](ir::Value* v) { return v->Type(); });
     intrinsic::Context context{call->TableData(), mod_.Types(), mod_.symbols, diagnostics_};
 
-    auto result = core::intrinsic::Lookup(context, call->IntrinsicName(), call->FuncId(), args,
-                                          core::EvaluationStage::kRuntime, Source{});
+    auto result = core::intrinsic::Lookup(context, call->FriendlyName().c_str(), call->FuncId(),
+                                          args, core::EvaluationStage::kRuntime, Source{});
     if (result) {
         if (result->return_type != call->Result()->Type()) {
             AddError(call, InstError(call, "call result type does not match builtin return type"));
diff --git a/src/tint/lang/spirv/builtin_fn.cc b/src/tint/lang/spirv/builtin_fn.cc
index dbf99a9..602d0aa 100644
--- a/src/tint/lang/spirv/builtin_fn.cc
+++ b/src/tint/lang/spirv/builtin_fn.cc
@@ -30,71 +30,71 @@
         case BuiltinFn::kNone:
             return "<none>";
         case BuiltinFn::kArrayLength:
-            return "spirv.array_length";
+            return "array_length";
         case BuiltinFn::kAtomicAnd:
-            return "spirv.atomic_and";
+            return "atomic_and";
         case BuiltinFn::kAtomicCompareExchange:
-            return "spirv.atomic_compare_exchange";
+            return "atomic_compare_exchange";
         case BuiltinFn::kAtomicExchange:
-            return "spirv.atomic_exchange";
+            return "atomic_exchange";
         case BuiltinFn::kAtomicIadd:
-            return "spirv.atomic_iadd";
+            return "atomic_iadd";
         case BuiltinFn::kAtomicIsub:
-            return "spirv.atomic_isub";
+            return "atomic_isub";
         case BuiltinFn::kAtomicLoad:
-            return "spirv.atomic_load";
+            return "atomic_load";
         case BuiltinFn::kAtomicOr:
-            return "spirv.atomic_or";
+            return "atomic_or";
         case BuiltinFn::kAtomicSmax:
-            return "spirv.atomic_smax";
+            return "atomic_smax";
         case BuiltinFn::kAtomicSmin:
-            return "spirv.atomic_smin";
+            return "atomic_smin";
         case BuiltinFn::kAtomicStore:
-            return "spirv.atomic_store";
+            return "atomic_store";
         case BuiltinFn::kAtomicUmax:
-            return "spirv.atomic_umax";
+            return "atomic_umax";
         case BuiltinFn::kAtomicUmin:
-            return "spirv.atomic_umin";
+            return "atomic_umin";
         case BuiltinFn::kAtomicXor:
-            return "spirv.atomic_xor";
+            return "atomic_xor";
         case BuiltinFn::kDot:
-            return "spirv.dot";
+            return "dot";
         case BuiltinFn::kImageDrefGather:
-            return "spirv.image_dref_gather";
+            return "image_dref_gather";
         case BuiltinFn::kImageFetch:
-            return "spirv.image_fetch";
+            return "image_fetch";
         case BuiltinFn::kImageGather:
-            return "spirv.image_gather";
+            return "image_gather";
         case BuiltinFn::kImageQuerySize:
-            return "spirv.image_query_size";
+            return "image_query_size";
         case BuiltinFn::kImageQuerySizeLod:
-            return "spirv.image_query_size_lod";
+            return "image_query_size_lod";
         case BuiltinFn::kImageRead:
-            return "spirv.image_read";
+            return "image_read";
         case BuiltinFn::kImageSampleImplicitLod:
-            return "spirv.image_sample_implicit_lod";
+            return "image_sample_implicit_lod";
         case BuiltinFn::kImageSampleExplicitLod:
-            return "spirv.image_sample_explicit_lod";
+            return "image_sample_explicit_lod";
         case BuiltinFn::kImageSampleDrefImplicitLod:
-            return "spirv.image_sample_dref_implicit_lod";
+            return "image_sample_dref_implicit_lod";
         case BuiltinFn::kImageSampleDrefExplicitLod:
-            return "spirv.image_sample_dref_explicit_lod";
+            return "image_sample_dref_explicit_lod";
         case BuiltinFn::kImageWrite:
-            return "spirv.image_write";
+            return "image_write";
         case BuiltinFn::kMatrixTimesMatrix:
-            return "spirv.matrix_times_matrix";
+            return "matrix_times_matrix";
         case BuiltinFn::kMatrixTimesScalar:
-            return "spirv.matrix_times_scalar";
+            return "matrix_times_scalar";
         case BuiltinFn::kMatrixTimesVector:
-            return "spirv.matrix_times_vector";
+            return "matrix_times_vector";
         case BuiltinFn::kSampledImage:
-            return "spirv.sampled_image";
+            return "sampled_image";
         case BuiltinFn::kSelect:
-            return "spirv.select";
+            return "select";
         case BuiltinFn::kVectorTimesMatrix:
-            return "spirv.vector_times_matrix";
+            return "vector_times_matrix";
         case BuiltinFn::kVectorTimesScalar:
-            return "spirv.vector_times_scalar";
+            return "vector_times_scalar";
     }
     return "<unknown>";
 }
diff --git a/src/tint/lang/spirv/builtin_fn.cc.tmpl b/src/tint/lang/spirv/builtin_fn.cc.tmpl
index 220d19e..9e20878 100644
--- a/src/tint/lang/spirv/builtin_fn.cc.tmpl
+++ b/src/tint/lang/spirv/builtin_fn.cc.tmpl
@@ -22,7 +22,7 @@
             return "<none>";
 {{- range $I.Sem.Builtins  }}
         case BuiltinFn::k{{PascalCase .Name}}:
-            return "spirv.{{.Name}}";
+            return "{{.Name}}";
 {{- end  }}
     }
     return "<unknown>";
diff --git a/src/tint/lang/spirv/ir/builtin_call.h b/src/tint/lang/spirv/ir/builtin_call.h
index 4ae0ee6..5eeefb9 100644
--- a/src/tint/lang/spirv/ir/builtin_call.h
+++ b/src/tint/lang/spirv/ir/builtin_call.h
@@ -47,10 +47,7 @@
     size_t FuncId() override { return static_cast<size_t>(func_); }
 
     /// @returns the friendly name for the instruction
-    std::string FriendlyName() override { return str(func_); }
-
-    /// @returns the intrinsic name
-    const char* IntrinsicName() override { return str(func_); }
+    std::string FriendlyName() override { return std::string("spirv.") + str(func_); }
 
     /// @returns the table data to validate this builtin
     const core::intrinsic::TableData& TableData() override { return spirv::intrinsic::data::kData; }