Move type/builtin to builtin.

This CL moves type::Builtin to builtin::Builtin.

Change-Id: I8b058dfcac38f782e07393b69e38534175f67524
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/120403
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
diff --git a/src/tint/BUILD.gn b/src/tint/BUILD.gn
index 0c8adbb..29f42db 100644
--- a/src/tint/BUILD.gn
+++ b/src/tint/BUILD.gn
@@ -697,6 +697,8 @@
     "builtin/access.h",
     "builtin/address_space.cc",
     "builtin/address_space.h",
+    "builtin/builtin.cc",
+    "builtin/builtin.h",
     "builtin/builtin_value.cc",
     "builtin/builtin_value.h",
     "builtin/extension.cc",
@@ -723,8 +725,6 @@
     "type/atomic.h",
     "type/bool.cc",
     "type/bool.h",
-    "type/builtin.cc",
-    "type/builtin.h",
     "type/clone_context.h",
     "type/depth_multisampled_texture.cc",
     "type/depth_multisampled_texture.h",
@@ -1296,6 +1296,7 @@
     sources = [
       "builtin/access_test.cc",
       "builtin/address_space_test.cc",
+      "builtin/builtin_test.cc",
       "builtin/builtin_value_test.cc",
       "builtin/extension_test.cc",
       "builtin/texel_format_test.cc",
@@ -1417,7 +1418,6 @@
     sources = [
       "type/atomic_test.cc",
       "type/bool_test.cc",
-      "type/builtin_test.cc",
       "type/depth_multisampled_texture_test.cc",
       "type/depth_texture_test.cc",
       "type/external_texture_test.cc",
diff --git a/src/tint/CMakeLists.txt b/src/tint/CMakeLists.txt
index 45926f5..38f5072 100644
--- a/src/tint/CMakeLists.txt
+++ b/src/tint/CMakeLists.txt
@@ -550,6 +550,7 @@
 
 tint_generated(builtin/access BENCH TEST)
 tint_generated(builtin/address_space BENCH TEST)
+tint_generated(builtin/builtin BENCH TEST)
 tint_generated(builtin/builtin_value BENCH TEST)
 tint_generated(builtin/extension BENCH TEST)
 tint_generated(builtin/texel_format BENCH TEST)
@@ -558,7 +559,6 @@
 tint_generated(resolver/init_conv_intrinsic)
 tint_generated(sem/builtin_type)
 tint_generated(sem/parameter_usage)
-tint_generated(type/builtin BENCH TEST)
 
 if(UNIX)
   list(APPEND TINT_LIB_SRCS diagnostic/printer_posix.cc)
diff --git a/src/tint/type/builtin.cc b/src/tint/builtin/builtin.cc
similarity index 98%
rename from src/tint/type/builtin.cc
rename to src/tint/builtin/builtin.cc
index 828bf57..60449b5 100644
--- a/src/tint/type/builtin.cc
+++ b/src/tint/builtin/builtin.cc
@@ -15,14 +15,14 @@
 ////////////////////////////////////////////////////////////////////////////////
 // File generated by tools/src/cmd/gen
 // using the template:
-//   src/tint/type/builtin.cc.tmpl
+//   src/tint/builtin/builtin.cc.tmpl
 //
 // Do not modify this file directly
 ////////////////////////////////////////////////////////////////////////////////
 
-#include "src/tint/type/builtin.h"
+#include "src/tint/builtin/builtin.h"
 
-namespace tint::type {
+namespace tint::builtin {
 
 /// ParseBuiltin parses a Builtin from a string.
 /// @param str the string to parse
@@ -384,4 +384,4 @@
     return out << "<unknown>";
 }
 
-}  // namespace tint::type
+}  // namespace tint::builtin
diff --git a/src/tint/type/builtin.cc.tmpl b/src/tint/builtin/builtin.cc.tmpl
similarity index 87%
rename from src/tint/type/builtin.cc.tmpl
rename to src/tint/builtin/builtin.cc.tmpl
index a790224..b5dd5ae 100644
--- a/src/tint/type/builtin.cc.tmpl
+++ b/src/tint/builtin/builtin.cc.tmpl
@@ -15,12 +15,12 @@
 {{- $enum := (Sem.Enum "builtin_type") -}}
 {{- Eval "OverrideEnumName" "Enum" $enum "Name" "Builtin" -}}
 
-#include "src/tint/type/builtin.h"
+#include "src/tint/builtin/builtin.h"
 
-namespace tint::type {
+namespace tint::builtin {
 
 {{ Eval "ParseEnum" $enum}}
 
 {{ Eval "EnumOStream" $enum}}
 
-}  // namespace tint::type
+}  // namespace tint::builtin
diff --git a/src/tint/type/builtin.h b/src/tint/builtin/builtin.h
similarity index 93%
rename from src/tint/type/builtin.h
rename to src/tint/builtin/builtin.h
index 78e63c2..f514109 100644
--- a/src/tint/type/builtin.h
+++ b/src/tint/builtin/builtin.h
@@ -15,19 +15,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 // File generated by tools/src/cmd/gen
 // using the template:
-//   src/tint/type/builtin.h.tmpl
+//   src/tint/builtin/builtin.h.tmpl
 //
 // Do not modify this file directly
 ////////////////////////////////////////////////////////////////////////////////
 
-#ifndef SRC_TINT_TYPE_BUILTIN_H_
-#define SRC_TINT_TYPE_BUILTIN_H_
+#ifndef SRC_TINT_BUILTIN_BUILTIN_H_
+#define SRC_TINT_BUILTIN_BUILTIN_H_
 
 #include <ostream>
 
-namespace tint::type {
+namespace tint::builtin {
 
-/// An enumerator of builtin types.
+/// An enumerator of builtin builtin.
 enum class Builtin {
     kUndefined,
     kArray,
@@ -183,6 +183,6 @@
     "vec4u",
 };
 
-}  // namespace tint::type
+}  // namespace tint::builtin
 
-#endif  // SRC_TINT_TYPE_BUILTIN_H_
+#endif  // SRC_TINT_BUILTIN_BUILTIN_H_
diff --git a/src/tint/type/builtin.h.tmpl b/src/tint/builtin/builtin.h.tmpl
similarity index 76%
rename from src/tint/type/builtin.h.tmpl
rename to src/tint/builtin/builtin.h.tmpl
index 4067bb4..4fce648 100644
--- a/src/tint/type/builtin.h.tmpl
+++ b/src/tint/builtin/builtin.h.tmpl
@@ -15,16 +15,16 @@
 {{- $enum := (Sem.Enum "builtin_type") -}}
 {{- Eval "OverrideEnumName" "Enum" $enum "Name" "Builtin" -}}
 
-#ifndef SRC_TINT_TYPE_BUILTIN_H_
-#define SRC_TINT_TYPE_BUILTIN_H_
+#ifndef SRC_TINT_BUILTIN_BUILTIN_H_
+#define SRC_TINT_BUILTIN_BUILTIN_H_
 
 #include <ostream>
 
-namespace tint::type {
+namespace tint::builtin {
 
-/// An enumerator of builtin types.
+/// An enumerator of builtin builtin.
 {{ Eval "DeclareEnum" $enum}}
 
-}  // namespace tint::type
+}  // namespace tint::builtin
 
-#endif  // SRC_TINT_TYPE_BUILTIN_H_
+#endif  // SRC_TINT_BUILTIN_BUILTIN_H_
diff --git a/src/tint/type/builtin_bench.cc b/src/tint/builtin/builtin_bench.cc
similarity index 98%
rename from src/tint/type/builtin_bench.cc
rename to src/tint/builtin/builtin_bench.cc
index f8b86cf..3c3134d 100644
--- a/src/tint/type/builtin_bench.cc
+++ b/src/tint/builtin/builtin_bench.cc
@@ -15,18 +15,18 @@
 ////////////////////////////////////////////////////////////////////////////////
 // File generated by tools/src/cmd/gen
 // using the template:
-//   src/tint/type/builtin_bench.cc.tmpl
+//   src/tint/builtin/builtin_bench.cc.tmpl
 //
 // Do not modify this file directly
 ////////////////////////////////////////////////////////////////////////////////
 
-#include "src/tint/type/builtin.h"
+#include "src/tint/builtin/builtin.h"
 
 #include <array>
 
 #include "benchmark/benchmark.h"
 
-namespace tint::type {
+namespace tint::builtin {
 namespace {
 
 void BuiltinParser(::benchmark::State& state) {
@@ -526,4 +526,4 @@
 BENCHMARK(BuiltinParser);
 
 }  // namespace
-}  // namespace tint::type
+}  // namespace tint::builtin
diff --git a/src/tint/type/builtin_bench.cc.tmpl b/src/tint/builtin/builtin_bench.cc.tmpl
similarity index 88%
rename from src/tint/type/builtin_bench.cc.tmpl
rename to src/tint/builtin/builtin_bench.cc.tmpl
index e2cd475..1f56c40 100644
--- a/src/tint/type/builtin_bench.cc.tmpl
+++ b/src/tint/builtin/builtin_bench.cc.tmpl
@@ -15,16 +15,16 @@
 {{- $enum := (Sem.Enum "builtin_type") -}}
 {{- Eval "OverrideEnumName" "Enum" $enum "Name" "Builtin" -}}
 
-#include "src/tint/type/builtin.h"
+#include "src/tint/builtin/builtin.h"
 
 #include <array>
 
 #include "benchmark/benchmark.h"
 
-namespace tint::type {
+namespace tint::builtin {
 namespace {
 
 {{ Eval "BenchmarkParseEnum" $enum }}
 
 }  // namespace
-}  // namespace tint::type
+}  // namespace tint::builtin
diff --git a/src/tint/type/builtin_test.cc b/src/tint/builtin/builtin_test.cc
similarity index 98%
rename from src/tint/type/builtin_test.cc
rename to src/tint/builtin/builtin_test.cc
index 345a214..2908bc2 100644
--- a/src/tint/type/builtin_test.cc
+++ b/src/tint/builtin/builtin_test.cc
@@ -15,12 +15,12 @@
 ////////////////////////////////////////////////////////////////////////////////
 // File generated by tools/src/cmd/gen
 // using the template:
-//   src/tint/type/builtin_test.cc.tmpl
+//   src/tint/builtin/builtin_test.cc.tmpl
 //
 // Do not modify this file directly
 ////////////////////////////////////////////////////////////////////////////////
 
-#include "src/tint/type/builtin.h"
+#include "src/tint/builtin/builtin.h"
 
 #include <string>
 
@@ -28,7 +28,7 @@
 
 #include "src/tint/utils/string.h"
 
-namespace tint::type {
+namespace tint::builtin {
 namespace {
 
 namespace parse_print_tests {
@@ -348,4 +348,4 @@
 }  // namespace parse_print_tests
 
 }  // namespace
-}  // namespace tint::type
+}  // namespace tint::builtin
diff --git a/src/tint/type/builtin_test.cc.tmpl b/src/tint/builtin/builtin_test.cc.tmpl
similarity index 88%
rename from src/tint/type/builtin_test.cc.tmpl
rename to src/tint/builtin/builtin_test.cc.tmpl
index bf84fba..721671f 100644
--- a/src/tint/type/builtin_test.cc.tmpl
+++ b/src/tint/builtin/builtin_test.cc.tmpl
@@ -15,7 +15,7 @@
 {{- $enum := (Sem.Enum "builtin_type") -}}
 {{- Eval "OverrideEnumName" "Enum" $enum "Name" "Builtin" -}}
 
-#include "src/tint/type/builtin.h"
+#include "src/tint/builtin/builtin.h"
 
 #include <string>
 
@@ -23,10 +23,10 @@
 
 #include "src/tint/utils/string.h"
 
-namespace tint::type {
+namespace tint::builtin {
 namespace {
 
 {{ Eval "TestParsePrintEnum" $enum}}
 
 }  // namespace
-}  // namespace tint::type
+}  // namespace tint::builtin
diff --git a/src/tint/resolver/dependency_graph.cc b/src/tint/resolver/dependency_graph.cc
index 66ca071..fbf2b46 100644
--- a/src/tint/resolver/dependency_graph.cc
+++ b/src/tint/resolver/dependency_graph.cc
@@ -54,10 +54,10 @@
 #include "src/tint/ast/variable_decl_statement.h"
 #include "src/tint/ast/while_statement.h"
 #include "src/tint/ast/workgroup_attribute.h"
+#include "src/tint/builtin/builtin.h"
 #include "src/tint/scope_stack.h"
 #include "src/tint/sem/builtin.h"
 #include "src/tint/symbol_table.h"
-#include "src/tint/type/builtin.h"
 #include "src/tint/utils/block_allocator.h"
 #include "src/tint/utils/compiler_macros.h"
 #include "src/tint/utils/defer.h"
@@ -475,7 +475,8 @@
                 graph_.resolved_identifiers.Add(from, ResolvedIdentifier(builtin_fn));
                 return;
             }
-            if (auto builtin_ty = type::ParseBuiltin(s); builtin_ty != type::Builtin::kUndefined) {
+            if (auto builtin_ty = builtin::ParseBuiltin(s);
+                builtin_ty != builtin::Builtin::kUndefined) {
                 graph_.resolved_identifiers.Add(from, ResolvedIdentifier(builtin_ty));
                 return;
             }
@@ -859,7 +860,7 @@
     if (auto builtin_fn = BuiltinFunction(); builtin_fn != sem::BuiltinType::kNone) {
         return "builtin function '" + utils::ToString(builtin_fn) + "'";
     }
-    if (auto builtin_ty = BuiltinType(); builtin_ty != type::Builtin::kUndefined) {
+    if (auto builtin_ty = BuiltinType(); builtin_ty != builtin::Builtin::kUndefined) {
         return "builtin type '" + utils::ToString(builtin_ty) + "'";
     }
     if (auto access = Access(); access != builtin::Access::kUndefined) {
diff --git a/src/tint/resolver/dependency_graph.h b/src/tint/resolver/dependency_graph.h
index 6c9d4e8..8db2ab4 100644
--- a/src/tint/resolver/dependency_graph.h
+++ b/src/tint/resolver/dependency_graph.h
@@ -20,11 +20,11 @@
 
 #include "src/tint/ast/module.h"
 #include "src/tint/builtin/access.h"
+#include "src/tint/builtin/builtin.h"
 #include "src/tint/builtin/texel_format.h"
 #include "src/tint/diagnostic/diagnostic.h"
 #include "src/tint/sem/builtin_type.h"
 #include "src/tint/symbol_table.h"
-#include "src/tint/type/builtin.h"
 #include "src/tint/utils/hashmap.h"
 
 namespace tint::resolver {
@@ -37,7 +37,7 @@
 /// - sem::BuiltinType
 /// - builtin::Access
 /// - builtin::AddressSpace
-/// - type::Builtin
+/// - builtin::Builtin
 /// - builtin::TexelFormat
 class ResolvedIdentifier {
   public:
@@ -86,13 +86,13 @@
         return builtin::AddressSpace::kUndefined;
     }
 
-    /// @return the builtin type if the ResolvedIdentifier holds type::Builtin, otherwise
-    /// type::Builtin::kUndefined
-    type::Builtin BuiltinType() const {
-        if (auto n = std::get_if<type::Builtin>(&value_)) {
+    /// @return the builtin type if the ResolvedIdentifier holds builtin::Builtin, otherwise
+    /// builtin::Builtin::kUndefined
+    builtin::Builtin BuiltinType() const {
+        if (auto n = std::get_if<builtin::Builtin>(&value_)) {
             return *n;
         }
-        return type::Builtin::kUndefined;
+        return builtin::Builtin::kUndefined;
     }
 
     /// @return the texel format if the ResolvedIdentifier holds builtin::TexelFormat, otherwise
@@ -132,7 +132,7 @@
                  sem::BuiltinType,
                  builtin::Access,
                  builtin::AddressSpace,
-                 type::Builtin,
+                 builtin::Builtin,
                  builtin::TexelFormat>
         value_;
 };
diff --git a/src/tint/resolver/dependency_graph_test.cc b/src/tint/resolver/dependency_graph_test.cc
index 8b91d1e..c8cc60a 100644
--- a/src/tint/resolver/dependency_graph_test.cc
+++ b/src/tint/resolver/dependency_graph_test.cc
@@ -1259,7 +1259,7 @@
 
     auto resolved = Build().resolved_identifiers.Get(ident);
     ASSERT_TRUE(resolved);
-    EXPECT_EQ(resolved->BuiltinType(), type::ParseBuiltin(name))
+    EXPECT_EQ(resolved->BuiltinType(), builtin::ParseBuiltin(name))
         << resolved->String(Symbols(), Diagnostics());
 }
 
@@ -1316,17 +1316,17 @@
 INSTANTIATE_TEST_SUITE_P(Types,
                          ResolverDependencyGraphResolveToBuiltinType,
                          testing::Combine(testing::ValuesIn(kTypeUseKinds),
-                                          testing::ValuesIn(type::kBuiltinStrings)));
+                                          testing::ValuesIn(builtin::kBuiltinStrings)));
 
 INSTANTIATE_TEST_SUITE_P(Values,
                          ResolverDependencyGraphResolveToBuiltinType,
                          testing::Combine(testing::ValuesIn(kValueUseKinds),
-                                          testing::ValuesIn(type::kBuiltinStrings)));
+                                          testing::ValuesIn(builtin::kBuiltinStrings)));
 
 INSTANTIATE_TEST_SUITE_P(Functions,
                          ResolverDependencyGraphResolveToBuiltinType,
                          testing::Combine(testing::ValuesIn(kFuncUseKinds),
-                                          testing::ValuesIn(type::kBuiltinStrings)));
+                                          testing::ValuesIn(builtin::kBuiltinStrings)));
 
 }  // namespace resolve_to_builtin_type
 
diff --git a/src/tint/resolver/resolver.cc b/src/tint/resolver/resolver.cc
index ba318fa..f5432b1 100644
--- a/src/tint/resolver/resolver.cc
+++ b/src/tint/resolver/resolver.cc
@@ -42,6 +42,7 @@
 #include "src/tint/ast/variable_decl_statement.h"
 #include "src/tint/ast/while_statement.h"
 #include "src/tint/ast/workgroup_attribute.h"
+#include "src/tint/builtin/builtin.h"
 #include "src/tint/resolver/uniformity.h"
 #include "src/tint/sem/break_if_statement.h"
 #include "src/tint/sem/builtin_enum_expression.h"
@@ -68,7 +69,6 @@
 #include "src/tint/type/abstract_int.h"
 #include "src/tint/type/array.h"
 #include "src/tint/type/atomic.h"
-#include "src/tint/type/builtin.h"
 #include "src/tint/type/depth_multisampled_texture.h"
 #include "src/tint/type/depth_texture.h"
 #include "src/tint/type/external_texture.h"
@@ -2133,36 +2133,36 @@
             return BuiltinCall(expr, f, args);
         }
 
-        if (auto b = resolved->BuiltinType(); b != type::Builtin::kUndefined) {
+        if (auto b = resolved->BuiltinType(); b != builtin::Builtin::kUndefined) {
             if (!ident->Is<ast::TemplatedIdentifier>()) {
                 // No template arguments provided.
                 // Check to see if this is an inferred-element-type call.
                 switch (b) {
-                    case type::Builtin::kArray:
+                    case builtin::Builtin::kArray:
                         return inferred_array();
-                    case type::Builtin::kVec2:
+                    case builtin::Builtin::kVec2:
                         return init_or_conv(InitConvIntrinsic::kVec2, nullptr);
-                    case type::Builtin::kVec3:
+                    case builtin::Builtin::kVec3:
                         return init_or_conv(InitConvIntrinsic::kVec3, nullptr);
-                    case type::Builtin::kVec4:
+                    case builtin::Builtin::kVec4:
                         return init_or_conv(InitConvIntrinsic::kVec4, nullptr);
-                    case type::Builtin::kMat2X2:
+                    case builtin::Builtin::kMat2X2:
                         return init_or_conv(InitConvIntrinsic::kMat2x2, nullptr);
-                    case type::Builtin::kMat2X3:
+                    case builtin::Builtin::kMat2X3:
                         return init_or_conv(InitConvIntrinsic::kMat2x3, nullptr);
-                    case type::Builtin::kMat2X4:
+                    case builtin::Builtin::kMat2X4:
                         return init_or_conv(InitConvIntrinsic::kMat2x4, nullptr);
-                    case type::Builtin::kMat3X2:
+                    case builtin::Builtin::kMat3X2:
                         return init_or_conv(InitConvIntrinsic::kMat3x2, nullptr);
-                    case type::Builtin::kMat3X3:
+                    case builtin::Builtin::kMat3X3:
                         return init_or_conv(InitConvIntrinsic::kMat3x3, nullptr);
-                    case type::Builtin::kMat3X4:
+                    case builtin::Builtin::kMat3X4:
                         return init_or_conv(InitConvIntrinsic::kMat3x4, nullptr);
-                    case type::Builtin::kMat4X2:
+                    case builtin::Builtin::kMat4X2:
                         return init_or_conv(InitConvIntrinsic::kMat4x2, nullptr);
-                    case type::Builtin::kMat4X3:
+                    case builtin::Builtin::kMat4X3:
                         return init_or_conv(InitConvIntrinsic::kMat4x3, nullptr);
-                    case type::Builtin::kMat4X4:
+                    case builtin::Builtin::kMat4X4:
                         return init_or_conv(InitConvIntrinsic::kMat4x4, nullptr);
                     default:
                         break;
@@ -2284,7 +2284,7 @@
     return call;
 }
 
-type::Type* Resolver::BuiltinType(type::Builtin builtin_ty, const ast::Identifier* ident) {
+type::Type* Resolver::BuiltinType(builtin::Builtin builtin_ty, const ast::Identifier* ident) {
     auto& b = *builder_;
 
     auto check_no_tmpl_args = [&](type::Type* ty) -> type::Type* {
@@ -2537,151 +2537,151 @@
     };
 
     switch (builtin_ty) {
-        case type::Builtin::kBool:
+        case builtin::Builtin::kBool:
             return check_no_tmpl_args(b.create<type::Bool>());
-        case type::Builtin::kI32:
+        case builtin::Builtin::kI32:
             return check_no_tmpl_args(i32());
-        case type::Builtin::kU32:
+        case builtin::Builtin::kU32:
             return check_no_tmpl_args(u32());
-        case type::Builtin::kF16:
+        case builtin::Builtin::kF16:
             return check_no_tmpl_args(f16());
-        case type::Builtin::kF32:
+        case builtin::Builtin::kF32:
             return check_no_tmpl_args(b.create<type::F32>());
-        case type::Builtin::kVec2:
+        case builtin::Builtin::kVec2:
             return vec_t(2);
-        case type::Builtin::kVec3:
+        case builtin::Builtin::kVec3:
             return vec_t(3);
-        case type::Builtin::kVec4:
+        case builtin::Builtin::kVec4:
             return vec_t(4);
-        case type::Builtin::kMat2X2:
+        case builtin::Builtin::kMat2X2:
             return mat_t(2, 2);
-        case type::Builtin::kMat2X3:
+        case builtin::Builtin::kMat2X3:
             return mat_t(2, 3);
-        case type::Builtin::kMat2X4:
+        case builtin::Builtin::kMat2X4:
             return mat_t(2, 4);
-        case type::Builtin::kMat3X2:
+        case builtin::Builtin::kMat3X2:
             return mat_t(3, 2);
-        case type::Builtin::kMat3X3:
+        case builtin::Builtin::kMat3X3:
             return mat_t(3, 3);
-        case type::Builtin::kMat3X4:
+        case builtin::Builtin::kMat3X4:
             return mat_t(3, 4);
-        case type::Builtin::kMat4X2:
+        case builtin::Builtin::kMat4X2:
             return mat_t(4, 2);
-        case type::Builtin::kMat4X3:
+        case builtin::Builtin::kMat4X3:
             return mat_t(4, 3);
-        case type::Builtin::kMat4X4:
+        case builtin::Builtin::kMat4X4:
             return mat_t(4, 4);
-        case type::Builtin::kMat2X2F:
+        case builtin::Builtin::kMat2X2F:
             return check_no_tmpl_args(mat(f32(), 2u, 2u));
-        case type::Builtin::kMat2X3F:
+        case builtin::Builtin::kMat2X3F:
             return check_no_tmpl_args(mat(f32(), 2u, 3u));
-        case type::Builtin::kMat2X4F:
+        case builtin::Builtin::kMat2X4F:
             return check_no_tmpl_args(mat(f32(), 2u, 4u));
-        case type::Builtin::kMat3X2F:
+        case builtin::Builtin::kMat3X2F:
             return check_no_tmpl_args(mat(f32(), 3u, 2u));
-        case type::Builtin::kMat3X3F:
+        case builtin::Builtin::kMat3X3F:
             return check_no_tmpl_args(mat(f32(), 3u, 3u));
-        case type::Builtin::kMat3X4F:
+        case builtin::Builtin::kMat3X4F:
             return check_no_tmpl_args(mat(f32(), 3u, 4u));
-        case type::Builtin::kMat4X2F:
+        case builtin::Builtin::kMat4X2F:
             return check_no_tmpl_args(mat(f32(), 4u, 2u));
-        case type::Builtin::kMat4X3F:
+        case builtin::Builtin::kMat4X3F:
             return check_no_tmpl_args(mat(f32(), 4u, 3u));
-        case type::Builtin::kMat4X4F:
+        case builtin::Builtin::kMat4X4F:
             return check_no_tmpl_args(mat(f32(), 4u, 4u));
-        case type::Builtin::kMat2X2H:
+        case builtin::Builtin::kMat2X2H:
             return check_no_tmpl_args(mat(f16(), 2u, 2u));
-        case type::Builtin::kMat2X3H:
+        case builtin::Builtin::kMat2X3H:
             return check_no_tmpl_args(mat(f16(), 2u, 3u));
-        case type::Builtin::kMat2X4H:
+        case builtin::Builtin::kMat2X4H:
             return check_no_tmpl_args(mat(f16(), 2u, 4u));
-        case type::Builtin::kMat3X2H:
+        case builtin::Builtin::kMat3X2H:
             return check_no_tmpl_args(mat(f16(), 3u, 2u));
-        case type::Builtin::kMat3X3H:
+        case builtin::Builtin::kMat3X3H:
             return check_no_tmpl_args(mat(f16(), 3u, 3u));
-        case type::Builtin::kMat3X4H:
+        case builtin::Builtin::kMat3X4H:
             return check_no_tmpl_args(mat(f16(), 3u, 4u));
-        case type::Builtin::kMat4X2H:
+        case builtin::Builtin::kMat4X2H:
             return check_no_tmpl_args(mat(f16(), 4u, 2u));
-        case type::Builtin::kMat4X3H:
+        case builtin::Builtin::kMat4X3H:
             return check_no_tmpl_args(mat(f16(), 4u, 3u));
-        case type::Builtin::kMat4X4H:
+        case builtin::Builtin::kMat4X4H:
             return check_no_tmpl_args(mat(f16(), 4u, 4u));
-        case type::Builtin::kVec2F:
+        case builtin::Builtin::kVec2F:
             return check_no_tmpl_args(vec(f32(), 2u));
-        case type::Builtin::kVec3F:
+        case builtin::Builtin::kVec3F:
             return check_no_tmpl_args(vec(f32(), 3u));
-        case type::Builtin::kVec4F:
+        case builtin::Builtin::kVec4F:
             return check_no_tmpl_args(vec(f32(), 4u));
-        case type::Builtin::kVec2H:
+        case builtin::Builtin::kVec2H:
             return check_no_tmpl_args(vec(f16(), 2u));
-        case type::Builtin::kVec3H:
+        case builtin::Builtin::kVec3H:
             return check_no_tmpl_args(vec(f16(), 3u));
-        case type::Builtin::kVec4H:
+        case builtin::Builtin::kVec4H:
             return check_no_tmpl_args(vec(f16(), 4u));
-        case type::Builtin::kVec2I:
+        case builtin::Builtin::kVec2I:
             return check_no_tmpl_args(vec(i32(), 2u));
-        case type::Builtin::kVec3I:
+        case builtin::Builtin::kVec3I:
             return check_no_tmpl_args(vec(i32(), 3u));
-        case type::Builtin::kVec4I:
+        case builtin::Builtin::kVec4I:
             return check_no_tmpl_args(vec(i32(), 4u));
-        case type::Builtin::kVec2U:
+        case builtin::Builtin::kVec2U:
             return check_no_tmpl_args(vec(u32(), 2u));
-        case type::Builtin::kVec3U:
+        case builtin::Builtin::kVec3U:
             return check_no_tmpl_args(vec(u32(), 3u));
-        case type::Builtin::kVec4U:
+        case builtin::Builtin::kVec4U:
             return check_no_tmpl_args(vec(u32(), 4u));
-        case type::Builtin::kArray:
+        case builtin::Builtin::kArray:
             return array();
-        case type::Builtin::kAtomic:
+        case builtin::Builtin::kAtomic:
             return atomic();
-        case type::Builtin::kPtr:
+        case builtin::Builtin::kPtr:
             return ptr();
-        case type::Builtin::kSampler:
+        case builtin::Builtin::kSampler:
             return check_no_tmpl_args(builder_->create<type::Sampler>(type::SamplerKind::kSampler));
-        case type::Builtin::kSamplerComparison:
+        case builtin::Builtin::kSamplerComparison:
             return check_no_tmpl_args(
                 builder_->create<type::Sampler>(type::SamplerKind::kComparisonSampler));
-        case type::Builtin::kTexture1D:
+        case builtin::Builtin::kTexture1D:
             return sampled_texture(type::TextureDimension::k1d);
-        case type::Builtin::kTexture2D:
+        case builtin::Builtin::kTexture2D:
             return sampled_texture(type::TextureDimension::k2d);
-        case type::Builtin::kTexture2DArray:
+        case builtin::Builtin::kTexture2DArray:
             return sampled_texture(type::TextureDimension::k2dArray);
-        case type::Builtin::kTexture3D:
+        case builtin::Builtin::kTexture3D:
             return sampled_texture(type::TextureDimension::k3d);
-        case type::Builtin::kTextureCube:
+        case builtin::Builtin::kTextureCube:
             return sampled_texture(type::TextureDimension::kCube);
-        case type::Builtin::kTextureCubeArray:
+        case builtin::Builtin::kTextureCubeArray:
             return sampled_texture(type::TextureDimension::kCubeArray);
-        case type::Builtin::kTextureDepth2D:
+        case builtin::Builtin::kTextureDepth2D:
             return check_no_tmpl_args(
                 builder_->create<type::DepthTexture>(type::TextureDimension::k2d));
-        case type::Builtin::kTextureDepth2DArray:
+        case builtin::Builtin::kTextureDepth2DArray:
             return check_no_tmpl_args(
                 builder_->create<type::DepthTexture>(type::TextureDimension::k2dArray));
-        case type::Builtin::kTextureDepthCube:
+        case builtin::Builtin::kTextureDepthCube:
             return check_no_tmpl_args(
                 builder_->create<type::DepthTexture>(type::TextureDimension::kCube));
-        case type::Builtin::kTextureDepthCubeArray:
+        case builtin::Builtin::kTextureDepthCubeArray:
             return check_no_tmpl_args(
                 builder_->create<type::DepthTexture>(type::TextureDimension::kCubeArray));
-        case type::Builtin::kTextureDepthMultisampled2D:
+        case builtin::Builtin::kTextureDepthMultisampled2D:
             return check_no_tmpl_args(
                 builder_->create<type::DepthMultisampledTexture>(type::TextureDimension::k2d));
-        case type::Builtin::kTextureExternal:
+        case builtin::Builtin::kTextureExternal:
             return check_no_tmpl_args(builder_->create<type::ExternalTexture>());
-        case type::Builtin::kTextureMultisampled2D:
+        case builtin::Builtin::kTextureMultisampled2D:
             return multisampled_texture(type::TextureDimension::k2d);
-        case type::Builtin::kTextureStorage1D:
+        case builtin::Builtin::kTextureStorage1D:
             return storage_texture(type::TextureDimension::k1d);
-        case type::Builtin::kTextureStorage2D:
+        case builtin::Builtin::kTextureStorage2D:
             return storage_texture(type::TextureDimension::k2d);
-        case type::Builtin::kTextureStorage2DArray:
+        case builtin::Builtin::kTextureStorage2DArray:
             return storage_texture(type::TextureDimension::k2dArray);
-        case type::Builtin::kTextureStorage3D:
+        case builtin::Builtin::kTextureStorage3D:
             return storage_texture(type::TextureDimension::k3d);
-        case type::Builtin::kUndefined:
+        case builtin::Builtin::kUndefined:
             break;
     }
 
@@ -2964,7 +2964,7 @@
             });
     }
 
-    if (auto builtin_ty = resolved->BuiltinType(); builtin_ty != type::Builtin::kUndefined) {
+    if (auto builtin_ty = resolved->BuiltinType(); builtin_ty != builtin::Builtin::kUndefined) {
         auto* ty = BuiltinType(builtin_ty, ident);
         if (!ty) {
             return nullptr;
diff --git a/src/tint/resolver/resolver.h b/src/tint/resolver/resolver.h
index aa688c3..6829bac 100644
--- a/src/tint/resolver/resolver.h
+++ b/src/tint/resolver/resolver.h
@@ -463,7 +463,7 @@
 
     /// @returns the type::Type for the builtin type @p builtin_ty with the identifier @p ident
     /// @note: Will raise an ICE if @p symbol is not a builtin type.
-    type::Type* BuiltinType(type::Builtin builtin_ty, const ast::Identifier* ident);
+    type::Type* BuiltinType(builtin::Builtin builtin_ty, const ast::Identifier* ident);
 
     // ArrayInitializerSig represents a unique array initializer signature.
     // It is a tuple of the array type, number of arguments provided and earliest evaluation stage.
diff --git a/src/tint/transform/renamer_test.cc b/src/tint/transform/renamer_test.cc
index 810517a..a0d1d1a 100644
--- a/src/tint/transform/renamer_test.cc
+++ b/src/tint/transform/renamer_test.cc
@@ -19,9 +19,9 @@
 #include <vector>
 
 #include "gmock/gmock.h"
+#include "src/tint/builtin/builtin.h"
 #include "src/tint/builtin/texel_format.h"
 #include "src/tint/transform/test_helper.h"
-#include "src/tint/type/builtin.h"
 
 namespace tint::transform {
 namespace {
@@ -1711,7 +1711,7 @@
 
 std::vector<const char*> ConstructableTypes() {
     std::vector<const char*> out;
-    for (auto* ty : type::kBuiltinStrings) {
+    for (auto* ty : builtin::kBuiltinStrings) {
         std::string_view type(ty);
         if (type != "ptr" && type != "atomic" && !utils::HasPrefix(type, "sampler") &&
             !utils::HasPrefix(type, "texture")) {
@@ -1923,7 +1923,7 @@
 /// @return WGSL builtin identifier keywords
 std::vector<const char*> Identifiers() {
     std::vector<const char*> out;
-    for (auto* ident : type::kBuiltinStrings) {
+    for (auto* ident : builtin::kBuiltinStrings) {
         out.push_back(ident);
     }
     for (auto* ident : builtin::kAddressSpaceStrings) {