Mark some enum entries as `@internal`

The defs file allow marking things as `@internal` which removes the
parsing code and does not add them to the list of suggested spellings.

This CL updates the `in` and `out` address spaces along with the
`point_size` builtin to be `@internal`. A series of tests are removed
which are from either old SPIR-V transform code, or ways of writing WGSL
which we no longer generate.

Bug: 42250952
Change-Id: I2aba36123bf0745652d90be4fa336137ebdda420
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/221436
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
diff --git a/src/tint/lang/core/address_space.cc b/src/tint/lang/core/address_space.cc
index a9a6406..8906b5b 100644
--- a/src/tint/lang/core/address_space.cc
+++ b/src/tint/lang/core/address_space.cc
@@ -42,12 +42,6 @@
 /// @param str the string to parse
 /// @returns the parsed enum, or AddressSpace::kUndefined if the string could not be parsed.
 AddressSpace ParseAddressSpace(std::string_view str) {
-    if (str == "__in") {
-        return AddressSpace::kIn;
-    }
-    if (str == "__out") {
-        return AddressSpace::kOut;
-    }
     if (str == "function") {
         return AddressSpace::kFunction;
     }
diff --git a/src/tint/lang/core/address_space.def b/src/tint/lang/core/address_space.def
index 0b8631d..37845f5 100644
--- a/src/tint/lang/core/address_space.def
+++ b/src/tint/lang/core/address_space.def
@@ -7,7 +7,7 @@
   storage
   push_constant
   pixel_local
-  __in
-  __out
+  @internal __in
+  @internal __out
   @internal handle
 }
diff --git a/src/tint/lang/core/address_space.h b/src/tint/lang/core/address_space.h
index 00f808b..b6fde43 100644
--- a/src/tint/lang/core/address_space.h
+++ b/src/tint/lang/core/address_space.h
@@ -46,8 +46,8 @@
 /// Address space of a given pointer.
 enum class AddressSpace : uint8_t {
     kUndefined,
-    kIn,
-    kOut,
+    kIn,   // Tint-internal enum entry - not parsed
+    kOut,  // Tint-internal enum entry - not parsed
     kFunction,
     kHandle,  // Tint-internal enum entry - not parsed
     kPixelLocal,
@@ -76,8 +76,7 @@
 AddressSpace ParseAddressSpace(std::string_view str);
 
 constexpr std::string_view kAddressSpaceStrings[] = {
-    "__in",          "__out",   "function", "pixel_local", "private",
-    "push_constant", "storage", "uniform",  "workgroup",
+    "function", "pixel_local", "private", "push_constant", "storage", "uniform", "workgroup",
 };
 
 /// @returns true if the AddressSpace is host-shareable
diff --git a/src/tint/lang/core/address_space_bench.cc b/src/tint/lang/core/address_space_bench.cc
index f95f956..bd55c1b 100644
--- a/src/tint/lang/core/address_space_bench.cc
+++ b/src/tint/lang/core/address_space_bench.cc
@@ -45,69 +45,16 @@
 
 void AddressSpaceParser(::benchmark::State& state) {
     const char* kStrings[] = {
-        "ccin",
-        "3",
-        "_Vin",
-        "__in",
-        "1_in",
-        "_qiJ",
-        "_lli77",
-        "__qHupp",
-        "vt",
-        "G_bt",
-        "__out",
-        "__viut",
-        "__8WWt",
-        "Mxxou",
-        "fuXggton",
-        "fuXtou",
-        "funct3on",
-        "function",
-        "funEtion",
-        "PPncTTion",
-        "xxuncddon",
-        "pixe44_local",
-        "SSVVxel_local",
-        "pixRR_local",
-        "pixel_local",
-        "pixel_lF9a",
-        "pixel_loca",
-        "pOOxVRl_locH",
-        "prvaye",
-        "llnrrrv77te",
-        "priv4t00",
-        "private",
-        "rvooe",
-        "zzvate",
-        "piiippa1",
-        "puXXh_constant",
-        "pusII9_nn55nstant",
-        "YusHH_coaastSSrnt",
-        "push_constant",
-        "pushonkkHan",
-        "jush_consgRt",
-        "puh_cobsant",
-        "storaje",
-        "torage",
-        "qrage",
-        "storage",
-        "stoNNge",
-        "torgvv",
-        "QQorage",
-        "unffor",
-        "unifojm",
-        "uNNwfor8",
-        "uniform",
-        "uniorm",
-        "urriform",
-        "Gniform",
-        "workgrFFup",
-        "Eokgru",
-        "worrgroup",
-        "workgroup",
-        "wokgrou",
-        "woJDkgoup",
-        "okroup",
+        "fccnctin",     "ucti3",          "functVon",        "function",      "1unction",
+        "unJtqqon",     "llun77tion",     "pixppHq_local",   "ciellovl",      "ibGl_local",
+        "pixel_local",  "pivel_liical",   "pixel_lWW8al",    "piel_xxoMal",   "pXvatgg",
+        "rvaXe",        "priv3te",        "private",         "Erivate",       "pPTTvate",
+        "privadxx",     "push_c44nstant", "push_SSonsVVant", "pRs2Rconstant", "push_constant",
+        "push_coFstn9", "psh_constant",   "Vush_cnRRtOOHt",  "straye",        "llntrrr77ge",
+        "stor4g00",     "storage",        "trooe",           "zzrage",        "siioppa1",
+        "unifoXXm",     "9II5nnnform",    "uniaSSrHHYm",     "uniform",       "unkkm",
+        "jnigRo",       "ubfor",          "workgrojp",       "wrkgroup",      "wrkgrqp",
+        "workgroup",    "wrkNNroup",      "wokgouvv",        "orkgrQQup",
     };
     for (auto _ : state) {
         for (auto* str : kStrings) {
diff --git a/src/tint/lang/core/address_space_test.cc b/src/tint/lang/core/address_space_test.cc
index 0f63446..ff9e90c 100644
--- a/src/tint/lang/core/address_space_test.cc
+++ b/src/tint/lang/core/address_space_test.cc
@@ -57,32 +57,24 @@
 }
 
 static constexpr Case kValidCases[] = {
-    {"__in", AddressSpace::kIn},
-    {"__out", AddressSpace::kOut},
-    {"function", AddressSpace::kFunction},
-    {"pixel_local", AddressSpace::kPixelLocal},
-    {"private", AddressSpace::kPrivate},
-    {"push_constant", AddressSpace::kPushConstant},
-    {"storage", AddressSpace::kStorage},
-    {"uniform", AddressSpace::kUniform},
+    {"function", AddressSpace::kFunction},   {"pixel_local", AddressSpace::kPixelLocal},
+    {"private", AddressSpace::kPrivate},     {"push_constant", AddressSpace::kPushConstant},
+    {"storage", AddressSpace::kStorage},     {"uniform", AddressSpace::kUniform},
     {"workgroup", AddressSpace::kWorkgroup},
 };
 
 static constexpr Case kInvalidCases[] = {
-    {"ccin", AddressSpace::kUndefined},           {"3", AddressSpace::kUndefined},
-    {"_Vin", AddressSpace::kUndefined},           {"__ou1", AddressSpace::kUndefined},
-    {"qq_Jt", AddressSpace::kUndefined},          {"__oll7t", AddressSpace::kUndefined},
-    {"qquntppHon", AddressSpace::kUndefined},     {"cnciv", AddressSpace::kUndefined},
-    {"funGion", AddressSpace::kUndefined},        {"pivel_liical", AddressSpace::kUndefined},
-    {"pixel_lWW8al", AddressSpace::kUndefined},   {"piel_xxoMal", AddressSpace::kUndefined},
-    {"pXvatgg", AddressSpace::kUndefined},        {"rvaXe", AddressSpace::kUndefined},
-    {"priv3te", AddressSpace::kUndefined},        {"push_constanE", AddressSpace::kUndefined},
-    {"push_TTPnstant", AddressSpace::kUndefined}, {"puxxdh_constan", AddressSpace::kUndefined},
-    {"s44orage", AddressSpace::kUndefined},       {"stSSraVVe", AddressSpace::kUndefined},
-    {"RtoR22e", AddressSpace::kUndefined},        {"uFfo9m", AddressSpace::kUndefined},
-    {"uniorm", AddressSpace::kUndefined},         {"VOORRHrm", AddressSpace::kUndefined},
-    {"woykgoup", AddressSpace::kUndefined},       {"l77nnrrkgroGp", AddressSpace::kUndefined},
-    {"wo4kgr00up", AddressSpace::kUndefined},
+    {"fccnctin", AddressSpace::kUndefined},       {"ucti3", AddressSpace::kUndefined},
+    {"functVon", AddressSpace::kUndefined},       {"pixel_loc1l", AddressSpace::kUndefined},
+    {"pqqxel_lJal", AddressSpace::kUndefined},    {"pixll77_local", AddressSpace::kUndefined},
+    {"ppqqivtHH", AddressSpace::kUndefined},      {"prcv", AddressSpace::kUndefined},
+    {"bivaGe", AddressSpace::kUndefined},         {"puvh_ciinstant", AddressSpace::kUndefined},
+    {"push8WWonstant", AddressSpace::kUndefined}, {"pxxsh_cMnstnt", AddressSpace::kUndefined},
+    {"sXraggg", AddressSpace::kUndefined},        {"traXe", AddressSpace::kUndefined},
+    {"stor3ge", AddressSpace::kUndefined},        {"Eniform", AddressSpace::kUndefined},
+    {"uPTTform", AddressSpace::kUndefined},       {"unifodxx", AddressSpace::kUndefined},
+    {"44orkgroup", AddressSpace::kUndefined},     {"VVorkSSroup", AddressSpace::kUndefined},
+    {"wrkgro2Rp", AddressSpace::kUndefined},
 };
 
 using AddressSpaceParseTest = testing::TestWithParam<Case>;
diff --git a/src/tint/lang/core/builtin_value.cc b/src/tint/lang/core/builtin_value.cc
index 11003a9..412bc6e 100644
--- a/src/tint/lang/core/builtin_value.cc
+++ b/src/tint/lang/core/builtin_value.cc
@@ -42,9 +42,6 @@
 /// @param str the string to parse
 /// @returns the parsed enum, or BuiltinValue::kUndefined if the string could not be parsed.
 BuiltinValue ParseBuiltinValue(std::string_view str) {
-    if (str == "__point_size") {
-        return BuiltinValue::kPointSize;
-    }
     if (str == "clip_distances") {
         return BuiltinValue::kClipDistances;
     }
diff --git a/src/tint/lang/core/builtin_value.h b/src/tint/lang/core/builtin_value.h
index 8c5d0d9..e4cc710 100644
--- a/src/tint/lang/core/builtin_value.h
+++ b/src/tint/lang/core/builtin_value.h
@@ -46,7 +46,7 @@
 /// Builtin value defined with `@builtin(<name>)`.
 enum class BuiltinValue : uint8_t {
     kUndefined,
-    kPointSize,
+    kPointSize,  // Tint-internal enum entry - not parsed
     kClipDistances,
     kFragDepth,
     kFrontFacing,
@@ -82,10 +82,11 @@
 BuiltinValue ParseBuiltinValue(std::string_view str);
 
 constexpr std::string_view kBuiltinValueStrings[] = {
-    "__point_size",           "clip_distances", "frag_depth",          "front_facing",
-    "global_invocation_id",   "instance_index", "local_invocation_id", "local_invocation_index",
-    "num_workgroups",         "position",       "sample_index",        "sample_mask",
-    "subgroup_invocation_id", "subgroup_size",  "vertex_index",        "workgroup_id",
+    "clip_distances",         "frag_depth",     "front_facing",
+    "global_invocation_id",   "instance_index", "local_invocation_id",
+    "local_invocation_index", "num_workgroups", "position",
+    "sample_index",           "sample_mask",    "subgroup_invocation_id",
+    "subgroup_size",          "vertex_index",   "workgroup_id",
 };
 
 }  // namespace tint::core
diff --git a/src/tint/lang/core/builtin_value_bench.cc b/src/tint/lang/core/builtin_value_bench.cc
index 07fbc2e..e8dbcad 100644
--- a/src/tint/lang/core/builtin_value_bench.cc
+++ b/src/tint/lang/core/builtin_value_bench.cc
@@ -45,118 +45,111 @@
 
 void BuiltinValueParser(::benchmark::State& state) {
     const char* kStrings[] = {
-        "_ccpoint_siz",
-        "_3poi_ile",
-        "__poiVt_size",
-        "__point_size",
-        "1_point_size",
-        "__pointJsqze",
-        "__lloint_siz77",
-        "clppp_disqHHancs",
-        "cli_dvsnces",
-        "cip_diGtances",
+        "clip_distacecc",
+        "c_disla3ces",
+        "cliV_distances",
         "clip_distances",
-        "clvp_distaniies",
-        "8lip_disWWances",
-        "clixx_disances",
-        "fXag_detgg",
-        "fag_XuVh",
-        "frag_dept3",
+        "clip1distances",
+        "cqqiJ_distanes",
+        "clip_dllstance77",
+        "frqqgppepHHh",
+        "fv_dcpt",
+        "frabGdeth",
         "frag_depth",
-        "frag_deptE",
-        "TTrag_dePPt",
-        "fragddxxpth",
-        "44ront_facing",
-        "fSSont_facinVV",
-        "fronR_Racing",
+        "frag_veiith",
+        "fr8g_depWWh",
+        "Mragxxepth",
+        "ggroXtfacing",
+        "Vot_fuciXg",
+        "front_fac3ng",
         "front_facing",
-        "ron9_faciFg",
-        "front_facin",
-        "fVonRR_HaOing",
-        "global_iyvocatin_id",
-        "globrrlln_invocation_G77",
-        "glob00l_invocati4n_id",
+        "front_fEcing",
+        "fronPPfaTTing",
+        "ddroxxtfacing",
+        "global_invocatio44_id",
+        "global_invocaSSioVV_id",
+        "22loRal_invoRtion_id",
         "global_invocation_id",
-        "gloa_invocatinooid",
-        "globl_nvocationzzid",
-        "loal_piinvocat11on_id",
-        "instance_indXXx",
-        "55nstan99enIIindex",
-        "iHHstancSS_aanrrYx",
+        "globalFinvoction_id",
+        "gloal_invocation_id",
+        "RRlHOOaV_invoction_id",
+        "instance_ydex",
+        "instGlr77cnn_index",
+        "instan04e_index",
         "instance_index",
-        "inskkaHce_dx",
-        "insRRanceijge",
-        "instance_inb",
-        "ljcal_invocation_id",
-        "local_invocaton_id",
-        "local_inqocain_id",
+        "insacoo_inex",
+        "izstane_index",
+        "nippance_in11ex",
+        "local_invXXcation_id",
+        "lIIcal_i5599ocation_inn",
+        "HHrrcal_inSSocation_Yaa",
         "local_invocation_id",
-        "local_invNNation_id",
-        "loalvvinvoction_id",
-        "ocal_invocatioQQ_id",
-        "rcal_invffcaton_index",
-        "lojal_invocation_index",
-        "lcNNwl_in2ocat8on_index",
+        "lokkal_invocatini",
+        "jocal_invocRRongid",
+        "local_inocatbon_i",
+        "local_injocation_index",
+        "local_invocatio_index",
+        "locl_invocqtion_ndex",
         "local_invocation_index",
-        "local_invcation_index",
-        "local_rrnvocation_index",
-        "local_invocatGon_index",
-        "num_workgroupFF",
-        "nEm_ogroups",
-        "numwrrrkgroups",
+        "localNNinvocaton_index",
+        "local_invocatin_ivvdx",
+        "locl_invocatioQQ_index",
+        "num_workgffus",
+        "num_workgroujs",
+        "num_wrkgNNwoup8",
         "num_workgroups",
-        "um_workgrops",
-        "DX_worJJgroups",
-        "nu8_orkgrop",
-        "ps11tk",
-        "positio",
-        "poitJon",
+        "numworkgroups",
+        "num_workrrroups",
+        "num_worGgroups",
+        "pFFsition",
+        "pEiio",
+        "prrsitio",
         "position",
-        "posicion",
-        "positiOn",
-        "positiKK_vtt",
-        "smple5inxxe8",
-        "s__mle_qFdex",
-        "saqqple_idex",
+        "sition",
+        "poJJDtin",
+        "poi8i",
+        "smpke11nde",
+        "samle_index",
+        "saple_Jndex",
         "sample_index",
-        "saOpe_33nde66",
-        "s6oople_indttQx",
-        "sam66le_inex",
-        "samxe66masOz",
-        "yyample_mask",
-        "amplZZHask",
+        "cample_index",
+        "sample_indOx",
+        "savvKKl___inttex",
+        "sam8le_xx5k",
+        "sampqq__msk",
+        "sampleqmask",
         "sample_mask",
-        "WWaple_maq4k",
-        "samplOO_ask",
-        "sYohpe_msk",
-        "subgroup_vocaton_id",
-        "subgroup_invocatoF_id",
-        "subgroup_invocwtion_i",
+        "33amOe_mas66",
+        "samoott6QQmask",
+        "66mple_mask",
+        "subroup_invoOaxion_i6zz",
+        "subgroup_inyyocation_id",
+        "subgrup_invcatiZHH_id",
         "subgroup_invocation_id",
-        "suKrffupGinvocation_d",
-        "subgroup_KKnvqcation_id",
-        "subgroup_inmmo3ation_iF",
-        "subgroup_ize",
-        "subgroup_izq",
-        "sbgroup_bbize",
+        "subgroqp_inWWoat44on_id",
+        "subgrou_inOOocation_id",
+        "suhgrup_invoYation_id",
+        "subroup_si",
+        "suFgoup_size",
+        "subgowp_size",
         "subgroup_size",
-        "sbiiroup_siz",
-        "sbgroqOp_size",
-        "TTubgroup_sivve",
-        "vertFFx_index",
-        "vertePfnQ00x",
-        "vePtex_index",
+        "suffgKup_sie",
+        "KKubgroqp_size",
+        "subFroup3mmize",
+        "ertex_index",
+        "verteq_inex",
+        "verbx_indbbx",
         "vertex_index",
-        "vesstexinde77",
-        "vertex_indbbRC",
-        "vertex_indeXX",
-        "workgOOup_qOCC",
-        "wrkgrous_iL",
-        "workgroup_iX",
+        "iertex_indx",
+        "veOOtexqidex",
+        "vertexvvindTTx",
+        "workFFroup_id",
+        "workgPfpQ00d",
+        "woPkgroup_id",
         "workgroup_id",
-        "workgoup_id",
-        "orgrqqO_id",
-        "workg22oup_id",
+        "wosskgrup_i77",
+        "workgroup_bbRC",
+        "workgroup_iXX",
     };
     for (auto _ : state) {
         for (auto* str : kStrings) {
diff --git a/src/tint/lang/core/builtin_value_test.cc b/src/tint/lang/core/builtin_value_test.cc
index 184d68a..c5d87fd 100644
--- a/src/tint/lang/core/builtin_value_test.cc
+++ b/src/tint/lang/core/builtin_value_test.cc
@@ -57,7 +57,6 @@
 }
 
 static constexpr Case kValidCases[] = {
-    {"__point_size", BuiltinValue::kPointSize},
     {"clip_distances", BuiltinValue::kClipDistances},
     {"frag_depth", BuiltinValue::kFragDepth},
     {"front_facing", BuiltinValue::kFrontFacing},
@@ -76,54 +75,51 @@
 };
 
 static constexpr Case kInvalidCases[] = {
-    {"_ccpoint_siz", BuiltinValue::kUndefined},
-    {"_3poi_ile", BuiltinValue::kUndefined},
-    {"__poiVt_size", BuiltinValue::kUndefined},
-    {"clip1distances", BuiltinValue::kUndefined},
-    {"cqqiJ_distanes", BuiltinValue::kUndefined},
-    {"clip_dllstance77", BuiltinValue::kUndefined},
-    {"frqqgppepHHh", BuiltinValue::kUndefined},
-    {"fv_dcpt", BuiltinValue::kUndefined},
-    {"frabGdeth", BuiltinValue::kUndefined},
-    {"front_facvnii", BuiltinValue::kUndefined},
-    {"frWWnt_faci8g", BuiltinValue::kUndefined},
-    {"fxxonM_facig", BuiltinValue::kUndefined},
-    {"gXobalgginvocationid", BuiltinValue::kUndefined},
-    {"goVal_uvocatioX_id", BuiltinValue::kUndefined},
-    {"global_in3ocation_id", BuiltinValue::kUndefined},
-    {"instancE_index", BuiltinValue::kUndefined},
-    {"nsTTance_PPndex", BuiltinValue::kUndefined},
-    {"nstancxx_indddx", BuiltinValue::kUndefined},
-    {"local_invocation_i44", BuiltinValue::kUndefined},
-    {"local_invoVVatSSon_id", BuiltinValue::kUndefined},
-    {"local_inRoctionR2id", BuiltinValue::kUndefined},
-    {"local_in9oation_iFdex", BuiltinValue::kUndefined},
-    {"local_invocation_inde", BuiltinValue::kUndefined},
-    {"local_OOnvoVtiRRn_index", BuiltinValue::kUndefined},
-    {"num_workgyups", BuiltinValue::kUndefined},
-    {"num_Glr77rnngroups", BuiltinValue::kUndefined},
-    {"num_wo04kgroups", BuiltinValue::kUndefined},
-    {"osooon", BuiltinValue::kUndefined},
-    {"posizzn", BuiltinValue::kUndefined},
-    {"poiippt1o", BuiltinValue::kUndefined},
-    {"sample_iXXdex", BuiltinValue::kUndefined},
-    {"5nnample_99IIdex", BuiltinValue::kUndefined},
-    {"samYlaaHHrrndeSS", BuiltinValue::kUndefined},
-    {"aHkk_mask", BuiltinValue::kUndefined},
-    {"jRRmpl_gsk", BuiltinValue::kUndefined},
-    {"smple_mbk", BuiltinValue::kUndefined},
-    {"subgroupjinvocation_id", BuiltinValue::kUndefined},
-    {"subgroup_invocaion_id", BuiltinValue::kUndefined},
-    {"subroup_inqocatin_id", BuiltinValue::kUndefined},
-    {"subNNoup_size", BuiltinValue::kUndefined},
-    {"subgrupsizvv", BuiltinValue::kUndefined},
-    {"sugroup_sizQQ", BuiltinValue::kUndefined},
-    {"vrtexinderf", BuiltinValue::kUndefined},
-    {"vertex_indjx", BuiltinValue::kUndefined},
-    {"v82wNNex_idex", BuiltinValue::kUndefined},
-    {"wrkgroup_id", BuiltinValue::kUndefined},
-    {"workgrrrup_id", BuiltinValue::kUndefined},
-    {"wGrkgroup_id", BuiltinValue::kUndefined},
+    {"clip_distacecc", BuiltinValue::kUndefined},
+    {"c_disla3ces", BuiltinValue::kUndefined},
+    {"cliV_distances", BuiltinValue::kUndefined},
+    {"frag1depth", BuiltinValue::kUndefined},
+    {"fraJqqepth", BuiltinValue::kUndefined},
+    {"fra7ll_depth", BuiltinValue::kUndefined},
+    {"fonHHpp_facing", BuiltinValue::kUndefined},
+    {"fron_facg", BuiltinValue::kUndefined},
+    {"frGnt_fbcin", BuiltinValue::kUndefined},
+    {"glvbal_iinvocation_id", BuiltinValue::kUndefined},
+    {"gl8bal_invocation_WWd", BuiltinValue::kUndefined},
+    {"Mlobal_invocaton_xxd", BuiltinValue::kUndefined},
+    {"isXance_indegg", BuiltinValue::kUndefined},
+    {"insanc_iXVex", BuiltinValue::kUndefined},
+    {"instance_in3ex", BuiltinValue::kUndefined},
+    {"local_Envocation_id", BuiltinValue::kUndefined},
+    {"localiPPvocatioTT_id", BuiltinValue::kUndefined},
+    {"localxxnvocationddid", BuiltinValue::kUndefined},
+    {"loca44_invocation_index", BuiltinValue::kUndefined},
+    {"local_invocSStionVVindex", BuiltinValue::kUndefined},
+    {"locRR_invocat22n_index", BuiltinValue::kUndefined},
+    {"nuF_workrou9s", BuiltinValue::kUndefined},
+    {"numworkgroups", BuiltinValue::kUndefined},
+    {"nuRRworVgOOHups", BuiltinValue::kUndefined},
+    {"posytio", BuiltinValue::kUndefined},
+    {"77orritllnon", BuiltinValue::kUndefined},
+    {"04osition", BuiltinValue::kUndefined},
+    {"smpe_oonde", BuiltinValue::kUndefined},
+    {"smpl_inzzex", BuiltinValue::kUndefined},
+    {"saiip11eindep", BuiltinValue::kUndefined},
+    {"sample_XXask", BuiltinValue::kUndefined},
+    {"samII99l55_mask", BuiltinValue::kUndefined},
+    {"samaale_SSrHHYk", BuiltinValue::kUndefined},
+    {"skkgroup_Hnvocatio_d", BuiltinValue::kUndefined},
+    {"gRbgroup_invocajionid", BuiltinValue::kUndefined},
+    {"sbgroup_nbocation_id", BuiltinValue::kUndefined},
+    {"subgroupjsize", BuiltinValue::kUndefined},
+    {"subgroup_sie", BuiltinValue::kUndefined},
+    {"sgroupqsize", BuiltinValue::kUndefined},
+    {"vertx_NNndex", BuiltinValue::kUndefined},
+    {"vvertex_dex", BuiltinValue::kUndefined},
+    {"ertex_inQQex", BuiltinValue::kUndefined},
+    {"wrkgrup_irf", BuiltinValue::kUndefined},
+    {"workgroup_jd", BuiltinValue::kUndefined},
+    {"w82wNNgrou_id", BuiltinValue::kUndefined},
 };
 
 using BuiltinValueParseTest = testing::TestWithParam<Case>;
diff --git a/src/tint/lang/core/core.def b/src/tint/lang/core/core.def
index af75950..3ec4dff 100644
--- a/src/tint/lang/core/core.def
+++ b/src/tint/lang/core/core.def
@@ -64,7 +64,7 @@
   clip_distances
   subgroup_invocation_id
   subgroup_size
-  __point_size
+  @internal __point_size
 }
 
 // https://www.w3.org/TR/WGSL/#interpolation
diff --git a/src/tint/lang/wgsl/ast/transform/canonicalize_entry_point_io_test.cc b/src/tint/lang/wgsl/ast/transform/canonicalize_entry_point_io_test.cc
index 90a3bc1..4f48b45 100644
--- a/src/tint/lang/wgsl/ast/transform/canonicalize_entry_point_io_test.cc
+++ b/src/tint/lang/wgsl/ast/transform/canonicalize_entry_point_io_test.cc
@@ -68,47 +68,6 @@
     EXPECT_EQ(expect, str(got));
 }
 
-TEST_F(CanonicalizeEntryPointIOTest, Parameters_Spirv) {
-    auto* src = R"(
-enable chromium_experimental_framebuffer_fetch;
-
-@fragment
-fn frag_main(@location(1) loc1 : f32,
-             @location(2) @interpolate(flat) loc2 : vec4<u32>,
-             @builtin(position) coord : vec4<f32>,
-             @color(3) color : vec4<f32>) {
-  var col : f32 = (coord.x * loc1) + color.g;
-}
-)";
-
-    auto* expect = R"(
-enable chromium_experimental_framebuffer_fetch;
-
-@location(1) @internal(disable_validation__ignore_address_space) var<__in> loc1_1 : f32;
-
-@location(2) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__in> loc2_1 : vec4<u32>;
-
-@builtin(position) @internal(disable_validation__ignore_address_space) var<__in> coord_1 : vec4<f32>;
-
-@color(3) @internal(disable_validation__ignore_address_space) var<__in> color_1 : vec4<f32>;
-
-fn frag_main_inner(loc1 : f32, loc2 : vec4<u32>, coord : vec4<f32>, color : vec4<f32>) {
-  var col : f32 = ((coord.x * loc1) + color.g);
-}
-
-@fragment
-fn frag_main() {
-  frag_main_inner(loc1_1, loc2_1, coord_1, color_1);
-}
-)";
-
-    DataMap data;
-    data.Add<CanonicalizeEntryPointIO::Config>(CanonicalizeEntryPointIO::ShaderStyle::kSpirv);
-    auto got = Run<Unshadow, CanonicalizeEntryPointIO>(src, data);
-
-    EXPECT_EQ(expect, str(got));
-}
-
 TEST_F(CanonicalizeEntryPointIOTest, Parameters_Msl) {
     auto* src = R"(
 enable chromium_experimental_framebuffer_fetch;
@@ -265,156 +224,6 @@
     EXPECT_EQ(expect, str(got));
 }
 
-TEST_F(CanonicalizeEntryPointIOTest, StructParameters_Spirv) {
-    auto* src = R"(
-enable chromium_experimental_framebuffer_fetch;
-
-struct FragBuiltins {
-  @builtin(position) coord : vec4<f32>,
-};
-struct FragLocations {
-  @location(1) loc1 : f32,
-  @location(2) @interpolate(flat) loc2 : vec4<u32>,
-};
-struct FragColors {
-  @color(3) col3 : vec4<f32>,
-  @color(1) col1 : vec4<u32>,
-  @color(2) col2 : vec4<i32>,
-};
-
-@fragment
-fn frag_main(@location(0) loc0 : f32,
-             locations : FragLocations,
-             builtins : FragBuiltins,
-             colors : FragColors) {
-  var col : f32 = (((builtins.coord.x * locations.loc1) + loc0) + colors.col3.g);
-}
-)";
-
-    auto* expect = R"(
-enable chromium_experimental_framebuffer_fetch;
-
-@location(0) @internal(disable_validation__ignore_address_space) var<__in> loc0_1 : f32;
-
-@location(1) @internal(disable_validation__ignore_address_space) var<__in> loc1_1 : f32;
-
-@location(2) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__in> loc2_1 : vec4<u32>;
-
-@builtin(position) @internal(disable_validation__ignore_address_space) var<__in> coord_1 : vec4<f32>;
-
-@color(3) @internal(disable_validation__ignore_address_space) var<__in> col3_1 : vec4<f32>;
-
-@color(1) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__in> col1_1 : vec4<u32>;
-
-@color(2) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__in> col2_1 : vec4<i32>;
-
-struct FragBuiltins {
-  coord : vec4<f32>,
-}
-
-struct FragLocations {
-  loc1 : f32,
-  loc2 : vec4<u32>,
-}
-
-struct FragColors {
-  col3 : vec4<f32>,
-  col1 : vec4<u32>,
-  col2 : vec4<i32>,
-}
-
-fn frag_main_inner(loc0 : f32, locations : FragLocations, builtins : FragBuiltins, colors : FragColors) {
-  var col : f32 = (((builtins.coord.x * locations.loc1) + loc0) + colors.col3.g);
-}
-
-@fragment
-fn frag_main() {
-  frag_main_inner(loc0_1, FragLocations(loc1_1, loc2_1), FragBuiltins(coord_1), FragColors(col3_1, col1_1, col2_1));
-}
-)";
-
-    DataMap data;
-    data.Add<CanonicalizeEntryPointIO::Config>(CanonicalizeEntryPointIO::ShaderStyle::kSpirv);
-    auto got = Run<Unshadow, CanonicalizeEntryPointIO>(src, data);
-
-    EXPECT_EQ(expect, str(got));
-}
-
-TEST_F(CanonicalizeEntryPointIOTest, StructParameters_Spirv_OutOfOrder) {
-    auto* src = R"(
-enable chromium_experimental_framebuffer_fetch;
-
-@fragment
-fn frag_main(@location(0) loc0 : f32,
-             locations : FragLocations,
-             builtins : FragBuiltins,
-             colors : FragColors) {
-  var col : f32 = (((builtins.coord.x * locations.loc1) + loc0) + colors.col3.g);
-}
-
-struct FragBuiltins {
-  @builtin(position) coord : vec4<f32>,
-};
-struct FragLocations {
-  @location(1) loc1 : f32,
-  @location(2) @interpolate(flat) loc2 : vec4<u32>,
-};
-struct FragColors {
-  @color(3) col3 : vec4<f32>,
-  @color(1) col1 : vec4<u32>,
-  @color(2) col2 : vec4<i32>,
-};
-)";
-
-    auto* expect = R"(
-enable chromium_experimental_framebuffer_fetch;
-
-@location(0) @internal(disable_validation__ignore_address_space) var<__in> loc0_1 : f32;
-
-@location(1) @internal(disable_validation__ignore_address_space) var<__in> loc1_1 : f32;
-
-@location(2) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__in> loc2_1 : vec4<u32>;
-
-@builtin(position) @internal(disable_validation__ignore_address_space) var<__in> coord_1 : vec4<f32>;
-
-@color(3) @internal(disable_validation__ignore_address_space) var<__in> col3_1 : vec4<f32>;
-
-@color(1) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__in> col1_1 : vec4<u32>;
-
-@color(2) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__in> col2_1 : vec4<i32>;
-
-fn frag_main_inner(loc0 : f32, locations : FragLocations, builtins : FragBuiltins, colors : FragColors) {
-  var col : f32 = (((builtins.coord.x * locations.loc1) + loc0) + colors.col3.g);
-}
-
-@fragment
-fn frag_main() {
-  frag_main_inner(loc0_1, FragLocations(loc1_1, loc2_1), FragBuiltins(coord_1), FragColors(col3_1, col1_1, col2_1));
-}
-
-struct FragBuiltins {
-  coord : vec4<f32>,
-}
-
-struct FragLocations {
-  loc1 : f32,
-  loc2 : vec4<u32>,
-}
-
-struct FragColors {
-  col3 : vec4<f32>,
-  col1 : vec4<u32>,
-  col2 : vec4<i32>,
-}
-)";
-
-    DataMap data;
-    data.Add<CanonicalizeEntryPointIO::Config>(CanonicalizeEntryPointIO::ShaderStyle::kSpirv);
-    auto got = Run<Unshadow, CanonicalizeEntryPointIO>(src, data);
-
-    EXPECT_EQ(expect, str(got));
-}
-
 TEST_F(CanonicalizeEntryPointIOTest, StructParameters_kMsl) {
     auto* src = R"(
 enable chromium_experimental_framebuffer_fetch;
@@ -723,35 +532,6 @@
     EXPECT_EQ(expect, str(got));
 }
 
-TEST_F(CanonicalizeEntryPointIOTest, Return_NonStruct_Spirv) {
-    auto* src = R"(
-@fragment
-fn frag_main() -> @builtin(frag_depth) f32 {
-  return 1.0;
-}
-)";
-
-    auto* expect = R"(
-@builtin(frag_depth) @internal(disable_validation__ignore_address_space) var<__out> value : f32;
-
-fn frag_main_inner() -> f32 {
-  return 1.0;
-}
-
-@fragment
-fn frag_main() {
-  let inner_result = frag_main_inner();
-  value = inner_result;
-}
-)";
-
-    DataMap data;
-    data.Add<CanonicalizeEntryPointIO::Config>(CanonicalizeEntryPointIO::ShaderStyle::kSpirv);
-    auto got = Run<Unshadow, CanonicalizeEntryPointIO>(src, data);
-
-    EXPECT_EQ(expect, str(got));
-}
-
 TEST_F(CanonicalizeEntryPointIOTest, Return_NonStruct_Msl) {
     auto* src = R"(
 @fragment
@@ -820,116 +600,6 @@
     EXPECT_EQ(expect, str(got));
 }
 
-TEST_F(CanonicalizeEntryPointIOTest, Return_Struct_Spirv) {
-    auto* src = R"(
-struct FragOutput {
-  @location(0) color : vec4<f32>,
-  @builtin(frag_depth) depth : f32,
-  @builtin(sample_mask) mask : u32,
-};
-
-@fragment
-fn frag_main() -> FragOutput {
-  var output : FragOutput;
-  output.depth = 1.0;
-  output.mask = 7u;
-  output.color = vec4<f32>(0.5, 0.5, 0.5, 1.0);
-  return output;
-}
-)";
-
-    auto* expect = R"(
-@location(0) @internal(disable_validation__ignore_address_space) var<__out> color_1 : vec4<f32>;
-
-@builtin(frag_depth) @internal(disable_validation__ignore_address_space) var<__out> depth_1 : f32;
-
-@builtin(sample_mask) @internal(disable_validation__ignore_address_space) var<__out> mask_1 : array<u32, 1u>;
-
-struct FragOutput {
-  color : vec4<f32>,
-  depth : f32,
-  mask : u32,
-}
-
-fn frag_main_inner() -> FragOutput {
-  var output : FragOutput;
-  output.depth = 1.0;
-  output.mask = 7u;
-  output.color = vec4<f32>(0.5, 0.5, 0.5, 1.0);
-  return output;
-}
-
-@fragment
-fn frag_main() {
-  let inner_result = frag_main_inner();
-  color_1 = inner_result.color;
-  depth_1 = inner_result.depth;
-  mask_1[0i] = inner_result.mask;
-}
-)";
-
-    DataMap data;
-    data.Add<CanonicalizeEntryPointIO::Config>(CanonicalizeEntryPointIO::ShaderStyle::kSpirv);
-    auto got = Run<Unshadow, CanonicalizeEntryPointIO>(src, data);
-
-    EXPECT_EQ(expect, str(got));
-}
-
-TEST_F(CanonicalizeEntryPointIOTest, Return_Struct_Spirv_OutOfOrder) {
-    auto* src = R"(
-@fragment
-fn frag_main() -> FragOutput {
-  var output : FragOutput;
-  output.depth = 1.0;
-  output.mask = 7u;
-  output.color = vec4<f32>(0.5, 0.5, 0.5, 1.0);
-  return output;
-}
-
-struct FragOutput {
-  @location(0) color : vec4<f32>,
-  @builtin(frag_depth) depth : f32,
-  @builtin(sample_mask) mask : u32,
-};
-)";
-
-    auto* expect = R"(
-@location(0) @internal(disable_validation__ignore_address_space) var<__out> color_1 : vec4<f32>;
-
-@builtin(frag_depth) @internal(disable_validation__ignore_address_space) var<__out> depth_1 : f32;
-
-@builtin(sample_mask) @internal(disable_validation__ignore_address_space) var<__out> mask_1 : array<u32, 1u>;
-
-fn frag_main_inner() -> FragOutput {
-  var output : FragOutput;
-  output.depth = 1.0;
-  output.mask = 7u;
-  output.color = vec4<f32>(0.5, 0.5, 0.5, 1.0);
-  return output;
-}
-
-@fragment
-fn frag_main() {
-  let inner_result = frag_main_inner();
-  color_1 = inner_result.color;
-  depth_1 = inner_result.depth;
-  mask_1[0i] = inner_result.mask;
-}
-
-struct FragOutput {
-  color : vec4<f32>,
-  depth : f32,
-  mask : u32,
-}
-)";
-
-    DataMap data;
-    data.Add<CanonicalizeEntryPointIO::Config>(CanonicalizeEntryPointIO::ShaderStyle::kSpirv);
-    auto got = Run<Unshadow, CanonicalizeEntryPointIO>(src, data);
-
-    EXPECT_EQ(expect, str(got));
-}
-
 TEST_F(CanonicalizeEntryPointIOTest, Return_Struct_Msl) {
     auto* src = R"(
 struct FragOutput {
@@ -1170,138 +840,6 @@
     EXPECT_EQ(expect, str(got));
 }
 
-TEST_F(CanonicalizeEntryPointIOTest, StructParameters_SharedDeviceFunction_Spirv) {
-    auto* src = R"(
-struct FragmentInput {
-  @location(0) value : f32,
-  @location(1) mul : f32,
-};
-
-fn foo(x : FragmentInput) -> f32 {
-  return x.value * x.mul;
-}
-
-@fragment
-fn frag_main1(inputs : FragmentInput) {
-  var x : f32 = foo(inputs);
-}
-
-@fragment
-fn frag_main2(inputs : FragmentInput) {
-  var x : f32 = foo(inputs);
-}
-)";
-
-    auto* expect = R"(
-@location(0) @internal(disable_validation__ignore_address_space) var<__in> value_1 : f32;
-
-@location(1) @internal(disable_validation__ignore_address_space) var<__in> mul_1 : f32;
-
-@location(0) @internal(disable_validation__ignore_address_space) var<__in> value_2 : f32;
-
-@location(1) @internal(disable_validation__ignore_address_space) var<__in> mul_2 : f32;
-
-struct FragmentInput {
-  value : f32,
-  mul : f32,
-}
-
-fn foo(x : FragmentInput) -> f32 {
-  return (x.value * x.mul);
-}
-
-fn frag_main1_inner(inputs : FragmentInput) {
-  var x : f32 = foo(inputs);
-}
-
-@fragment
-fn frag_main1() {
-  frag_main1_inner(FragmentInput(value_1, mul_1));
-}
-
-fn frag_main2_inner(inputs : FragmentInput) {
-  var x : f32 = foo(inputs);
-}
-
-@fragment
-fn frag_main2() {
-  frag_main2_inner(FragmentInput(value_2, mul_2));
-}
-)";
-
-    DataMap data;
-    data.Add<CanonicalizeEntryPointIO::Config>(CanonicalizeEntryPointIO::ShaderStyle::kSpirv);
-    auto got = Run<Unshadow, CanonicalizeEntryPointIO>(src, data);
-
-    EXPECT_EQ(expect, str(got));
-}
-
-TEST_F(CanonicalizeEntryPointIOTest, StructParameters_SharedDeviceFunction_Spirv_OutOfOrder) {
-    auto* src = R"(
-@fragment
-fn frag_main1(inputs : FragmentInput) {
-  var x : f32 = foo(inputs);
-}
-
-@fragment
-fn frag_main2(inputs : FragmentInput) {
-  var x : f32 = foo(inputs);
-}
-
-fn foo(x : FragmentInput) -> f32 {
-  return x.value * x.mul;
-}
-
-struct FragmentInput {
-  @location(0) value : f32,
-  @location(1) mul : f32,
-};
-)";
-
-    auto* expect = R"(
-@location(0) @internal(disable_validation__ignore_address_space) var<__in> value_1 : f32;
-
-@location(1) @internal(disable_validation__ignore_address_space) var<__in> mul_1 : f32;
-
-@location(0) @internal(disable_validation__ignore_address_space) var<__in> value_2 : f32;
-
-@location(1) @internal(disable_validation__ignore_address_space) var<__in> mul_2 : f32;
-
-fn frag_main1_inner(inputs : FragmentInput) {
-  var x : f32 = foo(inputs);
-}
-
-@fragment
-fn frag_main1() {
-  frag_main1_inner(FragmentInput(value_1, mul_1));
-}
-
-fn frag_main2_inner(inputs : FragmentInput) {
-  var x : f32 = foo(inputs);
-}
-
-@fragment
-fn frag_main2() {
-  frag_main2_inner(FragmentInput(value_2, mul_2));
-}
-
-fn foo(x : FragmentInput) -> f32 {
-  return (x.value * x.mul);
-}
-
-struct FragmentInput {
-  value : f32,
-  mul : f32,
-}
-)";
-
-    DataMap data;
-    data.Add<CanonicalizeEntryPointIO::Config>(CanonicalizeEntryPointIO::ShaderStyle::kSpirv);
-    auto got = Run<Unshadow, CanonicalizeEntryPointIO>(src, data);
-
-    EXPECT_EQ(expect, str(got));
-}
-
 TEST_F(CanonicalizeEntryPointIOTest, StructParameters_SharedDeviceFunction_Msl) {
     auto* src = R"(
 struct FragmentInput {
@@ -2078,266 +1616,6 @@
     EXPECT_EQ(expect, str(got));
 }
 
-TEST_F(CanonicalizeEntryPointIOTest, InterpolateAttributes_Integers_Spirv) {
-    // Test that we add a Flat attribute to integers that are vertex outputs and
-    // fragment inputs, but not vertex inputs or fragment outputs.
-    auto* src = R"(
-struct VertexIn {
-  @location(0) i : i32,
-  @location(1) u : u32,
-  @location(2) vi : vec4<i32>,
-  @location(3) vu : vec4<u32>,
-};
-
-struct VertexOut {
-  @location(0) @interpolate(flat) i : i32,
-  @location(1) @interpolate(flat) u : u32,
-  @location(2) @interpolate(flat) vi : vec4<i32>,
-  @location(3) @interpolate(flat) vu : vec4<u32>,
-  @builtin(position) pos : vec4<f32>,
-};
-
-struct FragmentInterface {
-  @location(0) @interpolate(flat) i : i32,
-  @location(1) @interpolate(flat) u : u32,
-  @location(2) @interpolate(flat) vi : vec4<i32>,
-  @location(3) @interpolate(flat) vu : vec4<u32>,
-};
-
-@vertex
-fn vert_main(in : VertexIn) -> VertexOut {
-  return VertexOut(in.i, in.u, in.vi, in.vu, vec4<f32>());
-}
-
-@fragment
-fn frag_main(inputs : FragmentInterface) -> FragmentInterface {
-  return inputs;
-}
-)";
-
-    auto* expect =
-        R"(
-@location(0) @internal(disable_validation__ignore_address_space) var<__in> i_1 : i32;
-
-@location(1) @internal(disable_validation__ignore_address_space) var<__in> u_1 : u32;
-
-@location(2) @internal(disable_validation__ignore_address_space) var<__in> vi_1 : vec4<i32>;
-
-@location(3) @internal(disable_validation__ignore_address_space) var<__in> vu_1 : vec4<u32>;
-
-@location(0) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__out> i_2 : i32;
-
-@location(1) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__out> u_2 : u32;
-
-@location(2) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__out> vi_2 : vec4<i32>;
-
-@location(3) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__out> vu_2 : vec4<u32>;
-
-@builtin(position) @internal(disable_validation__ignore_address_space) var<__out> pos_1 : vec4<f32>;
-
-@location(0) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__in> i_3 : i32;
-
-@location(1) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__in> u_3 : u32;
-
-@location(2) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__in> vi_3 : vec4<i32>;
-
-@location(3) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__in> vu_3 : vec4<u32>;
-
-@location(0) @internal(disable_validation__ignore_address_space) var<__out> i_4 : i32;
-
-@location(1) @internal(disable_validation__ignore_address_space) var<__out> u_4 : u32;
-
-@location(2) @internal(disable_validation__ignore_address_space) var<__out> vi_4 : vec4<i32>;
-
-@location(3) @internal(disable_validation__ignore_address_space) var<__out> vu_4 : vec4<u32>;
-
-struct VertexIn {
-  i : i32,
-  u : u32,
-  vi : vec4<i32>,
-  vu : vec4<u32>,
-}
-
-struct VertexOut {
-  i : i32,
-  u : u32,
-  vi : vec4<i32>,
-  vu : vec4<u32>,
-  pos : vec4<f32>,
-}
-
-struct FragmentInterface {
-  i : i32,
-  u : u32,
-  vi : vec4<i32>,
-  vu : vec4<u32>,
-}
-
-fn vert_main_inner(in : VertexIn) -> VertexOut {
-  return VertexOut(in.i, in.u, in.vi, in.vu, vec4<f32>());
-}
-
-@vertex
-fn vert_main() {
-  let inner_result = vert_main_inner(VertexIn(i_1, u_1, vi_1, vu_1));
-  i_2 = inner_result.i;
-  u_2 = inner_result.u;
-  vi_2 = inner_result.vi;
-  vu_2 = inner_result.vu;
-  pos_1 = inner_result.pos;
-}
-
-fn frag_main_inner(inputs : FragmentInterface) -> FragmentInterface {
-  return inputs;
-}
-
-@fragment
-fn frag_main() {
-  let inner_result_1 = frag_main_inner(FragmentInterface(i_3, u_3, vi_3, vu_3));
-  i_4 = inner_result_1.i;
-  u_4 = inner_result_1.u;
-  vi_4 = inner_result_1.vi;
-  vu_4 = inner_result_1.vu;
-}
-)";
-
-    DataMap data;
-    data.Add<CanonicalizeEntryPointIO::Config>(CanonicalizeEntryPointIO::ShaderStyle::kSpirv);
-    auto got = Run<Unshadow, CanonicalizeEntryPointIO>(src, data);
-
-    EXPECT_EQ(expect, str(got));
-}
-
-TEST_F(CanonicalizeEntryPointIOTest, InterpolateAttributes_Integers_Spirv_OutOfOrder) {
-    // Test that we add a Flat attribute to integers that are vertex outputs and
-    // fragment inputs, but not vertex inputs or fragment outputs.
-    auto* src = R"(
-@vertex
-fn vert_main(in : VertexIn) -> VertexOut {
-  return VertexOut(in.i, in.u, in.vi, in.vu, vec4<f32>());
-}
-
-@fragment
-fn frag_main(inputs : FragmentInterface) -> FragmentInterface {
-  return inputs;
-}
-
-struct VertexIn {
-  @location(0) i : i32,
-  @location(1) u : u32,
-  @location(2) vi : vec4<i32>,
-  @location(3) vu : vec4<u32>,
-};
-
-struct VertexOut {
-  @location(0) @interpolate(flat) i : i32,
-  @location(1) @interpolate(flat) u : u32,
-  @location(2) @interpolate(flat) vi : vec4<i32>,
-  @location(3) @interpolate(flat) vu : vec4<u32>,
-  @builtin(position) pos : vec4<f32>,
-};
-
-struct FragmentInterface {
-  @location(0) @interpolate(flat) i : i32,
-  @location(1) @interpolate(flat) u : u32,
-  @location(2) @interpolate(flat) vi : vec4<i32>,
-  @location(3) @interpolate(flat) vu : vec4<u32>,
-};
-)";
-
-    auto* expect =
-        R"(
-@location(0) @internal(disable_validation__ignore_address_space) var<__in> i_1 : i32;
-
-@location(1) @internal(disable_validation__ignore_address_space) var<__in> u_1 : u32;
-
-@location(2) @internal(disable_validation__ignore_address_space) var<__in> vi_1 : vec4<i32>;
-
-@location(3) @internal(disable_validation__ignore_address_space) var<__in> vu_1 : vec4<u32>;
-
-@location(0) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__out> i_2 : i32;
-
-@location(1) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__out> u_2 : u32;
-
-@location(2) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__out> vi_2 : vec4<i32>;
-
-@location(3) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__out> vu_2 : vec4<u32>;
-
-@builtin(position) @internal(disable_validation__ignore_address_space) var<__out> pos_1 : vec4<f32>;
-
-@location(0) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__in> i_3 : i32;
-
-@location(1) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__in> u_3 : u32;
-
-@location(2) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__in> vi_3 : vec4<i32>;
-
-@location(3) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__in> vu_3 : vec4<u32>;
-
-@location(0) @internal(disable_validation__ignore_address_space) var<__out> i_4 : i32;
-
-@location(1) @internal(disable_validation__ignore_address_space) var<__out> u_4 : u32;
-
-@location(2) @internal(disable_validation__ignore_address_space) var<__out> vi_4 : vec4<i32>;
-
-@location(3) @internal(disable_validation__ignore_address_space) var<__out> vu_4 : vec4<u32>;
-
-fn vert_main_inner(in : VertexIn) -> VertexOut {
-  return VertexOut(in.i, in.u, in.vi, in.vu, vec4<f32>());
-}
-
-@vertex
-fn vert_main() {
-  let inner_result = vert_main_inner(VertexIn(i_1, u_1, vi_1, vu_1));
-  i_2 = inner_result.i;
-  u_2 = inner_result.u;
-  vi_2 = inner_result.vi;
-  vu_2 = inner_result.vu;
-  pos_1 = inner_result.pos;
-}
-
-fn frag_main_inner(inputs : FragmentInterface) -> FragmentInterface {
-  return inputs;
-}
-
-@fragment
-fn frag_main() {
-  let inner_result_1 = frag_main_inner(FragmentInterface(i_3, u_3, vi_3, vu_3));
-  i_4 = inner_result_1.i;
-  u_4 = inner_result_1.u;
-  vi_4 = inner_result_1.vi;
-  vu_4 = inner_result_1.vu;
-}
-
-struct VertexIn {
-  i : i32,
-  u : u32,
-  vi : vec4<i32>,
-  vu : vec4<u32>,
-}
-
-struct VertexOut {
-  i : i32,
-  u : u32,
-  vi : vec4<i32>,
-  vu : vec4<u32>,
-  pos : vec4<f32>,
-}
-
-struct FragmentInterface {
-  i : i32,
-  u : u32,
-  vi : vec4<i32>,
-  vu : vec4<u32>,
-}
-)";
-
-    DataMap data;
-    data.Add<CanonicalizeEntryPointIO::Config>(CanonicalizeEntryPointIO::ShaderStyle::kSpirv);
-    auto got = Run<Unshadow, CanonicalizeEntryPointIO>(src, data);
-
-    EXPECT_EQ(expect, str(got));
-}
-
 TEST_F(CanonicalizeEntryPointIOTest, InvariantAttributes) {
     auto* src = R"(
 struct VertexOut {
@@ -3317,39 +2595,6 @@
     EXPECT_EQ(expect, str(got));
 }
 
-TEST_F(CanonicalizeEntryPointIOTest, EmitVertexPointSize_ReturnNonStruct_Spirv) {
-    auto* src = R"(
-@vertex
-fn vert_main() -> @builtin(position) vec4<f32> {
-  return vec4<f32>();
-}
-)";
-
-    auto* expect = R"(
-@builtin(position) @internal(disable_validation__ignore_address_space) var<__out> value : vec4<f32>;
-
-@builtin(__point_size) @internal(disable_validation__ignore_address_space) var<__out> vertex_point_size : f32;
-
-fn vert_main_inner() -> vec4<f32> {
-  return vec4<f32>();
-}
-
-@vertex
-fn vert_main() {
-  let inner_result = vert_main_inner();
-  value = inner_result;
-  vertex_point_size = 1.0f;
-}
-)";
-
-    DataMap data;
-    data.Add<CanonicalizeEntryPointIO::Config>(CanonicalizeEntryPointIO::ShaderStyle::kSpirv,
-                                               0xFFFFFFFF, true);
-    auto got = Run<Unshadow, CanonicalizeEntryPointIO>(src, data);
-
-    EXPECT_EQ(expect, str(got));
-}
-
 TEST_F(CanonicalizeEntryPointIOTest, EmitVertexPointSize_ReturnNonStruct_Msl) {
     auto* src = R"(
 @vertex
@@ -3388,88 +2633,6 @@
     EXPECT_EQ(expect, str(got));
 }
 
-TEST_F(CanonicalizeEntryPointIOTest, EmitVertexPointSize_ReturnStruct_Spirv) {
-    auto* src = R"(
-struct VertOut {
-  @builtin(position) pos : vec4<f32>,
-};
-
-@vertex
-fn vert_main() -> VertOut {
-  return VertOut();
-}
-)";
-
-    auto* expect = R"(
-@builtin(position) @internal(disable_validation__ignore_address_space) var<__out> pos_1 : vec4<f32>;
-
-@builtin(__point_size) @internal(disable_validation__ignore_address_space) var<__out> vertex_point_size : f32;
-
-struct VertOut {
-  pos : vec4<f32>,
-}
-
-fn vert_main_inner() -> VertOut {
-  return VertOut();
-}
-
-@vertex
-fn vert_main() {
-  let inner_result = vert_main_inner();
-  pos_1 = inner_result.pos;
-  vertex_point_size = 1.0f;
-}
-)";
-
-    DataMap data;
-    data.Add<CanonicalizeEntryPointIO::Config>(CanonicalizeEntryPointIO::ShaderStyle::kSpirv,
-                                               0xFFFFFFFF, true);
-    auto got = Run<Unshadow, CanonicalizeEntryPointIO>(src, data);
-
-    EXPECT_EQ(expect, str(got));
-}
-
-TEST_F(CanonicalizeEntryPointIOTest, EmitVertexPointSize_ReturnStruct_Spirv_OutOfOrder) {
-    auto* src = R"(
-@vertex
-fn vert_main() -> VertOut {
-  return VertOut();
-}
-
-struct VertOut {
-  @builtin(position) pos : vec4<f32>,
-};
-)";
-
-    auto* expect = R"(
-@builtin(position) @internal(disable_validation__ignore_address_space) var<__out> pos_1 : vec4<f32>;
-
-@builtin(__point_size) @internal(disable_validation__ignore_address_space) var<__out> vertex_point_size : f32;
-
-fn vert_main_inner() -> VertOut {
-  return VertOut();
-}
-
-@vertex
-fn vert_main() {
-  let inner_result = vert_main_inner();
-  pos_1 = inner_result.pos;
-  vertex_point_size = 1.0f;
-}
-
-struct VertOut {
-  pos : vec4<f32>,
-}
-)";
-
-    DataMap data;
-    data.Add<CanonicalizeEntryPointIO::Config>(CanonicalizeEntryPointIO::ShaderStyle::kSpirv,
-                                               0xFFFFFFFF, true);
-    auto got = Run<Unshadow, CanonicalizeEntryPointIO>(src, data);
-
-    EXPECT_EQ(expect, str(got));
-}
-
 TEST_F(CanonicalizeEntryPointIOTest, EmitVertexPointSize_ReturnStruct_Msl) {
     auto* src = R"(
 struct VertOut {
@@ -3562,162 +2725,6 @@
     EXPECT_EQ(expect, str(got));
 }
 
-TEST_F(CanonicalizeEntryPointIOTest, EmitVertexPointSize_AvoidNameClash_Spirv) {
-    auto* src = R"(
-var<private> vertex_point_size : f32;
-var<private> vertex_point_size_1 : f32;
-var<private> vertex_point_size_2 : f32;
-
-struct VertIn1 {
-  @location(0) collide : f32,
-};
-
-struct VertIn2 {
-  @location(1) collide : f32,
-};
-
-struct VertOut {
-  @location(0) vertex_point_size : f32,
-  @builtin(position) vertex_point_size_1 : vec4<f32>,
-};
-
-@vertex
-fn vert_main(collide : VertIn1, collide_1 : VertIn2) -> VertOut {
-  let x = collide.collide + collide_1.collide;
-  return VertOut();
-}
-)";
-
-    auto* expect = R"(
-@location(0) @internal(disable_validation__ignore_address_space) var<__in> collide_2 : f32;
-
-@location(1) @internal(disable_validation__ignore_address_space) var<__in> collide_3 : f32;
-
-@location(0) @internal(disable_validation__ignore_address_space) var<__out> vertex_point_size_3 : f32;
-
-@builtin(position) @internal(disable_validation__ignore_address_space) var<__out> vertex_point_size_1_1 : vec4<f32>;
-
-@builtin(__point_size) @internal(disable_validation__ignore_address_space) var<__out> vertex_point_size_4 : f32;
-
-var<private> vertex_point_size : f32;
-
-var<private> vertex_point_size_1 : f32;
-
-var<private> vertex_point_size_2 : f32;
-
-struct VertIn1 {
-  collide : f32,
-}
-
-struct VertIn2 {
-  collide : f32,
-}
-
-struct VertOut {
-  vertex_point_size : f32,
-  vertex_point_size_1 : vec4<f32>,
-}
-
-fn vert_main_inner(collide : VertIn1, collide_1 : VertIn2) -> VertOut {
-  let x = (collide.collide + collide_1.collide);
-  return VertOut();
-}
-
-@vertex
-fn vert_main() {
-  let inner_result = vert_main_inner(VertIn1(collide_2), VertIn2(collide_3));
-  vertex_point_size_3 = inner_result.vertex_point_size;
-  vertex_point_size_1_1 = inner_result.vertex_point_size_1;
-  vertex_point_size_4 = 1.0f;
-}
-)";
-
-    DataMap data;
-    data.Add<CanonicalizeEntryPointIO::Config>(CanonicalizeEntryPointIO::ShaderStyle::kSpirv,
-                                               0xFFFFFFFF, true);
-    auto got = Run<Unshadow, CanonicalizeEntryPointIO>(src, data);
-
-    EXPECT_EQ(expect, str(got));
-}
-
-TEST_F(CanonicalizeEntryPointIOTest, EmitVertexPointSize_AvoidNameClash_Spirv_OutOfOrder) {
-    auto* src = R"(
-@vertex
-fn vert_main(collide : VertIn1, collide_1 : VertIn2) -> VertOut {
-  let x = collide.collide + collide_1.collide;
-  return VertOut();
-}
-
-struct VertIn1 {
-  @location(0) collide : f32,
-};
-
-struct VertIn2 {
-  @location(1) collide : f32,
-};
-
-var<private> vertex_point_size : f32;
-var<private> vertex_point_size_1 : f32;
-var<private> vertex_point_size_2 : f32;
-
-struct VertOut {
-  @location(0) vertex_point_size : f32,
-  @builtin(position) vertex_point_size_1 : vec4<f32>,
-};
-)";
-
-    auto* expect = R"(
-@location(0) @internal(disable_validation__ignore_address_space) var<__in> collide_2 : f32;
-
-@location(1) @internal(disable_validation__ignore_address_space) var<__in> collide_3 : f32;
-
-@location(0) @internal(disable_validation__ignore_address_space) var<__out> vertex_point_size_3 : f32;
-
-@builtin(position) @internal(disable_validation__ignore_address_space) var<__out> vertex_point_size_1_1 : vec4<f32>;
-
-@builtin(__point_size) @internal(disable_validation__ignore_address_space) var<__out> vertex_point_size_4 : f32;
-
-fn vert_main_inner(collide : VertIn1, collide_1 : VertIn2) -> VertOut {
-  let x = (collide.collide + collide_1.collide);
-  return VertOut();
-}
-
-@vertex
-fn vert_main() {
-  let inner_result = vert_main_inner(VertIn1(collide_2), VertIn2(collide_3));
-  vertex_point_size_3 = inner_result.vertex_point_size;
-  vertex_point_size_1_1 = inner_result.vertex_point_size_1;
-  vertex_point_size_4 = 1.0f;
-}
-
-struct VertIn1 {
-  collide : f32,
-}
-
-struct VertIn2 {
-  collide : f32,
-}
-
-var<private> vertex_point_size : f32;
-
-var<private> vertex_point_size_1 : f32;
-
-var<private> vertex_point_size_2 : f32;
-
-struct VertOut {
-  vertex_point_size : f32,
-  vertex_point_size_1 : vec4<f32>,
-}
-)";
-
-    DataMap data;
-    data.Add<CanonicalizeEntryPointIO::Config>(CanonicalizeEntryPointIO::ShaderStyle::kSpirv,
-                                               0xFFFFFFFF, true);
-    auto got = Run<Unshadow, CanonicalizeEntryPointIO>(src, data);
-
-    EXPECT_EQ(expect, str(got));
-}
-
 TEST_F(CanonicalizeEntryPointIOTest, EmitVertexPointSize_AvoidNameClash_Msl) {
     auto* src = R"(
 struct VertIn1 {
@@ -4022,179 +3029,6 @@
     EXPECT_EQ(expect, str(got));
 }
 
-TEST_F(CanonicalizeEntryPointIOTest, SpirvSampleMaskBuiltins) {
-    auto* src = R"(
-@fragment
-fn main(@builtin(sample_index) sample_index : u32,
-        @builtin(sample_mask) mask_in : u32
-        ) -> @builtin(sample_mask) u32 {
-  return mask_in;
-}
-)";
-
-    auto* expect = R"(
-@builtin(sample_index) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__in> sample_index_1 : u32;
-
-@builtin(sample_mask) @interpolate(flat) @internal(disable_validation__ignore_address_space) var<__in> mask_in_1 : array<u32, 1u>;
-
-@builtin(sample_mask) @internal(disable_validation__ignore_address_space) var<__out> value : array<u32, 1u>;
-
-fn main_inner(sample_index : u32, mask_in : u32) -> u32 {
-  return mask_in;
-}
-
-@fragment
-fn main() {
-  let inner_result = main_inner(sample_index_1, mask_in_1[0i]);
-  value[0i] = inner_result;
-}
-)";
-
-    DataMap data;
-    data.Add<CanonicalizeEntryPointIO::Config>(CanonicalizeEntryPointIO::ShaderStyle::kSpirv);
-    auto got = Run<Unshadow, CanonicalizeEntryPointIO>(src, data);
-
-    EXPECT_EQ(expect, str(got));
-}
-
-TEST_F(CanonicalizeEntryPointIOTest, GLSLSampleMaskBuiltins) {
-    auto* src = R"(
-@fragment
-fn fragment_main(@builtin(sample_index) sample_index : u32,
-                 @builtin(sample_mask) mask_in : u32
-                 ) -> @builtin(sample_mask) u32 {
-  return mask_in;
-}
-)";
-
-    auto* expect = R"(
-@builtin(sample_index) @internal(disable_validation__ignore_address_space) var<__in> gl_SampleID : i32;
-
-@builtin(sample_mask) @internal(disable_validation__ignore_address_space) var<__in> gl_SampleMaskIn : array<i32, 1u>;
-
-@builtin(sample_mask) @internal(disable_validation__ignore_address_space) var<__out> gl_SampleMask : array<i32, 1u>;
-
-fn fragment_main(sample_index : u32, mask_in : u32) -> u32 {
-  return mask_in;
-}
-
-@fragment
-fn main() {
-  let inner_result = fragment_main(bitcast<u32>(gl_SampleID), bitcast<u32>(gl_SampleMaskIn[0i]));
-  gl_SampleMask[0i] = bitcast<i32>(inner_result);
-}
-)";
-
-    DataMap data;
-    data.Add<CanonicalizeEntryPointIO::Config>(CanonicalizeEntryPointIO::ShaderStyle::kGlsl);
-    auto got = Run<Unshadow, CanonicalizeEntryPointIO>(src, data);
-
-    EXPECT_EQ(expect, str(got));
-}
-
-TEST_F(CanonicalizeEntryPointIOTest, GLSLVertexInstanceIndexBuiltins) {
-    auto* src = R"(
-@vertex
-fn vertex_main(@builtin(vertex_index) vertexID : u32,
-               @builtin(instance_index) instanceID : u32
-               ) -> @builtin(position) vec4<f32> {
-  return vec4<f32>(f32(vertexID) + f32(instanceID));
-}
-)";
-
-    auto* expect = R"(
-@builtin(vertex_index) @internal(disable_validation__ignore_address_space) var<__in> gl_VertexID : i32;
-
-@builtin(instance_index) @internal(disable_validation__ignore_address_space) var<__in> gl_InstanceID : i32;
-
-@builtin(position) @internal(disable_validation__ignore_address_space) var<__out> gl_Position : vec4<f32>;
-
-fn vertex_main(vertexID : u32, instanceID : u32) -> vec4<f32> {
-  return vec4<f32>((f32(vertexID) + f32(instanceID)));
-}
-
-@vertex
-fn main() {
-  let inner_result = vertex_main(bitcast<u32>(gl_VertexID), bitcast<u32>(gl_InstanceID));
-  gl_Position = inner_result;
-  gl_Position.y = -(gl_Position.y);
-  gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
-}
-)";
-
-    DataMap data;
-    data.Add<CanonicalizeEntryPointIO::Config>(CanonicalizeEntryPointIO::ShaderStyle::kGlsl);
-    auto got = Run<Unshadow, CanonicalizeEntryPointIO>(src, data);
-
-    EXPECT_EQ(expect, str(got));
-}
-
-TEST_F(CanonicalizeEntryPointIOTest, Return_Struct_Index_Attribute_Spirv) {
-    auto* src = R"(
-enable dual_source_blending;
-
-struct FragOutput {
-  @location(0) @blend_src(0) color : vec4<f32>,
-  @location(0) @blend_src(1) blend : vec4<f32>,
-  @builtin(frag_depth) depth : f32,
-  @builtin(sample_mask) mask : u32,
-};
-
-@fragment
-fn frag_main() -> FragOutput {
-  var output : FragOutput;
-  output.depth = 1.0;
-  output.mask = 7u;
-  output.color = vec4<f32>(0.5, 0.5, 0.5, 1.0);
-  output.blend = vec4<f32>(0.5, 0.5, 0.5, 1.0);
-  return output;
-}
-)";
-
-    auto* expect = R"(
-enable dual_source_blending;
-
-@location(0) @blend_src(0) @internal(disable_validation__ignore_address_space) var<__out> color_1 : vec4<f32>;
-
-@location(0) @blend_src(1) @internal(disable_validation__ignore_address_space) var<__out> blend_1 : vec4<f32>;
-
-@builtin(frag_depth) @internal(disable_validation__ignore_address_space) var<__out> depth_1 : f32;
-
-@builtin(sample_mask) @internal(disable_validation__ignore_address_space) var<__out> mask_1 : array<u32, 1u>;
-
-struct FragOutput {
-  color : vec4<f32>,
-  blend : vec4<f32>,
-  depth : f32,
-  mask : u32,
-}
-
-fn frag_main_inner() -> FragOutput {
-  var output : FragOutput;
-  output.depth = 1.0;
-  output.mask = 7u;
-  output.color = vec4<f32>(0.5, 0.5, 0.5, 1.0);
-  output.blend = vec4<f32>(0.5, 0.5, 0.5, 1.0);
-  return output;
-}
-
-@fragment
-fn frag_main() {
-  let inner_result = frag_main_inner();
-  color_1 = inner_result.color;
-  blend_1 = inner_result.blend;
-  depth_1 = inner_result.depth;
-  mask_1[0i] = inner_result.mask;
-}
-)";
-
-    DataMap data;
-    data.Add<CanonicalizeEntryPointIO::Config>(CanonicalizeEntryPointIO::ShaderStyle::kSpirv);
-    auto got = Run<Unshadow, CanonicalizeEntryPointIO>(src, data);
-
-    EXPECT_EQ(expect, str(got));
-}
-
 TEST_F(CanonicalizeEntryPointIOTest, Return_Struct_Index_Attribute_Msl) {
     auto* src = R"(
 enable dual_source_blending;
@@ -4420,60 +3254,5 @@
     EXPECT_EQ(expect, str(got));
 }
 
-TEST_F(CanonicalizeEntryPointIOTest, F16_Polyfill_Spirv) {
-    auto* src = R"(
-enable f16;
-
-struct Outputs {
-  @location(1) a : f16,
-  @location(2) b : vec4<f16>,
-}
-
-@fragment
-fn frag_main(@location(1) loc1 : f16,
-             @location(2) loc2 : vec4<f16>) -> Outputs {
-  return Outputs(loc1 * 2, loc2 * 3);
-}
-)";
-
-    auto* expect = R"(
-enable f16;
-
-@location(1) @internal(disable_validation__ignore_address_space) var<__in> loc1_1 : f32;
-
-@location(2) @internal(disable_validation__ignore_address_space) var<__in> loc2_1 : vec4<f32>;
-
-@location(1) @internal(disable_validation__ignore_address_space) var<__out> a_1 : f32;
-
-@location(2) @internal(disable_validation__ignore_address_space) var<__out> b_1 : vec4<f32>;
-
-struct Outputs {
-  a : f16,
-  b : vec4<f16>,
-}
-
-fn frag_main_inner(loc1 : f16, loc2 : vec4<f16>) -> Outputs {
-  return Outputs((loc1 * 2), (loc2 * 3));
-}
-
-@fragment
-fn frag_main() {
-  let inner_result = frag_main_inner(f16(loc1_1), vec4<f16>(loc2_1));
-  a_1 = f32(inner_result.a);
-  b_1 = vec4<f32>(inner_result.b);
-}
-)";
-
-    DataMap data;
-
-    data.Add<CanonicalizeEntryPointIO::Config>(CanonicalizeEntryPointIO::ShaderStyle::kSpirv,
-                                               /* fixed_sample_mask */ 0xFFFFFFFF,
-                                               /* emit_vertex_point_size */ false,
-                                               /* polyfill_f16_io */ true);
-    auto got = Run<Unshadow, CanonicalizeEntryPointIO>(src, data);
-
-    EXPECT_EQ(expect, str(got));
-}
-
 }  // namespace
 }  // namespace tint::ast::transform
diff --git a/src/tint/lang/wgsl/reader/parser/variable_attribute_test.cc b/src/tint/lang/wgsl/reader/parser/variable_attribute_test.cc
index 5e31e3e..7096342 100644
--- a/src/tint/lang/wgsl/reader/parser/variable_attribute_test.cc
+++ b/src/tint/lang/wgsl/reader/parser/variable_attribute_test.cc
@@ -307,7 +307,7 @@
     EXPECT_EQ(attr.value, nullptr);
     EXPECT_TRUE(p->has_error());
     EXPECT_EQ(p->error(), R"(1:9: expected builtin value name
-Possible values: '__point_size', 'clip_distances', 'frag_depth', 'front_facing', 'global_invocation_id', 'instance_index', 'local_invocation_id', 'local_invocation_index', 'num_workgroups', 'position', 'sample_index', 'sample_mask', 'subgroup_invocation_id', 'subgroup_size', 'vertex_index', 'workgroup_id')");
+Possible values: 'clip_distances', 'frag_depth', 'front_facing', 'global_invocation_id', 'instance_index', 'local_invocation_id', 'local_invocation_index', 'num_workgroups', 'position', 'sample_index', 'sample_mask', 'subgroup_invocation_id', 'subgroup_size', 'vertex_index', 'workgroup_id')");
 }
 
 TEST_F(WGSLParserTest, Attribute_Builtin_MisspelledValue) {
@@ -319,7 +319,7 @@
     EXPECT_TRUE(p->has_error());
     EXPECT_EQ(p->error(), R"(1:9: expected builtin value name
 Did you mean 'position'?
-Possible values: '__point_size', 'clip_distances', 'frag_depth', 'front_facing', 'global_invocation_id', 'instance_index', 'local_invocation_id', 'local_invocation_index', 'num_workgroups', 'position', 'sample_index', 'sample_mask', 'subgroup_invocation_id', 'subgroup_size', 'vertex_index', 'workgroup_id')");
+Possible values: 'clip_distances', 'frag_depth', 'front_facing', 'global_invocation_id', 'instance_index', 'local_invocation_id', 'local_invocation_index', 'num_workgroups', 'position', 'sample_index', 'sample_mask', 'subgroup_invocation_id', 'subgroup_size', 'vertex_index', 'workgroup_id')");
 }
 
 TEST_F(WGSLParserTest, Attribute_Interpolate_Flat) {
diff --git a/src/tint/lang/wgsl/resolver/dual_source_blending_extension_test.cc b/src/tint/lang/wgsl/resolver/dual_source_blending_extension_test.cc
index 4cd34c3..4079ad5 100644
--- a/src/tint/lang/wgsl/resolver/dual_source_blending_extension_test.cc
+++ b/src/tint/lang/wgsl/resolver/dual_source_blending_extension_test.cc
@@ -147,19 +147,6 @@
     EXPECT_EQ(r()->error(), "12:34 error: '@blend_src(0)' is missing when '@blend_src' is used");
 }
 
-// Using a @blend_src attribute on a global variable should pass. This is needed internally when
-// using @blend_src with the canonicalize_entry_point transform. This test uses an internal
-// attribute to ignore address space, which is how it is used with the canonicalize_entry_point
-// transform.
-TEST_F(DualSourceBlendingExtensionTests, GlobalVariableBlendSrcAttributeAfterInternalTransform) {
-    GlobalVar(
-        "var", ty.vec4<f32>(),
-        Vector{Location(0_a), BlendSrc(0_a), Disable(ast::DisabledValidation::kIgnoreAddressSpace)},
-        core::AddressSpace::kOut);
-
-    EXPECT_TRUE(r()->Resolve()) << r()->error();
-}
-
 // Using the a @blend_src attribute with a non-zero location should fail.
 TEST_F(DualSourceBlendingExtensionTests, BlendSrcWithNonZeroLocation_Struct) {
     Structure("Output", Vector{
diff --git a/src/tint/lang/wgsl/resolver/function_validation_test.cc b/src/tint/lang/wgsl/resolver/function_validation_test.cc
index 1a3c347..bb15f2b 100644
--- a/src/tint/lang/wgsl/resolver/function_validation_test.cc
+++ b/src/tint/lang/wgsl/resolver/function_validation_test.cc
@@ -1140,8 +1140,8 @@
     ResolverTest,
     ResolverFunctionParameterValidationTest,
     testing::Values(TestParams{core::AddressSpace::kUndefined, Expectation::kInvalid},
-                    TestParams{core::AddressSpace::kIn, Expectation::kAlwaysFail},
-                    TestParams{core::AddressSpace::kOut, Expectation::kAlwaysFail},
+                    TestParams{core::AddressSpace::kIn, Expectation::kInvalid},
+                    TestParams{core::AddressSpace::kOut, Expectation::kInvalid},
                     TestParams{core::AddressSpace::kUniform,
                                Expectation::kPassWithUnrestrictedPointerParameters},
                     TestParams{core::AddressSpace::kWorkgroup,
diff --git a/src/tint/lang/wgsl/resolver/resolver_test.cc b/src/tint/lang/wgsl/resolver/resolver_test.cc
index bbf3a58..780d6fa 100644
--- a/src/tint/lang/wgsl/resolver/resolver_test.cc
+++ b/src/tint/lang/wgsl/resolver/resolver_test.cc
@@ -900,18 +900,6 @@
     EXPECT_EQ(1u, func_sem->Parameters()[2]->Attributes().location);
 }
 
-TEST_F(ResolverTest, Function_GlobalVariable_Location) {
-    auto* var =
-        GlobalVar("my_vec", ty.vec4<f32>(), core::AddressSpace::kIn,
-                  Vector{Location(3_a), Disable(ast::DisabledValidation::kIgnoreAddressSpace)});
-
-    EXPECT_TRUE(r()->Resolve()) << r()->error();
-
-    auto* sem = Sem().Get<sem::GlobalVariable>(var);
-    ASSERT_NE(sem, nullptr);
-    EXPECT_EQ(3u, sem->Attributes().location);
-}
-
 TEST_F(ResolverTest, Function_RegisterInputOutputVariables) {
     auto* s = Structure("S", Vector{Member("m", ty.u32())});