Move IR WGSL DirectVariableAccess tests to WGSL folder.
The IR DirectVariableAccess transform has a number of WGSL tests. These
require the WGSL reader and writer in order to function. Move them from
the core/ir/transform folder into the wgsl/ir folder.
Change-Id: Iea891b7a2e9ba6c2074d4b3a5eb63d23ddc600c7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/236276
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: James Price <jrprice@google.com>
diff --git a/src/tint/cmd/test/BUILD.bazel b/src/tint/cmd/test/BUILD.bazel
index cd4ba04..7d21ee5 100644
--- a/src/tint/cmd/test/BUILD.bazel
+++ b/src/tint/cmd/test/BUILD.bazel
@@ -64,6 +64,7 @@
"//src/tint/lang/spirv/type:test",
"//src/tint/lang/wgsl/ast:test",
"//src/tint/lang/wgsl/intrinsic:test",
+ "//src/tint/lang/wgsl/ir:test",
"//src/tint/lang/wgsl/program:test",
"//src/tint/lang/wgsl/reader/lower:test",
"//src/tint/lang/wgsl/resolver:test",
diff --git a/src/tint/cmd/test/BUILD.cmake b/src/tint/cmd/test/BUILD.cmake
index 3db62db..b1fae6b 100644
--- a/src/tint/cmd/test/BUILD.cmake
+++ b/src/tint/cmd/test/BUILD.cmake
@@ -65,6 +65,7 @@
tint_lang_spirv_type_test
tint_lang_wgsl_ast_test
tint_lang_wgsl_intrinsic_test
+ tint_lang_wgsl_ir_test
tint_lang_wgsl_program_test
tint_lang_wgsl_reader_lower_test
tint_lang_wgsl_resolver_test
diff --git a/src/tint/cmd/test/BUILD.gn b/src/tint/cmd/test/BUILD.gn
index f969bde..4c63008 100644
--- a/src/tint/cmd/test/BUILD.gn
+++ b/src/tint/cmd/test/BUILD.gn
@@ -73,6 +73,7 @@
"${tint_src_dir}/lang/wgsl:unittests",
"${tint_src_dir}/lang/wgsl/ast:unittests",
"${tint_src_dir}/lang/wgsl/intrinsic:unittests",
+ "${tint_src_dir}/lang/wgsl/ir:unittests",
"${tint_src_dir}/lang/wgsl/program:unittests",
"${tint_src_dir}/lang/wgsl/reader/lower:unittests",
"${tint_src_dir}/lang/wgsl/resolver:unittests",
diff --git a/src/tint/lang/core/ir/transform/BUILD.bazel b/src/tint/lang/core/ir/transform/BUILD.bazel
index ef932bd..7315cd9 100644
--- a/src/tint/lang/core/ir/transform/BUILD.bazel
+++ b/src/tint/lang/core/ir/transform/BUILD.bazel
@@ -152,16 +152,7 @@
"vectorize_scalar_matrix_constructors_test.cc",
"vertex_pulling_test.cc",
"zero_init_workgroup_memory_test.cc",
- ] + select({
- "//conditions:default": [],
- }) + select({
- ":tint_build_wgsl_reader_and_tint_build_wgsl_writer": [
- "direct_variable_access_wgsl_test.cc",
- ],
- "//conditions:default": [],
- }) + select({
- "//conditions:default": [],
- }),
+ ],
deps = [
"//src/tint/api/common",
"//src/tint/lang/core",
@@ -171,12 +162,6 @@
"//src/tint/lang/core/ir/transform",
"//src/tint/lang/core/ir/type",
"//src/tint/lang/core/type",
- "//src/tint/lang/wgsl",
- "//src/tint/lang/wgsl/ast",
- "//src/tint/lang/wgsl/program",
- "//src/tint/lang/wgsl/sem",
- "//src/tint/lang/wgsl/writer/ir_to_program",
- "//src/tint/lang/wgsl/writer/raise",
"//src/tint/utils",
"//src/tint/utils/containers",
"//src/tint/utils/diagnostic",
@@ -189,39 +174,8 @@
"//src/tint/utils/text",
"@gtest",
"//src/utils",
- ] + select({
- ":tint_build_wgsl_reader": [
- "//src/tint/lang/wgsl/reader",
- "//src/tint/lang/wgsl/reader/program_to_ir",
- ],
- "//conditions:default": [],
- }) + select({
- "//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/core/ir/transform/BUILD.cmake b/src/tint/lang/core/ir/transform/BUILD.cmake
index f094201..28ebfd2 100644
--- a/src/tint/lang/core/ir/transform/BUILD.cmake
+++ b/src/tint/lang/core/ir/transform/BUILD.cmake
@@ -164,12 +164,6 @@
tint_lang_core_ir_transform
tint_lang_core_ir_type
tint_lang_core_type
- tint_lang_wgsl
- tint_lang_wgsl_ast
- tint_lang_wgsl_program
- tint_lang_wgsl_sem
- tint_lang_wgsl_writer_ir_to_program
- tint_lang_wgsl_writer_raise
tint_utils
tint_utils_containers
tint_utils_diagnostic
@@ -187,25 +181,6 @@
"src_utils"
)
-if(TINT_BUILD_WGSL_READER)
- tint_target_add_dependencies(tint_lang_core_ir_transform_test test
- tint_lang_wgsl_reader
- tint_lang_wgsl_reader_program_to_ir
- )
-endif(TINT_BUILD_WGSL_READER)
-
-if(TINT_BUILD_WGSL_READER AND TINT_BUILD_WGSL_WRITER)
- tint_target_add_sources(tint_lang_core_ir_transform_test test
- "lang/core/ir/transform/direct_variable_access_wgsl_test.cc"
- )
-endif(TINT_BUILD_WGSL_READER AND TINT_BUILD_WGSL_WRITER)
-
-if(TINT_BUILD_WGSL_WRITER)
- tint_target_add_dependencies(tint_lang_core_ir_transform_test test
- tint_lang_wgsl_writer
- )
-endif(TINT_BUILD_WGSL_WRITER)
-
################################################################################
# Target: tint_lang_core_ir_transform_fuzz
# Kind: fuzz
diff --git a/src/tint/lang/core/ir/transform/BUILD.gn b/src/tint/lang/core/ir/transform/BUILD.gn
index 824ffd6..cc5eb1d 100644
--- a/src/tint/lang/core/ir/transform/BUILD.gn
+++ b/src/tint/lang/core/ir/transform/BUILD.gn
@@ -165,12 +165,6 @@
"${tint_src_dir}/lang/core/ir/transform",
"${tint_src_dir}/lang/core/ir/type",
"${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/sem",
- "${tint_src_dir}/lang/wgsl/writer/ir_to_program",
- "${tint_src_dir}/lang/wgsl/writer/raise",
"${tint_src_dir}/utils",
"${tint_src_dir}/utils/containers",
"${tint_src_dir}/utils/diagnostic",
@@ -182,21 +176,6 @@
"${tint_src_dir}/utils/symbol",
"${tint_src_dir}/utils/text",
]
-
- if (tint_build_wgsl_reader) {
- deps += [
- "${tint_src_dir}/lang/wgsl/reader",
- "${tint_src_dir}/lang/wgsl/reader/program_to_ir",
- ]
- }
-
- if (tint_build_wgsl_reader && tint_build_wgsl_writer) {
- sources += [ "direct_variable_access_wgsl_test.cc" ]
- }
-
- if (tint_build_wgsl_writer) {
- deps += [ "${tint_src_dir}/lang/wgsl/writer" ]
- }
}
}
diff --git a/src/tint/lang/wgsl/ir/BUILD.bazel b/src/tint/lang/wgsl/ir/BUILD.bazel
index 4a48d34..06e8a97 100644
--- a/src/tint/lang/wgsl/ir/BUILD.bazel
+++ b/src/tint/lang/wgsl/ir/BUILD.bazel
@@ -70,4 +70,80 @@
copts = COPTS,
visibility = ["//visibility:public"],
)
+cc_library(
+ name = "test",
+ alwayslink = True,
+ srcs = [
+ ] + select({
+ "//conditions:default": [],
+ }) + select({
+ ":tint_build_wgsl_reader_and_tint_build_wgsl_writer": [
+ "direct_variable_access_wgsl_test.cc",
+ ],
+ "//conditions:default": [],
+ }) + select({
+ "//conditions:default": [],
+ }),
+ deps = [
+ "//src/tint/api/common",
+ "//src/tint/lang/core",
+ "//src/tint/lang/core/constant",
+ "//src/tint/lang/core/intrinsic",
+ "//src/tint/lang/core/ir",
+ "//src/tint/lang/core/ir/transform",
+ "//src/tint/lang/core/ir/transform:test",
+ "//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
+ "//src/tint/lang/wgsl/ast",
+ "//src/tint/lang/wgsl/program",
+ "//src/tint/lang/wgsl/sem",
+ "//src/tint/lang/wgsl/writer/ir_to_program",
+ "//src/tint/lang/wgsl/writer/raise",
+ "//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",
+ "//src/tint/lang/wgsl/reader/program_to_ir",
+ ],
+ "//conditions:default": [],
+ }) + select({
+ "//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/ir/BUILD.cmake b/src/tint/lang/wgsl/ir/BUILD.cmake
index dea5091..cbcb3a0 100644
--- a/src/tint/lang/wgsl/ir/BUILD.cmake
+++ b/src/tint/lang/wgsl/ir/BUILD.cmake
@@ -69,3 +69,61 @@
tint_target_add_external_dependencies(tint_lang_wgsl_ir lib
"src_utils"
)
+
+################################################################################
+# Target: tint_lang_wgsl_ir_test
+# Kind: test
+################################################################################
+tint_add_target(tint_lang_wgsl_ir_test test
+)
+
+tint_target_add_dependencies(tint_lang_wgsl_ir_test test
+ tint_api_common
+ tint_lang_core
+ tint_lang_core_constant
+ tint_lang_core_intrinsic
+ tint_lang_core_ir
+ tint_lang_core_ir_transform
+ tint_lang_core_ir_transform_test
+ tint_lang_core_type
+ tint_lang_wgsl
+ tint_lang_wgsl_ast
+ tint_lang_wgsl_program
+ tint_lang_wgsl_sem
+ tint_lang_wgsl_writer_ir_to_program
+ tint_lang_wgsl_writer_raise
+ 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_ir_test test
+ "gtest"
+ "src_utils"
+)
+
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_lang_wgsl_ir_test test
+ tint_lang_wgsl_reader
+ tint_lang_wgsl_reader_program_to_ir
+ )
+endif(TINT_BUILD_WGSL_READER)
+
+if(TINT_BUILD_WGSL_READER AND TINT_BUILD_WGSL_WRITER)
+ tint_target_add_sources(tint_lang_wgsl_ir_test test
+ "lang/wgsl/ir/direct_variable_access_wgsl_test.cc"
+ )
+endif(TINT_BUILD_WGSL_READER AND TINT_BUILD_WGSL_WRITER)
+
+if(TINT_BUILD_WGSL_WRITER)
+ tint_target_add_dependencies(tint_lang_wgsl_ir_test test
+ tint_lang_wgsl_writer
+ )
+endif(TINT_BUILD_WGSL_WRITER)
diff --git a/src/tint/lang/wgsl/ir/BUILD.gn b/src/tint/lang/wgsl/ir/BUILD.gn
index faad0c6..b0abc06 100644
--- a/src/tint/lang/wgsl/ir/BUILD.gn
+++ b/src/tint/lang/wgsl/ir/BUILD.gn
@@ -39,6 +39,10 @@
import("${tint_src_dir}/tint.gni")
+if (tint_build_unittests || tint_build_benchmarks) {
+ import("//testing/test.gni")
+}
+
libtint_source_set("ir") {
sources = [
"builtin_call.cc",
@@ -68,3 +72,51 @@
"${tint_src_dir}/utils/text",
]
}
+if (tint_build_unittests) {
+ tint_unittests_source_set("unittests") {
+ sources = []
+ 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/intrinsic",
+ "${tint_src_dir}/lang/core/ir",
+ "${tint_src_dir}/lang/core/ir/transform",
+ "${tint_src_dir}/lang/core/ir/transform:unittests",
+ "${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/sem",
+ "${tint_src_dir}/lang/wgsl/writer/ir_to_program",
+ "${tint_src_dir}/lang/wgsl/writer/raise",
+ "${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",
+ "${tint_src_dir}/lang/wgsl/reader/program_to_ir",
+ ]
+ }
+
+ if (tint_build_wgsl_reader && tint_build_wgsl_writer) {
+ sources += [ "direct_variable_access_wgsl_test.cc" ]
+ }
+
+ if (tint_build_wgsl_writer) {
+ deps += [ "${tint_src_dir}/lang/wgsl/writer" ]
+ }
+ }
+}
diff --git a/src/tint/lang/core/ir/transform/direct_variable_access_wgsl_test.cc b/src/tint/lang/wgsl/ir/direct_variable_access_wgsl_test.cc
similarity index 100%
rename from src/tint/lang/core/ir/transform/direct_variable_access_wgsl_test.cc
rename to src/tint/lang/wgsl/ir/direct_variable_access_wgsl_test.cc