Update SPIRV-Tools targets for Android after latest update

See https://swiftshader-review.googlesource.com/c/SwiftShader/+/76128

Bug: n/a
Test: local Android build
Change-Id: I43dde8f4b25110b339cbf9968cb2d41870cefb9d
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/76168
Reviewed-by: Shahbaz Youssefi <syoussefi@google.com>
Tested-by: Shahbaz Youssefi <syoussefi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Presubmit-Ready: Jason Macnak <natsu@google.com>
Tested-by: Jason Macnak <natsu@google.com>
diff --git a/third_party/SPIRV-Tools/Android.bp b/third_party/SPIRV-Tools/Android.bp
index a760d5d..ba27c50 100644
--- a/third_party/SPIRV-Tools/Android.bp
+++ b/third_party/SPIRV-Tools/Android.bp
@@ -58,57 +58,55 @@
 genrule {
     name: "swiftshader_spvtools_generate_grammar_tables",
     out: [
-        "core.insts-unified1.inc",
-        "debuginfo.insts.inc",
-        "enum_string_mapping.inc",
-        "extension_enum.inc",
-        "glsl.std.450.insts.inc",
-        "opencl.debuginfo.100.insts.inc",
-        "opencl.std.insts.inc",
-        "operand.kinds-unified1.inc",
-        "spv-amd-gcn-shader.insts.inc",
-        "spv-amd-shader-ballot.insts.inc",
-        "spv-amd-shader-explicit-vertex-parameter.insts.inc",
-        "spv-amd-shader-trinary-minmax.insts.inc",
-        "nonsemantic.clspvreflection.insts.inc",
-        "nonsemantic.shader.debuginfo.100.insts.inc",
+        "core_tables_body.inc",
+        "core_tables_header.inc",
     ],
     srcs: [
-        ":swiftshader_spirv_headers_unified1_extinst.glsl.std.450.grammar.json",
-        ":swiftshader_spirv_headers_unified1_extinst.opencl.std.100.grammar.json",
-        ":swiftshader_spirv_headers_unified1_spirv.core.grammar.json",
         ":swiftshader_spirv_headers_unified1_extinst.debuginfo.grammar.json",
+        ":swiftshader_spirv_headers_unified1_extinst.glsl.std.450.grammar.json",
+        ":swiftshader_spirv_headers_unified1_extinst.nonsemantic.clspvreflection.grammar.json",
+        ":swiftshader_spirv_headers_unified1_extinst.nonsemantic.shader.debuginfo.100.grammar.json",
+        ":swiftshader_spirv_headers_unified1_extinst.nonsemantic.vkspreflection.grammar.json",
         ":swiftshader_spirv_headers_unified1_extinst.opencl.debuginfo.100.grammar.json",
+        ":swiftshader_spirv_headers_unified1_extinst.opencl.std.100.grammar.json",
         ":swiftshader_spirv_headers_unified1_extinst.spv-amd-gcn-shader.grammar.json",
         ":swiftshader_spirv_headers_unified1_extinst.spv-amd-shader-ballot.grammar.json",
         ":swiftshader_spirv_headers_unified1_extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json",
         ":swiftshader_spirv_headers_unified1_extinst.spv-amd-shader-trinary-minmax.grammar.json",
-        ":swiftshader_spirv_headers_unified1_extinst.nonsemantic.clspvreflection.grammar.json",
-        ":swiftshader_spirv_headers_unified1_extinst.nonsemantic.shader.debuginfo.100.grammar.json",
+        ":swiftshader_spirv_headers_unified1_spirv.core.grammar.json",
     ],
-    tool_files: ["utils/generate_grammar_tables.py"],
-    cmd:
-        "$(location) --extinst-vendor-grammar=$(location :swiftshader_spirv_headers_unified1_extinst.spv-amd-gcn-shader.grammar.json) --vendor-insts-output=$(location spv-amd-gcn-shader.insts.inc) --vendor-operand-kind-prefix=; "+
-        "$(location) --spirv-core-grammar=$(location :swiftshader_spirv_headers_unified1_spirv.core.grammar.json) --extinst-debuginfo-grammar=$(location :swiftshader_spirv_headers_unified1_extinst.debuginfo.grammar.json) --extinst-cldebuginfo100-grammar=$(location :swiftshader_spirv_headers_unified1_extinst.opencl.debuginfo.100.grammar.json) --core-insts-output=$(location core.insts-unified1.inc) --operand-kinds-output=$(location operand.kinds-unified1.inc) --output-language=c++; "+
-        "$(location) --extinst-vendor-grammar=$(location :swiftshader_spirv_headers_unified1_extinst.debuginfo.grammar.json) --vendor-insts-output=$(location debuginfo.insts.inc) --vendor-operand-kind-prefix=; "+
-        "$(location) --extinst-vendor-grammar=$(location :swiftshader_spirv_headers_unified1_extinst.spv-amd-shader-ballot.grammar.json) --vendor-insts-output=$(location spv-amd-shader-ballot.insts.inc) --vendor-operand-kind-prefix=; "+
-        "$(location) --extinst-vendor-grammar=$(location :swiftshader_spirv_headers_unified1_extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json) --vendor-insts-output=$(location spv-amd-shader-explicit-vertex-parameter.insts.inc) --vendor-operand-kind-prefix=; "+
-        "$(location) --extinst-vendor-grammar=$(location :swiftshader_spirv_headers_unified1_extinst.spv-amd-shader-trinary-minmax.grammar.json) --vendor-insts-output=$(location spv-amd-shader-trinary-minmax.insts.inc) --vendor-operand-kind-prefix=; "+
-        "$(location) --extinst-vendor-grammar=$(location :swiftshader_spirv_headers_unified1_extinst.opencl.debuginfo.100.grammar.json) --vendor-insts-output=$(location opencl.debuginfo.100.insts.inc) --vendor-operand-kind-prefix=CLDEBUG100_; "+
-        "$(location) --spirv-core-grammar=$(location :swiftshader_spirv_headers_unified1_spirv.core.grammar.json) --extinst-debuginfo-grammar=$(location :swiftshader_spirv_headers_unified1_extinst.debuginfo.grammar.json) --extinst-cldebuginfo100-grammar=$(location :swiftshader_spirv_headers_unified1_extinst.opencl.debuginfo.100.grammar.json) --extension-enum-output=$(location extension_enum.inc) --enum-string-mapping-output=$(location enum_string_mapping.inc) --output-language=c++; "+
-        "$(location) --extinst-opencl-grammar=$(location :swiftshader_spirv_headers_unified1_extinst.opencl.std.100.grammar.json) --opencl-insts-output=$(location opencl.std.insts.inc) --output-language=c++; "+
-        "$(location) --extinst-glsl-grammar=$(location :swiftshader_spirv_headers_unified1_extinst.glsl.std.450.grammar.json) --glsl-insts-output=$(location glsl.std.450.insts.inc) --output-language=c++; " +
-        "$(location) --extinst-vendor-grammar=$(location :swiftshader_spirv_headers_unified1_extinst.nonsemantic.clspvreflection.grammar.json) --vendor-insts-output=$(location nonsemantic.clspvreflection.insts.inc) --vendor-operand-kind-prefix=; " +
-        "$(location) --extinst-vendor-grammar=$(location :swiftshader_spirv_headers_unified1_extinst.nonsemantic.shader.debuginfo.100.grammar.json) --vendor-insts-output=$(location nonsemantic.shader.debuginfo.100.insts.inc) --vendor-operand-kind-prefix=SHDEBUG100_; "
+    tool_files: [
+        "utils/ggt.py",
+        "utils/Table/__init__.py",
+        "utils/Table/Context.py",
+        "utils/Table/IndexRange.py",
+        "utils/Table/Operand.py",
+        "utils/Table/StringList.py",
+    ],
+    cmd: "$(location utils/ggt.py) " +
+        "--spirv-core-grammar $(location :swiftshader_spirv_headers_unified1_spirv.core.grammar.json) " +
+        "--extinst=,$(location :swiftshader_spirv_headers_unified1_extinst.debuginfo.grammar.json) " +
+        "--extinst=,$(location :swiftshader_spirv_headers_unified1_extinst.glsl.std.450.grammar.json) " +
+        "--extinst=,$(location :swiftshader_spirv_headers_unified1_extinst.nonsemantic.clspvreflection.grammar.json) " +
+        "--extinst=SHDEBUG100_,$(location :swiftshader_spirv_headers_unified1_extinst.nonsemantic.shader.debuginfo.100.grammar.json) " +
+        "--extinst=,$(location :swiftshader_spirv_headers_unified1_extinst.nonsemantic.vkspreflection.grammar.json) " +
+        "--extinst=CLDEBUG100_,$(location :swiftshader_spirv_headers_unified1_extinst.opencl.debuginfo.100.grammar.json) " +
+        "--extinst=,$(location :swiftshader_spirv_headers_unified1_extinst.opencl.std.100.grammar.json) " +
+        "--extinst=,$(location :swiftshader_spirv_headers_unified1_extinst.spv-amd-gcn-shader.grammar.json) " +
+        "--extinst=,$(location :swiftshader_spirv_headers_unified1_extinst.spv-amd-shader-ballot.grammar.json) " +
+        "--extinst=,$(location :swiftshader_spirv_headers_unified1_extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json) " +
+        "--extinst=,$(location :swiftshader_spirv_headers_unified1_extinst.spv-amd-shader-trinary-minmax.grammar.json) " +
+        "--core-tables-body-output $(location core_tables_body.inc) " +
+        "--core-tables-header-output $(location core_tables_header.inc) ",
 }
 
 genrule {
     name: "swiftshader_spvtools_generate_registry_tables",
     out: [
-        "generators.inc"
+        "generators.inc",
     ],
     srcs: [
-        ":swiftshader_spirv_headers_spir-v.xml"
+        ":swiftshader_spirv_headers_spir-v.xml",
     ],
     tool_files: ["utils/generate_registry_tables.py"],
     cmd: "$(location) --xml=$(location :swiftshader_spirv_headers_spir-v.xml) --generator-output=$(location generators.inc)",
@@ -120,7 +118,7 @@
     srcs: ["CHANGES"],
     tool_files: ["utils/update_build_version.py"],
     cmd: "$(location) $(location CHANGES) " +
-         "$(location build-version.inc)",
+        "$(location build-version.inc)",
 }
 
 cc_library_static {
@@ -128,10 +126,199 @@
     host_supported: true,
     vendor_available: true,
     srcs: [
-        "source/*.cpp",
-        "source/util/*.cpp",
-        "source/val/*.cpp",
-        "source/opt/*.cpp",
+        "source/assembly_grammar.cpp",
+        "source/binary.cpp",
+        "source/diagnostic.cpp",
+        "source/disassemble.cpp",
+        "source/ext_inst.cpp",
+        "source/extensions.cpp",
+        "source/libspirv.cpp",
+        "source/name_mapper.cpp",
+        "source/opcode.cpp",
+        "source/operand.cpp",
+        "source/opt/aggressive_dead_code_elim_pass.cpp",
+        "source/opt/amd_ext_to_khr.cpp",
+        "source/opt/analyze_live_input_pass.cpp",
+        "source/opt/basic_block.cpp",
+        "source/opt/block_merge_pass.cpp",
+        "source/opt/block_merge_util.cpp",
+        "source/opt/build_module.cpp",
+        "source/opt/canonicalize_ids_pass.cpp",
+        "source/opt/ccp_pass.cpp",
+        "source/opt/cfg_cleanup_pass.cpp",
+        "source/opt/cfg.cpp",
+        "source/opt/code_sink.cpp",
+        "source/opt/combine_access_chains.cpp",
+        "source/opt/compact_ids_pass.cpp",
+        "source/opt/composite.cpp",
+        "source/opt/const_folding_rules.cpp",
+        "source/opt/constants.cpp",
+        "source/opt/control_dependence.cpp",
+        "source/opt/convert_to_half_pass.cpp",
+        "source/opt/convert_to_sampled_image_pass.cpp",
+        "source/opt/copy_prop_arrays.cpp",
+        "source/opt/dataflow.cpp",
+        "source/opt/dead_branch_elim_pass.cpp",
+        "source/opt/dead_insert_elim_pass.cpp",
+        "source/opt/dead_variable_elimination.cpp",
+        "source/opt/debug_info_manager.cpp",
+        "source/opt/decoration_manager.cpp",
+        "source/opt/def_use_manager.cpp",
+        "source/opt/desc_sroa_util.cpp",
+        "source/opt/desc_sroa.cpp",
+        "source/opt/dominator_analysis.cpp",
+        "source/opt/dominator_tree.cpp",
+        "source/opt/eliminate_dead_constant_pass.cpp",
+        "source/opt/eliminate_dead_functions_pass.cpp",
+        "source/opt/eliminate_dead_functions_util.cpp",
+        "source/opt/eliminate_dead_io_components_pass.cpp",
+        "source/opt/eliminate_dead_members_pass.cpp",
+        "source/opt/eliminate_dead_output_stores_pass.cpp",
+        "source/opt/feature_manager.cpp",
+        "source/opt/fix_func_call_arguments.cpp",
+        "source/opt/fix_storage_class.cpp",
+        "source/opt/flatten_decoration_pass.cpp",
+        "source/opt/fold_spec_constant_op_and_composite_pass.cpp",
+        "source/opt/fold.cpp",
+        "source/opt/folding_rules.cpp",
+        "source/opt/freeze_spec_constant_value_pass.cpp",
+        "source/opt/function.cpp",
+        "source/opt/graphics_robust_access_pass.cpp",
+        "source/opt/if_conversion.cpp",
+        "source/opt/inline_exhaustive_pass.cpp",
+        "source/opt/inline_opaque_pass.cpp",
+        "source/opt/inline_pass.cpp",
+        "source/opt/instruction_list.cpp",
+        "source/opt/instruction.cpp",
+        "source/opt/interface_var_sroa.cpp",
+        "source/opt/interp_fixup_pass.cpp",
+        "source/opt/invocation_interlock_placement_pass.cpp",
+        "source/opt/ir_context.cpp",
+        "source/opt/ir_loader.cpp",
+        "source/opt/licm_pass.cpp",
+        "source/opt/liveness.cpp",
+        "source/opt/local_access_chain_convert_pass.cpp",
+        "source/opt/local_redundancy_elimination.cpp",
+        "source/opt/local_single_block_elim_pass.cpp",
+        "source/opt/local_single_store_elim_pass.cpp",
+        "source/opt/loop_dependence_helpers.cpp",
+        "source/opt/loop_dependence.cpp",
+        "source/opt/loop_descriptor.cpp",
+        "source/opt/loop_fission.cpp",
+        "source/opt/loop_fusion_pass.cpp",
+        "source/opt/loop_fusion.cpp",
+        "source/opt/loop_peeling.cpp",
+        "source/opt/loop_unroller.cpp",
+        "source/opt/loop_unswitch_pass.cpp",
+        "source/opt/loop_utils.cpp",
+        "source/opt/mem_pass.cpp",
+        "source/opt/merge_return_pass.cpp",
+        "source/opt/modify_maximal_reconvergence.cpp",
+        "source/opt/module.cpp",
+        "source/opt/opextinst_forward_ref_fixup_pass.cpp",
+        "source/opt/optimizer.cpp",
+        "source/opt/pass_manager.cpp",
+        "source/opt/pass.cpp",
+        "source/opt/pch_source_opt.cpp",
+        "source/opt/private_to_local_pass.cpp",
+        "source/opt/propagator.cpp",
+        "source/opt/reduce_load_size.cpp",
+        "source/opt/redundancy_elimination.cpp",
+        "source/opt/register_pressure.cpp",
+        "source/opt/relax_float_ops_pass.cpp",
+        "source/opt/remove_dontinline_pass.cpp",
+        "source/opt/remove_duplicates_pass.cpp",
+        "source/opt/remove_unused_interface_variables_pass.cpp",
+        "source/opt/replace_desc_array_access_using_var_index.cpp",
+        "source/opt/replace_invalid_opc.cpp",
+        "source/opt/resolve_binding_conflicts_pass.cpp",
+        "source/opt/scalar_analysis_simplification.cpp",
+        "source/opt/scalar_analysis.cpp",
+        "source/opt/scalar_replacement_pass.cpp",
+        "source/opt/set_spec_constant_default_value_pass.cpp",
+        "source/opt/simplification_pass.cpp",
+        "source/opt/split_combined_image_sampler_pass.cpp",
+        "source/opt/spread_volatile_semantics.cpp",
+        "source/opt/ssa_rewrite_pass.cpp",
+        "source/opt/strength_reduction_pass.cpp",
+        "source/opt/strip_debug_info_pass.cpp",
+        "source/opt/strip_nonsemantic_info_pass.cpp",
+        "source/opt/struct_cfg_analysis.cpp",
+        "source/opt/struct_packing_pass.cpp",
+        "source/opt/switch_descriptorset_pass.cpp",
+        "source/opt/trim_capabilities_pass.cpp",
+        "source/opt/type_manager.cpp",
+        "source/opt/types.cpp",
+        "source/opt/unify_const_pass.cpp",
+        "source/opt/upgrade_memory_model.cpp",
+        "source/opt/value_number_table.cpp",
+        "source/opt/vector_dce.cpp",
+        "source/opt/workaround1209.cpp",
+        "source/opt/wrap_opkill.cpp",
+        "source/parsed_operand.cpp",
+        "source/print.cpp",
+        "source/spirv_endian.cpp",
+        "source/spirv_fuzzer_options.cpp",
+        "source/spirv_optimizer_options.cpp",
+        "source/spirv_reducer_options.cpp",
+        "source/spirv_target_env.cpp",
+        "source/spirv_validator_options.cpp",
+        "source/table.cpp",
+        "source/table2.cpp",
+        "source/text_handler.cpp",
+        "source/text.cpp",
+        "source/to_string.cpp",
+        "source/util/bit_vector.cpp",
+        "source/util/parse_number.cpp",
+        "source/util/string_utils.cpp",
+        "source/util/timer.cpp",
+        "source/val/basic_block.cpp",
+        "source/val/construct.cpp",
+        "source/val/function.cpp",
+        "source/val/instruction.cpp",
+        "source/val/validate_adjacency.cpp",
+        "source/val/validate_annotation.cpp",
+        "source/val/validate_arithmetics.cpp",
+        "source/val/validate_atomics.cpp",
+        "source/val/validate_barriers.cpp",
+        "source/val/validate_bitwise.cpp",
+        "source/val/validate_builtins.cpp",
+        "source/val/validate_capability.cpp",
+        "source/val/validate_cfg.cpp",
+        "source/val/validate_composites.cpp",
+        "source/val/validate_constants.cpp",
+        "source/val/validate_conversion.cpp",
+        "source/val/validate_debug.cpp",
+        "source/val/validate_decorations.cpp",
+        "source/val/validate_derivatives.cpp",
+        "source/val/validate_execution_limitations.cpp",
+        "source/val/validate_extensions.cpp",
+        "source/val/validate_function.cpp",
+        "source/val/validate_id.cpp",
+        "source/val/validate_image.cpp",
+        "source/val/validate_instruction.cpp",
+        "source/val/validate_interfaces.cpp",
+        "source/val/validate_invalid_type.cpp",
+        "source/val/validate_layout.cpp",
+        "source/val/validate_literals.cpp",
+        "source/val/validate_logicals.cpp",
+        "source/val/validate_memory_semantics.cpp",
+        "source/val/validate_memory.cpp",
+        "source/val/validate_mesh_shading.cpp",
+        "source/val/validate_misc.cpp",
+        "source/val/validate_mode_setting.cpp",
+        "source/val/validate_non_uniform.cpp",
+        "source/val/validate_primitives.cpp",
+        "source/val/validate_ray_query.cpp",
+        "source/val/validate_ray_tracing_reorder.cpp",
+        "source/val/validate_ray_tracing.cpp",
+        "source/val/validate_scopes.cpp",
+        "source/val/validate_small_type_uses.cpp",
+        "source/val/validate_tensor_layout.cpp",
+        "source/val/validate_tensor.cpp",
+        "source/val/validate_type.cpp",
+        "source/val/validate.cpp",
+        "source/val/validation_state.cpp",
     ],
     local_include_dirs: [
         "source",
@@ -150,6 +337,6 @@
     ],
     stl: "libc++_static",
     cppflags: [
-        "-Wno-implicit-fallthrough"
+        "-Wno-implicit-fallthrough",
     ],
 }