[spirv-reader] Remove support for NumWorkgroups builtin variable

It was removed from WGSL MVP
https://github.com/gpuweb/gpuweb/issues/920

Bug: tint:3
Change-Id: I94a584feec88dda7e310ee5d7fa01e93e26cd31d
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25526
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
diff --git a/src/ast/builtin.cc b/src/ast/builtin.cc
index e579f9c..b0844cf 100644
--- a/src/ast/builtin.cc
+++ b/src/ast/builtin.cc
@@ -47,10 +47,6 @@
       out << "frag_depth";
       break;
     }
-    case Builtin::kNumWorkgroups: {
-      out << "num_workgroups";
-      break;
-    }
     case Builtin::kWorkgroupSize: {
       out << "workgroup_size";
       break;
diff --git a/src/ast/builtin.h b/src/ast/builtin.h
index 511203a..7fb3fe5 100644
--- a/src/ast/builtin.h
+++ b/src/ast/builtin.h
@@ -29,7 +29,6 @@
   kFrontFacing,
   kFragCoord,
   kFragDepth,
-  kNumWorkgroups,
   kWorkgroupSize,
   kLocalInvocationId,
   kLocalInvocationIdx,
diff --git a/src/reader/spirv/enum_converter.cc b/src/reader/spirv/enum_converter.cc
index b52af7b..2b54362 100644
--- a/src/reader/spirv/enum_converter.cc
+++ b/src/reader/spirv/enum_converter.cc
@@ -80,8 +80,6 @@
       return ast::Builtin::kFragCoord;
     case SpvBuiltInFragDepth:
       return ast::Builtin::kFragDepth;
-    case SpvBuiltInNumWorkgroups:
-      return ast::Builtin::kNumWorkgroups;
     case SpvBuiltInWorkgroupSize:
       return ast::Builtin::kWorkgroupSize;
     case SpvBuiltInLocalInvocationId:
diff --git a/src/reader/spirv/enum_converter_test.cc b/src/reader/spirv/enum_converter_test.cc
index fc9b076..fb9c8d0 100644
--- a/src/reader/spirv/enum_converter_test.cc
+++ b/src/reader/spirv/enum_converter_test.cc
@@ -215,8 +215,6 @@
         BuiltinCase{SpvBuiltInFrontFacing, true, ast::Builtin::kFrontFacing},
         BuiltinCase{SpvBuiltInFragCoord, true, ast::Builtin::kFragCoord},
         BuiltinCase{SpvBuiltInFragDepth, true, ast::Builtin::kFragDepth},
-        BuiltinCase{SpvBuiltInNumWorkgroups, true,
-                    ast::Builtin::kNumWorkgroups},
         BuiltinCase{SpvBuiltInWorkgroupSize, true,
                     ast::Builtin::kWorkgroupSize},
         BuiltinCase{SpvBuiltInLocalInvocationId, true,
@@ -226,11 +224,12 @@
         BuiltinCase{SpvBuiltInGlobalInvocationId, true,
                     ast::Builtin::kGlobalInvocationId}));
 
-INSTANTIATE_TEST_SUITE_P(EnumConverterBad,
-                         SpvBuiltinTest,
-                         testing::Values(BuiltinCase{
-                             static_cast<SpvBuiltIn>(9999), false,
-                             ast::Builtin::kNone}));
+INSTANTIATE_TEST_SUITE_P(
+    EnumConverterBad,
+    SpvBuiltinTest,
+    testing::Values(
+        BuiltinCase{static_cast<SpvBuiltIn>(9999), false, ast::Builtin::kNone},
+        BuiltinCase{SpvBuiltInNumWorkgroups, false, ast::Builtin::kNone}));
 
 }  // namespace
 }  // namespace spirv
diff --git a/src/reader/wgsl/parser_impl.cc b/src/reader/wgsl/parser_impl.cc
index b3fca96..66f14e8 100644
--- a/src/reader/wgsl/parser_impl.cc
+++ b/src/reader/wgsl/parser_impl.cc
@@ -86,9 +86,6 @@
   if (str == "frag_depth") {
     return ast::Builtin::kFragDepth;
   }
-  if (str == "num_workgroups") {
-    return ast::Builtin::kNumWorkgroups;
-  }
   if (str == "workgroup_size") {
     return ast::Builtin::kWorkgroupSize;
   }
diff --git a/src/reader/wgsl/parser_impl_variable_decoration_test.cc b/src/reader/wgsl/parser_impl_variable_decoration_test.cc
index dc1a5b0..6775009 100644
--- a/src/reader/wgsl/parser_impl_variable_decoration_test.cc
+++ b/src/reader/wgsl/parser_impl_variable_decoration_test.cc
@@ -101,7 +101,6 @@
         BuiltinData{"front_facing", ast::Builtin::kFrontFacing},
         BuiltinData{"frag_coord", ast::Builtin::kFragCoord},
         BuiltinData{"frag_depth", ast::Builtin::kFragDepth},
-        BuiltinData{"num_workgroups", ast::Builtin::kNumWorkgroups},
         BuiltinData{"workgroup_size", ast::Builtin::kWorkgroupSize},
         BuiltinData{"local_invocation_id", ast::Builtin::kLocalInvocationId},
         BuiltinData{"local_invocation_idx", ast::Builtin::kLocalInvocationIdx},
diff --git a/src/writer/msl/generator_impl.cc b/src/writer/msl/generator_impl.cc
index 4329e2a..11f29f3 100644
--- a/src/writer/msl/generator_impl.cc
+++ b/src/writer/msl/generator_impl.cc
@@ -1258,10 +1258,6 @@
       return "position";
     case ast::Builtin::kFragDepth:
       return "depth(any)";
-    // TODO(dsinclair): Ignore for now, I believe it will be removed from WGSL
-    // https://github.com/gpuweb/gpuweb/issues/920
-    case ast::Builtin::kNumWorkgroups:
-      return "";
     // TODO(dsinclair): Ignore for now. This has been removed as a builtin
     // in the spec. Need to update Tint to match.
     // https://github.com/gpuweb/gpuweb/pull/824
diff --git a/src/writer/msl/generator_impl_test.cc b/src/writer/msl/generator_impl_test.cc
index 575264c..922ca9d 100644
--- a/src/writer/msl/generator_impl_test.cc
+++ b/src/writer/msl/generator_impl_test.cc
@@ -116,7 +116,6 @@
                     MslBuiltinData{ast::Builtin::kFrontFacing, "front_facing"},
                     MslBuiltinData{ast::Builtin::kFragCoord, "position"},
                     MslBuiltinData{ast::Builtin::kFragDepth, "depth(any)"},
-                    MslBuiltinData{ast::Builtin::kNumWorkgroups, ""},
                     MslBuiltinData{ast::Builtin::kWorkgroupSize, ""},
                     MslBuiltinData{ast::Builtin::kLocalInvocationId,
                                    "thread_position_in_threadgroup"},
diff --git a/src/writer/spirv/builder.cc b/src/writer/spirv/builder.cc
index 8183daa..745cb8a 100644
--- a/src/writer/spirv/builder.cc
+++ b/src/writer/spirv/builder.cc
@@ -2086,8 +2086,6 @@
       return SpvBuiltInFragCoord;
     case ast::Builtin::kFragDepth:
       return SpvBuiltInFragDepth;
-    case ast::Builtin::kNumWorkgroups:
-      return SpvBuiltInNumWorkgroups;
     case ast::Builtin::kWorkgroupSize:
       return SpvBuiltInWorkgroupSize;
     case ast::Builtin::kLocalInvocationId:
diff --git a/src/writer/spirv/builder_global_variable_test.cc b/src/writer/spirv/builder_global_variable_test.cc
index 8618f39..703dc5d 100644
--- a/src/writer/spirv/builder_global_variable_test.cc
+++ b/src/writer/spirv/builder_global_variable_test.cc
@@ -387,7 +387,6 @@
         BuiltinData{ast::Builtin::kFrontFacing, SpvBuiltInFrontFacing},
         BuiltinData{ast::Builtin::kFragCoord, SpvBuiltInFragCoord},
         BuiltinData{ast::Builtin::kFragDepth, SpvBuiltInFragDepth},
-        BuiltinData{ast::Builtin::kNumWorkgroups, SpvBuiltInNumWorkgroups},
         BuiltinData{ast::Builtin::kWorkgroupSize, SpvBuiltInWorkgroupSize},
         BuiltinData{ast::Builtin::kLocalInvocationId,
                     SpvBuiltInLocalInvocationId},