xref: /aosp_15_r20/external/swiftshader/third_party/SPIRV-Tools/BUILD.gn (revision 03ce13f70fcc45d86ee91b7ee4cab1936a95046e)
1*03ce13f7SAndroid Build Coastguard Worker# Copyright 2018 Google Inc. All rights reserved.
2*03ce13f7SAndroid Build Coastguard Worker#
3*03ce13f7SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
4*03ce13f7SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
5*03ce13f7SAndroid Build Coastguard Worker# You may obtain a copy of the License at
6*03ce13f7SAndroid Build Coastguard Worker#
7*03ce13f7SAndroid Build Coastguard Worker#     http://www.apache.org/licenses/LICENSE-2.0
8*03ce13f7SAndroid Build Coastguard Worker#
9*03ce13f7SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*03ce13f7SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
11*03ce13f7SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*03ce13f7SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
13*03ce13f7SAndroid Build Coastguard Worker# limitations under the License.
14*03ce13f7SAndroid Build Coastguard Worker
15*03ce13f7SAndroid Build Coastguard Workerimport("//build_overrides/build.gni")
16*03ce13f7SAndroid Build Coastguard Workerimport("//build_overrides/spirv_tools.gni")
17*03ce13f7SAndroid Build Coastguard Workerif (build_with_chromium) {
18*03ce13f7SAndroid Build Coastguard Worker  import("//testing/test.gni")
19*03ce13f7SAndroid Build Coastguard Worker  import("//third_party/protobuf/proto_library.gni")
20*03ce13f7SAndroid Build Coastguard Worker}
21*03ce13f7SAndroid Build Coastguard Worker
22*03ce13f7SAndroid Build Coastguard Worker# SPIRV-Tools may be part of multiple projects in the Chromium tree.
23*03ce13f7SAndroid Build Coastguard Worker# Only enable building executables if this is the main copy.
24*03ce13f7SAndroid Build Coastguard Workerabspath = get_path_info(".", "abspath")
25*03ce13f7SAndroid Build Coastguard Workerspvtools_chromium_third_party = (abspath == "//third_party/vulkan-deps/spirv-tools/src/")
26*03ce13f7SAndroid Build Coastguard Workerspvtools_build_executables = build_with_chromium && spvtools_chromium_third_party
27*03ce13f7SAndroid Build Coastguard Worker# Fuchsia also requires building the executables.
28*03ce13f7SAndroid Build Coastguard Worker# TODO(b/158002593): Avoid the use of dependent-specific variables.
29*03ce13f7SAndroid Build Coastguard Workerif (defined(is_fuchsia_tree) && is_fuchsia_tree) {
30*03ce13f7SAndroid Build Coastguard Worker  spvtools_build_executables = true
31*03ce13f7SAndroid Build Coastguard Worker}
32*03ce13f7SAndroid Build Coastguard Worker
33*03ce13f7SAndroid Build Coastguard Worker# TODO(b/158002593): The line below is modified from the upstream build file to
34*03ce13f7SAndroid Build Coastguard Worker# override the SPIRV-Headers path with that of SwiftShader. This needs to be
35*03ce13f7SAndroid Build Coastguard Worker# fixed upstream so we don't need this local change.
36*03ce13f7SAndroid Build Coastguard Workerspirv_headers = "../SPIRV-Headers"
37*03ce13f7SAndroid Build Coastguard Workerspirv_is_winuwp = is_win && target_os == "winuwp"
38*03ce13f7SAndroid Build Coastguard Worker
39*03ce13f7SAndroid Build Coastguard Workertemplate("spvtools_core_tables") {
40*03ce13f7SAndroid Build Coastguard Worker  assert(defined(invoker.version), "Need version in $target_name generation.")
41*03ce13f7SAndroid Build Coastguard Worker
42*03ce13f7SAndroid Build Coastguard Worker  action("spvtools_core_tables_" + target_name) {
43*03ce13f7SAndroid Build Coastguard Worker    script = "utils/generate_grammar_tables.py"
44*03ce13f7SAndroid Build Coastguard Worker
45*03ce13f7SAndroid Build Coastguard Worker    version = invoker.version
46*03ce13f7SAndroid Build Coastguard Worker
47*03ce13f7SAndroid Build Coastguard Worker    core_json_file =
48*03ce13f7SAndroid Build Coastguard Worker        "${spirv_headers}/include/spirv/$version/spirv.core.grammar.json"
49*03ce13f7SAndroid Build Coastguard Worker    core_insts_file = "${target_gen_dir}/core.insts-$version.inc"
50*03ce13f7SAndroid Build Coastguard Worker    operand_kinds_file = "${target_gen_dir}/operand.kinds-$version.inc"
51*03ce13f7SAndroid Build Coastguard Worker    debuginfo_insts_file =
52*03ce13f7SAndroid Build Coastguard Worker        "${spirv_headers}/include/spirv/unified1/extinst.debuginfo.grammar.json"
53*03ce13f7SAndroid Build Coastguard Worker    cldebuginfo100_insts_file = "${spirv_headers}/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json"
54*03ce13f7SAndroid Build Coastguard Worker
55*03ce13f7SAndroid Build Coastguard Worker    sources = [
56*03ce13f7SAndroid Build Coastguard Worker      cldebuginfo100_insts_file,
57*03ce13f7SAndroid Build Coastguard Worker      core_json_file,
58*03ce13f7SAndroid Build Coastguard Worker      debuginfo_insts_file,
59*03ce13f7SAndroid Build Coastguard Worker    ]
60*03ce13f7SAndroid Build Coastguard Worker    outputs = [
61*03ce13f7SAndroid Build Coastguard Worker      core_insts_file,
62*03ce13f7SAndroid Build Coastguard Worker      operand_kinds_file,
63*03ce13f7SAndroid Build Coastguard Worker    ]
64*03ce13f7SAndroid Build Coastguard Worker    args = [
65*03ce13f7SAndroid Build Coastguard Worker      "--spirv-core-grammar",
66*03ce13f7SAndroid Build Coastguard Worker      rebase_path(core_json_file, root_build_dir),
67*03ce13f7SAndroid Build Coastguard Worker      "--core-insts-output",
68*03ce13f7SAndroid Build Coastguard Worker      rebase_path(core_insts_file, root_build_dir),
69*03ce13f7SAndroid Build Coastguard Worker      "--extinst-debuginfo-grammar",
70*03ce13f7SAndroid Build Coastguard Worker      rebase_path(debuginfo_insts_file, root_build_dir),
71*03ce13f7SAndroid Build Coastguard Worker      "--extinst-cldebuginfo100-grammar",
72*03ce13f7SAndroid Build Coastguard Worker      rebase_path(cldebuginfo100_insts_file, root_build_dir),
73*03ce13f7SAndroid Build Coastguard Worker      "--operand-kinds-output",
74*03ce13f7SAndroid Build Coastguard Worker      rebase_path(operand_kinds_file, root_build_dir),
75*03ce13f7SAndroid Build Coastguard Worker      "--output-language",
76*03ce13f7SAndroid Build Coastguard Worker      "c++"
77*03ce13f7SAndroid Build Coastguard Worker    ]
78*03ce13f7SAndroid Build Coastguard Worker  }
79*03ce13f7SAndroid Build Coastguard Worker}
80*03ce13f7SAndroid Build Coastguard Worker
81*03ce13f7SAndroid Build Coastguard Workertemplate("spvtools_core_enums") {
82*03ce13f7SAndroid Build Coastguard Worker  assert(defined(invoker.version), "Need version in $target_name generation.")
83*03ce13f7SAndroid Build Coastguard Worker
84*03ce13f7SAndroid Build Coastguard Worker  action("spvtools_core_enums_" + target_name) {
85*03ce13f7SAndroid Build Coastguard Worker    script = "utils/generate_grammar_tables.py"
86*03ce13f7SAndroid Build Coastguard Worker
87*03ce13f7SAndroid Build Coastguard Worker    version = invoker.version
88*03ce13f7SAndroid Build Coastguard Worker
89*03ce13f7SAndroid Build Coastguard Worker    core_json_file =
90*03ce13f7SAndroid Build Coastguard Worker        "${spirv_headers}/include/spirv/$version/spirv.core.grammar.json"
91*03ce13f7SAndroid Build Coastguard Worker    debuginfo_insts_file =
92*03ce13f7SAndroid Build Coastguard Worker        "${spirv_headers}/include/spirv/unified1/extinst.debuginfo.grammar.json"
93*03ce13f7SAndroid Build Coastguard Worker    cldebuginfo100_insts_file = "${spirv_headers}/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json"
94*03ce13f7SAndroid Build Coastguard Worker
95*03ce13f7SAndroid Build Coastguard Worker    extension_enum_file = "${target_gen_dir}/extension_enum.inc"
96*03ce13f7SAndroid Build Coastguard Worker    extension_map_file = "${target_gen_dir}/enum_string_mapping.inc"
97*03ce13f7SAndroid Build Coastguard Worker
98*03ce13f7SAndroid Build Coastguard Worker    args = [
99*03ce13f7SAndroid Build Coastguard Worker      "--spirv-core-grammar",
100*03ce13f7SAndroid Build Coastguard Worker      rebase_path(core_json_file, root_build_dir),
101*03ce13f7SAndroid Build Coastguard Worker      "--extinst-debuginfo-grammar",
102*03ce13f7SAndroid Build Coastguard Worker      rebase_path(debuginfo_insts_file, root_build_dir),
103*03ce13f7SAndroid Build Coastguard Worker      "--extinst-cldebuginfo100-grammar",
104*03ce13f7SAndroid Build Coastguard Worker      rebase_path(cldebuginfo100_insts_file, root_build_dir),
105*03ce13f7SAndroid Build Coastguard Worker      "--extension-enum-output",
106*03ce13f7SAndroid Build Coastguard Worker      rebase_path(extension_enum_file, root_build_dir),
107*03ce13f7SAndroid Build Coastguard Worker      "--enum-string-mapping-output",
108*03ce13f7SAndroid Build Coastguard Worker      rebase_path(extension_map_file, root_build_dir),
109*03ce13f7SAndroid Build Coastguard Worker      "--output-language",
110*03ce13f7SAndroid Build Coastguard Worker      "c++"
111*03ce13f7SAndroid Build Coastguard Worker    ]
112*03ce13f7SAndroid Build Coastguard Worker    inputs = [
113*03ce13f7SAndroid Build Coastguard Worker      core_json_file,
114*03ce13f7SAndroid Build Coastguard Worker      debuginfo_insts_file,
115*03ce13f7SAndroid Build Coastguard Worker      cldebuginfo100_insts_file,
116*03ce13f7SAndroid Build Coastguard Worker    ]
117*03ce13f7SAndroid Build Coastguard Worker    outputs = [
118*03ce13f7SAndroid Build Coastguard Worker      extension_enum_file,
119*03ce13f7SAndroid Build Coastguard Worker      extension_map_file,
120*03ce13f7SAndroid Build Coastguard Worker    ]
121*03ce13f7SAndroid Build Coastguard Worker  }
122*03ce13f7SAndroid Build Coastguard Worker}
123*03ce13f7SAndroid Build Coastguard Worker
124*03ce13f7SAndroid Build Coastguard Workertemplate("spvtools_glsl_tables") {
125*03ce13f7SAndroid Build Coastguard Worker  assert(defined(invoker.version), "Need version in $target_name generation.")
126*03ce13f7SAndroid Build Coastguard Worker
127*03ce13f7SAndroid Build Coastguard Worker  action("spvtools_glsl_tables_" + target_name) {
128*03ce13f7SAndroid Build Coastguard Worker    script = "utils/generate_grammar_tables.py"
129*03ce13f7SAndroid Build Coastguard Worker
130*03ce13f7SAndroid Build Coastguard Worker    version = invoker.version
131*03ce13f7SAndroid Build Coastguard Worker
132*03ce13f7SAndroid Build Coastguard Worker    core_json_file =
133*03ce13f7SAndroid Build Coastguard Worker        "${spirv_headers}/include/spirv/$version/spirv.core.grammar.json"
134*03ce13f7SAndroid Build Coastguard Worker    glsl_json_file = "${spirv_headers}/include/spirv/${version}/extinst.glsl.std.450.grammar.json"
135*03ce13f7SAndroid Build Coastguard Worker    debuginfo_insts_file =
136*03ce13f7SAndroid Build Coastguard Worker        "${spirv_headers}/include/spirv/unified1/extinst.debuginfo.grammar.json"
137*03ce13f7SAndroid Build Coastguard Worker    cldebuginfo100_insts_file = "${spirv_headers}/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json"
138*03ce13f7SAndroid Build Coastguard Worker
139*03ce13f7SAndroid Build Coastguard Worker    glsl_insts_file = "${target_gen_dir}/glsl.std.450.insts.inc"
140*03ce13f7SAndroid Build Coastguard Worker
141*03ce13f7SAndroid Build Coastguard Worker    args = [
142*03ce13f7SAndroid Build Coastguard Worker      "--spirv-core-grammar",
143*03ce13f7SAndroid Build Coastguard Worker      rebase_path(core_json_file, root_build_dir),
144*03ce13f7SAndroid Build Coastguard Worker      "--extinst-debuginfo-grammar",
145*03ce13f7SAndroid Build Coastguard Worker      rebase_path(debuginfo_insts_file, root_build_dir),
146*03ce13f7SAndroid Build Coastguard Worker      "--extinst-cldebuginfo100-grammar",
147*03ce13f7SAndroid Build Coastguard Worker      rebase_path(cldebuginfo100_insts_file, root_build_dir),
148*03ce13f7SAndroid Build Coastguard Worker      "--extinst-glsl-grammar",
149*03ce13f7SAndroid Build Coastguard Worker      rebase_path(glsl_json_file, root_build_dir),
150*03ce13f7SAndroid Build Coastguard Worker      "--glsl-insts-output",
151*03ce13f7SAndroid Build Coastguard Worker      rebase_path(glsl_insts_file, root_build_dir),
152*03ce13f7SAndroid Build Coastguard Worker      "--output-language",
153*03ce13f7SAndroid Build Coastguard Worker      "c++"
154*03ce13f7SAndroid Build Coastguard Worker    ]
155*03ce13f7SAndroid Build Coastguard Worker    inputs = [
156*03ce13f7SAndroid Build Coastguard Worker      core_json_file,
157*03ce13f7SAndroid Build Coastguard Worker      glsl_json_file,
158*03ce13f7SAndroid Build Coastguard Worker      debuginfo_insts_file,
159*03ce13f7SAndroid Build Coastguard Worker      cldebuginfo100_insts_file,
160*03ce13f7SAndroid Build Coastguard Worker    ]
161*03ce13f7SAndroid Build Coastguard Worker    outputs = [ glsl_insts_file ]
162*03ce13f7SAndroid Build Coastguard Worker  }
163*03ce13f7SAndroid Build Coastguard Worker}
164*03ce13f7SAndroid Build Coastguard Worker
165*03ce13f7SAndroid Build Coastguard Workertemplate("spvtools_opencl_tables") {
166*03ce13f7SAndroid Build Coastguard Worker  assert(defined(invoker.version), "Need version in $target_name generation.")
167*03ce13f7SAndroid Build Coastguard Worker
168*03ce13f7SAndroid Build Coastguard Worker  action("spvtools_opencl_tables_" + target_name) {
169*03ce13f7SAndroid Build Coastguard Worker    script = "utils/generate_grammar_tables.py"
170*03ce13f7SAndroid Build Coastguard Worker
171*03ce13f7SAndroid Build Coastguard Worker    version = invoker.version
172*03ce13f7SAndroid Build Coastguard Worker
173*03ce13f7SAndroid Build Coastguard Worker    core_json_file =
174*03ce13f7SAndroid Build Coastguard Worker        "${spirv_headers}/include/spirv/$version/spirv.core.grammar.json"
175*03ce13f7SAndroid Build Coastguard Worker    opencl_json_file = "${spirv_headers}/include/spirv/${version}/extinst.opencl.std.100.grammar.json"
176*03ce13f7SAndroid Build Coastguard Worker    debuginfo_insts_file =
177*03ce13f7SAndroid Build Coastguard Worker        "${spirv_headers}/include/spirv/unified1/extinst.debuginfo.grammar.json"
178*03ce13f7SAndroid Build Coastguard Worker    cldebuginfo100_insts_file = "${spirv_headers}/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json"
179*03ce13f7SAndroid Build Coastguard Worker
180*03ce13f7SAndroid Build Coastguard Worker    opencl_insts_file = "${target_gen_dir}/opencl.std.insts.inc"
181*03ce13f7SAndroid Build Coastguard Worker
182*03ce13f7SAndroid Build Coastguard Worker    args = [
183*03ce13f7SAndroid Build Coastguard Worker      "--spirv-core-grammar",
184*03ce13f7SAndroid Build Coastguard Worker      rebase_path(core_json_file, root_build_dir),
185*03ce13f7SAndroid Build Coastguard Worker      "--extinst-debuginfo-grammar",
186*03ce13f7SAndroid Build Coastguard Worker      rebase_path(debuginfo_insts_file, root_build_dir),
187*03ce13f7SAndroid Build Coastguard Worker      "--extinst-cldebuginfo100-grammar",
188*03ce13f7SAndroid Build Coastguard Worker      rebase_path(cldebuginfo100_insts_file, root_build_dir),
189*03ce13f7SAndroid Build Coastguard Worker      "--extinst-opencl-grammar",
190*03ce13f7SAndroid Build Coastguard Worker      rebase_path(opencl_json_file, root_build_dir),
191*03ce13f7SAndroid Build Coastguard Worker      "--opencl-insts-output",
192*03ce13f7SAndroid Build Coastguard Worker      rebase_path(opencl_insts_file, root_build_dir),
193*03ce13f7SAndroid Build Coastguard Worker    ]
194*03ce13f7SAndroid Build Coastguard Worker    inputs = [
195*03ce13f7SAndroid Build Coastguard Worker      core_json_file,
196*03ce13f7SAndroid Build Coastguard Worker      opencl_json_file,
197*03ce13f7SAndroid Build Coastguard Worker      debuginfo_insts_file,
198*03ce13f7SAndroid Build Coastguard Worker      cldebuginfo100_insts_file,
199*03ce13f7SAndroid Build Coastguard Worker    ]
200*03ce13f7SAndroid Build Coastguard Worker    outputs = [ opencl_insts_file ]
201*03ce13f7SAndroid Build Coastguard Worker  }
202*03ce13f7SAndroid Build Coastguard Worker}
203*03ce13f7SAndroid Build Coastguard Worker
204*03ce13f7SAndroid Build Coastguard Workertemplate("spvtools_language_header") {
205*03ce13f7SAndroid Build Coastguard Worker  assert(defined(invoker.name), "Need name in $target_name generation.")
206*03ce13f7SAndroid Build Coastguard Worker
207*03ce13f7SAndroid Build Coastguard Worker  action("spvtools_language_header_" + target_name) {
208*03ce13f7SAndroid Build Coastguard Worker    script = "utils/generate_language_headers.py"
209*03ce13f7SAndroid Build Coastguard Worker
210*03ce13f7SAndroid Build Coastguard Worker    name = invoker.name
211*03ce13f7SAndroid Build Coastguard Worker    extinst_output_path = "${target_gen_dir}/${name}.h"
212*03ce13f7SAndroid Build Coastguard Worker
213*03ce13f7SAndroid Build Coastguard Worker    args = [
214*03ce13f7SAndroid Build Coastguard Worker      "--extinst-grammar",
215*03ce13f7SAndroid Build Coastguard Worker      rebase_path(invoker.grammar_file, root_build_dir),
216*03ce13f7SAndroid Build Coastguard Worker      "--extinst-output-path",
217*03ce13f7SAndroid Build Coastguard Worker      rebase_path(extinst_output_path, root_build_dir),
218*03ce13f7SAndroid Build Coastguard Worker    ]
219*03ce13f7SAndroid Build Coastguard Worker    inputs = [ invoker.grammar_file ]
220*03ce13f7SAndroid Build Coastguard Worker    outputs = [ "${extinst_output_path}" ]
221*03ce13f7SAndroid Build Coastguard Worker  }
222*03ce13f7SAndroid Build Coastguard Worker}
223*03ce13f7SAndroid Build Coastguard Worker
224*03ce13f7SAndroid Build Coastguard Workertemplate("spvtools_vendor_table") {
225*03ce13f7SAndroid Build Coastguard Worker  assert(defined(invoker.name), "Need name in $target_name generation.")
226*03ce13f7SAndroid Build Coastguard Worker
227*03ce13f7SAndroid Build Coastguard Worker  action("spvtools_vendor_tables_" + target_name) {
228*03ce13f7SAndroid Build Coastguard Worker    script = "utils/generate_grammar_tables.py"
229*03ce13f7SAndroid Build Coastguard Worker
230*03ce13f7SAndroid Build Coastguard Worker    name = invoker.name
231*03ce13f7SAndroid Build Coastguard Worker    extinst_vendor_grammar =
232*03ce13f7SAndroid Build Coastguard Worker        "${spirv_headers}/include/spirv/unified1/extinst.${name}.grammar.json"
233*03ce13f7SAndroid Build Coastguard Worker    extinst_file = "${target_gen_dir}/${name}.insts.inc"
234*03ce13f7SAndroid Build Coastguard Worker
235*03ce13f7SAndroid Build Coastguard Worker    args = [
236*03ce13f7SAndroid Build Coastguard Worker      "--extinst-vendor-grammar",
237*03ce13f7SAndroid Build Coastguard Worker      rebase_path(extinst_vendor_grammar, root_build_dir),
238*03ce13f7SAndroid Build Coastguard Worker      "--vendor-insts-output",
239*03ce13f7SAndroid Build Coastguard Worker      rebase_path(extinst_file, root_build_dir),
240*03ce13f7SAndroid Build Coastguard Worker      "--vendor-operand-kind-prefix",
241*03ce13f7SAndroid Build Coastguard Worker      invoker.operand_kind_prefix,
242*03ce13f7SAndroid Build Coastguard Worker    ]
243*03ce13f7SAndroid Build Coastguard Worker    inputs = [ extinst_vendor_grammar ]
244*03ce13f7SAndroid Build Coastguard Worker    outputs = [ extinst_file ]
245*03ce13f7SAndroid Build Coastguard Worker  }
246*03ce13f7SAndroid Build Coastguard Worker}
247*03ce13f7SAndroid Build Coastguard Worker
248*03ce13f7SAndroid Build Coastguard Workeraction("spvtools_generators_inc") {
249*03ce13f7SAndroid Build Coastguard Worker  script = "utils/generate_registry_tables.py"
250*03ce13f7SAndroid Build Coastguard Worker
251*03ce13f7SAndroid Build Coastguard Worker  # TODO(dsinclair): Make work for chrome
252*03ce13f7SAndroid Build Coastguard Worker  xml_file = "${spirv_headers}/include/spirv/spir-v.xml"
253*03ce13f7SAndroid Build Coastguard Worker  inc_file = "${target_gen_dir}/generators.inc"
254*03ce13f7SAndroid Build Coastguard Worker
255*03ce13f7SAndroid Build Coastguard Worker  sources = [ xml_file ]
256*03ce13f7SAndroid Build Coastguard Worker  outputs = [ inc_file ]
257*03ce13f7SAndroid Build Coastguard Worker  args = [
258*03ce13f7SAndroid Build Coastguard Worker    "--xml",
259*03ce13f7SAndroid Build Coastguard Worker    rebase_path(xml_file, root_build_dir),
260*03ce13f7SAndroid Build Coastguard Worker    "--generator",
261*03ce13f7SAndroid Build Coastguard Worker    rebase_path(inc_file, root_build_dir),
262*03ce13f7SAndroid Build Coastguard Worker  ]
263*03ce13f7SAndroid Build Coastguard Worker}
264*03ce13f7SAndroid Build Coastguard Worker
265*03ce13f7SAndroid Build Coastguard Workeraction("spvtools_build_version") {
266*03ce13f7SAndroid Build Coastguard Worker  script = "utils/update_build_version.py"
267*03ce13f7SAndroid Build Coastguard Worker
268*03ce13f7SAndroid Build Coastguard Worker  changes_file = "CHANGES"
269*03ce13f7SAndroid Build Coastguard Worker  inc_file = "${target_gen_dir}/build-version.inc"
270*03ce13f7SAndroid Build Coastguard Worker
271*03ce13f7SAndroid Build Coastguard Worker  outputs = [ inc_file ]
272*03ce13f7SAndroid Build Coastguard Worker  args = [
273*03ce13f7SAndroid Build Coastguard Worker    rebase_path(changes_file, root_build_dir),
274*03ce13f7SAndroid Build Coastguard Worker    rebase_path(inc_file, root_build_dir),
275*03ce13f7SAndroid Build Coastguard Worker  ]
276*03ce13f7SAndroid Build Coastguard Worker}
277*03ce13f7SAndroid Build Coastguard Worker
278*03ce13f7SAndroid Build Coastguard Workerspvtools_core_tables("unified1") {
279*03ce13f7SAndroid Build Coastguard Worker  version = "unified1"
280*03ce13f7SAndroid Build Coastguard Worker}
281*03ce13f7SAndroid Build Coastguard Workerspvtools_core_enums("unified1") {
282*03ce13f7SAndroid Build Coastguard Worker  version = "unified1"
283*03ce13f7SAndroid Build Coastguard Worker}
284*03ce13f7SAndroid Build Coastguard Workerspvtools_glsl_tables("glsl1-0") {
285*03ce13f7SAndroid Build Coastguard Worker  version = "1.0"
286*03ce13f7SAndroid Build Coastguard Worker}
287*03ce13f7SAndroid Build Coastguard Workerspvtools_opencl_tables("opencl1-0") {
288*03ce13f7SAndroid Build Coastguard Worker  version = "1.0"
289*03ce13f7SAndroid Build Coastguard Worker}
290*03ce13f7SAndroid Build Coastguard Workerspvtools_language_header("debuginfo") {
291*03ce13f7SAndroid Build Coastguard Worker  name = "DebugInfo"
292*03ce13f7SAndroid Build Coastguard Worker  grammar_file =
293*03ce13f7SAndroid Build Coastguard Worker      "${spirv_headers}/include/spirv/unified1/extinst.debuginfo.grammar.json"
294*03ce13f7SAndroid Build Coastguard Worker}
295*03ce13f7SAndroid Build Coastguard Workerspvtools_language_header("cldebuginfo100") {
296*03ce13f7SAndroid Build Coastguard Worker  name = "OpenCLDebugInfo100"
297*03ce13f7SAndroid Build Coastguard Worker  grammar_file = "${spirv_headers}/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json"
298*03ce13f7SAndroid Build Coastguard Worker}
299*03ce13f7SAndroid Build Coastguard Workerspvtools_language_header("vkdebuginfo100") {
300*03ce13f7SAndroid Build Coastguard Worker  name = "NonSemanticShaderDebugInfo100"
301*03ce13f7SAndroid Build Coastguard Worker  grammar_file = "${spirv_headers}/include/spirv/unified1/extinst.nonsemantic.shader.debuginfo.100.grammar.json"
302*03ce13f7SAndroid Build Coastguard Worker}
303*03ce13f7SAndroid Build Coastguard Worker
304*03ce13f7SAndroid Build Coastguard Workerspvtools_vendor_tables = [
305*03ce13f7SAndroid Build Coastguard Worker  [
306*03ce13f7SAndroid Build Coastguard Worker    "spv-amd-shader-explicit-vertex-parameter",
307*03ce13f7SAndroid Build Coastguard Worker    "...nil...",
308*03ce13f7SAndroid Build Coastguard Worker  ],
309*03ce13f7SAndroid Build Coastguard Worker  [
310*03ce13f7SAndroid Build Coastguard Worker    "spv-amd-shader-trinary-minmax",
311*03ce13f7SAndroid Build Coastguard Worker    "...nil...",
312*03ce13f7SAndroid Build Coastguard Worker  ],
313*03ce13f7SAndroid Build Coastguard Worker  [
314*03ce13f7SAndroid Build Coastguard Worker    "spv-amd-gcn-shader",
315*03ce13f7SAndroid Build Coastguard Worker    "...nil...",
316*03ce13f7SAndroid Build Coastguard Worker  ],
317*03ce13f7SAndroid Build Coastguard Worker  [
318*03ce13f7SAndroid Build Coastguard Worker    "spv-amd-shader-ballot",
319*03ce13f7SAndroid Build Coastguard Worker    "...nil...",
320*03ce13f7SAndroid Build Coastguard Worker  ],
321*03ce13f7SAndroid Build Coastguard Worker  [
322*03ce13f7SAndroid Build Coastguard Worker    "debuginfo",
323*03ce13f7SAndroid Build Coastguard Worker    "...nil...",
324*03ce13f7SAndroid Build Coastguard Worker  ],
325*03ce13f7SAndroid Build Coastguard Worker  [
326*03ce13f7SAndroid Build Coastguard Worker    "opencl.debuginfo.100",
327*03ce13f7SAndroid Build Coastguard Worker    "CLDEBUG100_",
328*03ce13f7SAndroid Build Coastguard Worker  ],
329*03ce13f7SAndroid Build Coastguard Worker  [
330*03ce13f7SAndroid Build Coastguard Worker    "nonsemantic.clspvreflection",
331*03ce13f7SAndroid Build Coastguard Worker    "...nil...",
332*03ce13f7SAndroid Build Coastguard Worker  ],
333*03ce13f7SAndroid Build Coastguard Worker  [
334*03ce13f7SAndroid Build Coastguard Worker    "nonsemantic.vkspreflection",
335*03ce13f7SAndroid Build Coastguard Worker    "...nil...",
336*03ce13f7SAndroid Build Coastguard Worker  ],
337*03ce13f7SAndroid Build Coastguard Worker  [
338*03ce13f7SAndroid Build Coastguard Worker    "nonsemantic.shader.debuginfo.100",
339*03ce13f7SAndroid Build Coastguard Worker    "SHDEBUG100_",
340*03ce13f7SAndroid Build Coastguard Worker  ],
341*03ce13f7SAndroid Build Coastguard Worker]
342*03ce13f7SAndroid Build Coastguard Worker
343*03ce13f7SAndroid Build Coastguard Workerforeach(table_def, spvtools_vendor_tables) {
344*03ce13f7SAndroid Build Coastguard Worker  spvtools_vendor_table(table_def[0]) {
345*03ce13f7SAndroid Build Coastguard Worker    name = table_def[0]
346*03ce13f7SAndroid Build Coastguard Worker    operand_kind_prefix = table_def[1]
347*03ce13f7SAndroid Build Coastguard Worker  }
348*03ce13f7SAndroid Build Coastguard Worker}
349*03ce13f7SAndroid Build Coastguard Worker
350*03ce13f7SAndroid Build Coastguard Workerconfig("spvtools_public_config") {
351*03ce13f7SAndroid Build Coastguard Worker  include_dirs = [ "include" ]
352*03ce13f7SAndroid Build Coastguard Worker}
353*03ce13f7SAndroid Build Coastguard Worker
354*03ce13f7SAndroid Build Coastguard Workerconfig("spvtools_include_gen_dirs") {
355*03ce13f7SAndroid Build Coastguard Worker  include_dirs = [ "$target_gen_dir" ]
356*03ce13f7SAndroid Build Coastguard Worker}
357*03ce13f7SAndroid Build Coastguard Worker
358*03ce13f7SAndroid Build Coastguard Workerconfig("spvtools_internal_config") {
359*03ce13f7SAndroid Build Coastguard Worker  include_dirs = [
360*03ce13f7SAndroid Build Coastguard Worker    ".",
361*03ce13f7SAndroid Build Coastguard Worker    "${spirv_headers}/include",
362*03ce13f7SAndroid Build Coastguard Worker  ]
363*03ce13f7SAndroid Build Coastguard Worker
364*03ce13f7SAndroid Build Coastguard Worker  configs = [
365*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_public_config",
366*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_include_gen_dirs",
367*03ce13f7SAndroid Build Coastguard Worker  ]
368*03ce13f7SAndroid Build Coastguard Worker
369*03ce13f7SAndroid Build Coastguard Worker  cflags = []
370*03ce13f7SAndroid Build Coastguard Worker  if (is_clang) {
371*03ce13f7SAndroid Build Coastguard Worker    cflags += [
372*03ce13f7SAndroid Build Coastguard Worker      "-Wno-implicit-fallthrough",
373*03ce13f7SAndroid Build Coastguard Worker      "-Wno-newline-eof",
374*03ce13f7SAndroid Build Coastguard Worker      "-Wno-unreachable-code-break",
375*03ce13f7SAndroid Build Coastguard Worker      "-Wno-unreachable-code-return",
376*03ce13f7SAndroid Build Coastguard Worker    ]
377*03ce13f7SAndroid Build Coastguard Worker  } else if (!is_win) {
378*03ce13f7SAndroid Build Coastguard Worker    # Work around a false-positive on a Skia GCC 10 builder.
379*03ce13f7SAndroid Build Coastguard Worker    cflags += [ "-Wno-format-truncation" ]
380*03ce13f7SAndroid Build Coastguard Worker  } else {
381*03ce13f7SAndroid Build Coastguard Worker    # Make MSVC report the correct value for __cplusplus
382*03ce13f7SAndroid Build Coastguard Worker    cflags += [ "/Zc:__cplusplus" ]
383*03ce13f7SAndroid Build Coastguard Worker  }
384*03ce13f7SAndroid Build Coastguard Worker
385*03ce13f7SAndroid Build Coastguard Worker  if (!is_win) {
386*03ce13f7SAndroid Build Coastguard Worker    cflags += [ "-std=c++17" ]
387*03ce13f7SAndroid Build Coastguard Worker  } else {
388*03ce13f7SAndroid Build Coastguard Worker    cflags += [ "/std:c++17" ]
389*03ce13f7SAndroid Build Coastguard Worker  }
390*03ce13f7SAndroid Build Coastguard Worker}
391*03ce13f7SAndroid Build Coastguard Worker
392*03ce13f7SAndroid Build Coastguard Workersource_set("spvtools_headers") {
393*03ce13f7SAndroid Build Coastguard Worker  sources = [
394*03ce13f7SAndroid Build Coastguard Worker    "include/spirv-tools/instrument.hpp",
395*03ce13f7SAndroid Build Coastguard Worker    "include/spirv-tools/libspirv.h",
396*03ce13f7SAndroid Build Coastguard Worker    "include/spirv-tools/libspirv.hpp",
397*03ce13f7SAndroid Build Coastguard Worker    "include/spirv-tools/linker.hpp",
398*03ce13f7SAndroid Build Coastguard Worker    "include/spirv-tools/optimizer.hpp",
399*03ce13f7SAndroid Build Coastguard Worker  ]
400*03ce13f7SAndroid Build Coastguard Worker
401*03ce13f7SAndroid Build Coastguard Worker  public_configs = [ ":spvtools_public_config" ]
402*03ce13f7SAndroid Build Coastguard Worker}
403*03ce13f7SAndroid Build Coastguard Worker
404*03ce13f7SAndroid Build Coastguard Workergroup("spvtools_language_headers") {
405*03ce13f7SAndroid Build Coastguard Worker  public_deps = [
406*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_language_header_cldebuginfo100",
407*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_language_header_debuginfo",
408*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_language_header_vkdebuginfo100",
409*03ce13f7SAndroid Build Coastguard Worker  ]
410*03ce13f7SAndroid Build Coastguard Worker}
411*03ce13f7SAndroid Build Coastguard Worker
412*03ce13f7SAndroid Build Coastguard Workerstatic_library("spvtools") {
413*03ce13f7SAndroid Build Coastguard Worker  deps = [
414*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_core_tables_unified1",
415*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_generators_inc",
416*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_glsl_tables_glsl1-0",
417*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_language_header_cldebuginfo100",
418*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_language_header_debuginfo",
419*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_language_header_vkdebuginfo100",
420*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_opencl_tables_opencl1-0",
421*03ce13f7SAndroid Build Coastguard Worker  ]
422*03ce13f7SAndroid Build Coastguard Worker  foreach(table_def, spvtools_vendor_tables) {
423*03ce13f7SAndroid Build Coastguard Worker    target_name = table_def[0]
424*03ce13f7SAndroid Build Coastguard Worker    deps += [ ":spvtools_vendor_tables_$target_name" ]
425*03ce13f7SAndroid Build Coastguard Worker  }
426*03ce13f7SAndroid Build Coastguard Worker
427*03ce13f7SAndroid Build Coastguard Worker  sources = [
428*03ce13f7SAndroid Build Coastguard Worker    "source/assembly_grammar.cpp",
429*03ce13f7SAndroid Build Coastguard Worker    "source/assembly_grammar.h",
430*03ce13f7SAndroid Build Coastguard Worker    "source/binary.cpp",
431*03ce13f7SAndroid Build Coastguard Worker    "source/binary.h",
432*03ce13f7SAndroid Build Coastguard Worker    "source/cfa.h",
433*03ce13f7SAndroid Build Coastguard Worker    "source/common_debug_info.h",
434*03ce13f7SAndroid Build Coastguard Worker    "source/diagnostic.cpp",
435*03ce13f7SAndroid Build Coastguard Worker    "source/diagnostic.h",
436*03ce13f7SAndroid Build Coastguard Worker    "source/disassemble.cpp",
437*03ce13f7SAndroid Build Coastguard Worker    "source/disassemble.h",
438*03ce13f7SAndroid Build Coastguard Worker    "source/enum_set.h",
439*03ce13f7SAndroid Build Coastguard Worker    "source/enum_string_mapping.cpp",
440*03ce13f7SAndroid Build Coastguard Worker    "source/enum_string_mapping.h",
441*03ce13f7SAndroid Build Coastguard Worker    "source/ext_inst.cpp",
442*03ce13f7SAndroid Build Coastguard Worker    "source/ext_inst.h",
443*03ce13f7SAndroid Build Coastguard Worker    "source/extensions.cpp",
444*03ce13f7SAndroid Build Coastguard Worker    "source/extensions.h",
445*03ce13f7SAndroid Build Coastguard Worker    "source/instruction.h",
446*03ce13f7SAndroid Build Coastguard Worker    "source/latest_version_glsl_std_450_header.h",
447*03ce13f7SAndroid Build Coastguard Worker    "source/latest_version_opencl_std_header.h",
448*03ce13f7SAndroid Build Coastguard Worker    "source/latest_version_spirv_header.h",
449*03ce13f7SAndroid Build Coastguard Worker    "source/libspirv.cpp",
450*03ce13f7SAndroid Build Coastguard Worker    "source/macro.h",
451*03ce13f7SAndroid Build Coastguard Worker    "source/name_mapper.cpp",
452*03ce13f7SAndroid Build Coastguard Worker    "source/name_mapper.h",
453*03ce13f7SAndroid Build Coastguard Worker    "source/opcode.cpp",
454*03ce13f7SAndroid Build Coastguard Worker    "source/opcode.h",
455*03ce13f7SAndroid Build Coastguard Worker    "source/operand.cpp",
456*03ce13f7SAndroid Build Coastguard Worker    "source/operand.h",
457*03ce13f7SAndroid Build Coastguard Worker    "source/parsed_operand.cpp",
458*03ce13f7SAndroid Build Coastguard Worker    "source/parsed_operand.h",
459*03ce13f7SAndroid Build Coastguard Worker    "source/print.cpp",
460*03ce13f7SAndroid Build Coastguard Worker    "source/print.h",
461*03ce13f7SAndroid Build Coastguard Worker    "source/spirv_constant.h",
462*03ce13f7SAndroid Build Coastguard Worker    "source/spirv_definition.h",
463*03ce13f7SAndroid Build Coastguard Worker    "source/spirv_endian.cpp",
464*03ce13f7SAndroid Build Coastguard Worker    "source/spirv_endian.h",
465*03ce13f7SAndroid Build Coastguard Worker    "source/spirv_fuzzer_options.cpp",
466*03ce13f7SAndroid Build Coastguard Worker    "source/spirv_fuzzer_options.h",
467*03ce13f7SAndroid Build Coastguard Worker    "source/spirv_optimizer_options.cpp",
468*03ce13f7SAndroid Build Coastguard Worker    "source/spirv_optimizer_options.h",
469*03ce13f7SAndroid Build Coastguard Worker    "source/spirv_reducer_options.cpp",
470*03ce13f7SAndroid Build Coastguard Worker    "source/spirv_reducer_options.h",
471*03ce13f7SAndroid Build Coastguard Worker    "source/spirv_target_env.cpp",
472*03ce13f7SAndroid Build Coastguard Worker    "source/spirv_target_env.h",
473*03ce13f7SAndroid Build Coastguard Worker    "source/spirv_validator_options.cpp",
474*03ce13f7SAndroid Build Coastguard Worker    "source/spirv_validator_options.h",
475*03ce13f7SAndroid Build Coastguard Worker    "source/table.cpp",
476*03ce13f7SAndroid Build Coastguard Worker    "source/table.h",
477*03ce13f7SAndroid Build Coastguard Worker    "source/text.cpp",
478*03ce13f7SAndroid Build Coastguard Worker    "source/text.h",
479*03ce13f7SAndroid Build Coastguard Worker    "source/text_handler.cpp",
480*03ce13f7SAndroid Build Coastguard Worker    "source/text_handler.h",
481*03ce13f7SAndroid Build Coastguard Worker    "source/util/bit_vector.cpp",
482*03ce13f7SAndroid Build Coastguard Worker    "source/util/bit_vector.h",
483*03ce13f7SAndroid Build Coastguard Worker    "source/util/bitutils.h",
484*03ce13f7SAndroid Build Coastguard Worker    "source/util/hash_combine.h",
485*03ce13f7SAndroid Build Coastguard Worker    "source/util/hex_float.h",
486*03ce13f7SAndroid Build Coastguard Worker    "source/util/ilist.h",
487*03ce13f7SAndroid Build Coastguard Worker    "source/util/ilist_node.h",
488*03ce13f7SAndroid Build Coastguard Worker    "source/util/make_unique.h",
489*03ce13f7SAndroid Build Coastguard Worker    "source/util/parse_number.cpp",
490*03ce13f7SAndroid Build Coastguard Worker    "source/util/parse_number.h",
491*03ce13f7SAndroid Build Coastguard Worker    "source/util/small_vector.h",
492*03ce13f7SAndroid Build Coastguard Worker    "source/util/string_utils.cpp",
493*03ce13f7SAndroid Build Coastguard Worker    "source/util/string_utils.h",
494*03ce13f7SAndroid Build Coastguard Worker    "source/util/timer.cpp",
495*03ce13f7SAndroid Build Coastguard Worker    "source/util/timer.h",
496*03ce13f7SAndroid Build Coastguard Worker  ]
497*03ce13f7SAndroid Build Coastguard Worker
498*03ce13f7SAndroid Build Coastguard Worker  public_deps = [
499*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_core_enums_unified1",
500*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_headers",
501*03ce13f7SAndroid Build Coastguard Worker    "${spirv_headers}:spv_headers",
502*03ce13f7SAndroid Build Coastguard Worker  ]
503*03ce13f7SAndroid Build Coastguard Worker
504*03ce13f7SAndroid Build Coastguard Worker  if (build_with_chromium) {
505*03ce13f7SAndroid Build Coastguard Worker    configs -= [ "//build/config/compiler:chromium_code" ]
506*03ce13f7SAndroid Build Coastguard Worker    configs += [ "//build/config/compiler:no_chromium_code" ]
507*03ce13f7SAndroid Build Coastguard Worker  }
508*03ce13f7SAndroid Build Coastguard Worker  configs += [ ":spvtools_internal_config" ]
509*03ce13f7SAndroid Build Coastguard Worker}
510*03ce13f7SAndroid Build Coastguard Worker
511*03ce13f7SAndroid Build Coastguard Workerstatic_library("spvtools_val") {
512*03ce13f7SAndroid Build Coastguard Worker  sources = [
513*03ce13f7SAndroid Build Coastguard Worker    "source/val/basic_block.cpp",
514*03ce13f7SAndroid Build Coastguard Worker    "source/val/basic_block.h",
515*03ce13f7SAndroid Build Coastguard Worker    "source/val/construct.cpp",
516*03ce13f7SAndroid Build Coastguard Worker    "source/val/construct.h",
517*03ce13f7SAndroid Build Coastguard Worker    "source/val/decoration.h",
518*03ce13f7SAndroid Build Coastguard Worker    "source/val/function.cpp",
519*03ce13f7SAndroid Build Coastguard Worker    "source/val/function.h",
520*03ce13f7SAndroid Build Coastguard Worker    "source/val/instruction.cpp",
521*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate.cpp",
522*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate.h",
523*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_adjacency.cpp",
524*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_annotation.cpp",
525*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_arithmetics.cpp",
526*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_atomics.cpp",
527*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_barriers.cpp",
528*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_bitwise.cpp",
529*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_builtins.cpp",
530*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_capability.cpp",
531*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_cfg.cpp",
532*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_composites.cpp",
533*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_constants.cpp",
534*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_conversion.cpp",
535*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_debug.cpp",
536*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_decorations.cpp",
537*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_derivatives.cpp",
538*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_execution_limitations.cpp",
539*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_extensions.cpp",
540*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_function.cpp",
541*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_id.cpp",
542*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_image.cpp",
543*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_instruction.cpp",
544*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_interfaces.cpp",
545*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_layout.cpp",
546*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_literals.cpp",
547*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_logicals.cpp",
548*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_memory.cpp",
549*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_memory_semantics.cpp",
550*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_memory_semantics.h",
551*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_mesh_shading.cpp",
552*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_misc.cpp",
553*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_mode_setting.cpp",
554*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_non_uniform.cpp",
555*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_primitives.cpp",
556*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_ray_query.cpp",
557*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_ray_tracing.cpp",
558*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_ray_tracing_reorder.cpp",
559*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_scopes.cpp",
560*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_scopes.h",
561*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_small_type_uses.cpp",
562*03ce13f7SAndroid Build Coastguard Worker    "source/val/validate_type.cpp",
563*03ce13f7SAndroid Build Coastguard Worker    "source/val/validation_state.cpp",
564*03ce13f7SAndroid Build Coastguard Worker    "source/val/validation_state.h",
565*03ce13f7SAndroid Build Coastguard Worker  ]
566*03ce13f7SAndroid Build Coastguard Worker
567*03ce13f7SAndroid Build Coastguard Worker  deps = [
568*03ce13f7SAndroid Build Coastguard Worker    ":spvtools",
569*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_language_header_cldebuginfo100",
570*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_language_header_debuginfo",
571*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_language_header_vkdebuginfo100",
572*03ce13f7SAndroid Build Coastguard Worker  ]
573*03ce13f7SAndroid Build Coastguard Worker  public_deps = [ ":spvtools_headers" ]
574*03ce13f7SAndroid Build Coastguard Worker
575*03ce13f7SAndroid Build Coastguard Worker  if (build_with_chromium) {
576*03ce13f7SAndroid Build Coastguard Worker    configs -= [ "//build/config/compiler:chromium_code" ]
577*03ce13f7SAndroid Build Coastguard Worker    configs += [ "//build/config/compiler:no_chromium_code" ]
578*03ce13f7SAndroid Build Coastguard Worker  }
579*03ce13f7SAndroid Build Coastguard Worker  configs += [ ":spvtools_internal_config" ]
580*03ce13f7SAndroid Build Coastguard Worker}
581*03ce13f7SAndroid Build Coastguard Worker
582*03ce13f7SAndroid Build Coastguard Workerstatic_library("spvtools_opt") {
583*03ce13f7SAndroid Build Coastguard Worker  sources = [
584*03ce13f7SAndroid Build Coastguard Worker    "source/opt/aggressive_dead_code_elim_pass.cpp",
585*03ce13f7SAndroid Build Coastguard Worker    "source/opt/aggressive_dead_code_elim_pass.h",
586*03ce13f7SAndroid Build Coastguard Worker    "source/opt/amd_ext_to_khr.cpp",
587*03ce13f7SAndroid Build Coastguard Worker    "source/opt/amd_ext_to_khr.h",
588*03ce13f7SAndroid Build Coastguard Worker    "source/opt/analyze_live_input_pass.cpp",
589*03ce13f7SAndroid Build Coastguard Worker    "source/opt/analyze_live_input_pass.h",
590*03ce13f7SAndroid Build Coastguard Worker    "source/opt/basic_block.cpp",
591*03ce13f7SAndroid Build Coastguard Worker    "source/opt/basic_block.h",
592*03ce13f7SAndroid Build Coastguard Worker    "source/opt/block_merge_pass.cpp",
593*03ce13f7SAndroid Build Coastguard Worker    "source/opt/block_merge_pass.h",
594*03ce13f7SAndroid Build Coastguard Worker    "source/opt/block_merge_util.cpp",
595*03ce13f7SAndroid Build Coastguard Worker    "source/opt/block_merge_util.h",
596*03ce13f7SAndroid Build Coastguard Worker    "source/opt/build_module.cpp",
597*03ce13f7SAndroid Build Coastguard Worker    "source/opt/build_module.h",
598*03ce13f7SAndroid Build Coastguard Worker    "source/opt/ccp_pass.cpp",
599*03ce13f7SAndroid Build Coastguard Worker    "source/opt/ccp_pass.h",
600*03ce13f7SAndroid Build Coastguard Worker    "source/opt/cfg.cpp",
601*03ce13f7SAndroid Build Coastguard Worker    "source/opt/cfg.h",
602*03ce13f7SAndroid Build Coastguard Worker    "source/opt/cfg_cleanup_pass.cpp",
603*03ce13f7SAndroid Build Coastguard Worker    "source/opt/cfg_cleanup_pass.h",
604*03ce13f7SAndroid Build Coastguard Worker    "source/opt/code_sink.cpp",
605*03ce13f7SAndroid Build Coastguard Worker    "source/opt/code_sink.h",
606*03ce13f7SAndroid Build Coastguard Worker    "source/opt/combine_access_chains.cpp",
607*03ce13f7SAndroid Build Coastguard Worker    "source/opt/combine_access_chains.h",
608*03ce13f7SAndroid Build Coastguard Worker    "source/opt/compact_ids_pass.cpp",
609*03ce13f7SAndroid Build Coastguard Worker    "source/opt/compact_ids_pass.h",
610*03ce13f7SAndroid Build Coastguard Worker    "source/opt/composite.cpp",
611*03ce13f7SAndroid Build Coastguard Worker    "source/opt/composite.h",
612*03ce13f7SAndroid Build Coastguard Worker    "source/opt/const_folding_rules.cpp",
613*03ce13f7SAndroid Build Coastguard Worker    "source/opt/const_folding_rules.h",
614*03ce13f7SAndroid Build Coastguard Worker    "source/opt/constants.cpp",
615*03ce13f7SAndroid Build Coastguard Worker    "source/opt/constants.h",
616*03ce13f7SAndroid Build Coastguard Worker    "source/opt/control_dependence.cpp",
617*03ce13f7SAndroid Build Coastguard Worker    "source/opt/control_dependence.h",
618*03ce13f7SAndroid Build Coastguard Worker    "source/opt/convert_to_half_pass.cpp",
619*03ce13f7SAndroid Build Coastguard Worker    "source/opt/convert_to_half_pass.h",
620*03ce13f7SAndroid Build Coastguard Worker    "source/opt/convert_to_sampled_image_pass.cpp",
621*03ce13f7SAndroid Build Coastguard Worker    "source/opt/convert_to_sampled_image_pass.h",
622*03ce13f7SAndroid Build Coastguard Worker    "source/opt/copy_prop_arrays.cpp",
623*03ce13f7SAndroid Build Coastguard Worker    "source/opt/copy_prop_arrays.h",
624*03ce13f7SAndroid Build Coastguard Worker    "source/opt/dataflow.cpp",
625*03ce13f7SAndroid Build Coastguard Worker    "source/opt/dataflow.h",
626*03ce13f7SAndroid Build Coastguard Worker    "source/opt/dead_branch_elim_pass.cpp",
627*03ce13f7SAndroid Build Coastguard Worker    "source/opt/dead_branch_elim_pass.h",
628*03ce13f7SAndroid Build Coastguard Worker    "source/opt/dead_insert_elim_pass.cpp",
629*03ce13f7SAndroid Build Coastguard Worker    "source/opt/dead_insert_elim_pass.h",
630*03ce13f7SAndroid Build Coastguard Worker    "source/opt/dead_variable_elimination.cpp",
631*03ce13f7SAndroid Build Coastguard Worker    "source/opt/dead_variable_elimination.h",
632*03ce13f7SAndroid Build Coastguard Worker    "source/opt/debug_info_manager.cpp",
633*03ce13f7SAndroid Build Coastguard Worker    "source/opt/debug_info_manager.h",
634*03ce13f7SAndroid Build Coastguard Worker    "source/opt/decoration_manager.cpp",
635*03ce13f7SAndroid Build Coastguard Worker    "source/opt/decoration_manager.h",
636*03ce13f7SAndroid Build Coastguard Worker    "source/opt/def_use_manager.cpp",
637*03ce13f7SAndroid Build Coastguard Worker    "source/opt/def_use_manager.h",
638*03ce13f7SAndroid Build Coastguard Worker    "source/opt/desc_sroa.cpp",
639*03ce13f7SAndroid Build Coastguard Worker    "source/opt/desc_sroa.h",
640*03ce13f7SAndroid Build Coastguard Worker    "source/opt/desc_sroa_util.cpp",
641*03ce13f7SAndroid Build Coastguard Worker    "source/opt/desc_sroa_util.h",
642*03ce13f7SAndroid Build Coastguard Worker    "source/opt/dominator_analysis.cpp",
643*03ce13f7SAndroid Build Coastguard Worker    "source/opt/dominator_analysis.h",
644*03ce13f7SAndroid Build Coastguard Worker    "source/opt/dominator_tree.cpp",
645*03ce13f7SAndroid Build Coastguard Worker    "source/opt/dominator_tree.h",
646*03ce13f7SAndroid Build Coastguard Worker    "source/opt/eliminate_dead_constant_pass.cpp",
647*03ce13f7SAndroid Build Coastguard Worker    "source/opt/eliminate_dead_constant_pass.h",
648*03ce13f7SAndroid Build Coastguard Worker    "source/opt/eliminate_dead_functions_pass.cpp",
649*03ce13f7SAndroid Build Coastguard Worker    "source/opt/eliminate_dead_functions_pass.h",
650*03ce13f7SAndroid Build Coastguard Worker    "source/opt/eliminate_dead_functions_util.cpp",
651*03ce13f7SAndroid Build Coastguard Worker    "source/opt/eliminate_dead_functions_util.h",
652*03ce13f7SAndroid Build Coastguard Worker    "source/opt/eliminate_dead_io_components_pass.cpp",
653*03ce13f7SAndroid Build Coastguard Worker    "source/opt/eliminate_dead_io_components_pass.h",
654*03ce13f7SAndroid Build Coastguard Worker    "source/opt/eliminate_dead_members_pass.cpp",
655*03ce13f7SAndroid Build Coastguard Worker    "source/opt/eliminate_dead_members_pass.h",
656*03ce13f7SAndroid Build Coastguard Worker    "source/opt/eliminate_dead_output_stores_pass.cpp",
657*03ce13f7SAndroid Build Coastguard Worker    "source/opt/eliminate_dead_output_stores_pass.h",
658*03ce13f7SAndroid Build Coastguard Worker    "source/opt/empty_pass.h",
659*03ce13f7SAndroid Build Coastguard Worker    "source/opt/feature_manager.cpp",
660*03ce13f7SAndroid Build Coastguard Worker    "source/opt/feature_manager.h",
661*03ce13f7SAndroid Build Coastguard Worker    "source/opt/fix_func_call_arguments.cpp",
662*03ce13f7SAndroid Build Coastguard Worker    "source/opt/fix_func_call_arguments.h",
663*03ce13f7SAndroid Build Coastguard Worker    "source/opt/fix_storage_class.cpp",
664*03ce13f7SAndroid Build Coastguard Worker    "source/opt/fix_storage_class.h",
665*03ce13f7SAndroid Build Coastguard Worker    "source/opt/flatten_decoration_pass.cpp",
666*03ce13f7SAndroid Build Coastguard Worker    "source/opt/flatten_decoration_pass.h",
667*03ce13f7SAndroid Build Coastguard Worker    "source/opt/fold.cpp",
668*03ce13f7SAndroid Build Coastguard Worker    "source/opt/fold.h",
669*03ce13f7SAndroid Build Coastguard Worker    "source/opt/fold_spec_constant_op_and_composite_pass.cpp",
670*03ce13f7SAndroid Build Coastguard Worker    "source/opt/fold_spec_constant_op_and_composite_pass.h",
671*03ce13f7SAndroid Build Coastguard Worker    "source/opt/folding_rules.cpp",
672*03ce13f7SAndroid Build Coastguard Worker    "source/opt/folding_rules.h",
673*03ce13f7SAndroid Build Coastguard Worker    "source/opt/freeze_spec_constant_value_pass.cpp",
674*03ce13f7SAndroid Build Coastguard Worker    "source/opt/freeze_spec_constant_value_pass.h",
675*03ce13f7SAndroid Build Coastguard Worker    "source/opt/function.cpp",
676*03ce13f7SAndroid Build Coastguard Worker    "source/opt/function.h",
677*03ce13f7SAndroid Build Coastguard Worker    "source/opt/graphics_robust_access_pass.cpp",
678*03ce13f7SAndroid Build Coastguard Worker    "source/opt/graphics_robust_access_pass.h",
679*03ce13f7SAndroid Build Coastguard Worker    "source/opt/if_conversion.cpp",
680*03ce13f7SAndroid Build Coastguard Worker    "source/opt/if_conversion.h",
681*03ce13f7SAndroid Build Coastguard Worker    "source/opt/inline_exhaustive_pass.cpp",
682*03ce13f7SAndroid Build Coastguard Worker    "source/opt/inline_exhaustive_pass.h",
683*03ce13f7SAndroid Build Coastguard Worker    "source/opt/inline_opaque_pass.cpp",
684*03ce13f7SAndroid Build Coastguard Worker    "source/opt/inline_opaque_pass.h",
685*03ce13f7SAndroid Build Coastguard Worker    "source/opt/inline_pass.cpp",
686*03ce13f7SAndroid Build Coastguard Worker    "source/opt/inline_pass.h",
687*03ce13f7SAndroid Build Coastguard Worker    "source/opt/inst_bindless_check_pass.cpp",
688*03ce13f7SAndroid Build Coastguard Worker    "source/opt/inst_bindless_check_pass.h",
689*03ce13f7SAndroid Build Coastguard Worker    "source/opt/inst_buff_addr_check_pass.cpp",
690*03ce13f7SAndroid Build Coastguard Worker    "source/opt/inst_buff_addr_check_pass.h",
691*03ce13f7SAndroid Build Coastguard Worker    "source/opt/inst_debug_printf_pass.cpp",
692*03ce13f7SAndroid Build Coastguard Worker    "source/opt/inst_debug_printf_pass.h",
693*03ce13f7SAndroid Build Coastguard Worker    "source/opt/instruction.cpp",
694*03ce13f7SAndroid Build Coastguard Worker    "source/opt/instruction.h",
695*03ce13f7SAndroid Build Coastguard Worker    "source/opt/instruction_list.cpp",
696*03ce13f7SAndroid Build Coastguard Worker    "source/opt/instruction_list.h",
697*03ce13f7SAndroid Build Coastguard Worker    "source/opt/instrument_pass.cpp",
698*03ce13f7SAndroid Build Coastguard Worker    "source/opt/instrument_pass.h",
699*03ce13f7SAndroid Build Coastguard Worker    "source/opt/interface_var_sroa.cpp",
700*03ce13f7SAndroid Build Coastguard Worker    "source/opt/interface_var_sroa.h",
701*03ce13f7SAndroid Build Coastguard Worker    "source/opt/interp_fixup_pass.cpp",
702*03ce13f7SAndroid Build Coastguard Worker    "source/opt/interp_fixup_pass.h",
703*03ce13f7SAndroid Build Coastguard Worker    "source/opt/invocation_interlock_placement_pass.cpp",
704*03ce13f7SAndroid Build Coastguard Worker    "source/opt/invocation_interlock_placement_pass.h",
705*03ce13f7SAndroid Build Coastguard Worker    "source/opt/ir_builder.h",
706*03ce13f7SAndroid Build Coastguard Worker    "source/opt/ir_context.cpp",
707*03ce13f7SAndroid Build Coastguard Worker    "source/opt/ir_context.h",
708*03ce13f7SAndroid Build Coastguard Worker    "source/opt/ir_loader.cpp",
709*03ce13f7SAndroid Build Coastguard Worker    "source/opt/ir_loader.h",
710*03ce13f7SAndroid Build Coastguard Worker    "source/opt/iterator.h",
711*03ce13f7SAndroid Build Coastguard Worker    "source/opt/licm_pass.cpp",
712*03ce13f7SAndroid Build Coastguard Worker    "source/opt/licm_pass.h",
713*03ce13f7SAndroid Build Coastguard Worker    "source/opt/liveness.cpp",
714*03ce13f7SAndroid Build Coastguard Worker    "source/opt/liveness.h",
715*03ce13f7SAndroid Build Coastguard Worker    "source/opt/local_access_chain_convert_pass.cpp",
716*03ce13f7SAndroid Build Coastguard Worker    "source/opt/local_access_chain_convert_pass.h",
717*03ce13f7SAndroid Build Coastguard Worker    "source/opt/local_redundancy_elimination.cpp",
718*03ce13f7SAndroid Build Coastguard Worker    "source/opt/local_redundancy_elimination.h",
719*03ce13f7SAndroid Build Coastguard Worker    "source/opt/local_single_block_elim_pass.cpp",
720*03ce13f7SAndroid Build Coastguard Worker    "source/opt/local_single_block_elim_pass.h",
721*03ce13f7SAndroid Build Coastguard Worker    "source/opt/local_single_store_elim_pass.cpp",
722*03ce13f7SAndroid Build Coastguard Worker    "source/opt/local_single_store_elim_pass.h",
723*03ce13f7SAndroid Build Coastguard Worker    "source/opt/log.h",
724*03ce13f7SAndroid Build Coastguard Worker    "source/opt/loop_dependence.cpp",
725*03ce13f7SAndroid Build Coastguard Worker    "source/opt/loop_dependence.h",
726*03ce13f7SAndroid Build Coastguard Worker    "source/opt/loop_dependence_helpers.cpp",
727*03ce13f7SAndroid Build Coastguard Worker    "source/opt/loop_descriptor.cpp",
728*03ce13f7SAndroid Build Coastguard Worker    "source/opt/loop_descriptor.h",
729*03ce13f7SAndroid Build Coastguard Worker    "source/opt/loop_fission.cpp",
730*03ce13f7SAndroid Build Coastguard Worker    "source/opt/loop_fission.h",
731*03ce13f7SAndroid Build Coastguard Worker    "source/opt/loop_fusion.cpp",
732*03ce13f7SAndroid Build Coastguard Worker    "source/opt/loop_fusion.h",
733*03ce13f7SAndroid Build Coastguard Worker    "source/opt/loop_fusion_pass.cpp",
734*03ce13f7SAndroid Build Coastguard Worker    "source/opt/loop_fusion_pass.h",
735*03ce13f7SAndroid Build Coastguard Worker    "source/opt/loop_peeling.cpp",
736*03ce13f7SAndroid Build Coastguard Worker    "source/opt/loop_peeling.h",
737*03ce13f7SAndroid Build Coastguard Worker    "source/opt/loop_unroller.cpp",
738*03ce13f7SAndroid Build Coastguard Worker    "source/opt/loop_unroller.h",
739*03ce13f7SAndroid Build Coastguard Worker    "source/opt/loop_unswitch_pass.cpp",
740*03ce13f7SAndroid Build Coastguard Worker    "source/opt/loop_unswitch_pass.h",
741*03ce13f7SAndroid Build Coastguard Worker    "source/opt/loop_utils.cpp",
742*03ce13f7SAndroid Build Coastguard Worker    "source/opt/loop_utils.h",
743*03ce13f7SAndroid Build Coastguard Worker    "source/opt/mem_pass.cpp",
744*03ce13f7SAndroid Build Coastguard Worker    "source/opt/mem_pass.h",
745*03ce13f7SAndroid Build Coastguard Worker    "source/opt/merge_return_pass.cpp",
746*03ce13f7SAndroid Build Coastguard Worker    "source/opt/merge_return_pass.h",
747*03ce13f7SAndroid Build Coastguard Worker    "source/opt/modify_maximal_reconvergence.cpp",
748*03ce13f7SAndroid Build Coastguard Worker    "source/opt/modify_maximal_reconvergence.h",
749*03ce13f7SAndroid Build Coastguard Worker    "source/opt/module.cpp",
750*03ce13f7SAndroid Build Coastguard Worker    "source/opt/module.h",
751*03ce13f7SAndroid Build Coastguard Worker    "source/opt/null_pass.h",
752*03ce13f7SAndroid Build Coastguard Worker    "source/opt/optimizer.cpp",
753*03ce13f7SAndroid Build Coastguard Worker    "source/opt/pass.cpp",
754*03ce13f7SAndroid Build Coastguard Worker    "source/opt/pass.h",
755*03ce13f7SAndroid Build Coastguard Worker    "source/opt/pass_manager.cpp",
756*03ce13f7SAndroid Build Coastguard Worker    "source/opt/pass_manager.h",
757*03ce13f7SAndroid Build Coastguard Worker    "source/opt/passes.h",
758*03ce13f7SAndroid Build Coastguard Worker    "source/opt/private_to_local_pass.cpp",
759*03ce13f7SAndroid Build Coastguard Worker    "source/opt/private_to_local_pass.h",
760*03ce13f7SAndroid Build Coastguard Worker    "source/opt/propagator.cpp",
761*03ce13f7SAndroid Build Coastguard Worker    "source/opt/propagator.h",
762*03ce13f7SAndroid Build Coastguard Worker    "source/opt/reduce_load_size.cpp",
763*03ce13f7SAndroid Build Coastguard Worker    "source/opt/reduce_load_size.h",
764*03ce13f7SAndroid Build Coastguard Worker    "source/opt/redundancy_elimination.cpp",
765*03ce13f7SAndroid Build Coastguard Worker    "source/opt/redundancy_elimination.h",
766*03ce13f7SAndroid Build Coastguard Worker    "source/opt/reflect.h",
767*03ce13f7SAndroid Build Coastguard Worker    "source/opt/register_pressure.cpp",
768*03ce13f7SAndroid Build Coastguard Worker    "source/opt/register_pressure.h",
769*03ce13f7SAndroid Build Coastguard Worker    "source/opt/relax_float_ops_pass.cpp",
770*03ce13f7SAndroid Build Coastguard Worker    "source/opt/relax_float_ops_pass.h",
771*03ce13f7SAndroid Build Coastguard Worker    "source/opt/remove_dontinline_pass.cpp",
772*03ce13f7SAndroid Build Coastguard Worker    "source/opt/remove_dontinline_pass.h",
773*03ce13f7SAndroid Build Coastguard Worker    "source/opt/remove_duplicates_pass.cpp",
774*03ce13f7SAndroid Build Coastguard Worker    "source/opt/remove_duplicates_pass.h",
775*03ce13f7SAndroid Build Coastguard Worker    "source/opt/remove_unused_interface_variables_pass.cpp",
776*03ce13f7SAndroid Build Coastguard Worker    "source/opt/remove_unused_interface_variables_pass.h",
777*03ce13f7SAndroid Build Coastguard Worker    "source/opt/replace_desc_array_access_using_var_index.cpp",
778*03ce13f7SAndroid Build Coastguard Worker    "source/opt/replace_desc_array_access_using_var_index.h",
779*03ce13f7SAndroid Build Coastguard Worker    "source/opt/replace_invalid_opc.cpp",
780*03ce13f7SAndroid Build Coastguard Worker    "source/opt/replace_invalid_opc.h",
781*03ce13f7SAndroid Build Coastguard Worker    "source/opt/scalar_analysis.cpp",
782*03ce13f7SAndroid Build Coastguard Worker    "source/opt/scalar_analysis.h",
783*03ce13f7SAndroid Build Coastguard Worker    "source/opt/scalar_analysis_nodes.h",
784*03ce13f7SAndroid Build Coastguard Worker    "source/opt/scalar_analysis_simplification.cpp",
785*03ce13f7SAndroid Build Coastguard Worker    "source/opt/scalar_replacement_pass.cpp",
786*03ce13f7SAndroid Build Coastguard Worker    "source/opt/scalar_replacement_pass.h",
787*03ce13f7SAndroid Build Coastguard Worker    "source/opt/set_spec_constant_default_value_pass.cpp",
788*03ce13f7SAndroid Build Coastguard Worker    "source/opt/set_spec_constant_default_value_pass.h",
789*03ce13f7SAndroid Build Coastguard Worker    "source/opt/simplification_pass.cpp",
790*03ce13f7SAndroid Build Coastguard Worker    "source/opt/simplification_pass.h",
791*03ce13f7SAndroid Build Coastguard Worker    "source/opt/spread_volatile_semantics.cpp",
792*03ce13f7SAndroid Build Coastguard Worker    "source/opt/spread_volatile_semantics.h",
793*03ce13f7SAndroid Build Coastguard Worker    "source/opt/ssa_rewrite_pass.cpp",
794*03ce13f7SAndroid Build Coastguard Worker    "source/opt/ssa_rewrite_pass.h",
795*03ce13f7SAndroid Build Coastguard Worker    "source/opt/strength_reduction_pass.cpp",
796*03ce13f7SAndroid Build Coastguard Worker    "source/opt/strength_reduction_pass.h",
797*03ce13f7SAndroid Build Coastguard Worker    "source/opt/strip_debug_info_pass.cpp",
798*03ce13f7SAndroid Build Coastguard Worker    "source/opt/strip_debug_info_pass.h",
799*03ce13f7SAndroid Build Coastguard Worker    "source/opt/strip_nonsemantic_info_pass.cpp",
800*03ce13f7SAndroid Build Coastguard Worker    "source/opt/strip_nonsemantic_info_pass.h",
801*03ce13f7SAndroid Build Coastguard Worker    "source/opt/struct_cfg_analysis.cpp",
802*03ce13f7SAndroid Build Coastguard Worker    "source/opt/struct_cfg_analysis.h",
803*03ce13f7SAndroid Build Coastguard Worker    "source/opt/switch_descriptorset_pass.cpp",
804*03ce13f7SAndroid Build Coastguard Worker    "source/opt/switch_descriptorset_pass.h",
805*03ce13f7SAndroid Build Coastguard Worker    "source/opt/tree_iterator.h",
806*03ce13f7SAndroid Build Coastguard Worker    "source/opt/trim_capabilities_pass.cpp",
807*03ce13f7SAndroid Build Coastguard Worker    "source/opt/trim_capabilities_pass.h",
808*03ce13f7SAndroid Build Coastguard Worker    "source/opt/type_manager.cpp",
809*03ce13f7SAndroid Build Coastguard Worker    "source/opt/type_manager.h",
810*03ce13f7SAndroid Build Coastguard Worker    "source/opt/types.cpp",
811*03ce13f7SAndroid Build Coastguard Worker    "source/opt/types.h",
812*03ce13f7SAndroid Build Coastguard Worker    "source/opt/unify_const_pass.cpp",
813*03ce13f7SAndroid Build Coastguard Worker    "source/opt/unify_const_pass.h",
814*03ce13f7SAndroid Build Coastguard Worker    "source/opt/upgrade_memory_model.cpp",
815*03ce13f7SAndroid Build Coastguard Worker    "source/opt/upgrade_memory_model.h",
816*03ce13f7SAndroid Build Coastguard Worker    "source/opt/value_number_table.cpp",
817*03ce13f7SAndroid Build Coastguard Worker    "source/opt/value_number_table.h",
818*03ce13f7SAndroid Build Coastguard Worker    "source/opt/vector_dce.cpp",
819*03ce13f7SAndroid Build Coastguard Worker    "source/opt/vector_dce.h",
820*03ce13f7SAndroid Build Coastguard Worker    "source/opt/workaround1209.cpp",
821*03ce13f7SAndroid Build Coastguard Worker    "source/opt/workaround1209.h",
822*03ce13f7SAndroid Build Coastguard Worker    "source/opt/wrap_opkill.cpp",
823*03ce13f7SAndroid Build Coastguard Worker    "source/opt/wrap_opkill.h",
824*03ce13f7SAndroid Build Coastguard Worker  ]
825*03ce13f7SAndroid Build Coastguard Worker
826*03ce13f7SAndroid Build Coastguard Worker  deps = [
827*03ce13f7SAndroid Build Coastguard Worker    ":spvtools",
828*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_language_header_debuginfo",
829*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_vendor_tables_spv-amd-shader-ballot",
830*03ce13f7SAndroid Build Coastguard Worker  ]
831*03ce13f7SAndroid Build Coastguard Worker  public_deps = [
832*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_headers",
833*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_language_header_cldebuginfo100",
834*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_language_header_vkdebuginfo100",
835*03ce13f7SAndroid Build Coastguard Worker  ]
836*03ce13f7SAndroid Build Coastguard Worker
837*03ce13f7SAndroid Build Coastguard Worker  if (build_with_chromium) {
838*03ce13f7SAndroid Build Coastguard Worker    configs -= [ "//build/config/compiler:chromium_code" ]
839*03ce13f7SAndroid Build Coastguard Worker    configs += [ "//build/config/compiler:no_chromium_code" ]
840*03ce13f7SAndroid Build Coastguard Worker  }
841*03ce13f7SAndroid Build Coastguard Worker  configs += [ ":spvtools_internal_config" ]
842*03ce13f7SAndroid Build Coastguard Worker}
843*03ce13f7SAndroid Build Coastguard Worker
844*03ce13f7SAndroid Build Coastguard Workerstatic_library("spvtools_link") {
845*03ce13f7SAndroid Build Coastguard Worker  sources = [ "source/link/linker.cpp" ]
846*03ce13f7SAndroid Build Coastguard Worker  deps = [
847*03ce13f7SAndroid Build Coastguard Worker    ":spvtools",
848*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_opt",
849*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_val",
850*03ce13f7SAndroid Build Coastguard Worker  ]
851*03ce13f7SAndroid Build Coastguard Worker  public_deps = [ ":spvtools_headers" ]
852*03ce13f7SAndroid Build Coastguard Worker  if (build_with_chromium) {
853*03ce13f7SAndroid Build Coastguard Worker    configs -= [ "//build/config/compiler:chromium_code" ]
854*03ce13f7SAndroid Build Coastguard Worker    configs += [ "//build/config/compiler:no_chromium_code" ]
855*03ce13f7SAndroid Build Coastguard Worker  }
856*03ce13f7SAndroid Build Coastguard Worker  configs += [ ":spvtools_internal_config" ]
857*03ce13f7SAndroid Build Coastguard Worker}
858*03ce13f7SAndroid Build Coastguard Worker
859*03ce13f7SAndroid Build Coastguard Workerstatic_library("spvtools_reduce") {
860*03ce13f7SAndroid Build Coastguard Worker  sources = [
861*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/change_operand_reduction_opportunity.cpp",
862*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/change_operand_reduction_opportunity.h",
863*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/change_operand_to_undef_reduction_opportunity.cpp",
864*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/change_operand_to_undef_reduction_opportunity.h",
865*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp",
866*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/conditional_branch_to_simple_conditional_branch_opportunity_finder.h",
867*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp",
868*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/conditional_branch_to_simple_conditional_branch_reduction_opportunity.h",
869*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/merge_blocks_reduction_opportunity.cpp",
870*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/merge_blocks_reduction_opportunity.h",
871*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/merge_blocks_reduction_opportunity_finder.cpp",
872*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/merge_blocks_reduction_opportunity_finder.h",
873*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/operand_to_const_reduction_opportunity_finder.cpp",
874*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/operand_to_const_reduction_opportunity_finder.h",
875*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/operand_to_dominating_id_reduction_opportunity_finder.cpp",
876*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/operand_to_dominating_id_reduction_opportunity_finder.h",
877*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/operand_to_undef_reduction_opportunity_finder.cpp",
878*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/operand_to_undef_reduction_opportunity_finder.h",
879*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/reducer.cpp",
880*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/reducer.h",
881*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/reduction_opportunity.cpp",
882*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/reduction_opportunity.h",
883*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/reduction_opportunity_finder.cpp",
884*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/reduction_opportunity_finder.h",
885*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/reduction_pass.cpp",
886*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/reduction_pass.h",
887*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/reduction_util.cpp",
888*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/reduction_util.h",
889*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/remove_block_reduction_opportunity.cpp",
890*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/remove_block_reduction_opportunity.h",
891*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/remove_block_reduction_opportunity_finder.cpp",
892*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/remove_block_reduction_opportunity_finder.h",
893*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/remove_function_reduction_opportunity.cpp",
894*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/remove_function_reduction_opportunity.h",
895*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/remove_function_reduction_opportunity_finder.cpp",
896*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/remove_function_reduction_opportunity_finder.h",
897*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/remove_instruction_reduction_opportunity.cpp",
898*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/remove_instruction_reduction_opportunity.h",
899*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/remove_selection_reduction_opportunity.cpp",
900*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/remove_selection_reduction_opportunity.h",
901*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/remove_selection_reduction_opportunity_finder.cpp",
902*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/remove_selection_reduction_opportunity_finder.h",
903*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/remove_struct_member_reduction_opportunity.cpp",
904*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/remove_struct_member_reduction_opportunity.h",
905*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/remove_unused_instruction_reduction_opportunity_finder.cpp",
906*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/remove_unused_instruction_reduction_opportunity_finder.h",
907*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/remove_unused_struct_member_reduction_opportunity_finder.cpp",
908*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/remove_unused_struct_member_reduction_opportunity_finder.h",
909*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/simple_conditional_branch_to_branch_opportunity_finder.cpp",
910*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/simple_conditional_branch_to_branch_opportunity_finder.h",
911*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/simple_conditional_branch_to_branch_reduction_opportunity.cpp",
912*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/simple_conditional_branch_to_branch_reduction_opportunity.h",
913*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/structured_construct_to_block_reduction_opportunity.cpp",
914*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/structured_construct_to_block_reduction_opportunity.h",
915*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/structured_construct_to_block_reduction_opportunity_finder.cpp",
916*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/structured_construct_to_block_reduction_opportunity_finder.h",
917*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/structured_loop_to_selection_reduction_opportunity.cpp",
918*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/structured_loop_to_selection_reduction_opportunity.h",
919*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/structured_loop_to_selection_reduction_opportunity_finder.cpp",
920*03ce13f7SAndroid Build Coastguard Worker    "source/reduce/structured_loop_to_selection_reduction_opportunity_finder.h",
921*03ce13f7SAndroid Build Coastguard Worker  ]
922*03ce13f7SAndroid Build Coastguard Worker  deps = [
923*03ce13f7SAndroid Build Coastguard Worker    ":spvtools",
924*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_opt",
925*03ce13f7SAndroid Build Coastguard Worker  ]
926*03ce13f7SAndroid Build Coastguard Worker  public_deps = [ ":spvtools_headers" ]
927*03ce13f7SAndroid Build Coastguard Worker  if (build_with_chromium) {
928*03ce13f7SAndroid Build Coastguard Worker    configs -= [ "//build/config/compiler:chromium_code" ]
929*03ce13f7SAndroid Build Coastguard Worker    configs += [ "//build/config/compiler:no_chromium_code" ]
930*03ce13f7SAndroid Build Coastguard Worker  }
931*03ce13f7SAndroid Build Coastguard Worker  configs += [ ":spvtools_internal_config" ]
932*03ce13f7SAndroid Build Coastguard Worker}
933*03ce13f7SAndroid Build Coastguard Worker
934*03ce13f7SAndroid Build Coastguard Workerif (build_with_chromium && spvtools_build_executables) {
935*03ce13f7SAndroid Build Coastguard Worker  # The spirv-fuzz library is only built when in a Chromium checkout
936*03ce13f7SAndroid Build Coastguard Worker  # due to its dependency on protobuf.
937*03ce13f7SAndroid Build Coastguard Worker
938*03ce13f7SAndroid Build Coastguard Worker  proto_library("spvtools_fuzz_proto") {
939*03ce13f7SAndroid Build Coastguard Worker    sources = [ "source/fuzz/protobufs/spvtoolsfuzz.proto" ]
940*03ce13f7SAndroid Build Coastguard Worker    generate_python = false
941*03ce13f7SAndroid Build Coastguard Worker    use_protobuf_full = true
942*03ce13f7SAndroid Build Coastguard Worker  }
943*03ce13f7SAndroid Build Coastguard Worker
944*03ce13f7SAndroid Build Coastguard Worker  static_library("spvtools_fuzz") {
945*03ce13f7SAndroid Build Coastguard Worker    sources = [
946*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/added_function_reducer.cpp",
947*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/added_function_reducer.h",
948*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/available_instructions.cpp",
949*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/available_instructions.h",
950*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/call_graph.cpp",
951*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/call_graph.h",
952*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/comparator_deep_blocks_first.h",
953*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/counter_overflow_id_source.cpp",
954*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/counter_overflow_id_source.h",
955*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/data_descriptor.cpp",
956*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/data_descriptor.h",
957*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/equivalence_relation.h",
958*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fact_manager/constant_uniform_facts.cpp",
959*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fact_manager/constant_uniform_facts.h",
960*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fact_manager/data_synonym_and_id_equation_facts.cpp",
961*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fact_manager/data_synonym_and_id_equation_facts.h",
962*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fact_manager/dead_block_facts.cpp",
963*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fact_manager/dead_block_facts.h",
964*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fact_manager/fact_manager.cpp",
965*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fact_manager/fact_manager.h",
966*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fact_manager/irrelevant_value_facts.cpp",
967*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fact_manager/irrelevant_value_facts.h",
968*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fact_manager/livesafe_function_facts.cpp",
969*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fact_manager/livesafe_function_facts.h",
970*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/force_render_red.cpp",
971*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/force_render_red.h",
972*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer.cpp",
973*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer.h",
974*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_context.cpp",
975*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_context.h",
976*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass.cpp",
977*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass.h",
978*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_access_chains.cpp",
979*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_access_chains.h",
980*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_bit_instruction_synonyms.cpp",
981*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_bit_instruction_synonyms.h",
982*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_composite_extract.cpp",
983*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_composite_extract.h",
984*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_composite_inserts.cpp",
985*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_composite_inserts.h",
986*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_composite_types.cpp",
987*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_composite_types.h",
988*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_copy_memory.cpp",
989*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_copy_memory.h",
990*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_dead_blocks.cpp",
991*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_dead_blocks.h",
992*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_dead_breaks.cpp",
993*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_dead_breaks.h",
994*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_dead_continues.cpp",
995*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_dead_continues.h",
996*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_equation_instructions.cpp",
997*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_equation_instructions.h",
998*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_function_calls.cpp",
999*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_function_calls.h",
1000*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_global_variables.cpp",
1001*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_global_variables.h",
1002*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_image_sample_unused_components.cpp",
1003*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_image_sample_unused_components.h",
1004*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_loads.cpp",
1005*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_loads.h",
1006*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_local_variables.cpp",
1007*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_local_variables.h",
1008*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_loop_preheaders.cpp",
1009*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_loop_preheaders.h",
1010*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_loops_to_create_int_constant_synonyms.cpp",
1011*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_loops_to_create_int_constant_synonyms.h",
1012*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_no_contraction_decorations.cpp",
1013*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_no_contraction_decorations.h",
1014*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_opphi_synonyms.cpp",
1015*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_opphi_synonyms.h",
1016*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_parameters.cpp",
1017*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_parameters.h",
1018*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_relaxed_decorations.cpp",
1019*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_relaxed_decorations.h",
1020*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_stores.cpp",
1021*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_stores.h",
1022*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_synonyms.cpp",
1023*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_synonyms.h",
1024*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_vector_shuffle_instructions.cpp",
1025*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_vector_shuffle_instructions.h",
1026*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_adjust_branch_weights.cpp",
1027*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_adjust_branch_weights.h",
1028*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_adjust_function_controls.cpp",
1029*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_adjust_function_controls.h",
1030*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_adjust_loop_controls.cpp",
1031*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_adjust_loop_controls.h",
1032*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_adjust_memory_operands_masks.cpp",
1033*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_adjust_memory_operands_masks.h",
1034*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_adjust_selection_controls.cpp",
1035*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_adjust_selection_controls.h",
1036*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_apply_id_synonyms.cpp",
1037*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_apply_id_synonyms.h",
1038*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_construct_composites.cpp",
1039*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_construct_composites.h",
1040*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_copy_objects.cpp",
1041*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_copy_objects.h",
1042*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_donate_modules.cpp",
1043*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_donate_modules.h",
1044*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_duplicate_regions_with_selections.cpp",
1045*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_duplicate_regions_with_selections.h",
1046*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_expand_vector_reductions.cpp",
1047*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_expand_vector_reductions.h",
1048*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_flatten_conditional_branches.cpp",
1049*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_flatten_conditional_branches.h",
1050*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_inline_functions.cpp",
1051*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_inline_functions.h",
1052*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_interchange_signedness_of_integer_operands.cpp",
1053*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_interchange_signedness_of_integer_operands.h",
1054*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_interchange_zero_like_constants.cpp",
1055*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_interchange_zero_like_constants.h",
1056*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_invert_comparison_operators.cpp",
1057*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_invert_comparison_operators.h",
1058*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_make_vector_operations_dynamic.cpp",
1059*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_make_vector_operations_dynamic.h",
1060*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_merge_blocks.cpp",
1061*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_merge_blocks.h",
1062*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_merge_function_returns.cpp",
1063*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_merge_function_returns.h",
1064*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_mutate_pointers.cpp",
1065*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_mutate_pointers.h",
1066*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_obfuscate_constants.cpp",
1067*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_obfuscate_constants.h",
1068*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_outline_functions.cpp",
1069*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_outline_functions.h",
1070*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_permute_blocks.cpp",
1071*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_permute_blocks.h",
1072*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_permute_function_parameters.cpp",
1073*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_permute_function_parameters.h",
1074*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_permute_function_variables.cpp",
1075*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_permute_function_variables.h",
1076*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_permute_instructions.cpp",
1077*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_permute_instructions.h",
1078*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_permute_phi_operands.cpp",
1079*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_permute_phi_operands.h",
1080*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_propagate_instructions_down.cpp",
1081*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_propagate_instructions_down.h",
1082*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_propagate_instructions_up.cpp",
1083*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_propagate_instructions_up.h",
1084*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_push_ids_through_variables.cpp",
1085*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_push_ids_through_variables.h",
1086*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_adds_subs_muls_with_carrying_extended.cpp",
1087*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_adds_subs_muls_with_carrying_extended.h",
1088*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_branches_from_dead_blocks_with_exits.cpp",
1089*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_branches_from_dead_blocks_with_exits.h",
1090*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_copy_memories_with_loads_stores.cpp",
1091*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_copy_memories_with_loads_stores.h",
1092*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_copy_objects_with_stores_loads.cpp",
1093*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_copy_objects_with_stores_loads.h",
1094*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_irrelevant_ids.cpp",
1095*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_irrelevant_ids.h",
1096*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_linear_algebra_instructions.cpp",
1097*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_linear_algebra_instructions.h",
1098*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_loads_stores_with_copy_memories.cpp",
1099*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_loads_stores_with_copy_memories.h",
1100*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_opphi_ids_from_dead_predecessors.cpp",
1101*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_opphi_ids_from_dead_predecessors.h",
1102*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_opselects_with_conditional_branches.cpp",
1103*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_opselects_with_conditional_branches.h",
1104*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_parameter_with_global.cpp",
1105*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_parameter_with_global.h",
1106*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_params_with_struct.cpp",
1107*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_params_with_struct.h",
1108*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_split_blocks.cpp",
1109*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_split_blocks.h",
1110*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_swap_commutable_operands.cpp",
1111*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_swap_commutable_operands.h",
1112*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_swap_conditional_branch_operands.cpp",
1113*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_swap_conditional_branch_operands.h",
1114*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_swap_functions.cpp",
1115*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_swap_functions.h",
1116*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_toggle_access_chain_instruction.cpp",
1117*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_toggle_access_chain_instruction.h",
1118*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_wrap_regions_in_selections.cpp",
1119*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_wrap_regions_in_selections.h",
1120*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_wrap_vector_synonym.cpp",
1121*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_wrap_vector_synonym.h",
1122*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_util.cpp",
1123*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_util.h",
1124*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/id_use_descriptor.cpp",
1125*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/id_use_descriptor.h",
1126*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/instruction_descriptor.cpp",
1127*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/instruction_descriptor.h",
1128*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/instruction_message.cpp",
1129*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/instruction_message.h",
1130*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/overflow_id_source.cpp",
1131*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/overflow_id_source.h",
1132*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_instances.h",
1133*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_manager.cpp",
1134*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_manager.h",
1135*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_manager_looped_with_recommendations.cpp",
1136*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_manager_looped_with_recommendations.h",
1137*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_manager_random_with_recommendations.cpp",
1138*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_manager_random_with_recommendations.h",
1139*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_manager_simple.cpp",
1140*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_manager_simple.h",
1141*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_recommender.cpp",
1142*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_recommender.h",
1143*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_recommender_standard.cpp",
1144*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_recommender_standard.h",
1145*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/protobufs/spirvfuzz_protobufs.h",
1146*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/pseudo_random_generator.cpp",
1147*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/pseudo_random_generator.h",
1148*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/random_generator.cpp",
1149*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/random_generator.h",
1150*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/replayer.cpp",
1151*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/replayer.h",
1152*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/shrinker.cpp",
1153*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/shrinker.h",
1154*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation.cpp",
1155*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation.h",
1156*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_access_chain.cpp",
1157*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_access_chain.h",
1158*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_bit_instruction_synonym.cpp",
1159*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_bit_instruction_synonym.h",
1160*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_constant_boolean.cpp",
1161*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_constant_boolean.h",
1162*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_constant_composite.cpp",
1163*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_constant_composite.h",
1164*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_constant_null.cpp",
1165*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_constant_null.h",
1166*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_constant_scalar.cpp",
1167*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_constant_scalar.h",
1168*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_copy_memory.cpp",
1169*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_copy_memory.h",
1170*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_dead_block.cpp",
1171*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_dead_block.h",
1172*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_dead_break.cpp",
1173*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_dead_break.h",
1174*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_dead_continue.cpp",
1175*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_dead_continue.h",
1176*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_early_terminator_wrapper.cpp",
1177*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_early_terminator_wrapper.h",
1178*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_function.cpp",
1179*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_function.h",
1180*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_global_undef.cpp",
1181*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_global_undef.h",
1182*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_global_variable.cpp",
1183*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_global_variable.h",
1184*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_image_sample_unused_components.cpp",
1185*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_image_sample_unused_components.h",
1186*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_local_variable.cpp",
1187*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_local_variable.h",
1188*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_loop_preheader.cpp",
1189*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_loop_preheader.h",
1190*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_loop_to_create_int_constant_synonym.cpp",
1191*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_loop_to_create_int_constant_synonym.h",
1192*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_no_contraction_decoration.cpp",
1193*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_no_contraction_decoration.h",
1194*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_opphi_synonym.cpp",
1195*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_opphi_synonym.h",
1196*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_parameter.cpp",
1197*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_parameter.h",
1198*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_relaxed_decoration.cpp",
1199*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_relaxed_decoration.h",
1200*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_spec_constant_op.cpp",
1201*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_spec_constant_op.h",
1202*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_synonym.cpp",
1203*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_synonym.h",
1204*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_array.cpp",
1205*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_array.h",
1206*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_boolean.cpp",
1207*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_boolean.h",
1208*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_float.cpp",
1209*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_float.h",
1210*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_function.cpp",
1211*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_function.h",
1212*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_int.cpp",
1213*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_int.h",
1214*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_matrix.cpp",
1215*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_matrix.h",
1216*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_pointer.cpp",
1217*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_pointer.h",
1218*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_struct.cpp",
1219*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_struct.h",
1220*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_vector.cpp",
1221*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_vector.h",
1222*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_adjust_branch_weights.cpp",
1223*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_adjust_branch_weights.h",
1224*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_composite_construct.cpp",
1225*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_composite_construct.h",
1226*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_composite_extract.cpp",
1227*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_composite_extract.h",
1228*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_composite_insert.cpp",
1229*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_composite_insert.h",
1230*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_compute_data_synonym_fact_closure.cpp",
1231*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_compute_data_synonym_fact_closure.h",
1232*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_context.cpp",
1233*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_context.h",
1234*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_duplicate_region_with_selection.cpp",
1235*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_duplicate_region_with_selection.h",
1236*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_equation_instruction.cpp",
1237*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_equation_instruction.h",
1238*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_expand_vector_reduction.cpp",
1239*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_expand_vector_reduction.h",
1240*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_flatten_conditional_branch.cpp",
1241*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_flatten_conditional_branch.h",
1242*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_function_call.cpp",
1243*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_function_call.h",
1244*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_inline_function.cpp",
1245*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_inline_function.h",
1246*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_invert_comparison_operator.cpp",
1247*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_invert_comparison_operator.h",
1248*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_load.cpp",
1249*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_load.h",
1250*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_make_vector_operation_dynamic.cpp",
1251*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_make_vector_operation_dynamic.h",
1252*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_merge_blocks.cpp",
1253*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_merge_blocks.h",
1254*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_merge_function_returns.cpp",
1255*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_merge_function_returns.h",
1256*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_move_block_down.cpp",
1257*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_move_block_down.h",
1258*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_move_instruction_down.cpp",
1259*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_move_instruction_down.h",
1260*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_mutate_pointer.cpp",
1261*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_mutate_pointer.h",
1262*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_outline_function.cpp",
1263*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_outline_function.h",
1264*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_permute_function_parameters.cpp",
1265*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_permute_function_parameters.h",
1266*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_permute_phi_operands.cpp",
1267*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_permute_phi_operands.h",
1268*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_propagate_instruction_down.cpp",
1269*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_propagate_instruction_down.h",
1270*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_propagate_instruction_up.cpp",
1271*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_propagate_instruction_up.h",
1272*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_push_id_through_variable.cpp",
1273*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_push_id_through_variable.h",
1274*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_record_synonymous_constants.cpp",
1275*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_record_synonymous_constants.h",
1276*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_add_sub_mul_with_carrying_extended.cpp",
1277*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_add_sub_mul_with_carrying_extended.h",
1278*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_boolean_constant_with_constant_binary.cpp",
1279*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_boolean_constant_with_constant_binary.h",
1280*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_branch_from_dead_block_with_exit.cpp",
1281*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_branch_from_dead_block_with_exit.h",
1282*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_constant_with_uniform.cpp",
1283*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_constant_with_uniform.h",
1284*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_copy_memory_with_load_store.cpp",
1285*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_copy_memory_with_load_store.h",
1286*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_copy_object_with_store_load.cpp",
1287*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_copy_object_with_store_load.h",
1288*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_id_with_synonym.cpp",
1289*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_id_with_synonym.h",
1290*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_irrelevant_id.cpp",
1291*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_irrelevant_id.h",
1292*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_linear_algebra_instruction.cpp",
1293*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_linear_algebra_instruction.h",
1294*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_load_store_with_copy_memory.cpp",
1295*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_load_store_with_copy_memory.h",
1296*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_opphi_id_from_dead_predecessor.cpp",
1297*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_opphi_id_from_dead_predecessor.h",
1298*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_opselect_with_conditional_branch.cpp",
1299*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_opselect_with_conditional_branch.h",
1300*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_parameter_with_global.cpp",
1301*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_parameter_with_global.h",
1302*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_params_with_struct.cpp",
1303*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_params_with_struct.h",
1304*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_set_function_control.cpp",
1305*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_set_function_control.h",
1306*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_set_loop_control.cpp",
1307*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_set_loop_control.h",
1308*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_set_memory_operands_mask.cpp",
1309*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_set_memory_operands_mask.h",
1310*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_set_selection_control.cpp",
1311*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_set_selection_control.h",
1312*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_split_block.cpp",
1313*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_split_block.h",
1314*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_store.cpp",
1315*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_store.h",
1316*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_swap_commutable_operands.cpp",
1317*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_swap_commutable_operands.h",
1318*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_swap_conditional_branch_operands.cpp",
1319*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_swap_conditional_branch_operands.h",
1320*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_swap_function_variables.cpp",
1321*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_swap_function_variables.h",
1322*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_swap_two_functions.cpp",
1323*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_swap_two_functions.h",
1324*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_toggle_access_chain_instruction.cpp",
1325*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_toggle_access_chain_instruction.h",
1326*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_vector_shuffle.cpp",
1327*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_vector_shuffle.h",
1328*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_wrap_early_terminator_in_function.cpp",
1329*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_wrap_early_terminator_in_function.h",
1330*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_wrap_region_in_selection.cpp",
1331*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_wrap_region_in_selection.h",
1332*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_wrap_vector_synonym.cpp",
1333*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/transformation_wrap_vector_synonym.h",
1334*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/uniform_buffer_element_descriptor.cpp",
1335*03ce13f7SAndroid Build Coastguard Worker      "source/fuzz/uniform_buffer_element_descriptor.h",
1336*03ce13f7SAndroid Build Coastguard Worker    ]
1337*03ce13f7SAndroid Build Coastguard Worker    deps = [
1338*03ce13f7SAndroid Build Coastguard Worker      ":spvtools",
1339*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_fuzz_proto",
1340*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_opt",
1341*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_reduce",
1342*03ce13f7SAndroid Build Coastguard Worker      "//third_party/protobuf:protobuf_full",
1343*03ce13f7SAndroid Build Coastguard Worker    ]
1344*03ce13f7SAndroid Build Coastguard Worker    public_deps = [ ":spvtools_headers" ]
1345*03ce13f7SAndroid Build Coastguard Worker    configs -= [ "//build/config/compiler:chromium_code" ]
1346*03ce13f7SAndroid Build Coastguard Worker    configs += [ "//build/config/compiler:no_chromium_code" ]
1347*03ce13f7SAndroid Build Coastguard Worker    configs += [ ":spvtools_internal_config" ]
1348*03ce13f7SAndroid Build Coastguard Worker  }
1349*03ce13f7SAndroid Build Coastguard Worker}
1350*03ce13f7SAndroid Build Coastguard Worker
1351*03ce13f7SAndroid Build Coastguard Workergroup("SPIRV-Tools") {
1352*03ce13f7SAndroid Build Coastguard Worker  public_deps = [
1353*03ce13f7SAndroid Build Coastguard Worker    ":spvtools",
1354*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_link",
1355*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_opt",
1356*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_reduce",
1357*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_val",
1358*03ce13f7SAndroid Build Coastguard Worker  ]
1359*03ce13f7SAndroid Build Coastguard Worker}
1360*03ce13f7SAndroid Build Coastguard Worker
1361*03ce13f7SAndroid Build Coastguard Worker# The tests are scoped to Chromium to avoid needing to write gtest integration.
1362*03ce13f7SAndroid Build Coastguard Worker# See Chromium's third_party/googletest/BUILD.gn for a complete integration.
1363*03ce13f7SAndroid Build Coastguard Workerif (build_with_chromium && spvtools_build_executables) {
1364*03ce13f7SAndroid Build Coastguard Worker  test("spvtools_test") {
1365*03ce13f7SAndroid Build Coastguard Worker    sources = [
1366*03ce13f7SAndroid Build Coastguard Worker      "test/assembly_context_test.cpp",
1367*03ce13f7SAndroid Build Coastguard Worker      "test/assembly_format_test.cpp",
1368*03ce13f7SAndroid Build Coastguard Worker      "test/binary_destroy_test.cpp",
1369*03ce13f7SAndroid Build Coastguard Worker      "test/binary_endianness_test.cpp",
1370*03ce13f7SAndroid Build Coastguard Worker      "test/binary_header_get_test.cpp",
1371*03ce13f7SAndroid Build Coastguard Worker      "test/binary_parse_test.cpp",
1372*03ce13f7SAndroid Build Coastguard Worker      "test/binary_strnlen_s_test.cpp",
1373*03ce13f7SAndroid Build Coastguard Worker      "test/binary_to_text.literal_test.cpp",
1374*03ce13f7SAndroid Build Coastguard Worker      "test/binary_to_text_test.cpp",
1375*03ce13f7SAndroid Build Coastguard Worker      "test/comment_test.cpp",
1376*03ce13f7SAndroid Build Coastguard Worker      "test/enum_set_test.cpp",
1377*03ce13f7SAndroid Build Coastguard Worker      "test/enum_string_mapping_test.cpp",
1378*03ce13f7SAndroid Build Coastguard Worker      "test/ext_inst.cldebug100_test.cpp",
1379*03ce13f7SAndroid Build Coastguard Worker      "test/ext_inst.debuginfo_test.cpp",
1380*03ce13f7SAndroid Build Coastguard Worker      "test/ext_inst.glsl_test.cpp",
1381*03ce13f7SAndroid Build Coastguard Worker      "test/ext_inst.opencl_test.cpp",
1382*03ce13f7SAndroid Build Coastguard Worker      "test/fix_word_test.cpp",
1383*03ce13f7SAndroid Build Coastguard Worker      "test/generator_magic_number_test.cpp",
1384*03ce13f7SAndroid Build Coastguard Worker      "test/hex_float_test.cpp",
1385*03ce13f7SAndroid Build Coastguard Worker      "test/immediate_int_test.cpp",
1386*03ce13f7SAndroid Build Coastguard Worker      "test/libspirv_macros_test.cpp",
1387*03ce13f7SAndroid Build Coastguard Worker      "test/name_mapper_test.cpp",
1388*03ce13f7SAndroid Build Coastguard Worker      "test/named_id_test.cpp",
1389*03ce13f7SAndroid Build Coastguard Worker      "test/opcode_make_test.cpp",
1390*03ce13f7SAndroid Build Coastguard Worker      "test/opcode_require_capabilities_test.cpp",
1391*03ce13f7SAndroid Build Coastguard Worker      "test/opcode_split_test.cpp",
1392*03ce13f7SAndroid Build Coastguard Worker      "test/opcode_table_get_test.cpp",
1393*03ce13f7SAndroid Build Coastguard Worker      "test/operand_capabilities_test.cpp",
1394*03ce13f7SAndroid Build Coastguard Worker      "test/operand_pattern_test.cpp",
1395*03ce13f7SAndroid Build Coastguard Worker      "test/operand_test.cpp",
1396*03ce13f7SAndroid Build Coastguard Worker      "test/target_env_test.cpp",
1397*03ce13f7SAndroid Build Coastguard Worker      "test/test_fixture.h",
1398*03ce13f7SAndroid Build Coastguard Worker      "test/text_advance_test.cpp",
1399*03ce13f7SAndroid Build Coastguard Worker      "test/text_destroy_test.cpp",
1400*03ce13f7SAndroid Build Coastguard Worker      "test/text_literal_test.cpp",
1401*03ce13f7SAndroid Build Coastguard Worker      "test/text_start_new_inst_test.cpp",
1402*03ce13f7SAndroid Build Coastguard Worker      "test/text_to_binary.annotation_test.cpp",
1403*03ce13f7SAndroid Build Coastguard Worker      "test/text_to_binary.barrier_test.cpp",
1404*03ce13f7SAndroid Build Coastguard Worker      "test/text_to_binary.constant_test.cpp",
1405*03ce13f7SAndroid Build Coastguard Worker      "test/text_to_binary.control_flow_test.cpp",
1406*03ce13f7SAndroid Build Coastguard Worker      "test/text_to_binary.debug_test.cpp",
1407*03ce13f7SAndroid Build Coastguard Worker      "test/text_to_binary.device_side_enqueue_test.cpp",
1408*03ce13f7SAndroid Build Coastguard Worker      "test/text_to_binary.extension_test.cpp",
1409*03ce13f7SAndroid Build Coastguard Worker      "test/text_to_binary.function_test.cpp",
1410*03ce13f7SAndroid Build Coastguard Worker      "test/text_to_binary.group_test.cpp",
1411*03ce13f7SAndroid Build Coastguard Worker      "test/text_to_binary.image_test.cpp",
1412*03ce13f7SAndroid Build Coastguard Worker      "test/text_to_binary.literal_test.cpp",
1413*03ce13f7SAndroid Build Coastguard Worker      "test/text_to_binary.memory_test.cpp",
1414*03ce13f7SAndroid Build Coastguard Worker      "test/text_to_binary.misc_test.cpp",
1415*03ce13f7SAndroid Build Coastguard Worker      "test/text_to_binary.mode_setting_test.cpp",
1416*03ce13f7SAndroid Build Coastguard Worker      "test/text_to_binary.pipe_storage_test.cpp",
1417*03ce13f7SAndroid Build Coastguard Worker      "test/text_to_binary.reserved_sampling_test.cpp",
1418*03ce13f7SAndroid Build Coastguard Worker      "test/text_to_binary.subgroup_dispatch_test.cpp",
1419*03ce13f7SAndroid Build Coastguard Worker      "test/text_to_binary.type_declaration_test.cpp",
1420*03ce13f7SAndroid Build Coastguard Worker      "test/text_to_binary_test.cpp",
1421*03ce13f7SAndroid Build Coastguard Worker      "test/text_word_get_test.cpp",
1422*03ce13f7SAndroid Build Coastguard Worker      "test/unit_spirv.cpp",
1423*03ce13f7SAndroid Build Coastguard Worker      "test/unit_spirv.h",
1424*03ce13f7SAndroid Build Coastguard Worker    ]
1425*03ce13f7SAndroid Build Coastguard Worker
1426*03ce13f7SAndroid Build Coastguard Worker    deps = [
1427*03ce13f7SAndroid Build Coastguard Worker      ":spvtools",
1428*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_language_header_cldebuginfo100",
1429*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_language_header_debuginfo",
1430*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_language_header_vkdebuginfo100",
1431*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_val",
1432*03ce13f7SAndroid Build Coastguard Worker      "//testing/gmock",
1433*03ce13f7SAndroid Build Coastguard Worker      "//testing/gtest",
1434*03ce13f7SAndroid Build Coastguard Worker      "//testing/gtest:gtest_main",
1435*03ce13f7SAndroid Build Coastguard Worker      "//third_party/googletest:gmock",
1436*03ce13f7SAndroid Build Coastguard Worker      "//third_party/googletest:gtest",
1437*03ce13f7SAndroid Build Coastguard Worker    ]
1438*03ce13f7SAndroid Build Coastguard Worker
1439*03ce13f7SAndroid Build Coastguard Worker    if (is_clang) {
1440*03ce13f7SAndroid Build Coastguard Worker      cflags_cc = [ "-Wno-self-assign" ]
1441*03ce13f7SAndroid Build Coastguard Worker    }
1442*03ce13f7SAndroid Build Coastguard Worker
1443*03ce13f7SAndroid Build Coastguard Worker    configs += [ ":spvtools_internal_config" ]
1444*03ce13f7SAndroid Build Coastguard Worker  }
1445*03ce13f7SAndroid Build Coastguard Worker}
1446*03ce13f7SAndroid Build Coastguard Worker
1447*03ce13f7SAndroid Build Coastguard Workerif (spirv_tools_standalone) {
1448*03ce13f7SAndroid Build Coastguard Worker  group("fuzzers") {
1449*03ce13f7SAndroid Build Coastguard Worker    testonly = true
1450*03ce13f7SAndroid Build Coastguard Worker    deps = [ "test/fuzzers" ]
1451*03ce13f7SAndroid Build Coastguard Worker  }
1452*03ce13f7SAndroid Build Coastguard Worker}
1453*03ce13f7SAndroid Build Coastguard Worker
1454*03ce13f7SAndroid Build Coastguard Workersource_set("spvtools_software_version") {
1455*03ce13f7SAndroid Build Coastguard Worker  sources = [ "source/software_version.cpp" ]
1456*03ce13f7SAndroid Build Coastguard Worker  deps = [
1457*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_build_version",
1458*03ce13f7SAndroid Build Coastguard Worker    ":spvtools_headers",
1459*03ce13f7SAndroid Build Coastguard Worker  ]
1460*03ce13f7SAndroid Build Coastguard Worker  configs += [ ":spvtools_internal_config" ]
1461*03ce13f7SAndroid Build Coastguard Worker}
1462*03ce13f7SAndroid Build Coastguard Worker
1463*03ce13f7SAndroid Build Coastguard Workersource_set("spvtools_tools_util") {
1464*03ce13f7SAndroid Build Coastguard Worker  sources = [
1465*03ce13f7SAndroid Build Coastguard Worker    "tools/util/flags.cpp",
1466*03ce13f7SAndroid Build Coastguard Worker    "tools/util/cli_consumer.cpp",
1467*03ce13f7SAndroid Build Coastguard Worker    "tools/util/cli_consumer.h",
1468*03ce13f7SAndroid Build Coastguard Worker  ]
1469*03ce13f7SAndroid Build Coastguard Worker  deps = [ ":spvtools_headers" ]
1470*03ce13f7SAndroid Build Coastguard Worker  configs += [ ":spvtools_internal_config" ]
1471*03ce13f7SAndroid Build Coastguard Worker}
1472*03ce13f7SAndroid Build Coastguard Worker
1473*03ce13f7SAndroid Build Coastguard Workerif (spvtools_build_executables) {
1474*03ce13f7SAndroid Build Coastguard Worker  executable("spirv-as") {
1475*03ce13f7SAndroid Build Coastguard Worker    sources = [ "tools/as/as.cpp" ]
1476*03ce13f7SAndroid Build Coastguard Worker    deps = [
1477*03ce13f7SAndroid Build Coastguard Worker      ":spvtools",
1478*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_software_version",
1479*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_tools_util",
1480*03ce13f7SAndroid Build Coastguard Worker    ]
1481*03ce13f7SAndroid Build Coastguard Worker    configs += [ ":spvtools_internal_config" ]
1482*03ce13f7SAndroid Build Coastguard Worker  }
1483*03ce13f7SAndroid Build Coastguard Worker
1484*03ce13f7SAndroid Build Coastguard Worker  executable("spirv-dis") {
1485*03ce13f7SAndroid Build Coastguard Worker    sources = [ "tools/dis/dis.cpp" ]
1486*03ce13f7SAndroid Build Coastguard Worker    deps = [
1487*03ce13f7SAndroid Build Coastguard Worker      ":spvtools",
1488*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_software_version",
1489*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_tools_util",
1490*03ce13f7SAndroid Build Coastguard Worker    ]
1491*03ce13f7SAndroid Build Coastguard Worker    configs += [ ":spvtools_internal_config" ]
1492*03ce13f7SAndroid Build Coastguard Worker  }
1493*03ce13f7SAndroid Build Coastguard Worker
1494*03ce13f7SAndroid Build Coastguard Worker  executable("spirv-val") {
1495*03ce13f7SAndroid Build Coastguard Worker    sources = [ "tools/val/val.cpp" ]
1496*03ce13f7SAndroid Build Coastguard Worker    deps = [
1497*03ce13f7SAndroid Build Coastguard Worker      ":spvtools",
1498*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_software_version",
1499*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_tools_util",
1500*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_val",
1501*03ce13f7SAndroid Build Coastguard Worker    ]
1502*03ce13f7SAndroid Build Coastguard Worker    configs += [ ":spvtools_internal_config" ]
1503*03ce13f7SAndroid Build Coastguard Worker  }
1504*03ce13f7SAndroid Build Coastguard Worker
1505*03ce13f7SAndroid Build Coastguard Worker  executable("spirv-cfg") {
1506*03ce13f7SAndroid Build Coastguard Worker    sources = [
1507*03ce13f7SAndroid Build Coastguard Worker      "tools/cfg/bin_to_dot.cpp",
1508*03ce13f7SAndroid Build Coastguard Worker      "tools/cfg/bin_to_dot.h",
1509*03ce13f7SAndroid Build Coastguard Worker      "tools/cfg/cfg.cpp",
1510*03ce13f7SAndroid Build Coastguard Worker    ]
1511*03ce13f7SAndroid Build Coastguard Worker    deps = [
1512*03ce13f7SAndroid Build Coastguard Worker      ":spvtools",
1513*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_software_version",
1514*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_tools_util",
1515*03ce13f7SAndroid Build Coastguard Worker    ]
1516*03ce13f7SAndroid Build Coastguard Worker    configs += [ ":spvtools_internal_config" ]
1517*03ce13f7SAndroid Build Coastguard Worker  }
1518*03ce13f7SAndroid Build Coastguard Worker
1519*03ce13f7SAndroid Build Coastguard Worker  executable("spirv-opt") {
1520*03ce13f7SAndroid Build Coastguard Worker    sources = [ "tools/opt/opt.cpp" ]
1521*03ce13f7SAndroid Build Coastguard Worker    deps = [
1522*03ce13f7SAndroid Build Coastguard Worker      ":spvtools",
1523*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_opt",
1524*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_software_version",
1525*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_tools_util",
1526*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_val",
1527*03ce13f7SAndroid Build Coastguard Worker    ]
1528*03ce13f7SAndroid Build Coastguard Worker    configs += [ ":spvtools_internal_config" ]
1529*03ce13f7SAndroid Build Coastguard Worker  }
1530*03ce13f7SAndroid Build Coastguard Worker
1531*03ce13f7SAndroid Build Coastguard Worker  executable("spirv-link") {
1532*03ce13f7SAndroid Build Coastguard Worker    sources = [ "tools/link/linker.cpp" ]
1533*03ce13f7SAndroid Build Coastguard Worker    deps = [
1534*03ce13f7SAndroid Build Coastguard Worker      ":spvtools",
1535*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_link",
1536*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_opt",
1537*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_software_version",
1538*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_tools_util",
1539*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_val",
1540*03ce13f7SAndroid Build Coastguard Worker    ]
1541*03ce13f7SAndroid Build Coastguard Worker    configs += [ ":spvtools_internal_config" ]
1542*03ce13f7SAndroid Build Coastguard Worker  }
1543*03ce13f7SAndroid Build Coastguard Worker}
1544*03ce13f7SAndroid Build Coastguard Worker
1545*03ce13f7SAndroid Build Coastguard Workerif (!is_ios && !spirv_is_winuwp && build_with_chromium && spvtools_build_executables) {
1546*03ce13f7SAndroid Build Coastguard Worker  # iOS and UWP do not allow std::system calls which spirv-fuzz
1547*03ce13f7SAndroid Build Coastguard Worker  # requires. Additionally, spirv-fuzz is only built when in a
1548*03ce13f7SAndroid Build Coastguard Worker  # Chromium checkout due to its dependency on protobuf.
1549*03ce13f7SAndroid Build Coastguard Worker
1550*03ce13f7SAndroid Build Coastguard Worker  executable("spirv-fuzz") {
1551*03ce13f7SAndroid Build Coastguard Worker    sources = [ "tools/fuzz/fuzz.cpp" ]
1552*03ce13f7SAndroid Build Coastguard Worker    deps = [
1553*03ce13f7SAndroid Build Coastguard Worker      ":spvtools",
1554*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_fuzz",
1555*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_opt",
1556*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_reduce",
1557*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_software_version",
1558*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_tools_util",
1559*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_val",
1560*03ce13f7SAndroid Build Coastguard Worker      "//third_party/protobuf:protobuf_full",
1561*03ce13f7SAndroid Build Coastguard Worker    ]
1562*03ce13f7SAndroid Build Coastguard Worker    configs += [ ":spvtools_internal_config" ]
1563*03ce13f7SAndroid Build Coastguard Worker  }
1564*03ce13f7SAndroid Build Coastguard Worker}
1565*03ce13f7SAndroid Build Coastguard Worker
1566*03ce13f7SAndroid Build Coastguard Workerif (!is_ios && !spirv_is_winuwp && spvtools_build_executables) {
1567*03ce13f7SAndroid Build Coastguard Worker  # iOS and UWP do not allow std::system calls which spirv-reduce
1568*03ce13f7SAndroid Build Coastguard Worker  # requires.
1569*03ce13f7SAndroid Build Coastguard Worker
1570*03ce13f7SAndroid Build Coastguard Worker  executable("spirv-reduce") {
1571*03ce13f7SAndroid Build Coastguard Worker    sources = [ "tools/reduce/reduce.cpp" ]
1572*03ce13f7SAndroid Build Coastguard Worker    deps = [
1573*03ce13f7SAndroid Build Coastguard Worker      ":spvtools",
1574*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_opt",
1575*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_reduce",
1576*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_software_version",
1577*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_tools_util",
1578*03ce13f7SAndroid Build Coastguard Worker      ":spvtools_val",
1579*03ce13f7SAndroid Build Coastguard Worker    ]
1580*03ce13f7SAndroid Build Coastguard Worker    configs += [ ":spvtools_internal_config" ]
1581*03ce13f7SAndroid Build Coastguard Worker  }
1582*03ce13f7SAndroid Build Coastguard Worker}
1583*03ce13f7SAndroid Build Coastguard Worker
1584*03ce13f7SAndroid Build Coastguard Workerif (spvtools_build_executables){
1585*03ce13f7SAndroid Build Coastguard Worker  group("all_spirv_tools") {
1586*03ce13f7SAndroid Build Coastguard Worker    deps = [
1587*03ce13f7SAndroid Build Coastguard Worker      ":spirv-as",
1588*03ce13f7SAndroid Build Coastguard Worker      ":spirv-cfg",
1589*03ce13f7SAndroid Build Coastguard Worker      ":spirv-dis",
1590*03ce13f7SAndroid Build Coastguard Worker      ":spirv-link",
1591*03ce13f7SAndroid Build Coastguard Worker      ":spirv-opt",
1592*03ce13f7SAndroid Build Coastguard Worker      ":spirv-val",
1593*03ce13f7SAndroid Build Coastguard Worker    ]
1594*03ce13f7SAndroid Build Coastguard Worker    if (!is_ios && !spirv_is_winuwp && build_with_chromium) {
1595*03ce13f7SAndroid Build Coastguard Worker      deps += [ ":spirv-fuzz" ]
1596*03ce13f7SAndroid Build Coastguard Worker    }
1597*03ce13f7SAndroid Build Coastguard Worker    if (!is_ios && !spirv_is_winuwp) {
1598*03ce13f7SAndroid Build Coastguard Worker      deps += [ ":spirv-reduce" ]
1599*03ce13f7SAndroid Build Coastguard Worker    }
1600*03ce13f7SAndroid Build Coastguard Worker  }
1601*03ce13f7SAndroid Build Coastguard Worker}
1602