[spirv-reader] Move reader specific AST transforms into reader folder.

Move the remaining SPIR-V reader AST specific transforms into the
spirv/reader/ast_lower folder and remove the wgsl/ast/transform folder.

Bug: 421916945
Change-Id: Icf07af971e3bcf1be624c921cac2ab1fdfbd2306
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/248356
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
diff --git a/src/tint/cmd/bench/glsl/BUILD.bazel b/src/tint/cmd/bench/glsl/BUILD.bazel
index 5a1143e..3d0cf28 100644
--- a/src/tint/cmd/bench/glsl/BUILD.bazel
+++ b/src/tint/cmd/bench/glsl/BUILD.bazel
@@ -51,7 +51,6 @@
     "//src/tint/lang/core/type",
     "//src/tint/lang/wgsl",
     "//src/tint/lang/wgsl/ast",
-    "//src/tint/lang/wgsl/ast/transform",
     "//src/tint/lang/wgsl/inspector",
     "//src/tint/lang/wgsl/program",
     "//src/tint/lang/wgsl/sem",
diff --git a/src/tint/cmd/bench/glsl/BUILD.cmake b/src/tint/cmd/bench/glsl/BUILD.cmake
index e09afa0..fea9b0a 100644
--- a/src/tint/cmd/bench/glsl/BUILD.cmake
+++ b/src/tint/cmd/bench/glsl/BUILD.cmake
@@ -53,7 +53,6 @@
   tint_lang_core_type
   tint_lang_wgsl
   tint_lang_wgsl_ast
-  tint_lang_wgsl_ast_transform
   tint_lang_wgsl_inspector
   tint_lang_wgsl_program
   tint_lang_wgsl_sem
diff --git a/src/tint/cmd/bench/glsl/BUILD.gn b/src/tint/cmd/bench/glsl/BUILD.gn
index 76a10c6..e48fe3d 100644
--- a/src/tint/cmd/bench/glsl/BUILD.gn
+++ b/src/tint/cmd/bench/glsl/BUILD.gn
@@ -57,7 +57,6 @@
         "${tint_src_dir}/lang/core/type",
         "${tint_src_dir}/lang/wgsl",
         "${tint_src_dir}/lang/wgsl/ast",
-        "${tint_src_dir}/lang/wgsl/ast/transform",
         "${tint_src_dir}/lang/wgsl/inspector",
         "${tint_src_dir}/lang/wgsl/program",
         "${tint_src_dir}/lang/wgsl/sem",
diff --git a/src/tint/cmd/bench/glsl/writer_bench.cc b/src/tint/cmd/bench/glsl/writer_bench.cc
index b56838c..9f63f85 100644
--- a/src/tint/cmd/bench/glsl/writer_bench.cc
+++ b/src/tint/cmd/bench/glsl/writer_bench.cc
@@ -33,7 +33,6 @@
 #include "src/tint/lang/glsl/writer/writer.h"
 #include "src/tint/lang/wgsl/ast/identifier.h"
 #include "src/tint/lang/wgsl/ast/module.h"
-#include "src/tint/lang/wgsl/ast/transform/manager.h"
 #include "src/tint/lang/wgsl/inspector/inspector.h"
 #include "src/tint/lang/wgsl/reader/reader.h"
 
diff --git a/src/tint/cmd/test/BUILD.bazel b/src/tint/cmd/test/BUILD.bazel
index c84d5ef..aae9b2a 100644
--- a/src/tint/cmd/test/BUILD.bazel
+++ b/src/tint/cmd/test/BUILD.bazel
@@ -160,11 +160,6 @@
     ],
     "//conditions:default": [],
   }) + select({
-    ":tint_build_wgsl_reader_and_tint_build_wgsl_writer": [
-      "//src/tint/lang/wgsl/ast/transform:test",
-    ],
-    "//conditions:default": [],
-  }) + select({
     ":tint_build_wgsl_writer": [
       "//src/tint/lang/wgsl/writer/ast_printer:test",
       "//src/tint/lang/wgsl/writer:test",
@@ -262,11 +257,4 @@
         ":tint_build_wgsl_reader",
     ],
 )
-selects.config_setting_group(
-    name = "tint_build_wgsl_reader_and_tint_build_wgsl_writer",
-    match_all = [
-        ":tint_build_wgsl_reader",
-        ":tint_build_wgsl_writer",
-    ],
-)
 
diff --git a/src/tint/cmd/test/BUILD.cmake b/src/tint/cmd/test/BUILD.cmake
index 042cbdb..bbd86bc 100644
--- a/src/tint/cmd/test/BUILD.cmake
+++ b/src/tint/cmd/test/BUILD.cmake
@@ -177,12 +177,6 @@
   )
 endif(TINT_BUILD_WGSL_READER)
 
-if(TINT_BUILD_WGSL_READER AND TINT_BUILD_WGSL_WRITER)
-  tint_target_add_dependencies(tint_cmd_test_test_cmd test_cmd
-    tint_lang_wgsl_ast_transform_test
-  )
-endif(TINT_BUILD_WGSL_READER AND TINT_BUILD_WGSL_WRITER)
-
 if(TINT_BUILD_WGSL_WRITER)
   tint_target_add_dependencies(tint_cmd_test_test_cmd test_cmd
     tint_lang_wgsl_writer_ast_printer_test
diff --git a/src/tint/cmd/test/BUILD.gn b/src/tint/cmd/test/BUILD.gn
index 9f9c343..669a218 100644
--- a/src/tint/cmd/test/BUILD.gn
+++ b/src/tint/cmd/test/BUILD.gn
@@ -166,10 +166,6 @@
       ]
     }
 
-    if (tint_build_wgsl_reader && tint_build_wgsl_writer) {
-      deps += [ "${tint_src_dir}/lang/wgsl/ast/transform:unittests" ]
-    }
-
     if (tint_build_wgsl_writer) {
       deps += [
         "${tint_src_dir}/lang/wgsl/writer:unittests",
diff --git a/src/tint/lang/spirv/reader/ast_lower/BUILD.bazel b/src/tint/lang/spirv/reader/ast_lower/BUILD.bazel
index a925b34..afef5f1 100644
--- a/src/tint/lang/spirv/reader/ast_lower/BUILD.bazel
+++ b/src/tint/lang/spirv/reader/ast_lower/BUILD.bazel
@@ -40,21 +40,31 @@
   name = "ast_lower",
   srcs = [
     "atomics.cc",
+    "data.cc",
     "decompose_strided_array.cc",
     "decompose_strided_matrix.cc",
     "fold_trivial_lets.cc",
+    "manager.cc",
     "pass_workgroup_id_as_argument.cc",
     "remove_unreachable_statements.cc",
+    "simplify_pointers.cc",
+    "transform.cc",
     "transpose_row_major.cc",
+    "unshadow.cc",
   ],
   hdrs = [
     "atomics.h",
+    "data.h",
     "decompose_strided_array.h",
     "decompose_strided_matrix.h",
     "fold_trivial_lets.h",
+    "manager.h",
     "pass_workgroup_id_as_argument.h",
     "remove_unreachable_statements.h",
+    "simplify_pointers.h",
+    "transform.h",
     "transpose_row_major.h",
+    "unshadow.h",
   ],
   deps = [
     "//src/tint/api/common",
@@ -63,7 +73,6 @@
     "//src/tint/lang/core/type",
     "//src/tint/lang/wgsl",
     "//src/tint/lang/wgsl/ast",
-    "//src/tint/lang/wgsl/ast/transform",
     "//src/tint/lang/wgsl/program",
     "//src/tint/lang/wgsl/resolver",
     "//src/tint/lang/wgsl/sem",
@@ -90,9 +99,14 @@
     "decompose_strided_array_test.cc",
     "decompose_strided_matrix_test.cc",
     "fold_trivial_lets_test.cc",
+    "helper_test.h",
+    "manager_test.cc",
     "pass_workgroup_id_as_argument_test.cc",
     "remove_unreachable_statements_test.cc",
+    "simplify_pointers_test.cc",
+    "transform_test.cc",
     "transpose_row_major_test.cc",
+    "unshadow_test.cc",
   ],
   deps = [
     "//src/tint/api/common",
@@ -102,7 +116,7 @@
     "//src/tint/lang/core/type",
     "//src/tint/lang/wgsl",
     "//src/tint/lang/wgsl/ast",
-    "//src/tint/lang/wgsl/ast/transform",
+    "//src/tint/lang/wgsl/ast:test",
     "//src/tint/lang/wgsl/program",
     "//src/tint/lang/wgsl/resolver",
     "//src/tint/lang/wgsl/sem",
@@ -131,11 +145,6 @@
     ],
     "//conditions:default": [],
   }) + select({
-    ":tint_build_wgsl_reader_and_tint_build_wgsl_writer": [
-      "//src/tint/lang/wgsl/ast/transform:test",
-    ],
-    "//conditions:default": [],
-  }) + select({
     ":tint_build_wgsl_writer": [
       "//src/tint/lang/wgsl/writer",
     ],
@@ -168,11 +177,4 @@
         ":tint_build_wgsl_writer",
     ],
 )
-selects.config_setting_group(
-    name = "tint_build_wgsl_reader_and_tint_build_wgsl_writer",
-    match_all = [
-        ":tint_build_wgsl_reader",
-        ":tint_build_wgsl_writer",
-    ],
-)
 
diff --git a/src/tint/lang/spirv/reader/ast_lower/BUILD.cmake b/src/tint/lang/spirv/reader/ast_lower/BUILD.cmake
index 640caf8..b38933c 100644
--- a/src/tint/lang/spirv/reader/ast_lower/BUILD.cmake
+++ b/src/tint/lang/spirv/reader/ast_lower/BUILD.cmake
@@ -43,18 +43,28 @@
 tint_add_target(tint_lang_spirv_reader_ast_lower lib
   lang/spirv/reader/ast_lower/atomics.cc
   lang/spirv/reader/ast_lower/atomics.h
+  lang/spirv/reader/ast_lower/data.cc
+  lang/spirv/reader/ast_lower/data.h
   lang/spirv/reader/ast_lower/decompose_strided_array.cc
   lang/spirv/reader/ast_lower/decompose_strided_array.h
   lang/spirv/reader/ast_lower/decompose_strided_matrix.cc
   lang/spirv/reader/ast_lower/decompose_strided_matrix.h
   lang/spirv/reader/ast_lower/fold_trivial_lets.cc
   lang/spirv/reader/ast_lower/fold_trivial_lets.h
+  lang/spirv/reader/ast_lower/manager.cc
+  lang/spirv/reader/ast_lower/manager.h
   lang/spirv/reader/ast_lower/pass_workgroup_id_as_argument.cc
   lang/spirv/reader/ast_lower/pass_workgroup_id_as_argument.h
   lang/spirv/reader/ast_lower/remove_unreachable_statements.cc
   lang/spirv/reader/ast_lower/remove_unreachable_statements.h
+  lang/spirv/reader/ast_lower/simplify_pointers.cc
+  lang/spirv/reader/ast_lower/simplify_pointers.h
+  lang/spirv/reader/ast_lower/transform.cc
+  lang/spirv/reader/ast_lower/transform.h
   lang/spirv/reader/ast_lower/transpose_row_major.cc
   lang/spirv/reader/ast_lower/transpose_row_major.h
+  lang/spirv/reader/ast_lower/unshadow.cc
+  lang/spirv/reader/ast_lower/unshadow.h
 )
 
 tint_target_add_dependencies(tint_lang_spirv_reader_ast_lower lib
@@ -64,7 +74,6 @@
   tint_lang_core_type
   tint_lang_wgsl
   tint_lang_wgsl_ast
-  tint_lang_wgsl_ast_transform
   tint_lang_wgsl_program
   tint_lang_wgsl_resolver
   tint_lang_wgsl_sem
@@ -96,9 +105,14 @@
   lang/spirv/reader/ast_lower/decompose_strided_array_test.cc
   lang/spirv/reader/ast_lower/decompose_strided_matrix_test.cc
   lang/spirv/reader/ast_lower/fold_trivial_lets_test.cc
+  lang/spirv/reader/ast_lower/helper_test.h
+  lang/spirv/reader/ast_lower/manager_test.cc
   lang/spirv/reader/ast_lower/pass_workgroup_id_as_argument_test.cc
   lang/spirv/reader/ast_lower/remove_unreachable_statements_test.cc
+  lang/spirv/reader/ast_lower/simplify_pointers_test.cc
+  lang/spirv/reader/ast_lower/transform_test.cc
   lang/spirv/reader/ast_lower/transpose_row_major_test.cc
+  lang/spirv/reader/ast_lower/unshadow_test.cc
 )
 
 tint_target_add_dependencies(tint_lang_spirv_reader_ast_lower_test test
@@ -109,7 +123,7 @@
   tint_lang_core_type
   tint_lang_wgsl
   tint_lang_wgsl_ast
-  tint_lang_wgsl_ast_transform
+  tint_lang_wgsl_ast_test
   tint_lang_wgsl_program
   tint_lang_wgsl_resolver
   tint_lang_wgsl_sem
@@ -144,12 +158,6 @@
   )
 endif(TINT_BUILD_WGSL_READER)
 
-if(TINT_BUILD_WGSL_READER AND TINT_BUILD_WGSL_WRITER)
-  tint_target_add_dependencies(tint_lang_spirv_reader_ast_lower_test test
-    tint_lang_wgsl_ast_transform_test
-  )
-endif(TINT_BUILD_WGSL_READER AND TINT_BUILD_WGSL_WRITER)
-
 if(TINT_BUILD_WGSL_WRITER)
   tint_target_add_dependencies(tint_lang_spirv_reader_ast_lower_test test
     tint_lang_wgsl_writer
diff --git a/src/tint/lang/spirv/reader/ast_lower/BUILD.gn b/src/tint/lang/spirv/reader/ast_lower/BUILD.gn
index 5f294e4..e757205 100644
--- a/src/tint/lang/spirv/reader/ast_lower/BUILD.gn
+++ b/src/tint/lang/spirv/reader/ast_lower/BUILD.gn
@@ -47,18 +47,28 @@
     sources = [
       "atomics.cc",
       "atomics.h",
+      "data.cc",
+      "data.h",
       "decompose_strided_array.cc",
       "decompose_strided_array.h",
       "decompose_strided_matrix.cc",
       "decompose_strided_matrix.h",
       "fold_trivial_lets.cc",
       "fold_trivial_lets.h",
+      "manager.cc",
+      "manager.h",
       "pass_workgroup_id_as_argument.cc",
       "pass_workgroup_id_as_argument.h",
       "remove_unreachable_statements.cc",
       "remove_unreachable_statements.h",
+      "simplify_pointers.cc",
+      "simplify_pointers.h",
+      "transform.cc",
+      "transform.h",
       "transpose_row_major.cc",
       "transpose_row_major.h",
+      "unshadow.cc",
+      "unshadow.h",
     ]
     deps = [
       "${dawn_root}/src/utils:utils",
@@ -68,7 +78,6 @@
       "${tint_src_dir}/lang/core/type",
       "${tint_src_dir}/lang/wgsl",
       "${tint_src_dir}/lang/wgsl/ast",
-      "${tint_src_dir}/lang/wgsl/ast/transform",
       "${tint_src_dir}/lang/wgsl/program",
       "${tint_src_dir}/lang/wgsl/resolver",
       "${tint_src_dir}/lang/wgsl/sem",
@@ -94,9 +103,14 @@
         "decompose_strided_array_test.cc",
         "decompose_strided_matrix_test.cc",
         "fold_trivial_lets_test.cc",
+        "helper_test.h",
+        "manager_test.cc",
         "pass_workgroup_id_as_argument_test.cc",
         "remove_unreachable_statements_test.cc",
+        "simplify_pointers_test.cc",
+        "transform_test.cc",
         "transpose_row_major_test.cc",
+        "unshadow_test.cc",
       ]
       deps = [
         "${dawn_root}/src/utils:utils",
@@ -108,7 +122,7 @@
         "${tint_src_dir}/lang/core/type",
         "${tint_src_dir}/lang/wgsl",
         "${tint_src_dir}/lang/wgsl/ast",
-        "${tint_src_dir}/lang/wgsl/ast/transform",
+        "${tint_src_dir}/lang/wgsl/ast:unittests",
         "${tint_src_dir}/lang/wgsl/program",
         "${tint_src_dir}/lang/wgsl/resolver",
         "${tint_src_dir}/lang/wgsl/sem",
@@ -136,10 +150,6 @@
         ]
       }
 
-      if (tint_build_wgsl_reader && tint_build_wgsl_writer) {
-        deps += [ "${tint_src_dir}/lang/wgsl/ast/transform:unittests" ]
-      }
-
       if (tint_build_wgsl_writer) {
         deps += [ "${tint_src_dir}/lang/wgsl/writer" ]
       }
diff --git a/src/tint/lang/spirv/reader/ast_lower/atomics.h b/src/tint/lang/spirv/reader/ast_lower/atomics.h
index f6dbe11..ac379ad 100644
--- a/src/tint/lang/spirv/reader/ast_lower/atomics.h
+++ b/src/tint/lang/spirv/reader/ast_lower/atomics.h
@@ -30,8 +30,8 @@
 
 #include <string>
 
+#include "src/tint/lang/spirv/reader/ast_lower/transform.h"
 #include "src/tint/lang/wgsl/ast/internal_attribute.h"
-#include "src/tint/lang/wgsl/ast/transform/transform.h"
 #include "src/tint/lang/wgsl/builtin_fn.h"
 
 namespace tint::spirv::reader {
diff --git a/src/tint/lang/spirv/reader/ast_lower/atomics_test.cc b/src/tint/lang/spirv/reader/ast_lower/atomics_test.cc
index 818297c..8dc1b99 100644
--- a/src/tint/lang/spirv/reader/ast_lower/atomics_test.cc
+++ b/src/tint/lang/spirv/reader/ast_lower/atomics_test.cc
@@ -32,7 +32,7 @@
 #include <utility>
 #include <vector>
 
-#include "src/tint/lang/wgsl/ast/transform/helper_test.h"
+#include "src/tint/lang/spirv/reader/ast_lower/helper_test.h"
 #include "src/tint/lang/wgsl/reader/parser/parser.h"
 #include "src/tint/lang/wgsl/resolver/resolve.h"
 
diff --git a/src/tint/lang/wgsl/ast/transform/data.cc b/src/tint/lang/spirv/reader/ast_lower/data.cc
similarity index 96%
rename from src/tint/lang/wgsl/ast/transform/data.cc
rename to src/tint/lang/spirv/reader/ast_lower/data.cc
index f6b27c9..7d4358a 100644
--- a/src/tint/lang/wgsl/ast/transform/data.cc
+++ b/src/tint/lang/spirv/reader/ast_lower/data.cc
@@ -25,7 +25,7 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include "src/tint/lang/wgsl/ast/transform/data.h"
+#include "src/tint/lang/spirv/reader/ast_lower/data.h"
 
 TINT_INSTANTIATE_TYPEINFO(tint::ast::transform::Data);
 
diff --git a/src/tint/lang/wgsl/ast/transform/data.h b/src/tint/lang/spirv/reader/ast_lower/data.h
similarity index 96%
rename from src/tint/lang/wgsl/ast/transform/data.h
rename to src/tint/lang/spirv/reader/ast_lower/data.h
index 8ba1a78..cf1569f 100644
--- a/src/tint/lang/wgsl/ast/transform/data.h
+++ b/src/tint/lang/spirv/reader/ast_lower/data.h
@@ -25,8 +25,8 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#ifndef SRC_TINT_LANG_WGSL_AST_TRANSFORM_DATA_H_
-#define SRC_TINT_LANG_WGSL_AST_TRANSFORM_DATA_H_
+#ifndef SRC_TINT_LANG_SPIRV_READER_AST_LOWER_DATA_H_
+#define SRC_TINT_LANG_SPIRV_READER_AST_LOWER_DATA_H_
 
 #include <memory>
 #include <unordered_map>
@@ -136,4 +136,4 @@
 
 }  // namespace tint::ast::transform
 
-#endif  // SRC_TINT_LANG_WGSL_AST_TRANSFORM_DATA_H_
+#endif  // SRC_TINT_LANG_SPIRV_READER_AST_LOWER_DATA_H_
diff --git a/src/tint/lang/spirv/reader/ast_lower/decompose_strided_array.cc b/src/tint/lang/spirv/reader/ast_lower/decompose_strided_array.cc
index 0d1bcdb..59fa0c0 100644
--- a/src/tint/lang/spirv/reader/ast_lower/decompose_strided_array.cc
+++ b/src/tint/lang/spirv/reader/ast_lower/decompose_strided_array.cc
@@ -32,7 +32,7 @@
 #include <vector>
 
 #include "src/tint/lang/core/fluent_types.h"
-#include "src/tint/lang/wgsl/ast/transform/simplify_pointers.h"
+#include "src/tint/lang/spirv/reader/ast_lower/simplify_pointers.h"
 #include "src/tint/lang/wgsl/program/clone_context.h"
 #include "src/tint/lang/wgsl/program/program_builder.h"
 #include "src/tint/lang/wgsl/resolver/resolve.h"
diff --git a/src/tint/lang/spirv/reader/ast_lower/decompose_strided_array.h b/src/tint/lang/spirv/reader/ast_lower/decompose_strided_array.h
index bcdb522..c50af61 100644
--- a/src/tint/lang/spirv/reader/ast_lower/decompose_strided_array.h
+++ b/src/tint/lang/spirv/reader/ast_lower/decompose_strided_array.h
@@ -28,7 +28,7 @@
 #ifndef SRC_TINT_LANG_SPIRV_READER_AST_LOWER_DECOMPOSE_STRIDED_ARRAY_H_
 #define SRC_TINT_LANG_SPIRV_READER_AST_LOWER_DECOMPOSE_STRIDED_ARRAY_H_
 
-#include "src/tint/lang/wgsl/ast/transform/transform.h"
+#include "src/tint/lang/spirv/reader/ast_lower/transform.h"
 
 namespace tint::spirv::reader {
 
diff --git a/src/tint/lang/spirv/reader/ast_lower/decompose_strided_array_test.cc b/src/tint/lang/spirv/reader/ast_lower/decompose_strided_array_test.cc
index 84103ce..32e2f48 100644
--- a/src/tint/lang/spirv/reader/ast_lower/decompose_strided_array_test.cc
+++ b/src/tint/lang/spirv/reader/ast_lower/decompose_strided_array_test.cc
@@ -32,9 +32,9 @@
 #include <vector>
 
 #include "src/tint/lang/core/fluent_types.h"
-#include "src/tint/lang/wgsl/ast/transform/helper_test.h"
-#include "src/tint/lang/wgsl/ast/transform/simplify_pointers.h"
-#include "src/tint/lang/wgsl/ast/transform/unshadow.h"
+#include "src/tint/lang/spirv/reader/ast_lower/helper_test.h"
+#include "src/tint/lang/spirv/reader/ast_lower/simplify_pointers.h"
+#include "src/tint/lang/spirv/reader/ast_lower/unshadow.h"
 #include "src/tint/lang/wgsl/program/clone_context.h"
 #include "src/tint/lang/wgsl/program/program_builder.h"
 #include "src/tint/lang/wgsl/resolver/resolve.h"
diff --git a/src/tint/lang/spirv/reader/ast_lower/decompose_strided_matrix.cc b/src/tint/lang/spirv/reader/ast_lower/decompose_strided_matrix.cc
index 8509871..6424439 100644
--- a/src/tint/lang/spirv/reader/ast_lower/decompose_strided_matrix.cc
+++ b/src/tint/lang/spirv/reader/ast_lower/decompose_strided_matrix.cc
@@ -32,7 +32,7 @@
 #include <vector>
 
 #include "src/tint/lang/core/fluent_types.h"
-#include "src/tint/lang/wgsl/ast/transform/simplify_pointers.h"
+#include "src/tint/lang/spirv/reader/ast_lower/simplify_pointers.h"
 #include "src/tint/lang/wgsl/program/clone_context.h"
 #include "src/tint/lang/wgsl/program/program_builder.h"
 #include "src/tint/lang/wgsl/resolver/resolve.h"
diff --git a/src/tint/lang/spirv/reader/ast_lower/decompose_strided_matrix.h b/src/tint/lang/spirv/reader/ast_lower/decompose_strided_matrix.h
index e59327b..ca703250 100644
--- a/src/tint/lang/spirv/reader/ast_lower/decompose_strided_matrix.h
+++ b/src/tint/lang/spirv/reader/ast_lower/decompose_strided_matrix.h
@@ -28,7 +28,7 @@
 #ifndef SRC_TINT_LANG_SPIRV_READER_AST_LOWER_DECOMPOSE_STRIDED_MATRIX_H_
 #define SRC_TINT_LANG_SPIRV_READER_AST_LOWER_DECOMPOSE_STRIDED_MATRIX_H_
 
-#include "src/tint/lang/wgsl/ast/transform/transform.h"
+#include "src/tint/lang/spirv/reader/ast_lower/transform.h"
 
 namespace tint::spirv::reader {
 
diff --git a/src/tint/lang/spirv/reader/ast_lower/decompose_strided_matrix_test.cc b/src/tint/lang/spirv/reader/ast_lower/decompose_strided_matrix_test.cc
index e0dc2c8..88c7739 100644
--- a/src/tint/lang/spirv/reader/ast_lower/decompose_strided_matrix_test.cc
+++ b/src/tint/lang/spirv/reader/ast_lower/decompose_strided_matrix_test.cc
@@ -31,10 +31,10 @@
 #include <utility>
 #include <vector>
 
+#include "src/tint/lang/spirv/reader/ast_lower/helper_test.h"
+#include "src/tint/lang/spirv/reader/ast_lower/simplify_pointers.h"
+#include "src/tint/lang/spirv/reader/ast_lower/unshadow.h"
 #include "src/tint/lang/wgsl/ast/disable_validation_attribute.h"
-#include "src/tint/lang/wgsl/ast/transform/helper_test.h"
-#include "src/tint/lang/wgsl/ast/transform/simplify_pointers.h"
-#include "src/tint/lang/wgsl/ast/transform/unshadow.h"
 #include "src/tint/lang/wgsl/program/clone_context.h"
 #include "src/tint/lang/wgsl/program/program_builder.h"
 #include "src/tint/lang/wgsl/resolver/resolve.h"
diff --git a/src/tint/lang/spirv/reader/ast_lower/fold_trivial_lets.h b/src/tint/lang/spirv/reader/ast_lower/fold_trivial_lets.h
index b8be29c..351e4a1 100644
--- a/src/tint/lang/spirv/reader/ast_lower/fold_trivial_lets.h
+++ b/src/tint/lang/spirv/reader/ast_lower/fold_trivial_lets.h
@@ -28,7 +28,7 @@
 #ifndef SRC_TINT_LANG_SPIRV_READER_AST_LOWER_FOLD_TRIVIAL_LETS_H_
 #define SRC_TINT_LANG_SPIRV_READER_AST_LOWER_FOLD_TRIVIAL_LETS_H_
 
-#include "src/tint/lang/wgsl/ast/transform/transform.h"
+#include "src/tint/lang/spirv/reader/ast_lower/transform.h"
 
 namespace tint::spirv::reader {
 
diff --git a/src/tint/lang/spirv/reader/ast_lower/fold_trivial_lets_test.cc b/src/tint/lang/spirv/reader/ast_lower/fold_trivial_lets_test.cc
index 0785876..7263e0f 100644
--- a/src/tint/lang/spirv/reader/ast_lower/fold_trivial_lets_test.cc
+++ b/src/tint/lang/spirv/reader/ast_lower/fold_trivial_lets_test.cc
@@ -27,7 +27,7 @@
 
 #include "src/tint/lang/spirv/reader/ast_lower/fold_trivial_lets.h"
 
-#include "src/tint/lang/wgsl/ast/transform/helper_test.h"
+#include "src/tint/lang/spirv/reader/ast_lower/helper_test.h"
 
 namespace tint::spirv::reader {
 namespace {
diff --git a/src/tint/lang/wgsl/ast/transform/helper_test.h b/src/tint/lang/spirv/reader/ast_lower/helper_test.h
similarity index 95%
rename from src/tint/lang/wgsl/ast/transform/helper_test.h
rename to src/tint/lang/spirv/reader/ast_lower/helper_test.h
index 493db53..41750a6 100644
--- a/src/tint/lang/wgsl/ast/transform/helper_test.h
+++ b/src/tint/lang/spirv/reader/ast_lower/helper_test.h
@@ -25,8 +25,8 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#ifndef SRC_TINT_LANG_WGSL_AST_TRANSFORM_HELPER_TEST_H_
-#define SRC_TINT_LANG_WGSL_AST_TRANSFORM_HELPER_TEST_H_
+#ifndef SRC_TINT_LANG_SPIRV_READER_AST_LOWER_HELPER_TEST_H_
+#define SRC_TINT_LANG_SPIRV_READER_AST_LOWER_HELPER_TEST_H_
 
 #include <memory>
 #include <string>
@@ -34,8 +34,8 @@
 #include <vector>
 
 #include "gtest/gtest.h"
-#include "src/tint/lang/wgsl/ast/transform/manager.h"
-#include "src/tint/lang/wgsl/ast/transform/transform.h"
+#include "src/tint/lang/spirv/reader/ast_lower/manager.h"
+#include "src/tint/lang/spirv/reader/ast_lower/transform.h"
 #include "src/tint/lang/wgsl/reader/reader.h"
 #include "src/tint/lang/wgsl/writer/writer.h"
 
@@ -178,4 +178,4 @@
 
 }  // namespace tint::ast::transform
 
-#endif  // SRC_TINT_LANG_WGSL_AST_TRANSFORM_HELPER_TEST_H_
+#endif  // SRC_TINT_LANG_SPIRV_READER_AST_LOWER_HELPER_TEST_H_
diff --git a/src/tint/lang/wgsl/ast/transform/manager.cc b/src/tint/lang/spirv/reader/ast_lower/manager.cc
similarity index 96%
rename from src/tint/lang/wgsl/ast/transform/manager.cc
rename to src/tint/lang/spirv/reader/ast_lower/manager.cc
index a641c1a..75b13d5 100644
--- a/src/tint/lang/wgsl/ast/transform/manager.cc
+++ b/src/tint/lang/spirv/reader/ast_lower/manager.cc
@@ -25,8 +25,8 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include "src/tint/lang/wgsl/ast/transform/manager.h"
-#include "src/tint/lang/wgsl/ast/transform/transform.h"
+#include "src/tint/lang/spirv/reader/ast_lower/manager.h"
+#include "src/tint/lang/spirv/reader/ast_lower/transform.h"
 #include "src/tint/lang/wgsl/program/clone_context.h"
 #include "src/tint/lang/wgsl/program/program_builder.h"
 #include "src/tint/lang/wgsl/resolver/resolve.h"
diff --git a/src/tint/lang/wgsl/ast/transform/manager.h b/src/tint/lang/spirv/reader/ast_lower/manager.h
similarity index 91%
rename from src/tint/lang/wgsl/ast/transform/manager.h
rename to src/tint/lang/spirv/reader/ast_lower/manager.h
index 7a8fc36..749e185 100644
--- a/src/tint/lang/wgsl/ast/transform/manager.h
+++ b/src/tint/lang/spirv/reader/ast_lower/manager.h
@@ -25,15 +25,15 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#ifndef SRC_TINT_LANG_WGSL_AST_TRANSFORM_MANAGER_H_
-#define SRC_TINT_LANG_WGSL_AST_TRANSFORM_MANAGER_H_
+#ifndef SRC_TINT_LANG_SPIRV_READER_AST_LOWER_MANAGER_H_
+#define SRC_TINT_LANG_SPIRV_READER_AST_LOWER_MANAGER_H_
 
 #include <memory>
 #include <utility>
 #include <vector>
 
-#include "src/tint/lang/wgsl/ast/transform/data.h"
-#include "src/tint/lang/wgsl/ast/transform/transform.h"
+#include "src/tint/lang/spirv/reader/ast_lower/data.h"
+#include "src/tint/lang/spirv/reader/ast_lower/transform.h"
 #include "src/tint/lang/wgsl/program/program.h"
 
 namespace tint::ast::transform {
@@ -75,4 +75,4 @@
 
 }  // namespace tint::ast::transform
 
-#endif  // SRC_TINT_LANG_WGSL_AST_TRANSFORM_MANAGER_H_
+#endif  // SRC_TINT_LANG_SPIRV_READER_AST_LOWER_MANAGER_H_
diff --git a/src/tint/lang/wgsl/ast/transform/manager_test.cc b/src/tint/lang/spirv/reader/ast_lower/manager_test.cc
similarity index 95%
rename from src/tint/lang/wgsl/ast/transform/manager_test.cc
rename to src/tint/lang/spirv/reader/ast_lower/manager_test.cc
index 7b38df4..68fb29c 100644
--- a/src/tint/lang/wgsl/ast/transform/manager_test.cc
+++ b/src/tint/lang/spirv/reader/ast_lower/manager_test.cc
@@ -25,12 +25,12 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include "src/tint/lang/wgsl/ast/transform/manager.h"
+#include "src/tint/lang/spirv/reader/ast_lower/manager.h"
 
 #include <string>
 
 #include "gtest/gtest.h"
-#include "src/tint/lang/wgsl/ast/transform/transform.h"
+#include "src/tint/lang/spirv/reader/ast_lower/transform.h"
 #include "src/tint/lang/wgsl/program/clone_context.h"
 #include "src/tint/lang/wgsl/program/program_builder.h"
 #include "src/tint/lang/wgsl/resolver/resolve.h"
diff --git a/src/tint/lang/spirv/reader/ast_lower/pass_workgroup_id_as_argument.h b/src/tint/lang/spirv/reader/ast_lower/pass_workgroup_id_as_argument.h
index e680352..d1d8ffd 100644
--- a/src/tint/lang/spirv/reader/ast_lower/pass_workgroup_id_as_argument.h
+++ b/src/tint/lang/spirv/reader/ast_lower/pass_workgroup_id_as_argument.h
@@ -28,7 +28,7 @@
 #ifndef SRC_TINT_LANG_SPIRV_READER_AST_LOWER_PASS_WORKGROUP_ID_AS_ARGUMENT_H_
 #define SRC_TINT_LANG_SPIRV_READER_AST_LOWER_PASS_WORKGROUP_ID_AS_ARGUMENT_H_
 
-#include "src/tint/lang/wgsl/ast/transform/transform.h"
+#include "src/tint/lang/spirv/reader/ast_lower/transform.h"
 
 namespace tint::spirv::reader {
 
diff --git a/src/tint/lang/spirv/reader/ast_lower/pass_workgroup_id_as_argument_test.cc b/src/tint/lang/spirv/reader/ast_lower/pass_workgroup_id_as_argument_test.cc
index daaaf2d..629afe0 100644
--- a/src/tint/lang/spirv/reader/ast_lower/pass_workgroup_id_as_argument_test.cc
+++ b/src/tint/lang/spirv/reader/ast_lower/pass_workgroup_id_as_argument_test.cc
@@ -27,7 +27,7 @@
 
 #include "src/tint/lang/spirv/reader/ast_lower/pass_workgroup_id_as_argument.h"
 
-#include "src/tint/lang/wgsl/ast/transform/helper_test.h"
+#include "src/tint/lang/spirv/reader/ast_lower/helper_test.h"
 
 namespace tint::spirv::reader {
 namespace {
diff --git a/src/tint/lang/spirv/reader/ast_lower/remove_unreachable_statements.h b/src/tint/lang/spirv/reader/ast_lower/remove_unreachable_statements.h
index 78ff068..2eed0e6 100644
--- a/src/tint/lang/spirv/reader/ast_lower/remove_unreachable_statements.h
+++ b/src/tint/lang/spirv/reader/ast_lower/remove_unreachable_statements.h
@@ -31,7 +31,7 @@
 #include <string>
 #include <unordered_map>
 
-#include "src/tint/lang/wgsl/ast/transform/transform.h"
+#include "src/tint/lang/spirv/reader/ast_lower/transform.h"
 
 namespace tint::spirv::reader {
 
diff --git a/src/tint/lang/spirv/reader/ast_lower/remove_unreachable_statements_test.cc b/src/tint/lang/spirv/reader/ast_lower/remove_unreachable_statements_test.cc
index 69b4a6b..9c77b83 100644
--- a/src/tint/lang/spirv/reader/ast_lower/remove_unreachable_statements_test.cc
+++ b/src/tint/lang/spirv/reader/ast_lower/remove_unreachable_statements_test.cc
@@ -27,7 +27,7 @@
 
 #include "src/tint/lang/spirv/reader/ast_lower/remove_unreachable_statements.h"
 
-#include "src/tint/lang/wgsl/ast/transform/helper_test.h"
+#include "src/tint/lang/spirv/reader/ast_lower/helper_test.h"
 
 namespace tint::spirv::reader {
 namespace {
diff --git a/src/tint/lang/wgsl/ast/transform/simplify_pointers.cc b/src/tint/lang/spirv/reader/ast_lower/simplify_pointers.cc
similarity index 98%
rename from src/tint/lang/wgsl/ast/transform/simplify_pointers.cc
rename to src/tint/lang/spirv/reader/ast_lower/simplify_pointers.cc
index f47fce6..5e0da70 100644
--- a/src/tint/lang/wgsl/ast/transform/simplify_pointers.cc
+++ b/src/tint/lang/spirv/reader/ast_lower/simplify_pointers.cc
@@ -25,13 +25,13 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include "src/tint/lang/wgsl/ast/transform/simplify_pointers.h"
+#include "src/tint/lang/spirv/reader/ast_lower/simplify_pointers.h"
 
 #include <unordered_set>
 #include "src/tint/lang/wgsl/sem/load.h"
 #include "src/tint/utils/containers/hashset.h"
 
-#include "src/tint/lang/wgsl/ast/transform/unshadow.h"
+#include "src/tint/lang/spirv/reader/ast_lower/unshadow.h"
 #include "src/tint/lang/wgsl/program/clone_context.h"
 #include "src/tint/lang/wgsl/program/program_builder.h"
 #include "src/tint/lang/wgsl/resolver/resolve.h"
diff --git a/src/tint/lang/wgsl/ast/transform/simplify_pointers.h b/src/tint/lang/spirv/reader/ast_lower/simplify_pointers.h
similarity index 90%
rename from src/tint/lang/wgsl/ast/transform/simplify_pointers.h
rename to src/tint/lang/spirv/reader/ast_lower/simplify_pointers.h
index 5d6ea9d..dac4b45 100644
--- a/src/tint/lang/wgsl/ast/transform/simplify_pointers.h
+++ b/src/tint/lang/spirv/reader/ast_lower/simplify_pointers.h
@@ -25,10 +25,10 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#ifndef SRC_TINT_LANG_WGSL_AST_TRANSFORM_SIMPLIFY_POINTERS_H_
-#define SRC_TINT_LANG_WGSL_AST_TRANSFORM_SIMPLIFY_POINTERS_H_
+#ifndef SRC_TINT_LANG_SPIRV_READER_AST_LOWER_SIMPLIFY_POINTERS_H_
+#define SRC_TINT_LANG_SPIRV_READER_AST_LOWER_SIMPLIFY_POINTERS_H_
 
-#include "src/tint/lang/wgsl/ast/transform/transform.h"
+#include "src/tint/lang/spirv/reader/ast_lower/transform.h"
 
 namespace tint::ast::transform {
 
@@ -63,4 +63,4 @@
 
 }  // namespace tint::ast::transform
 
-#endif  // SRC_TINT_LANG_WGSL_AST_TRANSFORM_SIMPLIFY_POINTERS_H_
+#endif  // SRC_TINT_LANG_SPIRV_READER_AST_LOWER_SIMPLIFY_POINTERS_H_
diff --git a/src/tint/lang/wgsl/ast/transform/simplify_pointers_test.cc b/src/tint/lang/spirv/reader/ast_lower/simplify_pointers_test.cc
similarity index 97%
rename from src/tint/lang/wgsl/ast/transform/simplify_pointers_test.cc
rename to src/tint/lang/spirv/reader/ast_lower/simplify_pointers_test.cc
index 9af6f5b..9a8a5e3 100644
--- a/src/tint/lang/wgsl/ast/transform/simplify_pointers_test.cc
+++ b/src/tint/lang/spirv/reader/ast_lower/simplify_pointers_test.cc
@@ -25,10 +25,10 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include "src/tint/lang/wgsl/ast/transform/simplify_pointers.h"
+#include "src/tint/lang/spirv/reader/ast_lower/simplify_pointers.h"
 
-#include "src/tint/lang/wgsl/ast/transform/helper_test.h"
-#include "src/tint/lang/wgsl/ast/transform/unshadow.h"
+#include "src/tint/lang/spirv/reader/ast_lower/helper_test.h"
+#include "src/tint/lang/spirv/reader/ast_lower/unshadow.h"
 
 namespace tint::ast::transform {
 namespace {
diff --git a/src/tint/lang/wgsl/ast/transform/transform.cc b/src/tint/lang/spirv/reader/ast_lower/transform.cc
similarity index 98%
rename from src/tint/lang/wgsl/ast/transform/transform.cc
rename to src/tint/lang/spirv/reader/ast_lower/transform.cc
index 1e50033..58ac7c1 100644
--- a/src/tint/lang/wgsl/ast/transform/transform.cc
+++ b/src/tint/lang/spirv/reader/ast_lower/transform.cc
@@ -25,7 +25,7 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include "src/tint/lang/wgsl/ast/transform/transform.h"
+#include "src/tint/lang/spirv/reader/ast_lower/transform.h"
 
 #include <algorithm>
 #include <string>
diff --git a/src/tint/lang/wgsl/ast/transform/transform.h b/src/tint/lang/spirv/reader/ast_lower/transform.h
similarity index 94%
rename from src/tint/lang/wgsl/ast/transform/transform.h
rename to src/tint/lang/spirv/reader/ast_lower/transform.h
index e629d66..6d00266 100644
--- a/src/tint/lang/wgsl/ast/transform/transform.h
+++ b/src/tint/lang/spirv/reader/ast_lower/transform.h
@@ -25,12 +25,12 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#ifndef SRC_TINT_LANG_WGSL_AST_TRANSFORM_TRANSFORM_H_
-#define SRC_TINT_LANG_WGSL_AST_TRANSFORM_TRANSFORM_H_
+#ifndef SRC_TINT_LANG_SPIRV_READER_AST_LOWER_TRANSFORM_H_
+#define SRC_TINT_LANG_SPIRV_READER_AST_LOWER_TRANSFORM_H_
 
 #include <utility>
 
-#include "src/tint/lang/wgsl/ast/transform/data.h"
+#include "src/tint/lang/spirv/reader/ast_lower/data.h"
 #include "src/tint/lang/wgsl/program/program.h"
 #include "src/tint/utils/rtti/castable.h"
 
@@ -114,4 +114,4 @@
 
 }  // namespace tint::ast::transform
 
-#endif  // SRC_TINT_LANG_WGSL_AST_TRANSFORM_TRANSFORM_H_
+#endif  // SRC_TINT_LANG_SPIRV_READER_AST_LOWER_TRANSFORM_H_
diff --git a/src/tint/lang/wgsl/ast/transform/transform_test.cc b/src/tint/lang/spirv/reader/ast_lower/transform_test.cc
similarity index 98%
rename from src/tint/lang/wgsl/ast/transform/transform_test.cc
rename to src/tint/lang/spirv/reader/ast_lower/transform_test.cc
index 1646b14..036a231 100644
--- a/src/tint/lang/wgsl/ast/transform/transform_test.cc
+++ b/src/tint/lang/spirv/reader/ast_lower/transform_test.cc
@@ -27,8 +27,8 @@
 
 #include <string>
 
+#include "src/tint/lang/spirv/reader/ast_lower/transform.h"
 #include "src/tint/lang/wgsl/ast/helper_test.h"
-#include "src/tint/lang/wgsl/ast/transform/transform.h"
 #include "src/tint/lang/wgsl/program/clone_context.h"
 #include "src/tint/lang/wgsl/program/program_builder.h"
 #include "src/tint/lang/wgsl/resolver/resolve.h"
diff --git a/src/tint/lang/spirv/reader/ast_lower/transpose_row_major.h b/src/tint/lang/spirv/reader/ast_lower/transpose_row_major.h
index 95a1bfd..502a187 100644
--- a/src/tint/lang/spirv/reader/ast_lower/transpose_row_major.h
+++ b/src/tint/lang/spirv/reader/ast_lower/transpose_row_major.h
@@ -28,7 +28,7 @@
 #ifndef SRC_TINT_LANG_SPIRV_READER_AST_LOWER_TRANSPOSE_ROW_MAJOR_H_
 #define SRC_TINT_LANG_SPIRV_READER_AST_LOWER_TRANSPOSE_ROW_MAJOR_H_
 
-#include "src/tint/lang/wgsl/ast/transform/transform.h"
+#include "src/tint/lang/spirv/reader/ast_lower/transform.h"
 
 namespace tint::spirv::reader {
 
diff --git a/src/tint/lang/spirv/reader/ast_lower/transpose_row_major_test.cc b/src/tint/lang/spirv/reader/ast_lower/transpose_row_major_test.cc
index e70c4bf..bd2c9b8 100644
--- a/src/tint/lang/spirv/reader/ast_lower/transpose_row_major_test.cc
+++ b/src/tint/lang/spirv/reader/ast_lower/transpose_row_major_test.cc
@@ -29,8 +29,8 @@
 
 #include <utility>
 
-#include "src/tint/lang/wgsl/ast/transform/helper_test.h"
-#include "src/tint/lang/wgsl/ast/transform/simplify_pointers.h"
+#include "src/tint/lang/spirv/reader/ast_lower/helper_test.h"
+#include "src/tint/lang/spirv/reader/ast_lower/simplify_pointers.h"
 #include "src/tint/lang/wgsl/program/clone_context.h"
 #include "src/tint/lang/wgsl/program/program_builder.h"
 #include "src/tint/lang/wgsl/resolver/resolve.h"
diff --git a/src/tint/lang/wgsl/ast/transform/unshadow.cc b/src/tint/lang/spirv/reader/ast_lower/unshadow.cc
similarity index 98%
rename from src/tint/lang/wgsl/ast/transform/unshadow.cc
rename to src/tint/lang/spirv/reader/ast_lower/unshadow.cc
index 8c61526..03eda4a 100644
--- a/src/tint/lang/wgsl/ast/transform/unshadow.cc
+++ b/src/tint/lang/spirv/reader/ast_lower/unshadow.cc
@@ -25,7 +25,7 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include "src/tint/lang/wgsl/ast/transform/unshadow.h"
+#include "src/tint/lang/spirv/reader/ast_lower/unshadow.h"
 
 #include <memory>
 #include <unordered_map>
diff --git a/src/tint/lang/wgsl/ast/transform/unshadow.h b/src/tint/lang/spirv/reader/ast_lower/unshadow.h
similarity index 89%
rename from src/tint/lang/wgsl/ast/transform/unshadow.h
rename to src/tint/lang/spirv/reader/ast_lower/unshadow.h
index d31e6cf..218bae8 100644
--- a/src/tint/lang/wgsl/ast/transform/unshadow.h
+++ b/src/tint/lang/spirv/reader/ast_lower/unshadow.h
@@ -25,10 +25,10 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#ifndef SRC_TINT_LANG_WGSL_AST_TRANSFORM_UNSHADOW_H_
-#define SRC_TINT_LANG_WGSL_AST_TRANSFORM_UNSHADOW_H_
+#ifndef SRC_TINT_LANG_SPIRV_READER_AST_LOWER_UNSHADOW_H_
+#define SRC_TINT_LANG_SPIRV_READER_AST_LOWER_UNSHADOW_H_
 
-#include "src/tint/lang/wgsl/ast/transform/transform.h"
+#include "src/tint/lang/spirv/reader/ast_lower/transform.h"
 
 namespace tint::ast::transform {
 
@@ -52,4 +52,4 @@
 
 }  // namespace tint::ast::transform
 
-#endif  // SRC_TINT_LANG_WGSL_AST_TRANSFORM_UNSHADOW_H_
+#endif  // SRC_TINT_LANG_SPIRV_READER_AST_LOWER_UNSHADOW_H_
diff --git a/src/tint/lang/wgsl/ast/transform/unshadow_test.cc b/src/tint/lang/spirv/reader/ast_lower/unshadow_test.cc
similarity index 98%
rename from src/tint/lang/wgsl/ast/transform/unshadow_test.cc
rename to src/tint/lang/spirv/reader/ast_lower/unshadow_test.cc
index 3286c98..962ec0a 100644
--- a/src/tint/lang/wgsl/ast/transform/unshadow_test.cc
+++ b/src/tint/lang/spirv/reader/ast_lower/unshadow_test.cc
@@ -25,9 +25,9 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include "src/tint/lang/wgsl/ast/transform/unshadow.h"
+#include "src/tint/lang/spirv/reader/ast_lower/unshadow.h"
 
-#include "src/tint/lang/wgsl/ast/transform/helper_test.h"
+#include "src/tint/lang/spirv/reader/ast_lower/helper_test.h"
 
 namespace tint::ast::transform {
 namespace {
diff --git a/src/tint/lang/spirv/reader/ast_parser/BUILD.bazel b/src/tint/lang/spirv/reader/ast_parser/BUILD.bazel
index 710c60e..cd8c8ec 100644
--- a/src/tint/lang/spirv/reader/ast_parser/BUILD.bazel
+++ b/src/tint/lang/spirv/reader/ast_parser/BUILD.bazel
@@ -69,7 +69,6 @@
     "//src/tint/lang/core/type",
     "//src/tint/lang/wgsl",
     "//src/tint/lang/wgsl/ast",
-    "//src/tint/lang/wgsl/ast/transform",
     "//src/tint/lang/wgsl/program",
     "//src/tint/lang/wgsl/resolver",
     "//src/tint/lang/wgsl/sem",
diff --git a/src/tint/lang/spirv/reader/ast_parser/BUILD.cmake b/src/tint/lang/spirv/reader/ast_parser/BUILD.cmake
index 23e4ef3..406dd19 100644
--- a/src/tint/lang/spirv/reader/ast_parser/BUILD.cmake
+++ b/src/tint/lang/spirv/reader/ast_parser/BUILD.cmake
@@ -70,7 +70,6 @@
   tint_lang_core_type
   tint_lang_wgsl
   tint_lang_wgsl_ast
-  tint_lang_wgsl_ast_transform
   tint_lang_wgsl_program
   tint_lang_wgsl_resolver
   tint_lang_wgsl_sem
diff --git a/src/tint/lang/spirv/reader/ast_parser/BUILD.gn b/src/tint/lang/spirv/reader/ast_parser/BUILD.gn
index d9bd3de..07ece1a 100644
--- a/src/tint/lang/spirv/reader/ast_parser/BUILD.gn
+++ b/src/tint/lang/spirv/reader/ast_parser/BUILD.gn
@@ -74,7 +74,6 @@
       "${tint_src_dir}/lang/core/type",
       "${tint_src_dir}/lang/wgsl",
       "${tint_src_dir}/lang/wgsl/ast",
-      "${tint_src_dir}/lang/wgsl/ast/transform",
       "${tint_src_dir}/lang/wgsl/program",
       "${tint_src_dir}/lang/wgsl/resolver",
       "${tint_src_dir}/lang/wgsl/sem",
diff --git a/src/tint/lang/spirv/reader/ast_parser/parse.cc b/src/tint/lang/spirv/reader/ast_parser/parse.cc
index cf4e66f..d0a74ec 100644
--- a/src/tint/lang/spirv/reader/ast_parser/parse.cc
+++ b/src/tint/lang/spirv/reader/ast_parser/parse.cc
@@ -33,13 +33,13 @@
 #include "src/tint/lang/spirv/reader/ast_lower/decompose_strided_array.h"
 #include "src/tint/lang/spirv/reader/ast_lower/decompose_strided_matrix.h"
 #include "src/tint/lang/spirv/reader/ast_lower/fold_trivial_lets.h"
+#include "src/tint/lang/spirv/reader/ast_lower/manager.h"
 #include "src/tint/lang/spirv/reader/ast_lower/pass_workgroup_id_as_argument.h"
 #include "src/tint/lang/spirv/reader/ast_lower/remove_unreachable_statements.h"
+#include "src/tint/lang/spirv/reader/ast_lower/simplify_pointers.h"
 #include "src/tint/lang/spirv/reader/ast_lower/transpose_row_major.h"
+#include "src/tint/lang/spirv/reader/ast_lower/unshadow.h"
 #include "src/tint/lang/spirv/reader/ast_parser/ast_parser.h"
-#include "src/tint/lang/wgsl/ast/transform/manager.h"
-#include "src/tint/lang/wgsl/ast/transform/simplify_pointers.h"
-#include "src/tint/lang/wgsl/ast/transform/unshadow.h"
 #include "src/tint/lang/wgsl/extension.h"
 #include "src/tint/lang/wgsl/program/clone_context.h"
 #include "src/tint/lang/wgsl/resolver/resolve.h"
diff --git a/src/tint/lang/wgsl/ast/BUILD.cmake b/src/tint/lang/wgsl/ast/BUILD.cmake
index 20c298d..36dec32 100644
--- a/src/tint/lang/wgsl/ast/BUILD.cmake
+++ b/src/tint/lang/wgsl/ast/BUILD.cmake
@@ -34,8 +34,6 @@
 #                       Do not modify this file directly
 ################################################################################
 
-include(lang/wgsl/ast/transform/BUILD.cmake)
-
 ################################################################################
 # Target:    tint_lang_wgsl_ast
 # Kind:      lib
diff --git a/src/tint/lang/wgsl/ast/transform/BUILD.bazel b/src/tint/lang/wgsl/ast/transform/BUILD.bazel
deleted file mode 100644
index 8ac475e..0000000
--- a/src/tint/lang/wgsl/ast/transform/BUILD.bazel
+++ /dev/null
@@ -1,148 +0,0 @@
-# Copyright 2023 The Dawn & Tint Authors
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice, this
-#    list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright notice,
-#    this list of conditions and the following disclaimer in the documentation
-#    and/or other materials provided with the distribution.
-#
-# 3. Neither the name of the copyright holder nor the names of its
-#    contributors may be used to endorse or promote products derived from
-#    this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-################################################################################
-# File generated by 'tools/src/cmd/gen' using the template:
-#   tools/src/cmd/gen/build/BUILD.bazel.tmpl
-#
-# To regenerate run: './tools/run gen'
-#
-#                       Do not modify this file directly
-################################################################################
-
-load("//src/tint:flags.bzl", "COPTS")
-load("@bazel_skylib//lib:selects.bzl", "selects")
-cc_library(
-  name = "transform",
-  srcs = [
-    "data.cc",
-    "manager.cc",
-    "simplify_pointers.cc",
-    "transform.cc",
-    "unshadow.cc",
-  ],
-  hdrs = [
-    "data.h",
-    "manager.h",
-    "simplify_pointers.h",
-    "transform.h",
-    "unshadow.h",
-  ],
-  deps = [
-    "//src/tint/api/common",
-    "//src/tint/lang/core",
-    "//src/tint/lang/core/constant",
-    "//src/tint/lang/core/type",
-    "//src/tint/lang/wgsl",
-    "//src/tint/lang/wgsl/ast",
-    "//src/tint/lang/wgsl/program",
-    "//src/tint/lang/wgsl/resolver",
-    "//src/tint/lang/wgsl/sem",
-    "//src/tint/utils",
-    "//src/tint/utils/containers",
-    "//src/tint/utils/diagnostic",
-    "//src/tint/utils/ice",
-    "//src/tint/utils/macros",
-    "//src/tint/utils/math",
-    "//src/tint/utils/memory",
-    "//src/tint/utils/rtti",
-    "//src/tint/utils/symbol",
-    "//src/tint/utils/text",
-    "//src/utils",
-  ],
-  copts = COPTS,
-  visibility = ["//visibility:public"],
-)
-cc_library(
-  name = "test",
-  alwayslink = True,
-  srcs = [
-    "helper_test.h",
-    "manager_test.cc",
-    "simplify_pointers_test.cc",
-    "transform_test.cc",
-    "unshadow_test.cc",
-  ],
-  deps = [
-    "//src/tint/api/common",
-    "//src/tint/lang/core",
-    "//src/tint/lang/core/constant",
-    "//src/tint/lang/core/ir",
-    "//src/tint/lang/core/type",
-    "//src/tint/lang/wgsl",
-    "//src/tint/lang/wgsl/ast",
-    "//src/tint/lang/wgsl/ast/transform",
-    "//src/tint/lang/wgsl/ast:test",
-    "//src/tint/lang/wgsl/program",
-    "//src/tint/lang/wgsl/resolver",
-    "//src/tint/lang/wgsl/sem",
-    "//src/tint/lang/wgsl/writer/ir_to_program",
-    "//src/tint/utils",
-    "//src/tint/utils/containers",
-    "//src/tint/utils/diagnostic",
-    "//src/tint/utils/ice",
-    "//src/tint/utils/macros",
-    "//src/tint/utils/math",
-    "//src/tint/utils/memory",
-    "//src/tint/utils/rtti",
-    "//src/tint/utils/symbol",
-    "//src/tint/utils/text",
-    "@gtest",
-    "//src/utils",
-  ] + select({
-    ":tint_build_wgsl_reader": [
-      "//src/tint/lang/wgsl/reader",
-    ],
-    "//conditions:default": [],
-  }) + select({
-    ":tint_build_wgsl_writer": [
-      "//src/tint/lang/wgsl/writer",
-    ],
-    "//conditions:default": [],
-  }),
-  copts = COPTS,
-  visibility = ["//visibility:public"],
-)
-
-alias(
-  name = "tint_build_wgsl_reader",
-  actual = "//src/tint:tint_build_wgsl_reader_true",
-)
-
-alias(
-  name = "tint_build_wgsl_writer",
-  actual = "//src/tint:tint_build_wgsl_writer_true",
-)
-
-selects.config_setting_group(
-    name = "tint_build_wgsl_reader_and_tint_build_wgsl_writer",
-    match_all = [
-        ":tint_build_wgsl_reader",
-        ":tint_build_wgsl_writer",
-    ],
-)
-
diff --git a/src/tint/lang/wgsl/ast/transform/BUILD.cfg b/src/tint/lang/wgsl/ast/transform/BUILD.cfg
deleted file mode 100644
index 21c4edc..0000000
--- a/src/tint/lang/wgsl/ast/transform/BUILD.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-    "test": {
-        "condition": "tint_build_wgsl_reader && tint_build_wgsl_writer"
-    },
-}
diff --git a/src/tint/lang/wgsl/ast/transform/BUILD.cmake b/src/tint/lang/wgsl/ast/transform/BUILD.cmake
deleted file mode 100644
index eb02cb9..0000000
--- a/src/tint/lang/wgsl/ast/transform/BUILD.cmake
+++ /dev/null
@@ -1,137 +0,0 @@
-# Copyright 2023 The Dawn & Tint Authors
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice, this
-#    list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright notice,
-#    this list of conditions and the following disclaimer in the documentation
-#    and/or other materials provided with the distribution.
-#
-# 3. Neither the name of the copyright holder nor the names of its
-#    contributors may be used to endorse or promote products derived from
-#    this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-################################################################################
-# File generated by 'tools/src/cmd/gen' using the template:
-#   tools/src/cmd/gen/build/BUILD.cmake.tmpl
-#
-# To regenerate run: './tools/run gen'
-#
-#                       Do not modify this file directly
-################################################################################
-
-################################################################################
-# Target:    tint_lang_wgsl_ast_transform
-# Kind:      lib
-################################################################################
-tint_add_target(tint_lang_wgsl_ast_transform lib
-  lang/wgsl/ast/transform/data.cc
-  lang/wgsl/ast/transform/data.h
-  lang/wgsl/ast/transform/manager.cc
-  lang/wgsl/ast/transform/manager.h
-  lang/wgsl/ast/transform/simplify_pointers.cc
-  lang/wgsl/ast/transform/simplify_pointers.h
-  lang/wgsl/ast/transform/transform.cc
-  lang/wgsl/ast/transform/transform.h
-  lang/wgsl/ast/transform/unshadow.cc
-  lang/wgsl/ast/transform/unshadow.h
-)
-
-tint_target_add_dependencies(tint_lang_wgsl_ast_transform lib
-  tint_api_common
-  tint_lang_core
-  tint_lang_core_constant
-  tint_lang_core_type
-  tint_lang_wgsl
-  tint_lang_wgsl_ast
-  tint_lang_wgsl_program
-  tint_lang_wgsl_resolver
-  tint_lang_wgsl_sem
-  tint_utils
-  tint_utils_containers
-  tint_utils_diagnostic
-  tint_utils_ice
-  tint_utils_macros
-  tint_utils_math
-  tint_utils_memory
-  tint_utils_rtti
-  tint_utils_symbol
-  tint_utils_text
-)
-
-tint_target_add_external_dependencies(tint_lang_wgsl_ast_transform lib
-  "src_utils"
-)
-
-if(TINT_BUILD_WGSL_READER AND TINT_BUILD_WGSL_WRITER)
-################################################################################
-# Target:    tint_lang_wgsl_ast_transform_test
-# Kind:      test
-# Condition: TINT_BUILD_WGSL_READER AND TINT_BUILD_WGSL_WRITER
-################################################################################
-tint_add_target(tint_lang_wgsl_ast_transform_test test
-  lang/wgsl/ast/transform/helper_test.h
-  lang/wgsl/ast/transform/manager_test.cc
-  lang/wgsl/ast/transform/simplify_pointers_test.cc
-  lang/wgsl/ast/transform/transform_test.cc
-  lang/wgsl/ast/transform/unshadow_test.cc
-)
-
-tint_target_add_dependencies(tint_lang_wgsl_ast_transform_test test
-  tint_api_common
-  tint_lang_core
-  tint_lang_core_constant
-  tint_lang_core_ir
-  tint_lang_core_type
-  tint_lang_wgsl
-  tint_lang_wgsl_ast
-  tint_lang_wgsl_ast_transform
-  tint_lang_wgsl_ast_test
-  tint_lang_wgsl_program
-  tint_lang_wgsl_resolver
-  tint_lang_wgsl_sem
-  tint_lang_wgsl_writer_ir_to_program
-  tint_utils
-  tint_utils_containers
-  tint_utils_diagnostic
-  tint_utils_ice
-  tint_utils_macros
-  tint_utils_math
-  tint_utils_memory
-  tint_utils_rtti
-  tint_utils_symbol
-  tint_utils_text
-)
-
-tint_target_add_external_dependencies(tint_lang_wgsl_ast_transform_test test
-  "gtest"
-  "src_utils"
-)
-
-if(TINT_BUILD_WGSL_READER)
-  tint_target_add_dependencies(tint_lang_wgsl_ast_transform_test test
-    tint_lang_wgsl_reader
-  )
-endif(TINT_BUILD_WGSL_READER)
-
-if(TINT_BUILD_WGSL_WRITER)
-  tint_target_add_dependencies(tint_lang_wgsl_ast_transform_test test
-    tint_lang_wgsl_writer
-  )
-endif(TINT_BUILD_WGSL_WRITER)
-
-endif(TINT_BUILD_WGSL_READER AND TINT_BUILD_WGSL_WRITER)
\ No newline at end of file
diff --git a/src/tint/lang/wgsl/ast/transform/BUILD.gn b/src/tint/lang/wgsl/ast/transform/BUILD.gn
deleted file mode 100644
index 73306ea..0000000
--- a/src/tint/lang/wgsl/ast/transform/BUILD.gn
+++ /dev/null
@@ -1,129 +0,0 @@
-# Copyright 2023 The Dawn & Tint Authors
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice, this
-#    list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright notice,
-#    this list of conditions and the following disclaimer in the documentation
-#    and/or other materials provided with the distribution.
-#
-# 3. Neither the name of the copyright holder nor the names of its
-#    contributors may be used to endorse or promote products derived from
-#    this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-################################################################################
-# File generated by 'tools/src/cmd/gen' using the template:
-#   tools/src/cmd/gen/build/BUILD.gn.tmpl
-#
-# To regenerate run: './tools/run gen'
-#
-#                       Do not modify this file directly
-################################################################################
-
-import("../../../../../../scripts/dawn_overrides_with_defaults.gni")
-import("../../../../../../scripts/tint_overrides_with_defaults.gni")
-
-import("${tint_src_dir}/tint.gni")
-
-if (tint_build_unittests || tint_build_benchmarks) {
-  import("//testing/test.gni")
-}
-
-libtint_source_set("transform") {
-  sources = [
-    "data.cc",
-    "data.h",
-    "manager.cc",
-    "manager.h",
-    "simplify_pointers.cc",
-    "simplify_pointers.h",
-    "transform.cc",
-    "transform.h",
-    "unshadow.cc",
-    "unshadow.h",
-  ]
-  deps = [
-    "${dawn_root}/src/utils:utils",
-    "${tint_src_dir}/api/common",
-    "${tint_src_dir}/lang/core",
-    "${tint_src_dir}/lang/core/constant",
-    "${tint_src_dir}/lang/core/type",
-    "${tint_src_dir}/lang/wgsl",
-    "${tint_src_dir}/lang/wgsl/ast",
-    "${tint_src_dir}/lang/wgsl/program",
-    "${tint_src_dir}/lang/wgsl/resolver",
-    "${tint_src_dir}/lang/wgsl/sem",
-    "${tint_src_dir}/utils",
-    "${tint_src_dir}/utils/containers",
-    "${tint_src_dir}/utils/diagnostic",
-    "${tint_src_dir}/utils/ice",
-    "${tint_src_dir}/utils/macros",
-    "${tint_src_dir}/utils/math",
-    "${tint_src_dir}/utils/memory",
-    "${tint_src_dir}/utils/rtti",
-    "${tint_src_dir}/utils/symbol",
-    "${tint_src_dir}/utils/text",
-  ]
-}
-if (tint_build_unittests) {
-  if (tint_build_wgsl_reader && tint_build_wgsl_writer) {
-    tint_unittests_source_set("unittests") {
-      sources = [
-        "helper_test.h",
-        "manager_test.cc",
-        "simplify_pointers_test.cc",
-        "transform_test.cc",
-        "unshadow_test.cc",
-      ]
-      deps = [
-        "${dawn_root}/src/utils:utils",
-        "${tint_src_dir}:gmock_and_gtest",
-        "${tint_src_dir}/api/common",
-        "${tint_src_dir}/lang/core",
-        "${tint_src_dir}/lang/core/constant",
-        "${tint_src_dir}/lang/core/ir",
-        "${tint_src_dir}/lang/core/type",
-        "${tint_src_dir}/lang/wgsl",
-        "${tint_src_dir}/lang/wgsl/ast",
-        "${tint_src_dir}/lang/wgsl/ast:unittests",
-        "${tint_src_dir}/lang/wgsl/ast/transform",
-        "${tint_src_dir}/lang/wgsl/program",
-        "${tint_src_dir}/lang/wgsl/resolver",
-        "${tint_src_dir}/lang/wgsl/sem",
-        "${tint_src_dir}/lang/wgsl/writer/ir_to_program",
-        "${tint_src_dir}/utils",
-        "${tint_src_dir}/utils/containers",
-        "${tint_src_dir}/utils/diagnostic",
-        "${tint_src_dir}/utils/ice",
-        "${tint_src_dir}/utils/macros",
-        "${tint_src_dir}/utils/math",
-        "${tint_src_dir}/utils/memory",
-        "${tint_src_dir}/utils/rtti",
-        "${tint_src_dir}/utils/symbol",
-        "${tint_src_dir}/utils/text",
-      ]
-
-      if (tint_build_wgsl_reader) {
-        deps += [ "${tint_src_dir}/lang/wgsl/reader" ]
-      }
-
-      if (tint_build_wgsl_writer) {
-        deps += [ "${tint_src_dir}/lang/wgsl/writer" ]
-      }
-    }
-  }
-}