Merge pull request #741 from billhollings/Metal-3.0
Merge master 1.0.37 into Metal-3.0 branch.
diff --git a/Docs/MoltenVK_Runtime_UserGuide.md b/Docs/MoltenVK_Runtime_UserGuide.md
index e4cf172..9bd6595 100644
--- a/Docs/MoltenVK_Runtime_UserGuide.md
+++ b/Docs/MoltenVK_Runtime_UserGuide.md
@@ -231,6 +231,8 @@
- `VK_KHR_bind_memory2`
- `VK_KHR_dedicated_allocation`
- `VK_KHR_descriptor_update_template`
+- `VK_KHR_device_group`
+- `VK_KHR_device_group_creation`
- `VK_KHR_get_memory_requirements2`
- `VK_KHR_get_physical_device_properties2`
- `VK_KHR_get_surface_capabilities2`
@@ -252,6 +254,7 @@
- `VK_EXT_debug_marker`
- `VK_EXT_debug_report`
- `VK_EXT_debug_utils`
+- `VK_EXT_fragment_shader_interlock` *(requires Metal 2.0 and Raster Order Groups)*
- `VK_EXT_host_query_reset`
- `VK_EXT_memory_budget` *(requires Metal 2.0)*
- `VK_EXT_metal_surface`
@@ -510,8 +513,6 @@
In order to use Vulkan layers such as the validation layers, use the Vulkan loader and layers from the
[LunarG Vulkan SDK](https://vulkan.lunarg.com).
-- `VkEvents` are not supported.
-
- Application-controlled memory allocations using `VkAllocationCallbacks` are ignored.
- Pipeline statistics query pool using `VK_QUERY_TYPE_PIPELINE_STATISTICS` is not supported.
diff --git a/Docs/Whats_New.md b/Docs/Whats_New.md
index 50c5b0b..87a421c 100644
--- a/Docs/Whats_New.md
+++ b/Docs/Whats_New.md
@@ -16,10 +16,69 @@
MoltenVK 1.0.37
---------------
-Released TBD
+Released 2019/09/10
+- Add support for extensions:
+ - `VK_KHR_device_group`
+ - `VK_EXT_fragment_shader_interlock`
+- Add support for `VkEvent`, using either native `MTLEvent` or emulation when `MTLEvent` not available.
+- `vkInvalidateMappedMemoryRanges()` synchronizes managed device memory to CPU.
+- Track supported instance and device extensions correctly.
- Revert to supporting host-coherent memory for linear images on macOS.
+- Report limit of 64KB for constant buffer bindings on macOS.
+- Disable depth and/or stencil testing if corresponding attachment is missing.
- Ensure Vulkan loader magic number is set every time before returning any dispatchable Vulkan handle.
+- Fix crash when `VkDeviceCreateInfo` specifies queue families out of numerical order.
+- Fix crash in `vkDestroyPipelineLayout()`.
+- Fix crash when signalling swapchain semaphore using `MTLEvent`.
+- Fix crash when determining alignment of invalid pixel formats.
+- `vkCmdBlitImage():` Support format component swizzling.
+- `vkCmdClearImage():` Set error if attempt made to clear 1D image, and fix validation of depth attachment formats.
+- `vkCreateRenderPass():` Return `VK_ERROR_FORMAT_NOT_SUPPORTED` if format not supported.
+- `vkCmdFillBuffer():` Improve performance 150x by using parallelism more effectively.
+- Support optional use of `MTLFence` for Vulkan semaphores via the `MVK_ALLOW_METAL_FENCES` environment variable.
+- Remove error logging on `VK_TIMEOUT` of `VkSemaphore` and `VkFence`.
+- Remove log message warning of obsolescence of `vkCreateMacOSSurfaceMVK()` and `vkCreateIOSSurfaceMVK()` functions.
+- Report error only on the first time a format substitution is made.
+- Streamline design and use of `MVKSemaphore`.
+- Consolidate the various linkable objects into a `MVKLinkableMixin` template base class.
+- Use `MVKVector` whenever possible in MoltenVK, especially within render loop.
+- No longer prefer dedicated allocations for buffer memory, including buffer-backed images.
+- Handle the `compositeAlpha` member of `VkSwapchainCreateInfoKHR`.
+- `VkPhysicalDevicePortabilitySubsetFeaturesEXTX::events` set to `true`.
+- Always submit surface presentations using `MTLCommandBuffer`.
+ `MVKConfiguration::presentWithCommandBuffer` is now obsolete.
+- Don't use `MTLCommandBuffer push/popDebugGroup` if not available.
+- `MVKSwapchain::signalWhenAvailable()` add autoreleasepool around `MTLCommandBuffer` use.
+- Add ability to automatically cause an *Xcode* GPU capture without developer intervention.
+- Update `VK_MVK_MOLTENVK_SPEC_VERSION` to version 22.
+- Update dependency libraries to match Vulkan SDK 1.1.121.
+- Update to renaming of `VK_INTEL_shader_integer_functions2` enums and structs in latest Vulkan headers.
+- Update to latest SPIRV-Cross version:
+ - Support the `SPV_EXT_fragment_shader_interlock` extension.
+ - MSL: Deal with array copies from and to threadgroup.
+ - MSL: Deal with `Modf/Frexp` where output is access chain to scalar.
+ - MSL: Inline all emitted functions.
+ - MSL: Inline all non-entry-point functions.
+ - MSL: Add `{Base,}{Vertex,Instance}{,Index}` to `bitcast_from_builtin_load`.
+ - MSL: Add support for sampler Y'CbCr conversion.
+ - MSL: Force storage images on iOS to use discrete descriptors.
+ - MSL: Support dynamic offsets for buffers in argument buffers.
+ - MSL: Cleanup temporary use with `emit_uninitialized_temporary`.
+ - MSL: Unify the `get_*_address_space()` methods.
+ - Assume image and sampler can be `RelaxedPrecision`.
+ - Fix post-depth coverage for ESSL.
+ - Fix variable scope when switch block exits multiple times.
+ - Fix severe performance issue with invariant expression invalidation.
+ - Fix `ParsedIR::mark_used_as_array_length(uint32_t id)`
+ - Deal correctly with sign on bitfield operations.
+ - Elide branches to continue block when continue block is also a merge.
+ - Move branchless analysis to CFG.
+ - Deal with `ldexp` taking `uint` input.
+ - Do not allow base expressions for non-native row-major matrices.
+ - Do not force temporary unless continue-only for loop dominates.
+ - Fix `ParsedIR::mark_used_as_array_length(uint32_t id)`.
+ - Refactor into stronger types in public API.
diff --git a/ExternalDependencies.xcodeproj/project.pbxproj b/ExternalDependencies.xcodeproj/project.pbxproj
index 80dc513..3f8af4b 100644
--- a/ExternalDependencies.xcodeproj/project.pbxproj
+++ b/ExternalDependencies.xcodeproj/project.pbxproj
@@ -262,754 +262,786 @@
A976292621CC60BC00B52A68 /* spirv_msl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A976290D21CC60BC00B52A68 /* spirv_msl.cpp */; };
A976292721CC60BC00B52A68 /* spirv_cross_parsed_ir.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A976290E21CC60BC00B52A68 /* spirv_cross_parsed_ir.cpp */; };
A976292821CC60BC00B52A68 /* spirv_cross_parsed_ir.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A976290E21CC60BC00B52A68 /* spirv_cross_parsed_ir.cpp */; };
- A9C2F13922E7833D001763CE /* spirv_target_env.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF7822E7833C001763CE /* spirv_target_env.cpp */; };
- A9C2F13A22E7833D001763CE /* spirv_target_env.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF7822E7833C001763CE /* spirv_target_env.cpp */; };
- A9C2F13B22E7833D001763CE /* spirv_fuzzer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF7A22E7833C001763CE /* spirv_fuzzer_options.h */; };
- A9C2F13C22E7833D001763CE /* spirv_fuzzer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF7A22E7833C001763CE /* spirv_fuzzer_options.h */; };
- A9C2F13D22E7833D001763CE /* assembly_grammar.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF7B22E7833C001763CE /* assembly_grammar.h */; };
- A9C2F13E22E7833D001763CE /* assembly_grammar.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF7B22E7833C001763CE /* assembly_grammar.h */; };
- A9C2F13F22E7833D001763CE /* enum_set.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF7C22E7833C001763CE /* enum_set.h */; };
- A9C2F14022E7833D001763CE /* enum_set.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF7C22E7833C001763CE /* enum_set.h */; };
- A9C2F14122E7833D001763CE /* text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF7F22E7833C001763CE /* text.cpp */; };
- A9C2F14222E7833D001763CE /* text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF7F22E7833C001763CE /* text.cpp */; };
- A9C2F14322E7833D001763CE /* assembly_grammar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF8022E7833C001763CE /* assembly_grammar.cpp */; };
- A9C2F14422E7833D001763CE /* assembly_grammar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF8022E7833C001763CE /* assembly_grammar.cpp */; };
- A9C2F14522E7833D001763CE /* text.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF8122E7833C001763CE /* text.h */; };
- A9C2F14622E7833D001763CE /* text.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF8122E7833C001763CE /* text.h */; };
- A9C2F14722E7833D001763CE /* extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF8222E7833C001763CE /* extensions.cpp */; };
- A9C2F14822E7833D001763CE /* extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF8222E7833C001763CE /* extensions.cpp */; };
- A9C2F14922E7833D001763CE /* pch_source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF8322E7833C001763CE /* pch_source.cpp */; };
- A9C2F14A22E7833D001763CE /* pch_source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF8322E7833C001763CE /* pch_source.cpp */; };
- A9C2F14B22E7833D001763CE /* parse_number.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF8522E7833C001763CE /* parse_number.h */; };
- A9C2F14C22E7833D001763CE /* parse_number.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF8522E7833C001763CE /* parse_number.h */; };
- A9C2F14D22E7833D001763CE /* ilist_node.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF8622E7833C001763CE /* ilist_node.h */; };
- A9C2F14E22E7833D001763CE /* ilist_node.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF8622E7833C001763CE /* ilist_node.h */; };
- A9C2F14F22E7833D001763CE /* make_unique.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF8722E7833C001763CE /* make_unique.h */; };
- A9C2F15022E7833D001763CE /* make_unique.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF8722E7833C001763CE /* make_unique.h */; };
- A9C2F15122E7833D001763CE /* string_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF8822E7833C001763CE /* string_utils.h */; };
- A9C2F15222E7833D001763CE /* string_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF8822E7833C001763CE /* string_utils.h */; };
- A9C2F15322E7833D001763CE /* small_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF8922E7833C001763CE /* small_vector.h */; };
- A9C2F15422E7833D001763CE /* small_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF8922E7833C001763CE /* small_vector.h */; };
- A9C2F15522E7833D001763CE /* timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF8A22E7833C001763CE /* timer.cpp */; };
- A9C2F15622E7833D001763CE /* timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF8A22E7833C001763CE /* timer.cpp */; };
- A9C2F15722E7833D001763CE /* timer.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF8B22E7833C001763CE /* timer.h */; };
- A9C2F15822E7833D001763CE /* timer.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF8B22E7833C001763CE /* timer.h */; };
- A9C2F15922E7833D001763CE /* string_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF8C22E7833C001763CE /* string_utils.cpp */; };
- A9C2F15A22E7833D001763CE /* string_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF8C22E7833C001763CE /* string_utils.cpp */; };
- A9C2F15B22E7833D001763CE /* bit_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF8D22E7833C001763CE /* bit_vector.h */; };
- A9C2F15C22E7833D001763CE /* bit_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF8D22E7833C001763CE /* bit_vector.h */; };
- A9C2F15D22E7833D001763CE /* bitutils.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF8E22E7833C001763CE /* bitutils.h */; };
- A9C2F15E22E7833D001763CE /* bitutils.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF8E22E7833C001763CE /* bitutils.h */; };
- A9C2F15F22E7833D001763CE /* hex_float.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF8F22E7833C001763CE /* hex_float.h */; };
- A9C2F16022E7833D001763CE /* hex_float.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF8F22E7833C001763CE /* hex_float.h */; };
- A9C2F16122E7833D001763CE /* parse_number.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF9022E7833C001763CE /* parse_number.cpp */; };
- A9C2F16222E7833D001763CE /* parse_number.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF9022E7833C001763CE /* parse_number.cpp */; };
- A9C2F16322E7833D001763CE /* bit_vector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF9122E7833C001763CE /* bit_vector.cpp */; };
- A9C2F16422E7833D001763CE /* bit_vector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF9122E7833C001763CE /* bit_vector.cpp */; };
- A9C2F16522E7833D001763CE /* ilist.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF9222E7833C001763CE /* ilist.h */; };
- A9C2F16622E7833D001763CE /* ilist.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF9222E7833C001763CE /* ilist.h */; };
- A9C2F16722E7833D001763CE /* spirv_target_env.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF9322E7833C001763CE /* spirv_target_env.h */; };
- A9C2F16822E7833D001763CE /* spirv_target_env.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF9322E7833C001763CE /* spirv_target_env.h */; };
- A9C2F16922E7833D001763CE /* table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF9422E7833C001763CE /* table.cpp */; };
- A9C2F16A22E7833D001763CE /* table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF9422E7833C001763CE /* table.cpp */; };
- A9C2F16B22E7833D001763CE /* operand_to_undef_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF9622E7833C001763CE /* operand_to_undef_reduction_opportunity_finder.h */; };
- A9C2F16C22E7833D001763CE /* operand_to_undef_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF9622E7833C001763CE /* operand_to_undef_reduction_opportunity_finder.h */; };
- A9C2F16D22E7833D001763CE /* remove_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF9722E7833C001763CE /* remove_selection_reduction_opportunity.cpp */; };
- A9C2F16E22E7833D001763CE /* remove_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF9722E7833C001763CE /* remove_selection_reduction_opportunity.cpp */; };
- A9C2F16F22E7833D001763CE /* remove_block_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF9822E7833C001763CE /* remove_block_reduction_opportunity.h */; };
- A9C2F17022E7833D001763CE /* remove_block_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF9822E7833C001763CE /* remove_block_reduction_opportunity.h */; };
- A9C2F17122E7833D001763CE /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF9922E7833C001763CE /* operand_to_dominating_id_reduction_opportunity_finder.h */; };
- A9C2F17222E7833D001763CE /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF9922E7833C001763CE /* operand_to_dominating_id_reduction_opportunity_finder.h */; };
- A9C2F17322E7833D001763CE /* reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF9A22E7833C001763CE /* reduction_pass.cpp */; };
- A9C2F17422E7833D001763CE /* reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF9A22E7833C001763CE /* reduction_pass.cpp */; };
- A9C2F17522E7833D001763CE /* operand_to_const_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF9B22E7833C001763CE /* operand_to_const_reduction_opportunity_finder.cpp */; };
- A9C2F17622E7833D001763CE /* operand_to_const_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF9B22E7833C001763CE /* operand_to_const_reduction_opportunity_finder.cpp */; };
- A9C2F17722E7833D001763CE /* operand_to_const_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF9C22E7833C001763CE /* operand_to_const_reduction_opportunity_finder.h */; };
- A9C2F17822E7833D001763CE /* operand_to_const_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EF9C22E7833C001763CE /* operand_to_const_reduction_opportunity_finder.h */; };
- A9C2F17922E7833D001763CE /* reduction_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF9E22E7833C001763CE /* reduction_util.cpp */; };
- A9C2F17A22E7833D001763CE /* reduction_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF9E22E7833C001763CE /* reduction_util.cpp */; };
- A9C2F17B22E7833D001763CE /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF9F22E7833C001763CE /* structured_loop_to_selection_reduction_opportunity_finder.cpp */; };
- A9C2F17C22E7833D001763CE /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EF9F22E7833C001763CE /* structured_loop_to_selection_reduction_opportunity_finder.cpp */; };
- A9C2F17D22E7833D001763CE /* simple_conditional_branch_to_branch_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFA022E7833C001763CE /* simple_conditional_branch_to_branch_reduction_opportunity.h */; };
- A9C2F17E22E7833D001763CE /* simple_conditional_branch_to_branch_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFA022E7833C001763CE /* simple_conditional_branch_to_branch_reduction_opportunity.h */; };
- A9C2F17F22E7833D001763CE /* remove_function_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFA122E7833C001763CE /* remove_function_reduction_opportunity_finder.cpp */; };
- A9C2F18022E7833D001763CE /* remove_function_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFA122E7833C001763CE /* remove_function_reduction_opportunity_finder.cpp */; };
- A9C2F18122E7833D001763CE /* remove_instruction_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFA222E7833C001763CE /* remove_instruction_reduction_opportunity.h */; };
- A9C2F18222E7833D001763CE /* remove_instruction_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFA222E7833C001763CE /* remove_instruction_reduction_opportunity.h */; };
- A9C2F18322E7833D001763CE /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFA322E7833C001763CE /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h */; };
- A9C2F18422E7833D001763CE /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFA322E7833C001763CE /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h */; };
- A9C2F18522E7833D001763CE /* simple_conditional_branch_to_branch_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFA422E7833C001763CE /* simple_conditional_branch_to_branch_reduction_opportunity.cpp */; };
- A9C2F18622E7833D001763CE /* simple_conditional_branch_to_branch_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFA422E7833C001763CE /* simple_conditional_branch_to_branch_reduction_opportunity.cpp */; };
- A9C2F18722E7833D001763CE /* remove_function_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFA522E7833C001763CE /* remove_function_reduction_opportunity.cpp */; };
- A9C2F18822E7833D001763CE /* remove_function_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFA522E7833C001763CE /* remove_function_reduction_opportunity.cpp */; };
- A9C2F18922E7833D001763CE /* remove_opname_instruction_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFA622E7833C001763CE /* remove_opname_instruction_reduction_opportunity_finder.h */; };
- A9C2F18A22E7833D001763CE /* remove_opname_instruction_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFA622E7833C001763CE /* remove_opname_instruction_reduction_opportunity_finder.h */; };
- A9C2F18B22E7833D001763CE /* simple_conditional_branch_to_branch_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFA722E7833C001763CE /* simple_conditional_branch_to_branch_opportunity_finder.cpp */; };
- A9C2F18C22E7833D001763CE /* simple_conditional_branch_to_branch_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFA722E7833C001763CE /* simple_conditional_branch_to_branch_opportunity_finder.cpp */; };
- A9C2F18D22E7833D001763CE /* remove_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFA822E7833C001763CE /* remove_selection_reduction_opportunity_finder.cpp */; };
- A9C2F18E22E7833D001763CE /* remove_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFA822E7833C001763CE /* remove_selection_reduction_opportunity_finder.cpp */; };
- A9C2F18F22E7833D001763CE /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFA922E7833C001763CE /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp */; };
- A9C2F19022E7833D001763CE /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFA922E7833C001763CE /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp */; };
- A9C2F19122E7833D001763CE /* simple_conditional_branch_to_branch_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFAA22E7833C001763CE /* simple_conditional_branch_to_branch_opportunity_finder.h */; };
- A9C2F19222E7833D001763CE /* simple_conditional_branch_to_branch_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFAA22E7833C001763CE /* simple_conditional_branch_to_branch_opportunity_finder.h */; };
- A9C2F19322E7833D001763CE /* merge_blocks_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFAB22E7833C001763CE /* merge_blocks_reduction_opportunity.cpp */; };
- A9C2F19422E7833D001763CE /* merge_blocks_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFAB22E7833C001763CE /* merge_blocks_reduction_opportunity.cpp */; };
- A9C2F19522E7833D001763CE /* change_operand_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFAC22E7833C001763CE /* change_operand_reduction_opportunity.cpp */; };
- A9C2F19622E7833D001763CE /* change_operand_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFAC22E7833C001763CE /* change_operand_reduction_opportunity.cpp */; };
- A9C2F19722E7833D001763CE /* structured_loop_to_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFAD22E7833C001763CE /* structured_loop_to_selection_reduction_opportunity.h */; };
- A9C2F19822E7833D001763CE /* structured_loop_to_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFAD22E7833C001763CE /* structured_loop_to_selection_reduction_opportunity.h */; };
- A9C2F19922E7833D001763CE /* remove_function_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFAE22E7833C001763CE /* remove_function_reduction_opportunity.h */; };
- A9C2F19A22E7833D001763CE /* remove_function_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFAE22E7833C001763CE /* remove_function_reduction_opportunity.h */; };
- A9C2F19B22E7833D001763CE /* change_operand_to_undef_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFAF22E7833C001763CE /* change_operand_to_undef_reduction_opportunity.h */; };
- A9C2F19C22E7833D001763CE /* change_operand_to_undef_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFAF22E7833C001763CE /* change_operand_to_undef_reduction_opportunity.h */; };
- A9C2F19D22E7833D001763CE /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFB022E7833C001763CE /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp */; };
- A9C2F19E22E7833D001763CE /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFB022E7833C001763CE /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp */; };
- A9C2F19F22E7833D001763CE /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFB122E7833C001763CE /* structured_loop_to_selection_reduction_opportunity_finder.h */; };
- A9C2F1A022E7833D001763CE /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFB122E7833C001763CE /* structured_loop_to_selection_reduction_opportunity_finder.h */; };
- A9C2F1A122E7833D001763CE /* remove_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFB222E7833C001763CE /* remove_selection_reduction_opportunity.h */; };
- A9C2F1A222E7833D001763CE /* remove_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFB222E7833C001763CE /* remove_selection_reduction_opportunity.h */; };
- A9C2F1A322E7833D001763CE /* remove_instruction_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFB322E7833C001763CE /* remove_instruction_reduction_opportunity.cpp */; };
- A9C2F1A422E7833D001763CE /* remove_instruction_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFB322E7833C001763CE /* remove_instruction_reduction_opportunity.cpp */; };
- A9C2F1A522E7833D001763CE /* remove_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFB422E7833C001763CE /* remove_selection_reduction_opportunity_finder.h */; };
- A9C2F1A622E7833D001763CE /* remove_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFB422E7833C001763CE /* remove_selection_reduction_opportunity_finder.h */; };
- A9C2F1A722E7833D001763CE /* merge_blocks_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFB522E7833C001763CE /* merge_blocks_reduction_opportunity_finder.h */; };
- A9C2F1A822E7833D001763CE /* merge_blocks_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFB522E7833C001763CE /* merge_blocks_reduction_opportunity_finder.h */; };
- A9C2F1A922E7833D001763CE /* remove_opname_instruction_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFB622E7833C001763CE /* remove_opname_instruction_reduction_opportunity_finder.cpp */; };
- A9C2F1AA22E7833D001763CE /* remove_opname_instruction_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFB622E7833C001763CE /* remove_opname_instruction_reduction_opportunity_finder.cpp */; };
- A9C2F1AB22E7833D001763CE /* pch_source_reduce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFB722E7833C001763CE /* pch_source_reduce.cpp */; };
- A9C2F1AC22E7833D001763CE /* pch_source_reduce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFB722E7833C001763CE /* pch_source_reduce.cpp */; };
- A9C2F1AD22E7833D001763CE /* reducer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFB822E7833C001763CE /* reducer.cpp */; };
- A9C2F1AE22E7833D001763CE /* reducer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFB822E7833C001763CE /* reducer.cpp */; };
- A9C2F1AF22E7833D001763CE /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFB922E7833C001763CE /* operand_to_undef_reduction_opportunity_finder.cpp */; };
- A9C2F1B022E7833D001763CE /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFB922E7833C001763CE /* operand_to_undef_reduction_opportunity_finder.cpp */; };
- A9C2F1B122E7833D001763CE /* remove_function_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFBA22E7833C001763CE /* remove_function_reduction_opportunity_finder.h */; };
- A9C2F1B222E7833D001763CE /* remove_function_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFBA22E7833C001763CE /* remove_function_reduction_opportunity_finder.h */; };
- A9C2F1B322E7833D001763CE /* pch_source_reduce.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFBB22E7833C001763CE /* pch_source_reduce.h */; };
- A9C2F1B422E7833D001763CE /* pch_source_reduce.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFBB22E7833C001763CE /* pch_source_reduce.h */; };
- A9C2F1B522E7833D001763CE /* remove_unreferenced_instruction_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFBC22E7833C001763CE /* remove_unreferenced_instruction_reduction_opportunity_finder.h */; };
- A9C2F1B622E7833D001763CE /* remove_unreferenced_instruction_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFBC22E7833C001763CE /* remove_unreferenced_instruction_reduction_opportunity_finder.h */; };
- A9C2F1B722E7833D001763CE /* merge_blocks_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFBD22E7833C001763CE /* merge_blocks_reduction_opportunity_finder.cpp */; };
- A9C2F1B822E7833D001763CE /* merge_blocks_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFBD22E7833C001763CE /* merge_blocks_reduction_opportunity_finder.cpp */; };
- A9C2F1B922E7833D001763CE /* reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFBE22E7833C001763CE /* reduction_opportunity.cpp */; };
- A9C2F1BA22E7833D001763CE /* reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFBE22E7833C001763CE /* reduction_opportunity.cpp */; };
- A9C2F1BB22E7833D001763CE /* reducer.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFBF22E7833C001763CE /* reducer.h */; };
- A9C2F1BC22E7833D001763CE /* reducer.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFBF22E7833C001763CE /* reducer.h */; };
- A9C2F1BD22E7833D001763CE /* change_operand_to_undef_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFC022E7833C001763CE /* change_operand_to_undef_reduction_opportunity.cpp */; };
- A9C2F1BE22E7833D001763CE /* change_operand_to_undef_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFC022E7833C001763CE /* change_operand_to_undef_reduction_opportunity.cpp */; };
- A9C2F1BF22E7833D001763CE /* reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFC122E7833C001763CE /* reduction_opportunity.h */; };
- A9C2F1C022E7833D001763CE /* reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFC122E7833C001763CE /* reduction_opportunity.h */; };
- A9C2F1C122E7833D001763CE /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFC222E7833C001763CE /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h */; };
- A9C2F1C222E7833D001763CE /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFC222E7833C001763CE /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h */; };
- A9C2F1C322E7833D001763CE /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFC322E7833C001763CE /* operand_to_dominating_id_reduction_opportunity_finder.cpp */; };
- A9C2F1C422E7833D001763CE /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFC322E7833C001763CE /* operand_to_dominating_id_reduction_opportunity_finder.cpp */; };
- A9C2F1C522E7833D001763CE /* reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFC422E7833C001763CE /* reduction_opportunity_finder.h */; };
- A9C2F1C622E7833D001763CE /* reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFC422E7833C001763CE /* reduction_opportunity_finder.h */; };
- A9C2F1C722E7833D001763CE /* change_operand_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFC522E7833C001763CE /* change_operand_reduction_opportunity.h */; };
- A9C2F1C822E7833D001763CE /* change_operand_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFC522E7833C001763CE /* change_operand_reduction_opportunity.h */; };
- A9C2F1C922E7833D001763CE /* remove_block_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFC622E7833C001763CE /* remove_block_reduction_opportunity_finder.h */; };
- A9C2F1CA22E7833D001763CE /* remove_block_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFC622E7833C001763CE /* remove_block_reduction_opportunity_finder.h */; };
- A9C2F1CB22E7833D001763CE /* remove_block_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFC722E7833C001763CE /* remove_block_reduction_opportunity_finder.cpp */; };
- A9C2F1CC22E7833D001763CE /* remove_block_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFC722E7833C001763CE /* remove_block_reduction_opportunity_finder.cpp */; };
- A9C2F1CD22E7833D001763CE /* reduction_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFC822E7833C001763CE /* reduction_util.h */; };
- A9C2F1CE22E7833D001763CE /* reduction_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFC822E7833C001763CE /* reduction_util.h */; };
- A9C2F1CF22E7833D001763CE /* merge_blocks_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFC922E7833C001763CE /* merge_blocks_reduction_opportunity.h */; };
- A9C2F1D022E7833D001763CE /* merge_blocks_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFC922E7833C001763CE /* merge_blocks_reduction_opportunity.h */; };
- A9C2F1D122E7833D001763CE /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFCA22E7833C001763CE /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp */; };
- A9C2F1D222E7833D001763CE /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFCA22E7833C001763CE /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp */; };
- A9C2F1D322E7833D001763CE /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFCB22E7833C001763CE /* structured_loop_to_selection_reduction_opportunity.cpp */; };
- A9C2F1D422E7833D001763CE /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFCB22E7833C001763CE /* structured_loop_to_selection_reduction_opportunity.cpp */; };
- A9C2F1D522E7833D001763CE /* remove_block_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFCC22E7833C001763CE /* remove_block_reduction_opportunity.cpp */; };
- A9C2F1D622E7833D001763CE /* remove_block_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFCC22E7833C001763CE /* remove_block_reduction_opportunity.cpp */; };
- A9C2F1D722E7833D001763CE /* reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFCD22E7833C001763CE /* reduction_pass.h */; };
- A9C2F1D822E7833D001763CE /* reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFCD22E7833C001763CE /* reduction_pass.h */; };
- A9C2F1D922E7833D001763CE /* latest_version_opencl_std_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFCE22E7833C001763CE /* latest_version_opencl_std_header.h */; };
- A9C2F1DA22E7833D001763CE /* latest_version_opencl_std_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFCE22E7833C001763CE /* latest_version_opencl_std_header.h */; };
- A9C2F1DB22E7833D001763CE /* spirv_optimizer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFCF22E7833C001763CE /* spirv_optimizer_options.cpp */; };
- A9C2F1DC22E7833D001763CE /* spirv_optimizer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFCF22E7833C001763CE /* spirv_optimizer_options.cpp */; };
- A9C2F1DD22E7833D001763CE /* cfa.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFD022E7833C001763CE /* cfa.h */; };
- A9C2F1DE22E7833D001763CE /* cfa.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFD022E7833C001763CE /* cfa.h */; };
- A9C2F1DF22E7833D001763CE /* pch_source.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFD122E7833C001763CE /* pch_source.h */; };
- A9C2F1E022E7833D001763CE /* pch_source.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFD122E7833C001763CE /* pch_source.h */; };
- A9C2F1E122E7833D001763CE /* enum_string_mapping.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFD222E7833C001763CE /* enum_string_mapping.h */; };
- A9C2F1E222E7833D001763CE /* enum_string_mapping.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFD222E7833C001763CE /* enum_string_mapping.h */; };
- A9C2F1E322E7833D001763CE /* spirv_fuzzer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFD322E7833C001763CE /* spirv_fuzzer_options.cpp */; };
- A9C2F1E422E7833D001763CE /* spirv_fuzzer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFD322E7833C001763CE /* spirv_fuzzer_options.cpp */; };
- A9C2F1E522E7833D001763CE /* spirv_reducer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFD422E7833C001763CE /* spirv_reducer_options.h */; };
- A9C2F1E622E7833D001763CE /* spirv_reducer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFD422E7833C001763CE /* spirv_reducer_options.h */; };
- A9C2F1E722E7833D001763CE /* spirv_validator_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFD522E7833C001763CE /* spirv_validator_options.cpp */; };
- A9C2F1E822E7833D001763CE /* spirv_validator_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFD522E7833C001763CE /* spirv_validator_options.cpp */; };
- A9C2F1E922E7833D001763CE /* print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFD722E7833C001763CE /* print.cpp */; };
- A9C2F1EA22E7833D001763CE /* print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFD722E7833C001763CE /* print.cpp */; };
- A9C2F1EB22E7833D001763CE /* spirv_definition.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFD822E7833C001763CE /* spirv_definition.h */; };
- A9C2F1EC22E7833D001763CE /* spirv_definition.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFD822E7833C001763CE /* spirv_definition.h */; };
- A9C2F1ED22E7833D001763CE /* operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFD922E7833C001763CE /* operand.h */; };
- A9C2F1EE22E7833D001763CE /* operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFD922E7833C001763CE /* operand.h */; };
- A9C2F1EF22E7833D001763CE /* spirv_endian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFDA22E7833C001763CE /* spirv_endian.cpp */; };
- A9C2F1F022E7833D001763CE /* spirv_endian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFDA22E7833C001763CE /* spirv_endian.cpp */; };
- A9C2F1F122E7833D001763CE /* macro.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFDB22E7833C001763CE /* macro.h */; };
- A9C2F1F222E7833D001763CE /* macro.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFDB22E7833C001763CE /* macro.h */; };
- A9C2F1F322E7833D001763CE /* spirv_constant.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFDC22E7833C001763CE /* spirv_constant.h */; };
- A9C2F1F422E7833D001763CE /* spirv_constant.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFDC22E7833C001763CE /* spirv_constant.h */; };
- A9C2F1F522E7833D001763CE /* binary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFDE22E7833C001763CE /* binary.cpp */; };
- A9C2F1F622E7833D001763CE /* binary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFDE22E7833C001763CE /* binary.cpp */; };
- A9C2F1F722E7833D001763CE /* spirv_validator_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFDF22E7833C001763CE /* spirv_validator_options.h */; };
- A9C2F1F822E7833D001763CE /* spirv_validator_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFDF22E7833C001763CE /* spirv_validator_options.h */; };
- A9C2F1F922E7833D001763CE /* enum_string_mapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFE022E7833C001763CE /* enum_string_mapping.cpp */; };
- A9C2F1FA22E7833D001763CE /* enum_string_mapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFE022E7833C001763CE /* enum_string_mapping.cpp */; };
- A9C2F1FB22E7833D001763CE /* text_handler.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFE122E7833C001763CE /* text_handler.h */; };
- A9C2F1FC22E7833D001763CE /* text_handler.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFE122E7833C001763CE /* text_handler.h */; };
- A9C2F1FD22E7833D001763CE /* parsed_operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFE222E7833C001763CE /* parsed_operand.h */; };
- A9C2F1FE22E7833D001763CE /* parsed_operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFE222E7833C001763CE /* parsed_operand.h */; };
- A9C2F1FF22E7833D001763CE /* name_mapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFE322E7833C001763CE /* name_mapper.h */; };
- A9C2F20022E7833D001763CE /* name_mapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFE322E7833C001763CE /* name_mapper.h */; };
- A9C2F20122E7833D001763CE /* spirv_reducer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFE422E7833C001763CE /* spirv_reducer_options.cpp */; };
- A9C2F20222E7833D001763CE /* spirv_reducer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFE422E7833C001763CE /* spirv_reducer_options.cpp */; };
- A9C2F20322E7833D001763CE /* parsed_operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFE522E7833C001763CE /* parsed_operand.cpp */; };
- A9C2F20422E7833D001763CE /* parsed_operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFE522E7833C001763CE /* parsed_operand.cpp */; };
- A9C2F20522E7833D001763CE /* diagnostic.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFE622E7833C001763CE /* diagnostic.h */; };
- A9C2F20622E7833D001763CE /* diagnostic.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFE622E7833C001763CE /* diagnostic.h */; };
- A9C2F20722E7833D001763CE /* spirv_endian.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFE722E7833C001763CE /* spirv_endian.h */; };
- A9C2F20822E7833D001763CE /* spirv_endian.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFE722E7833C001763CE /* spirv_endian.h */; };
- A9C2F20922E7833D001763CE /* name_mapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFE822E7833C001763CE /* name_mapper.cpp */; };
- A9C2F20A22E7833D001763CE /* name_mapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFE822E7833C001763CE /* name_mapper.cpp */; };
- A9C2F20B22E7833D001763CE /* linker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFEC22E7833C001763CE /* linker.cpp */; };
- A9C2F20C22E7833D001763CE /* linker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFEC22E7833C001763CE /* linker.cpp */; };
- A9C2F20D22E7833D001763CE /* software_version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFED22E7833C001763CE /* software_version.cpp */; };
- A9C2F20E22E7833D001763CE /* software_version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFED22E7833C001763CE /* software_version.cpp */; };
- A9C2F20F22E7833D001763CE /* opcode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFEE22E7833C001763CE /* opcode.cpp */; };
- A9C2F21022E7833D001763CE /* opcode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFEE22E7833C001763CE /* opcode.cpp */; };
- A9C2F21122E7833D001763CE /* print.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFEF22E7833C001763CE /* print.h */; };
- A9C2F21222E7833D001763CE /* print.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFEF22E7833C001763CE /* print.h */; };
- A9C2F21322E7833D001763CE /* ext_inst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFF022E7833C001763CE /* ext_inst.cpp */; };
- A9C2F21422E7833D001763CE /* ext_inst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFF022E7833C001763CE /* ext_inst.cpp */; };
- A9C2F21522E7833D001763CE /* disassemble.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFF122E7833C001763CE /* disassemble.h */; };
- A9C2F21622E7833D001763CE /* disassemble.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFF122E7833C001763CE /* disassemble.h */; };
- A9C2F21722E7833D001763CE /* optimizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFF322E7833C001763CE /* optimizer.cpp */; };
- A9C2F21822E7833D001763CE /* optimizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFF322E7833C001763CE /* optimizer.cpp */; };
- A9C2F21922E7833D001763CE /* if_conversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFF422E7833C001763CE /* if_conversion.h */; };
- A9C2F21A22E7833D001763CE /* if_conversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFF422E7833C001763CE /* if_conversion.h */; };
- A9C2F21B22E7833D001763CE /* register_pressure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFF522E7833C001763CE /* register_pressure.cpp */; };
- A9C2F21C22E7833D001763CE /* register_pressure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFF522E7833C001763CE /* register_pressure.cpp */; };
- A9C2F21D22E7833D001763CE /* loop_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFF622E7833C001763CE /* loop_utils.cpp */; };
- A9C2F21E22E7833D001763CE /* loop_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFF622E7833C001763CE /* loop_utils.cpp */; };
- A9C2F21F22E7833D001763CE /* merge_return_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFF722E7833C001763CE /* merge_return_pass.h */; };
- A9C2F22022E7833D001763CE /* merge_return_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFF722E7833C001763CE /* merge_return_pass.h */; };
- A9C2F22122E7833D001763CE /* inline_opaque_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFF822E7833C001763CE /* inline_opaque_pass.h */; };
- A9C2F22222E7833D001763CE /* inline_opaque_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFF822E7833C001763CE /* inline_opaque_pass.h */; };
- A9C2F22322E7833D001763CE /* loop_fusion.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFF922E7833C001763CE /* loop_fusion.h */; };
- A9C2F22422E7833D001763CE /* loop_fusion.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFF922E7833C001763CE /* loop_fusion.h */; };
- A9C2F22522E7833D001763CE /* combine_access_chains.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFFA22E7833C001763CE /* combine_access_chains.cpp */; };
- A9C2F22622E7833D001763CE /* combine_access_chains.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFFA22E7833C001763CE /* combine_access_chains.cpp */; };
- A9C2F22722E7833D001763CE /* build_module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFFB22E7833C001763CE /* build_module.cpp */; };
- A9C2F22822E7833D001763CE /* build_module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2EFFB22E7833C001763CE /* build_module.cpp */; };
- A9C2F22922E7833D001763CE /* composite.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFFC22E7833C001763CE /* composite.h */; };
- A9C2F22A22E7833D001763CE /* composite.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFFC22E7833C001763CE /* composite.h */; };
- A9C2F22B22E7833D001763CE /* compact_ids_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFFD22E7833C001763CE /* compact_ids_pass.h */; };
- A9C2F22C22E7833D001763CE /* compact_ids_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFFD22E7833C001763CE /* compact_ids_pass.h */; };
- A9C2F22D22E7833D001763CE /* register_pressure.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFFE22E7833C001763CE /* register_pressure.h */; };
- A9C2F22E22E7833D001763CE /* register_pressure.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFFE22E7833C001763CE /* register_pressure.h */; };
- A9C2F22F22E7833D001763CE /* tree_iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFFF22E7833C001763CE /* tree_iterator.h */; };
- A9C2F23022E7833D001763CE /* tree_iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2EFFF22E7833C001763CE /* tree_iterator.h */; };
- A9C2F23122E7833D001763CE /* strip_atomic_counter_memory_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F00022E7833C001763CE /* strip_atomic_counter_memory_pass.h */; };
- A9C2F23222E7833D001763CE /* strip_atomic_counter_memory_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F00022E7833C001763CE /* strip_atomic_counter_memory_pass.h */; };
- A9C2F23322E7833D001763CE /* legalize_vector_shuffle_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F00122E7833C001763CE /* legalize_vector_shuffle_pass.h */; };
- A9C2F23422E7833D001763CE /* legalize_vector_shuffle_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F00122E7833C001763CE /* legalize_vector_shuffle_pass.h */; };
- A9C2F23522E7833D001763CE /* local_single_store_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F00222E7833C001763CE /* local_single_store_elim_pass.h */; };
- A9C2F23622E7833D001763CE /* local_single_store_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F00222E7833C001763CE /* local_single_store_elim_pass.h */; };
- A9C2F23722E7833D001763CE /* reduce_load_size.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F00322E7833C001763CE /* reduce_load_size.h */; };
- A9C2F23822E7833D001763CE /* reduce_load_size.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F00322E7833C001763CE /* reduce_load_size.h */; };
- A9C2F23922E7833D001763CE /* code_sink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F00422E7833C001763CE /* code_sink.cpp */; };
- A9C2F23A22E7833D001763CE /* code_sink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F00422E7833C001763CE /* code_sink.cpp */; };
- A9C2F23B22E7833D001763CE /* types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F00522E7833C001763CE /* types.cpp */; };
- A9C2F23C22E7833D001763CE /* types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F00522E7833C001763CE /* types.cpp */; };
- A9C2F23D22E7833D001763CE /* scalar_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F00622E7833C001763CE /* scalar_analysis.h */; };
- A9C2F23E22E7833D001763CE /* scalar_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F00622E7833C001763CE /* scalar_analysis.h */; };
- A9C2F23F22E7833D001763CE /* strip_debug_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F00722E7833C001763CE /* strip_debug_info_pass.h */; };
- A9C2F24022E7833D001763CE /* strip_debug_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F00722E7833C001763CE /* strip_debug_info_pass.h */; };
- A9C2F24122E7833D001763CE /* cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F00822E7833C001763CE /* cfg.cpp */; };
- A9C2F24222E7833D001763CE /* cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F00822E7833C001763CE /* cfg.cpp */; };
- A9C2F24322E7833D001763CE /* strip_atomic_counter_memory_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F00922E7833C001763CE /* strip_atomic_counter_memory_pass.cpp */; };
- A9C2F24422E7833D001763CE /* strip_atomic_counter_memory_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F00922E7833C001763CE /* strip_atomic_counter_memory_pass.cpp */; };
- A9C2F24522E7833D001763CE /* decoration_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F00A22E7833C001763CE /* decoration_manager.cpp */; };
- A9C2F24622E7833D001763CE /* decoration_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F00A22E7833C001763CE /* decoration_manager.cpp */; };
- A9C2F24722E7833D001763CE /* local_single_block_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F00B22E7833C001763CE /* local_single_block_elim_pass.cpp */; };
- A9C2F24822E7833D001763CE /* local_single_block_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F00B22E7833C001763CE /* local_single_block_elim_pass.cpp */; };
- A9C2F24922E7833D001763CE /* freeze_spec_constant_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F00C22E7833C001763CE /* freeze_spec_constant_value_pass.cpp */; };
- A9C2F24A22E7833D001763CE /* freeze_spec_constant_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F00C22E7833C001763CE /* freeze_spec_constant_value_pass.cpp */; };
- A9C2F24B22E7833D001763CE /* replace_invalid_opc.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F00D22E7833C001763CE /* replace_invalid_opc.h */; };
- A9C2F24C22E7833D001763CE /* replace_invalid_opc.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F00D22E7833C001763CE /* replace_invalid_opc.h */; };
- A9C2F24D22E7833D001763CE /* local_access_chain_convert_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F00E22E7833C001763CE /* local_access_chain_convert_pass.h */; };
- A9C2F24E22E7833D001763CE /* local_access_chain_convert_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F00E22E7833C001763CE /* local_access_chain_convert_pass.h */; };
- A9C2F24F22E7833D001763CE /* inst_bindless_check_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F00F22E7833C001763CE /* inst_bindless_check_pass.cpp */; };
- A9C2F25022E7833D001763CE /* inst_bindless_check_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F00F22E7833C001763CE /* inst_bindless_check_pass.cpp */; };
- A9C2F25122E7833D001763CE /* local_redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F01022E7833C001763CE /* local_redundancy_elimination.cpp */; };
- A9C2F25222E7833D001763CE /* local_redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F01022E7833C001763CE /* local_redundancy_elimination.cpp */; };
- A9C2F25322E7833D001763CE /* instrument_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F01222E7833C001763CE /* instrument_pass.cpp */; };
- A9C2F25422E7833D001763CE /* instrument_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F01222E7833C001763CE /* instrument_pass.cpp */; };
- A9C2F25522E7833D001763CE /* propagator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F01322E7833C001763CE /* propagator.h */; };
- A9C2F25622E7833D001763CE /* propagator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F01322E7833C001763CE /* propagator.h */; };
- A9C2F25722E7833D001763CE /* instruction_list.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F01422E7833C001763CE /* instruction_list.h */; };
- A9C2F25822E7833D001763CE /* instruction_list.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F01422E7833C001763CE /* instruction_list.h */; };
- A9C2F25922E7833D001763CE /* feature_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F01522E7833C001763CE /* feature_manager.cpp */; };
- A9C2F25A22E7833D001763CE /* feature_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F01522E7833C001763CE /* feature_manager.cpp */; };
- A9C2F25B22E7833D001763CE /* pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F01622E7833C001763CE /* pass.cpp */; };
- A9C2F25C22E7833D001763CE /* pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F01622E7833C001763CE /* pass.cpp */; };
- A9C2F25D22E7833D001763CE /* loop_fission.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F01722E7833C001763CE /* loop_fission.cpp */; };
- A9C2F25E22E7833D001763CE /* loop_fission.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F01722E7833C001763CE /* loop_fission.cpp */; };
- A9C2F25F22E7833D001763CE /* dominator_tree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F01822E7833C001763CE /* dominator_tree.cpp */; };
- A9C2F26022E7833D001763CE /* dominator_tree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F01822E7833C001763CE /* dominator_tree.cpp */; };
- A9C2F26122E7833D001763CE /* merge_return_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F01922E7833C001763CE /* merge_return_pass.cpp */; };
- A9C2F26222E7833D001763CE /* merge_return_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F01922E7833C001763CE /* merge_return_pass.cpp */; };
- A9C2F26322E7833D001763CE /* ir_context.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F01A22E7833C001763CE /* ir_context.h */; };
- A9C2F26422E7833D001763CE /* ir_context.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F01A22E7833C001763CE /* ir_context.h */; };
- A9C2F26522E7833D001763CE /* eliminate_dead_constant_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F01B22E7833C001763CE /* eliminate_dead_constant_pass.cpp */; };
- A9C2F26622E7833D001763CE /* eliminate_dead_constant_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F01B22E7833C001763CE /* eliminate_dead_constant_pass.cpp */; };
- A9C2F26722E7833D001763CE /* cfg_cleanup_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F01C22E7833C001763CE /* cfg_cleanup_pass.cpp */; };
- A9C2F26822E7833D001763CE /* cfg_cleanup_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F01C22E7833C001763CE /* cfg_cleanup_pass.cpp */; };
- A9C2F26922E7833D001763CE /* const_folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F01D22E7833C001763CE /* const_folding_rules.cpp */; };
- A9C2F26A22E7833D001763CE /* const_folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F01D22E7833C001763CE /* const_folding_rules.cpp */; };
- A9C2F26B22E7833D001763CE /* loop_unroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F01E22E7833C001763CE /* loop_unroller.h */; };
- A9C2F26C22E7833D001763CE /* loop_unroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F01E22E7833C001763CE /* loop_unroller.h */; };
- A9C2F26D22E7833D001763CE /* strip_debug_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F01F22E7833C001763CE /* strip_debug_info_pass.cpp */; };
- A9C2F26E22E7833D001763CE /* strip_debug_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F01F22E7833C001763CE /* strip_debug_info_pass.cpp */; };
- A9C2F26F22E7833D001763CE /* ssa_rewrite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F02022E7833C001763CE /* ssa_rewrite_pass.cpp */; };
- A9C2F27022E7833D001763CE /* ssa_rewrite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F02022E7833C001763CE /* ssa_rewrite_pass.cpp */; };
- A9C2F27122E7833D001763CE /* loop_dependence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F02122E7833C001763CE /* loop_dependence.cpp */; };
- A9C2F27222E7833D001763CE /* loop_dependence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F02122E7833C001763CE /* loop_dependence.cpp */; };
- A9C2F27322E7833D001763CE /* unify_const_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F02222E7833C001763CE /* unify_const_pass.h */; };
- A9C2F27422E7833D001763CE /* unify_const_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F02222E7833C001763CE /* unify_const_pass.h */; };
- A9C2F27522E7833D001763CE /* ir_loader.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F02322E7833C001763CE /* ir_loader.h */; };
- A9C2F27622E7833D001763CE /* ir_loader.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F02322E7833C001763CE /* ir_loader.h */; };
- A9C2F27722E7833D001763CE /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F02422E7833C001763CE /* types.h */; };
- A9C2F27822E7833D001763CE /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F02422E7833C001763CE /* types.h */; };
- A9C2F27922E7833D001763CE /* fold_spec_constant_op_and_composite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F02522E7833C001763CE /* fold_spec_constant_op_and_composite_pass.h */; };
- A9C2F27A22E7833D001763CE /* fold_spec_constant_op_and_composite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F02522E7833C001763CE /* fold_spec_constant_op_and_composite_pass.h */; };
- A9C2F27B22E7833D001763CE /* mem_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F02622E7833C001763CE /* mem_pass.cpp */; };
- A9C2F27C22E7833D001763CE /* mem_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F02622E7833C001763CE /* mem_pass.cpp */; };
- A9C2F27D22E7833D001763CE /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F02722E7833C001763CE /* basic_block.h */; };
- A9C2F27E22E7833D001763CE /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F02722E7833C001763CE /* basic_block.h */; };
- A9C2F27F22E7833D001763CE /* remove_duplicates_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F02822E7833C001763CE /* remove_duplicates_pass.cpp */; };
- A9C2F28022E7833D001763CE /* remove_duplicates_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F02822E7833C001763CE /* remove_duplicates_pass.cpp */; };
- A9C2F28122E7833D001763CE /* dead_variable_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F02922E7833C001763CE /* dead_variable_elimination.cpp */; };
- A9C2F28222E7833D001763CE /* dead_variable_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F02922E7833C001763CE /* dead_variable_elimination.cpp */; };
- A9C2F28322E7833D001763CE /* block_merge_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F02A22E7833C001763CE /* block_merge_pass.h */; };
- A9C2F28422E7833D001763CE /* block_merge_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F02A22E7833C001763CE /* block_merge_pass.h */; };
- A9C2F28522E7833D001763CE /* module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F02B22E7833C001763CE /* module.cpp */; };
- A9C2F28622E7833D001763CE /* module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F02B22E7833C001763CE /* module.cpp */; };
- A9C2F28722E7833D001763CE /* fold_spec_constant_op_and_composite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F02C22E7833C001763CE /* fold_spec_constant_op_and_composite_pass.cpp */; };
- A9C2F28822E7833D001763CE /* fold_spec_constant_op_and_composite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F02C22E7833C001763CE /* fold_spec_constant_op_and_composite_pass.cpp */; };
- A9C2F28922E7833D001763CE /* loop_unswitch_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F02D22E7833C001763CE /* loop_unswitch_pass.cpp */; };
- A9C2F28A22E7833D001763CE /* loop_unswitch_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F02D22E7833C001763CE /* loop_unswitch_pass.cpp */; };
- A9C2F28B22E7833D001763CE /* unify_const_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F02E22E7833C001763CE /* unify_const_pass.cpp */; };
- A9C2F28C22E7833D001763CE /* unify_const_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F02E22E7833C001763CE /* unify_const_pass.cpp */; };
- A9C2F28D22E7833D001763CE /* type_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F02F22E7833C001763CE /* type_manager.cpp */; };
- A9C2F28E22E7833D001763CE /* type_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F02F22E7833C001763CE /* type_manager.cpp */; };
- A9C2F28F22E7833D001763CE /* generate_webgpu_initializers_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F03022E7833C001763CE /* generate_webgpu_initializers_pass.cpp */; };
- A9C2F29022E7833D001763CE /* generate_webgpu_initializers_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F03022E7833C001763CE /* generate_webgpu_initializers_pass.cpp */; };
- A9C2F29122E7833D001763CE /* private_to_local_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F03122E7833C001763CE /* private_to_local_pass.h */; };
- A9C2F29222E7833D001763CE /* private_to_local_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F03122E7833C001763CE /* private_to_local_pass.h */; };
- A9C2F29322E7833D001763CE /* inline_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F03222E7833C001763CE /* inline_pass.cpp */; };
- A9C2F29422E7833D001763CE /* inline_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F03222E7833C001763CE /* inline_pass.cpp */; };
- A9C2F29522E7833D001763CE /* def_use_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F03322E7833C001763CE /* def_use_manager.h */; };
- A9C2F29622E7833D001763CE /* def_use_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F03322E7833C001763CE /* def_use_manager.h */; };
- A9C2F29722E7833D001763CE /* ir_loader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F03422E7833C001763CE /* ir_loader.cpp */; };
- A9C2F29822E7833D001763CE /* ir_loader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F03422E7833C001763CE /* ir_loader.cpp */; };
- A9C2F29922E7833D001763CE /* cfg_cleanup_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F03522E7833C001763CE /* cfg_cleanup_pass.h */; };
- A9C2F29A22E7833D001763CE /* cfg_cleanup_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F03522E7833C001763CE /* cfg_cleanup_pass.h */; };
- A9C2F29B22E7833D001763CE /* licm_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F03622E7833C001763CE /* licm_pass.cpp */; };
- A9C2F29C22E7833D001763CE /* licm_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F03622E7833C001763CE /* licm_pass.cpp */; };
- A9C2F29D22E7833D001763CE /* eliminate_dead_functions_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F03722E7833C001763CE /* eliminate_dead_functions_pass.cpp */; };
- A9C2F29E22E7833D001763CE /* eliminate_dead_functions_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F03722E7833C001763CE /* eliminate_dead_functions_pass.cpp */; };
- A9C2F29F22E7833D001763CE /* local_redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F03822E7833C001763CE /* local_redundancy_elimination.h */; };
- A9C2F2A022E7833D001763CE /* local_redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F03822E7833C001763CE /* local_redundancy_elimination.h */; };
- A9C2F2A122E7833D001763CE /* split_invalid_unreachable_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F03922E7833C001763CE /* split_invalid_unreachable_pass.cpp */; };
- A9C2F2A222E7833D001763CE /* split_invalid_unreachable_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F03922E7833C001763CE /* split_invalid_unreachable_pass.cpp */; };
- A9C2F2A322E7833D001763CE /* loop_peeling.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F03A22E7833C001763CE /* loop_peeling.h */; };
- A9C2F2A422E7833D001763CE /* loop_peeling.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F03A22E7833C001763CE /* loop_peeling.h */; };
- A9C2F2A522E7833D001763CE /* vector_dce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F03B22E7833C001763CE /* vector_dce.cpp */; };
- A9C2F2A622E7833D001763CE /* vector_dce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F03B22E7833C001763CE /* vector_dce.cpp */; };
- A9C2F2A722E7833D001763CE /* block_merge_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F03C22E7833C001763CE /* block_merge_util.h */; };
- A9C2F2A822E7833D001763CE /* block_merge_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F03C22E7833C001763CE /* block_merge_util.h */; };
- A9C2F2A922E7833D001763CE /* loop_unroller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F03D22E7833C001763CE /* loop_unroller.cpp */; };
- A9C2F2AA22E7833D001763CE /* loop_unroller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F03D22E7833C001763CE /* loop_unroller.cpp */; };
- A9C2F2AB22E7833D001763CE /* constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F03E22E7833C001763CE /* constants.cpp */; };
- A9C2F2AC22E7833D001763CE /* constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F03E22E7833C001763CE /* constants.cpp */; };
- A9C2F2AD22E7833D001763CE /* loop_fusion_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F03F22E7833C001763CE /* loop_fusion_pass.h */; };
- A9C2F2AE22E7833D001763CE /* loop_fusion_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F03F22E7833C001763CE /* loop_fusion_pass.h */; };
- A9C2F2AF22E7833D001763CE /* struct_cfg_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F04022E7833C001763CE /* struct_cfg_analysis.h */; };
- A9C2F2B022E7833D001763CE /* struct_cfg_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F04022E7833C001763CE /* struct_cfg_analysis.h */; };
- A9C2F2B122E7833D001763CE /* def_use_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F04122E7833C001763CE /* def_use_manager.cpp */; };
- A9C2F2B222E7833D001763CE /* def_use_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F04122E7833C001763CE /* def_use_manager.cpp */; };
- A9C2F2B322E7833D001763CE /* strip_reflect_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F04222E7833C001763CE /* strip_reflect_info_pass.cpp */; };
- A9C2F2B422E7833D001763CE /* strip_reflect_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F04222E7833C001763CE /* strip_reflect_info_pass.cpp */; };
- A9C2F2B522E7833D001763CE /* decoration_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F04322E7833C001763CE /* decoration_manager.h */; };
- A9C2F2B622E7833D001763CE /* decoration_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F04322E7833C001763CE /* decoration_manager.h */; };
- A9C2F2B722E7833D001763CE /* ccp_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F04422E7833C001763CE /* ccp_pass.cpp */; };
- A9C2F2B822E7833D001763CE /* ccp_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F04422E7833C001763CE /* ccp_pass.cpp */; };
- A9C2F2B922E7833D001763CE /* process_lines_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F04522E7833C001763CE /* process_lines_pass.h */; };
- A9C2F2BA22E7833D001763CE /* process_lines_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F04522E7833C001763CE /* process_lines_pass.h */; };
- A9C2F2BB22E7833D001763CE /* local_single_block_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F04622E7833C001763CE /* local_single_block_elim_pass.h */; };
- A9C2F2BC22E7833D001763CE /* local_single_block_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F04622E7833C001763CE /* local_single_block_elim_pass.h */; };
- A9C2F2BD22E7833D001763CE /* pch_source_opt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F04722E7833C001763CE /* pch_source_opt.cpp */; };
- A9C2F2BE22E7833D001763CE /* pch_source_opt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F04722E7833C001763CE /* pch_source_opt.cpp */; };
- A9C2F2BF22E7833D001763CE /* strength_reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F04822E7833C001763CE /* strength_reduction_pass.h */; };
- A9C2F2C022E7833D001763CE /* strength_reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F04822E7833C001763CE /* strength_reduction_pass.h */; };
- A9C2F2C122E7833D001763CE /* aggressive_dead_code_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F04922E7833C001763CE /* aggressive_dead_code_elim_pass.cpp */; };
- A9C2F2C222E7833D001763CE /* aggressive_dead_code_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F04922E7833C001763CE /* aggressive_dead_code_elim_pass.cpp */; };
- A9C2F2C322E7833D001763CE /* eliminate_dead_functions_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F04A22E7833C001763CE /* eliminate_dead_functions_util.cpp */; };
- A9C2F2C422E7833D001763CE /* eliminate_dead_functions_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F04A22E7833C001763CE /* eliminate_dead_functions_util.cpp */; };
- A9C2F2C522E7833D001763CE /* simplification_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F04B22E7833C001763CE /* simplification_pass.cpp */; };
- A9C2F2C622E7833D001763CE /* simplification_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F04B22E7833C001763CE /* simplification_pass.cpp */; };
- A9C2F2C722E7833D001763CE /* dead_branch_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F04C22E7833C001763CE /* dead_branch_elim_pass.cpp */; };
- A9C2F2C822E7833D001763CE /* dead_branch_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F04C22E7833C001763CE /* dead_branch_elim_pass.cpp */; };
- A9C2F2C922E7833D001763CE /* flatten_decoration_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F04D22E7833C001763CE /* flatten_decoration_pass.cpp */; };
- A9C2F2CA22E7833D001763CE /* flatten_decoration_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F04D22E7833C001763CE /* flatten_decoration_pass.cpp */; };
- A9C2F2CB22E7833D001763CE /* dead_insert_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F04E22E7833C001763CE /* dead_insert_elim_pass.h */; };
- A9C2F2CC22E7833D001763CE /* dead_insert_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F04E22E7833C001763CE /* dead_insert_elim_pass.h */; };
- A9C2F2CD22E7833D001763CE /* folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F04F22E7833C001763CE /* folding_rules.cpp */; };
- A9C2F2CE22E7833D001763CE /* folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F04F22E7833C001763CE /* folding_rules.cpp */; };
- A9C2F2CF22E7833D001763CE /* freeze_spec_constant_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F05022E7833C001763CE /* freeze_spec_constant_value_pass.h */; };
- A9C2F2D022E7833D001763CE /* freeze_spec_constant_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F05022E7833C001763CE /* freeze_spec_constant_value_pass.h */; };
- A9C2F2D122E7833D001763CE /* ir_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F05122E7833C001763CE /* ir_context.cpp */; };
- A9C2F2D222E7833D001763CE /* ir_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F05122E7833C001763CE /* ir_context.cpp */; };
- A9C2F2D322E7833D001763CE /* instrument_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F05222E7833C001763CE /* instrument_pass.h */; };
- A9C2F2D422E7833D001763CE /* instrument_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F05222E7833C001763CE /* instrument_pass.h */; };
- A9C2F2D522E7833D001763CE /* mem_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F05322E7833C001763CE /* mem_pass.h */; };
- A9C2F2D622E7833D001763CE /* mem_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F05322E7833C001763CE /* mem_pass.h */; };
- A9C2F2D722E7833D001763CE /* loop_descriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F05422E7833C001763CE /* loop_descriptor.cpp */; };
- A9C2F2D822E7833D001763CE /* loop_descriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F05422E7833C001763CE /* loop_descriptor.cpp */; };
- A9C2F2D922E7833D001763CE /* local_ssa_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F05522E7833C001763CE /* local_ssa_elim_pass.cpp */; };
- A9C2F2DA22E7833D001763CE /* local_ssa_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F05522E7833C001763CE /* local_ssa_elim_pass.cpp */; };
- A9C2F2DB22E7833D001763CE /* eliminate_dead_members_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F05622E7833C001763CE /* eliminate_dead_members_pass.h */; };
- A9C2F2DC22E7833D001763CE /* eliminate_dead_members_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F05622E7833C001763CE /* eliminate_dead_members_pass.h */; };
- A9C2F2DD22E7833D001763CE /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F05722E7833C001763CE /* function.cpp */; };
- A9C2F2DE22E7833D001763CE /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F05722E7833C001763CE /* function.cpp */; };
- A9C2F2DF22E7833D001763CE /* instruction_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F05822E7833C001763CE /* instruction_list.cpp */; };
- A9C2F2E022E7833D001763CE /* instruction_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F05822E7833C001763CE /* instruction_list.cpp */; };
- A9C2F2E122E7833D001763CE /* composite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F05922E7833C001763CE /* composite.cpp */; };
- A9C2F2E222E7833D001763CE /* composite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F05922E7833C001763CE /* composite.cpp */; };
- A9C2F2E322E7833D001763CE /* process_lines_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F05A22E7833C001763CE /* process_lines_pass.cpp */; };
- A9C2F2E422E7833D001763CE /* process_lines_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F05A22E7833C001763CE /* process_lines_pass.cpp */; };
- A9C2F2E522E7833D001763CE /* inline_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F05B22E7833C001763CE /* inline_pass.h */; };
- A9C2F2E622E7833D001763CE /* inline_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F05B22E7833C001763CE /* inline_pass.h */; };
- A9C2F2E722E7833D001763CE /* loop_dependence.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F05C22E7833C001763CE /* loop_dependence.h */; };
- A9C2F2E822E7833D001763CE /* loop_dependence.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F05C22E7833C001763CE /* loop_dependence.h */; };
- A9C2F2E922E7833D001763CE /* value_number_table.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F05D22E7833C001763CE /* value_number_table.h */; };
- A9C2F2EA22E7833D001763CE /* value_number_table.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F05D22E7833C001763CE /* value_number_table.h */; };
- A9C2F2EB22E7833D001763CE /* flatten_decoration_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F05E22E7833C001763CE /* flatten_decoration_pass.h */; };
- A9C2F2EC22E7833D001763CE /* flatten_decoration_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F05E22E7833C001763CE /* flatten_decoration_pass.h */; };
- A9C2F2ED22E7833D001763CE /* if_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F05F22E7833C001763CE /* if_conversion.cpp */; };
- A9C2F2EE22E7833D001763CE /* if_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F05F22E7833C001763CE /* if_conversion.cpp */; };
- A9C2F2EF22E7833D001763CE /* inline_exhaustive_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F06022E7833C001763CE /* inline_exhaustive_pass.h */; };
- A9C2F2F022E7833D001763CE /* inline_exhaustive_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F06022E7833C001763CE /* inline_exhaustive_pass.h */; };
- A9C2F2F122E7833D001763CE /* constants.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F06122E7833C001763CE /* constants.h */; };
- A9C2F2F222E7833D001763CE /* constants.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F06122E7833C001763CE /* constants.h */; };
- A9C2F2F322E7833D001763CE /* eliminate_dead_members_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F06222E7833C001763CE /* eliminate_dead_members_pass.cpp */; };
- A9C2F2F422E7833D001763CE /* eliminate_dead_members_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F06222E7833C001763CE /* eliminate_dead_members_pass.cpp */; };
- A9C2F2F522E7833D001763CE /* strength_reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F06322E7833C001763CE /* strength_reduction_pass.cpp */; };
- A9C2F2F622E7833D001763CE /* strength_reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F06322E7833C001763CE /* strength_reduction_pass.cpp */; };
- A9C2F2F722E7833D001763CE /* block_merge_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F06422E7833C001763CE /* block_merge_util.cpp */; };
- A9C2F2F822E7833D001763CE /* block_merge_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F06422E7833C001763CE /* block_merge_util.cpp */; };
- A9C2F2F922E7833D001763CE /* upgrade_memory_model.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F06522E7833C001763CE /* upgrade_memory_model.h */; };
- A9C2F2FA22E7833D001763CE /* upgrade_memory_model.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F06522E7833C001763CE /* upgrade_memory_model.h */; };
- A9C2F2FB22E7833D001763CE /* copy_prop_arrays.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F06622E7833C001763CE /* copy_prop_arrays.cpp */; };
- A9C2F2FC22E7833D001763CE /* copy_prop_arrays.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F06622E7833C001763CE /* copy_prop_arrays.cpp */; };
- A9C2F2FD22E7833D001763CE /* pass_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F06722E7833C001763CE /* pass_manager.cpp */; };
- A9C2F2FE22E7833D001763CE /* pass_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F06722E7833C001763CE /* pass_manager.cpp */; };
- A9C2F2FF22E7833D001763CE /* inline_exhaustive_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F06822E7833C001763CE /* inline_exhaustive_pass.cpp */; };
- A9C2F30022E7833D001763CE /* inline_exhaustive_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F06822E7833C001763CE /* inline_exhaustive_pass.cpp */; };
- A9C2F30122E7833D001763CE /* loop_fission.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F06922E7833C001763CE /* loop_fission.h */; };
- A9C2F30222E7833D001763CE /* loop_fission.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F06922E7833C001763CE /* loop_fission.h */; };
- A9C2F30322E7833D001763CE /* workaround1209.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F06A22E7833C001763CE /* workaround1209.h */; };
- A9C2F30422E7833D001763CE /* workaround1209.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F06A22E7833C001763CE /* workaround1209.h */; };
- A9C2F30522E7833D001763CE /* loop_fusion_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F06B22E7833C001763CE /* loop_fusion_pass.cpp */; };
- A9C2F30622E7833D001763CE /* loop_fusion_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F06B22E7833C001763CE /* loop_fusion_pass.cpp */; };
- A9C2F30722E7833D001763CE /* log.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F06C22E7833C001763CE /* log.h */; };
- A9C2F30822E7833D001763CE /* log.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F06C22E7833C001763CE /* log.h */; };
- A9C2F30922E7833D001763CE /* split_invalid_unreachable_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F06D22E7833C001763CE /* split_invalid_unreachable_pass.h */; };
- A9C2F30A22E7833D001763CE /* split_invalid_unreachable_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F06D22E7833C001763CE /* split_invalid_unreachable_pass.h */; };
- A9C2F30B22E7833D001763CE /* copy_prop_arrays.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F06E22E7833C001763CE /* copy_prop_arrays.h */; };
- A9C2F30C22E7833D001763CE /* copy_prop_arrays.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F06E22E7833C001763CE /* copy_prop_arrays.h */; };
- A9C2F30D22E7833D001763CE /* eliminate_dead_constant_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F06F22E7833C001763CE /* eliminate_dead_constant_pass.h */; };
- A9C2F30E22E7833D001763CE /* eliminate_dead_constant_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F06F22E7833C001763CE /* eliminate_dead_constant_pass.h */; };
- A9C2F30F22E7833D001763CE /* dead_insert_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F07022E7833C001763CE /* dead_insert_elim_pass.cpp */; };
- A9C2F31022E7833D001763CE /* dead_insert_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F07022E7833C001763CE /* dead_insert_elim_pass.cpp */; };
- A9C2F31122E7833D001763CE /* ssa_rewrite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F07122E7833C001763CE /* ssa_rewrite_pass.h */; };
- A9C2F31222E7833D001763CE /* ssa_rewrite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F07122E7833C001763CE /* ssa_rewrite_pass.h */; };
- A9C2F31322E7833D001763CE /* scalar_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F07222E7833C001763CE /* scalar_analysis.cpp */; };
- A9C2F31422E7833D001763CE /* scalar_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F07222E7833C001763CE /* scalar_analysis.cpp */; };
- A9C2F31522E7833D001763CE /* dead_variable_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F07322E7833C001763CE /* dead_variable_elimination.h */; };
- A9C2F31622E7833D001763CE /* dead_variable_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F07322E7833C001763CE /* dead_variable_elimination.h */; };
- A9C2F31722E7833D001763CE /* block_merge_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F07422E7833C001763CE /* block_merge_pass.cpp */; };
- A9C2F31822E7833D001763CE /* block_merge_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F07422E7833C001763CE /* block_merge_pass.cpp */; };
- A9C2F31922E7833D001763CE /* dominator_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F07522E7833C001763CE /* dominator_analysis.h */; };
- A9C2F31A22E7833D001763CE /* dominator_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F07522E7833C001763CE /* dominator_analysis.h */; };
- A9C2F31B22E7833D001763CE /* pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F07622E7833C001763CE /* pass.h */; };
- A9C2F31C22E7833D001763CE /* pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F07622E7833C001763CE /* pass.h */; };
- A9C2F31D22E7833D001763CE /* folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F07722E7833C001763CE /* folding_rules.h */; };
- A9C2F31E22E7833D001763CE /* folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F07722E7833C001763CE /* folding_rules.h */; };
- A9C2F31F22E7833D001763CE /* eliminate_dead_functions_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F07822E7833C001763CE /* eliminate_dead_functions_pass.h */; };
- A9C2F32022E7833D001763CE /* eliminate_dead_functions_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F07822E7833C001763CE /* eliminate_dead_functions_pass.h */; };
- A9C2F32122E7833D001763CE /* eliminate_dead_functions_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F07922E7833C001763CE /* eliminate_dead_functions_util.h */; };
- A9C2F32222E7833D001763CE /* eliminate_dead_functions_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F07922E7833C001763CE /* eliminate_dead_functions_util.h */; };
- A9C2F32322E7833D001763CE /* fold.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F07A22E7833C001763CE /* fold.h */; };
- A9C2F32422E7833D001763CE /* fold.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F07A22E7833C001763CE /* fold.h */; };
- A9C2F32522E7833D001763CE /* local_single_store_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F07B22E7833C001763CE /* local_single_store_elim_pass.cpp */; };
- A9C2F32622E7833D001763CE /* local_single_store_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F07B22E7833C001763CE /* local_single_store_elim_pass.cpp */; };
- A9C2F32722E7833D001763CE /* dead_branch_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F07C22E7833C001763CE /* dead_branch_elim_pass.h */; };
- A9C2F32822E7833D001763CE /* dead_branch_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F07C22E7833C001763CE /* dead_branch_elim_pass.h */; };
- A9C2F32922E7833D001763CE /* private_to_local_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F07D22E7833C001763CE /* private_to_local_pass.cpp */; };
- A9C2F32A22E7833D001763CE /* private_to_local_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F07D22E7833C001763CE /* private_to_local_pass.cpp */; };
- A9C2F32B22E7833D001763CE /* scalar_analysis_nodes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F07E22E7833C001763CE /* scalar_analysis_nodes.h */; };
- A9C2F32C22E7833D001763CE /* scalar_analysis_nodes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F07E22E7833C001763CE /* scalar_analysis_nodes.h */; };
- A9C2F32D22E7833D001763CE /* propagator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F07F22E7833C001763CE /* propagator.cpp */; };
- A9C2F32E22E7833D001763CE /* propagator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F07F22E7833C001763CE /* propagator.cpp */; };
- A9C2F32F22E7833D001763CE /* fix_storage_class.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F08022E7833C001763CE /* fix_storage_class.h */; };
- A9C2F33022E7833D001763CE /* fix_storage_class.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F08022E7833C001763CE /* fix_storage_class.h */; };
- A9C2F33122E7833D001763CE /* loop_dependence_helpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F08122E7833C001763CE /* loop_dependence_helpers.cpp */; };
- A9C2F33222E7833D001763CE /* loop_dependence_helpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F08122E7833C001763CE /* loop_dependence_helpers.cpp */; };
- A9C2F33322E7833D001763CE /* set_spec_constant_default_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F08222E7833C001763CE /* set_spec_constant_default_value_pass.cpp */; };
- A9C2F33422E7833D001763CE /* set_spec_constant_default_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F08222E7833C001763CE /* set_spec_constant_default_value_pass.cpp */; };
- A9C2F33522E7833D001763CE /* passes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F08322E7833C001763CE /* passes.h */; };
- A9C2F33622E7833D001763CE /* passes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F08322E7833C001763CE /* passes.h */; };
- A9C2F33722E7833D001763CE /* fold.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F08422E7833C001763CE /* fold.cpp */; };
- A9C2F33822E7833D001763CE /* fold.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F08422E7833C001763CE /* fold.cpp */; };
- A9C2F33922E7833D001763CE /* strip_reflect_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F08522E7833C001763CE /* strip_reflect_info_pass.h */; };
- A9C2F33A22E7833D001763CE /* strip_reflect_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F08522E7833C001763CE /* strip_reflect_info_pass.h */; };
- A9C2F33B22E7833D001763CE /* scalar_replacement_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F08622E7833C001763CE /* scalar_replacement_pass.cpp */; };
- A9C2F33C22E7833D001763CE /* scalar_replacement_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F08622E7833C001763CE /* scalar_replacement_pass.cpp */; };
- A9C2F33D22E7833D001763CE /* simplification_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F08722E7833C001763CE /* simplification_pass.h */; };
- A9C2F33E22E7833D001763CE /* simplification_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F08722E7833C001763CE /* simplification_pass.h */; };
- A9C2F33F22E7833D001763CE /* remove_duplicates_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F08822E7833C001763CE /* remove_duplicates_pass.h */; };
- A9C2F34022E7833D001763CE /* remove_duplicates_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F08822E7833C001763CE /* remove_duplicates_pass.h */; };
- A9C2F34122E7833D001763CE /* redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F08922E7833C001763CE /* redundancy_elimination.cpp */; };
- A9C2F34222E7833D001763CE /* redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F08922E7833C001763CE /* redundancy_elimination.cpp */; };
- A9C2F34322E7833D001763CE /* reflect.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F08A22E7833C001763CE /* reflect.h */; };
- A9C2F34422E7833D001763CE /* reflect.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F08A22E7833C001763CE /* reflect.h */; };
- A9C2F34522E7833D001763CE /* workaround1209.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F08B22E7833C001763CE /* workaround1209.cpp */; };
- A9C2F34622E7833D001763CE /* workaround1209.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F08B22E7833C001763CE /* workaround1209.cpp */; };
- A9C2F34722E7833D001763CE /* null_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F08C22E7833C001763CE /* null_pass.h */; };
- A9C2F34822E7833D001763CE /* null_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F08C22E7833C001763CE /* null_pass.h */; };
- A9C2F34922E7833D001763CE /* const_folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F08D22E7833C001763CE /* const_folding_rules.h */; };
- A9C2F34A22E7833D001763CE /* const_folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F08D22E7833C001763CE /* const_folding_rules.h */; };
- A9C2F34B22E7833D001763CE /* scalar_replacement_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F08E22E7833C001763CE /* scalar_replacement_pass.h */; };
- A9C2F34C22E7833D001763CE /* scalar_replacement_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F08E22E7833C001763CE /* scalar_replacement_pass.h */; };
- A9C2F34D22E7833D001763CE /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F08F22E7833C001763CE /* instruction.cpp */; };
- A9C2F34E22E7833D001763CE /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F08F22E7833C001763CE /* instruction.cpp */; };
- A9C2F34F22E7833D001763CE /* pch_source_opt.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F09022E7833C001763CE /* pch_source_opt.h */; };
- A9C2F35022E7833D001763CE /* pch_source_opt.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F09022E7833C001763CE /* pch_source_opt.h */; };
- A9C2F35122E7833D001763CE /* reduce_load_size.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F09122E7833C001763CE /* reduce_load_size.cpp */; };
- A9C2F35222E7833D001763CE /* reduce_load_size.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F09122E7833C001763CE /* reduce_load_size.cpp */; };
- A9C2F35322E7833D001763CE /* redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F09222E7833C001763CE /* redundancy_elimination.h */; };
- A9C2F35422E7833D001763CE /* redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F09222E7833C001763CE /* redundancy_elimination.h */; };
- A9C2F35522E7833D001763CE /* fix_storage_class.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F09322E7833C001763CE /* fix_storage_class.cpp */; };
- A9C2F35622E7833D001763CE /* fix_storage_class.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F09322E7833C001763CE /* fix_storage_class.cpp */; };
- A9C2F35722E7833D001763CE /* value_number_table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F09422E7833C001763CE /* value_number_table.cpp */; };
- A9C2F35822E7833D001763CE /* value_number_table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F09422E7833C001763CE /* value_number_table.cpp */; };
- A9C2F35922E7833D001763CE /* local_ssa_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F09522E7833C001763CE /* local_ssa_elim_pass.h */; };
- A9C2F35A22E7833D001763CE /* local_ssa_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F09522E7833C001763CE /* local_ssa_elim_pass.h */; };
- A9C2F35B22E7833D001763CE /* inline_opaque_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F09622E7833C001763CE /* inline_opaque_pass.cpp */; };
- A9C2F35C22E7833D001763CE /* inline_opaque_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F09622E7833C001763CE /* inline_opaque_pass.cpp */; };
- A9C2F35D22E7833D001763CE /* replace_invalid_opc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F09722E7833C001763CE /* replace_invalid_opc.cpp */; };
- A9C2F35E22E7833D001763CE /* replace_invalid_opc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F09722E7833C001763CE /* replace_invalid_opc.cpp */; };
- A9C2F35F22E7833D001763CE /* loop_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F09822E7833C001763CE /* loop_utils.h */; };
- A9C2F36022E7833D001763CE /* loop_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F09822E7833C001763CE /* loop_utils.h */; };
- A9C2F36122E7833D001763CE /* module.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F09922E7833C001763CE /* module.h */; };
- A9C2F36222E7833D001763CE /* module.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F09922E7833C001763CE /* module.h */; };
- A9C2F36322E7833D001763CE /* dominator_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F09A22E7833C001763CE /* dominator_analysis.cpp */; };
- A9C2F36422E7833D001763CE /* dominator_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F09A22E7833C001763CE /* dominator_analysis.cpp */; };
- A9C2F36522E7833D001763CE /* decompose_initialized_variables_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F09B22E7833C001763CE /* decompose_initialized_variables_pass.cpp */; };
- A9C2F36622E7833D001763CE /* decompose_initialized_variables_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F09B22E7833C001763CE /* decompose_initialized_variables_pass.cpp */; };
- A9C2F36722E7833D001763CE /* ir_builder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F09C22E7833C001763CE /* ir_builder.h */; };
- A9C2F36822E7833D001763CE /* ir_builder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F09C22E7833C001763CE /* ir_builder.h */; };
- A9C2F36922E7833D001763CE /* loop_unswitch_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F09D22E7833C001763CE /* loop_unswitch_pass.h */; };
- A9C2F36A22E7833D001763CE /* loop_unswitch_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F09D22E7833C001763CE /* loop_unswitch_pass.h */; };
- A9C2F36B22E7833D001763CE /* cfg.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F09E22E7833C001763CE /* cfg.h */; };
- A9C2F36C22E7833D001763CE /* cfg.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F09E22E7833C001763CE /* cfg.h */; };
- A9C2F36D22E7833D001763CE /* code_sink.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F09F22E7833C001763CE /* code_sink.h */; };
- A9C2F36E22E7833D001763CE /* code_sink.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F09F22E7833C001763CE /* code_sink.h */; };
- A9C2F36F22E7833D001763CE /* loop_descriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0A022E7833C001763CE /* loop_descriptor.h */; };
- A9C2F37022E7833D001763CE /* loop_descriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0A022E7833C001763CE /* loop_descriptor.h */; };
- A9C2F37122E7833D001763CE /* generate_webgpu_initializers_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0A122E7833C001763CE /* generate_webgpu_initializers_pass.h */; };
- A9C2F37222E7833D001763CE /* generate_webgpu_initializers_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0A122E7833C001763CE /* generate_webgpu_initializers_pass.h */; };
- A9C2F37322E7833D001763CE /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0A222E7833C001763CE /* instruction.h */; };
- A9C2F37422E7833D001763CE /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0A222E7833C001763CE /* instruction.h */; };
- A9C2F37522E7833D001763CE /* aggressive_dead_code_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0A322E7833C001763CE /* aggressive_dead_code_elim_pass.h */; };
- A9C2F37622E7833D001763CE /* aggressive_dead_code_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0A322E7833C001763CE /* aggressive_dead_code_elim_pass.h */; };
- A9C2F37722E7833D001763CE /* struct_cfg_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F0A422E7833C001763CE /* struct_cfg_analysis.cpp */; };
- A9C2F37822E7833D001763CE /* struct_cfg_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F0A422E7833C001763CE /* struct_cfg_analysis.cpp */; };
- A9C2F37922E7833D001763CE /* vector_dce.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0A522E7833C001763CE /* vector_dce.h */; };
- A9C2F37A22E7833D001763CE /* vector_dce.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0A522E7833C001763CE /* vector_dce.h */; };
- A9C2F37B22E7833D001763CE /* combine_access_chains.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0A622E7833C001763CE /* combine_access_chains.h */; };
- A9C2F37C22E7833D001763CE /* combine_access_chains.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0A622E7833C001763CE /* combine_access_chains.h */; };
- A9C2F37D22E7833D001763CE /* pass_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0A722E7833C001763CE /* pass_manager.h */; };
- A9C2F37E22E7833D001763CE /* pass_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0A722E7833C001763CE /* pass_manager.h */; };
- A9C2F37F22E7833D001763CE /* local_access_chain_convert_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F0A822E7833C001763CE /* local_access_chain_convert_pass.cpp */; };
- A9C2F38022E7833D001763CE /* local_access_chain_convert_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F0A822E7833C001763CE /* local_access_chain_convert_pass.cpp */; };
- A9C2F38122E7833D001763CE /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F0A922E7833C001763CE /* basic_block.cpp */; };
- A9C2F38222E7833D001763CE /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F0A922E7833C001763CE /* basic_block.cpp */; };
- A9C2F38322E7833D001763CE /* iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0AA22E7833C001763CE /* iterator.h */; };
- A9C2F38422E7833D001763CE /* iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0AA22E7833C001763CE /* iterator.h */; };
- A9C2F38522E7833D001763CE /* licm_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0AB22E7833C001763CE /* licm_pass.h */; };
- A9C2F38622E7833D001763CE /* licm_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0AB22E7833C001763CE /* licm_pass.h */; };
- A9C2F38722E7833D001763CE /* build_module.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0AC22E7833C001763CE /* build_module.h */; };
- A9C2F38822E7833D001763CE /* build_module.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0AC22E7833C001763CE /* build_module.h */; };
- A9C2F38922E7833D001763CE /* ccp_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0AD22E7833C001763CE /* ccp_pass.h */; };
- A9C2F38A22E7833D001763CE /* ccp_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0AD22E7833C001763CE /* ccp_pass.h */; };
- A9C2F38B22E7833D001763CE /* decompose_initialized_variables_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0AE22E7833C001763CE /* decompose_initialized_variables_pass.h */; };
- A9C2F38C22E7833D001763CE /* decompose_initialized_variables_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0AE22E7833C001763CE /* decompose_initialized_variables_pass.h */; };
- A9C2F38D22E7833D001763CE /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0AF22E7833C001763CE /* function.h */; };
- A9C2F38E22E7833D001763CE /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0AF22E7833C001763CE /* function.h */; };
- A9C2F38F22E7833D001763CE /* loop_fusion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F0B022E7833C001763CE /* loop_fusion.cpp */; };
- A9C2F39022E7833D001763CE /* loop_fusion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F0B022E7833C001763CE /* loop_fusion.cpp */; };
- A9C2F39122E7833D001763CE /* upgrade_memory_model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F0B122E7833C001763CE /* upgrade_memory_model.cpp */; };
- A9C2F39222E7833D001763CE /* upgrade_memory_model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F0B122E7833C001763CE /* upgrade_memory_model.cpp */; };
- A9C2F39322E7833D001763CE /* feature_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0B222E7833C001763CE /* feature_manager.h */; };
- A9C2F39422E7833D001763CE /* feature_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0B222E7833C001763CE /* feature_manager.h */; };
- A9C2F39522E7833D001763CE /* inst_bindless_check_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0B322E7833C001763CE /* inst_bindless_check_pass.h */; };
- A9C2F39622E7833D001763CE /* inst_bindless_check_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0B322E7833C001763CE /* inst_bindless_check_pass.h */; };
- A9C2F39722E7833D001763CE /* scalar_analysis_simplification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F0B422E7833C001763CE /* scalar_analysis_simplification.cpp */; };
- A9C2F39822E7833D001763CE /* scalar_analysis_simplification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F0B422E7833C001763CE /* scalar_analysis_simplification.cpp */; };
- A9C2F39922E7833D001763CE /* set_spec_constant_default_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0B522E7833C001763CE /* set_spec_constant_default_value_pass.h */; };
- A9C2F39A22E7833D001763CE /* set_spec_constant_default_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0B522E7833C001763CE /* set_spec_constant_default_value_pass.h */; };
- A9C2F39B22E7833D001763CE /* dominator_tree.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0B622E7833C001763CE /* dominator_tree.h */; };
- A9C2F39C22E7833D001763CE /* dominator_tree.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0B622E7833C001763CE /* dominator_tree.h */; };
- A9C2F39D22E7833D001763CE /* legalize_vector_shuffle_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F0B722E7833C001763CE /* legalize_vector_shuffle_pass.cpp */; };
- A9C2F39E22E7833D001763CE /* legalize_vector_shuffle_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F0B722E7833C001763CE /* legalize_vector_shuffle_pass.cpp */; };
- A9C2F39F22E7833D001763CE /* type_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0B822E7833C001763CE /* type_manager.h */; };
- A9C2F3A022E7833D001763CE /* type_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0B822E7833C001763CE /* type_manager.h */; };
- A9C2F3A122E7833D001763CE /* compact_ids_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F0B922E7833C001763CE /* compact_ids_pass.cpp */; };
- A9C2F3A222E7833D001763CE /* compact_ids_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F0B922E7833C001763CE /* compact_ids_pass.cpp */; };
- A9C2F3A322E7833D001763CE /* loop_peeling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F0BA22E7833C001763CE /* loop_peeling.cpp */; };
- A9C2F3A422E7833D001763CE /* loop_peeling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F0BA22E7833C001763CE /* loop_peeling.cpp */; };
- A9C2F3A522E7833D001763CE /* table.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0BB22E7833C001763CE /* table.h */; };
- A9C2F3A622E7833D001763CE /* table.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0BB22E7833C001763CE /* table.h */; };
- A9C2F41B22E7833D001763CE /* ext_inst.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0F922E7833D001763CE /* ext_inst.h */; };
- A9C2F41C22E7833D001763CE /* ext_inst.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0F922E7833D001763CE /* ext_inst.h */; };
- A9C2F41D22E7833D001763CE /* diagnostic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F0FA22E7833D001763CE /* diagnostic.cpp */; };
- A9C2F41E22E7833D001763CE /* diagnostic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F0FA22E7833D001763CE /* diagnostic.cpp */; };
- A9C2F41F22E7833D001763CE /* latest_version_spirv_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0FB22E7833D001763CE /* latest_version_spirv_header.h */; };
- A9C2F42022E7833D001763CE /* latest_version_spirv_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0FB22E7833D001763CE /* latest_version_spirv_header.h */; };
- A9C2F42122E7833D001763CE /* libspirv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F0FC22E7833D001763CE /* libspirv.cpp */; };
- A9C2F42222E7833D001763CE /* libspirv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F0FC22E7833D001763CE /* libspirv.cpp */; };
- A9C2F42322E7833D001763CE /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0FD22E7833D001763CE /* instruction.h */; };
- A9C2F42422E7833D001763CE /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0FD22E7833D001763CE /* instruction.h */; };
- A9C2F42522E7833D001763CE /* spirv_optimizer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0FE22E7833D001763CE /* spirv_optimizer_options.h */; };
- A9C2F42622E7833D001763CE /* spirv_optimizer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0FE22E7833D001763CE /* spirv_optimizer_options.h */; };
- A9C2F42722E7833D001763CE /* opcode.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0FF22E7833D001763CE /* opcode.h */; };
- A9C2F42822E7833D001763CE /* opcode.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F0FF22E7833D001763CE /* opcode.h */; };
- A9C2F42922E7833D001763CE /* operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F10022E7833D001763CE /* operand.cpp */; };
- A9C2F42A22E7833D001763CE /* operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F10022E7833D001763CE /* operand.cpp */; };
- A9C2F42B22E7833D001763CE /* latest_version_glsl_std_450_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F10122E7833D001763CE /* latest_version_glsl_std_450_header.h */; };
- A9C2F42C22E7833D001763CE /* latest_version_glsl_std_450_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F10122E7833D001763CE /* latest_version_glsl_std_450_header.h */; };
- A9C2F42D22E7833D001763CE /* extensions.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F10222E7833D001763CE /* extensions.h */; };
- A9C2F42E22E7833D001763CE /* extensions.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F10222E7833D001763CE /* extensions.h */; };
- A9C2F42F22E7833D001763CE /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F10322E7833D001763CE /* disassemble.cpp */; };
- A9C2F43022E7833D001763CE /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F10322E7833D001763CE /* disassemble.cpp */; };
- A9C2F43122E7833D001763CE /* binary.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F10422E7833D001763CE /* binary.h */; };
- A9C2F43222E7833D001763CE /* binary.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F10422E7833D001763CE /* binary.h */; };
- A9C2F43322E7833D001763CE /* text_handler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F10522E7833D001763CE /* text_handler.cpp */; };
- A9C2F43422E7833D001763CE /* text_handler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F10522E7833D001763CE /* text_handler.cpp */; };
- A9C2F43522E7833D001763CE /* validate_annotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F10722E7833D001763CE /* validate_annotation.cpp */; };
- A9C2F43622E7833D001763CE /* validate_annotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F10722E7833D001763CE /* validate_annotation.cpp */; };
- A9C2F43722E7833D001763CE /* validate_misc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F10822E7833D001763CE /* validate_misc.cpp */; };
- A9C2F43822E7833D001763CE /* validate_misc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F10822E7833D001763CE /* validate_misc.cpp */; };
- A9C2F43922E7833D001763CE /* validate_cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F10922E7833D001763CE /* validate_cfg.cpp */; };
- A9C2F43A22E7833D001763CE /* validate_cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F10922E7833D001763CE /* validate_cfg.cpp */; };
- A9C2F43B22E7833D001763CE /* validate_capability.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F10A22E7833D001763CE /* validate_capability.cpp */; };
- A9C2F43C22E7833D001763CE /* validate_capability.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F10A22E7833D001763CE /* validate_capability.cpp */; };
- A9C2F43D22E7833D001763CE /* construct.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F10B22E7833D001763CE /* construct.h */; };
- A9C2F43E22E7833D001763CE /* construct.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F10B22E7833D001763CE /* construct.h */; };
- A9C2F43F22E7833D001763CE /* validate_barriers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F10C22E7833D001763CE /* validate_barriers.cpp */; };
- A9C2F44022E7833D001763CE /* validate_barriers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F10C22E7833D001763CE /* validate_barriers.cpp */; };
- A9C2F44122E7833D001763CE /* validate_non_uniform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F10D22E7833D001763CE /* validate_non_uniform.cpp */; };
- A9C2F44222E7833D001763CE /* validate_non_uniform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F10D22E7833D001763CE /* validate_non_uniform.cpp */; };
- A9C2F44322E7833D001763CE /* validate_scopes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F10E22E7833D001763CE /* validate_scopes.cpp */; };
- A9C2F44422E7833D001763CE /* validate_scopes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F10E22E7833D001763CE /* validate_scopes.cpp */; };
- A9C2F44522E7833D001763CE /* validate_atomics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F10F22E7833D001763CE /* validate_atomics.cpp */; };
- A9C2F44622E7833D001763CE /* validate_atomics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F10F22E7833D001763CE /* validate_atomics.cpp */; };
- A9C2F44722E7833D001763CE /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F11022E7833D001763CE /* basic_block.h */; };
- A9C2F44822E7833D001763CE /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F11022E7833D001763CE /* basic_block.h */; };
- A9C2F44922E7833D001763CE /* validate_instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11122E7833D001763CE /* validate_instruction.cpp */; };
- A9C2F44A22E7833D001763CE /* validate_instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11122E7833D001763CE /* validate_instruction.cpp */; };
- A9C2F44B22E7833D001763CE /* validate_decorations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11222E7833D001763CE /* validate_decorations.cpp */; };
- A9C2F44C22E7833D001763CE /* validate_decorations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11222E7833D001763CE /* validate_decorations.cpp */; };
- A9C2F44D22E7833D001763CE /* validate_debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11322E7833D001763CE /* validate_debug.cpp */; };
- A9C2F44E22E7833D001763CE /* validate_debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11322E7833D001763CE /* validate_debug.cpp */; };
- A9C2F44F22E7833D001763CE /* validate_builtins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11422E7833D001763CE /* validate_builtins.cpp */; };
- A9C2F45022E7833D001763CE /* validate_builtins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11422E7833D001763CE /* validate_builtins.cpp */; };
- A9C2F45122E7833D001763CE /* validate_interfaces.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11522E7833D001763CE /* validate_interfaces.cpp */; };
- A9C2F45222E7833D001763CE /* validate_interfaces.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11522E7833D001763CE /* validate_interfaces.cpp */; };
- A9C2F45322E7833D001763CE /* validate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11622E7833D001763CE /* validate.cpp */; };
- A9C2F45422E7833D001763CE /* validate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11622E7833D001763CE /* validate.cpp */; };
- A9C2F45522E7833D001763CE /* validation_state.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F11722E7833D001763CE /* validation_state.h */; };
- A9C2F45622E7833D001763CE /* validation_state.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F11722E7833D001763CE /* validation_state.h */; };
- A9C2F45722E7833D001763CE /* validate_constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11822E7833D001763CE /* validate_constants.cpp */; };
- A9C2F45822E7833D001763CE /* validate_constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11822E7833D001763CE /* validate_constants.cpp */; };
- A9C2F45922E7833D001763CE /* validate_bitwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11922E7833D001763CE /* validate_bitwise.cpp */; };
- A9C2F45A22E7833D001763CE /* validate_bitwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11922E7833D001763CE /* validate_bitwise.cpp */; };
- A9C2F45B22E7833D001763CE /* validate_extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11A22E7833D001763CE /* validate_extensions.cpp */; };
- A9C2F45C22E7833D001763CE /* validate_extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11A22E7833D001763CE /* validate_extensions.cpp */; };
- A9C2F45D22E7833D001763CE /* construct.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11B22E7833D001763CE /* construct.cpp */; };
- A9C2F45E22E7833D001763CE /* construct.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11B22E7833D001763CE /* construct.cpp */; };
- A9C2F45F22E7833D001763CE /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11C22E7833D001763CE /* function.cpp */; };
- A9C2F46022E7833D001763CE /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11C22E7833D001763CE /* function.cpp */; };
- A9C2F46122E7833D001763CE /* validate.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F11D22E7833D001763CE /* validate.h */; };
- A9C2F46222E7833D001763CE /* validate.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F11D22E7833D001763CE /* validate.h */; };
- A9C2F46322E7833D001763CE /* validate_adjacency.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11E22E7833D001763CE /* validate_adjacency.cpp */; };
- A9C2F46422E7833D001763CE /* validate_adjacency.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11E22E7833D001763CE /* validate_adjacency.cpp */; };
- A9C2F46522E7833D001763CE /* validate_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11F22E7833D001763CE /* validate_conversion.cpp */; };
- A9C2F46622E7833D001763CE /* validate_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F11F22E7833D001763CE /* validate_conversion.cpp */; };
- A9C2F46722E7833D001763CE /* validate_small_type_uses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12022E7833D001763CE /* validate_small_type_uses.cpp */; };
- A9C2F46822E7833D001763CE /* validate_small_type_uses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12022E7833D001763CE /* validate_small_type_uses.cpp */; };
- A9C2F46922E7833D001763CE /* validate_datarules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12122E7833D001763CE /* validate_datarules.cpp */; };
- A9C2F46A22E7833D001763CE /* validate_datarules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12122E7833D001763CE /* validate_datarules.cpp */; };
- A9C2F46B22E7833D001763CE /* validate_scopes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F12222E7833D001763CE /* validate_scopes.h */; };
- A9C2F46C22E7833D001763CE /* validate_scopes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F12222E7833D001763CE /* validate_scopes.h */; };
- A9C2F46D22E7833D001763CE /* validate_id.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12322E7833D001763CE /* validate_id.cpp */; };
- A9C2F46E22E7833D001763CE /* validate_id.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12322E7833D001763CE /* validate_id.cpp */; };
- A9C2F46F22E7833D001763CE /* validate_memory_semantics.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F12422E7833D001763CE /* validate_memory_semantics.h */; };
- A9C2F47022E7833D001763CE /* validate_memory_semantics.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F12422E7833D001763CE /* validate_memory_semantics.h */; };
- A9C2F47122E7833D001763CE /* validate_arithmetics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12522E7833D001763CE /* validate_arithmetics.cpp */; };
- A9C2F47222E7833D001763CE /* validate_arithmetics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12522E7833D001763CE /* validate_arithmetics.cpp */; };
- A9C2F47322E7833D001763CE /* validate_mode_setting.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12622E7833D001763CE /* validate_mode_setting.cpp */; };
- A9C2F47422E7833D001763CE /* validate_mode_setting.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12622E7833D001763CE /* validate_mode_setting.cpp */; };
- A9C2F47522E7833D001763CE /* validate_memory_semantics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12722E7833D001763CE /* validate_memory_semantics.cpp */; };
- A9C2F47622E7833D001763CE /* validate_memory_semantics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12722E7833D001763CE /* validate_memory_semantics.cpp */; };
- A9C2F47722E7833D001763CE /* validate_logicals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12822E7833D001763CE /* validate_logicals.cpp */; };
- A9C2F47822E7833D001763CE /* validate_logicals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12822E7833D001763CE /* validate_logicals.cpp */; };
- A9C2F47922E7833D001763CE /* validate_derivatives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12922E7833D001763CE /* validate_derivatives.cpp */; };
- A9C2F47A22E7833D001763CE /* validate_derivatives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12922E7833D001763CE /* validate_derivatives.cpp */; };
- A9C2F47B22E7833D001763CE /* validate_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12A22E7833D001763CE /* validate_memory.cpp */; };
- A9C2F47C22E7833D001763CE /* validate_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12A22E7833D001763CE /* validate_memory.cpp */; };
- A9C2F47D22E7833D001763CE /* validate_image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12B22E7833D001763CE /* validate_image.cpp */; };
- A9C2F47E22E7833D001763CE /* validate_image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12B22E7833D001763CE /* validate_image.cpp */; };
- A9C2F47F22E7833D001763CE /* validate_literals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12C22E7833D001763CE /* validate_literals.cpp */; };
- A9C2F48022E7833D001763CE /* validate_literals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12C22E7833D001763CE /* validate_literals.cpp */; };
- A9C2F48122E7833D001763CE /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12D22E7833D001763CE /* instruction.cpp */; };
- A9C2F48222E7833D001763CE /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12D22E7833D001763CE /* instruction.cpp */; };
- A9C2F48322E7833D001763CE /* validate_type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12E22E7833D001763CE /* validate_type.cpp */; };
- A9C2F48422E7833D001763CE /* validate_type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F12E22E7833D001763CE /* validate_type.cpp */; };
- A9C2F48522E7833D001763CE /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F12F22E7833D001763CE /* instruction.h */; };
- A9C2F48622E7833D001763CE /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F12F22E7833D001763CE /* instruction.h */; };
- A9C2F48722E7833D001763CE /* validate_execution_limitations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F13022E7833D001763CE /* validate_execution_limitations.cpp */; };
- A9C2F48822E7833D001763CE /* validate_execution_limitations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F13022E7833D001763CE /* validate_execution_limitations.cpp */; };
- A9C2F48922E7833D001763CE /* validate_layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F13122E7833D001763CE /* validate_layout.cpp */; };
- A9C2F48A22E7833D001763CE /* validate_layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F13122E7833D001763CE /* validate_layout.cpp */; };
- A9C2F48B22E7833D001763CE /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F13222E7833D001763CE /* basic_block.cpp */; };
- A9C2F48C22E7833D001763CE /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F13222E7833D001763CE /* basic_block.cpp */; };
- A9C2F48D22E7833D001763CE /* validate_function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F13322E7833D001763CE /* validate_function.cpp */; };
- A9C2F48E22E7833D001763CE /* validate_function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F13322E7833D001763CE /* validate_function.cpp */; };
- A9C2F48F22E7833D001763CE /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F13422E7833D001763CE /* function.h */; };
- A9C2F49022E7833D001763CE /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F13422E7833D001763CE /* function.h */; };
- A9C2F49122E7833D001763CE /* validate_composites.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F13522E7833D001763CE /* validate_composites.cpp */; };
- A9C2F49222E7833D001763CE /* validate_composites.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F13522E7833D001763CE /* validate_composites.cpp */; };
- A9C2F49322E7833D001763CE /* validation_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F13622E7833D001763CE /* validation_state.cpp */; };
- A9C2F49422E7833D001763CE /* validation_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F13622E7833D001763CE /* validation_state.cpp */; };
- A9C2F49522E7833D001763CE /* validate_primitives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F13722E7833D001763CE /* validate_primitives.cpp */; };
- A9C2F49622E7833D001763CE /* validate_primitives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C2F13722E7833D001763CE /* validate_primitives.cpp */; };
- A9C2F49722E7833D001763CE /* decoration.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F13822E7833D001763CE /* decoration.h */; };
- A9C2F49822E7833D001763CE /* decoration.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2F13822E7833D001763CE /* decoration.h */; };
+ A979631F2328063700299006 /* spirv_target_env.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961462328063600299006 /* spirv_target_env.cpp */; };
+ A97963202328063700299006 /* spirv_target_env.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961462328063600299006 /* spirv_target_env.cpp */; };
+ A97963212328063700299006 /* spirv_fuzzer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961482328063600299006 /* spirv_fuzzer_options.h */; };
+ A97963222328063700299006 /* spirv_fuzzer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961482328063600299006 /* spirv_fuzzer_options.h */; };
+ A97963232328063700299006 /* assembly_grammar.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961492328063600299006 /* assembly_grammar.h */; };
+ A97963242328063700299006 /* assembly_grammar.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961492328063600299006 /* assembly_grammar.h */; };
+ A97963252328063700299006 /* enum_set.h in Headers */ = {isa = PBXBuildFile; fileRef = A979614A2328063600299006 /* enum_set.h */; };
+ A97963262328063700299006 /* enum_set.h in Headers */ = {isa = PBXBuildFile; fileRef = A979614A2328063600299006 /* enum_set.h */; };
+ A97963272328063700299006 /* text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979614D2328063600299006 /* text.cpp */; };
+ A97963282328063700299006 /* text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979614D2328063600299006 /* text.cpp */; };
+ A97963292328063700299006 /* assembly_grammar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979614E2328063600299006 /* assembly_grammar.cpp */; };
+ A979632A2328063700299006 /* assembly_grammar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979614E2328063600299006 /* assembly_grammar.cpp */; };
+ A979632B2328063700299006 /* text.h in Headers */ = {isa = PBXBuildFile; fileRef = A979614F2328063600299006 /* text.h */; };
+ A979632C2328063700299006 /* text.h in Headers */ = {isa = PBXBuildFile; fileRef = A979614F2328063600299006 /* text.h */; };
+ A979632D2328063700299006 /* extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961502328063600299006 /* extensions.cpp */; };
+ A979632E2328063700299006 /* extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961502328063600299006 /* extensions.cpp */; };
+ A979632F2328063700299006 /* pch_source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961512328063600299006 /* pch_source.cpp */; };
+ A97963302328063700299006 /* pch_source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961512328063600299006 /* pch_source.cpp */; };
+ A97963312328063700299006 /* parse_number.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961532328063600299006 /* parse_number.h */; };
+ A97963322328063700299006 /* parse_number.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961532328063600299006 /* parse_number.h */; };
+ A97963332328063700299006 /* ilist_node.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961542328063600299006 /* ilist_node.h */; };
+ A97963342328063700299006 /* ilist_node.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961542328063600299006 /* ilist_node.h */; };
+ A97963352328063700299006 /* make_unique.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961552328063600299006 /* make_unique.h */; };
+ A97963362328063700299006 /* make_unique.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961552328063600299006 /* make_unique.h */; };
+ A97963372328063700299006 /* string_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961562328063600299006 /* string_utils.h */; };
+ A97963382328063700299006 /* string_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961562328063600299006 /* string_utils.h */; };
+ A97963392328063700299006 /* small_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961572328063600299006 /* small_vector.h */; };
+ A979633A2328063700299006 /* small_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961572328063600299006 /* small_vector.h */; };
+ A979633B2328063700299006 /* timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961582328063600299006 /* timer.cpp */; };
+ A979633C2328063700299006 /* timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961582328063600299006 /* timer.cpp */; };
+ A979633D2328063700299006 /* timer.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961592328063600299006 /* timer.h */; };
+ A979633E2328063700299006 /* timer.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961592328063600299006 /* timer.h */; };
+ A979633F2328063700299006 /* string_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979615A2328063600299006 /* string_utils.cpp */; };
+ A97963402328063700299006 /* string_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979615A2328063600299006 /* string_utils.cpp */; };
+ A97963412328063700299006 /* bit_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A979615B2328063600299006 /* bit_vector.h */; };
+ A97963422328063700299006 /* bit_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A979615B2328063600299006 /* bit_vector.h */; };
+ A97963432328063700299006 /* bitutils.h in Headers */ = {isa = PBXBuildFile; fileRef = A979615C2328063600299006 /* bitutils.h */; };
+ A97963442328063700299006 /* bitutils.h in Headers */ = {isa = PBXBuildFile; fileRef = A979615C2328063600299006 /* bitutils.h */; };
+ A97963452328063700299006 /* hex_float.h in Headers */ = {isa = PBXBuildFile; fileRef = A979615D2328063600299006 /* hex_float.h */; };
+ A97963462328063700299006 /* hex_float.h in Headers */ = {isa = PBXBuildFile; fileRef = A979615D2328063600299006 /* hex_float.h */; };
+ A97963472328063700299006 /* parse_number.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979615E2328063600299006 /* parse_number.cpp */; };
+ A97963482328063700299006 /* parse_number.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979615E2328063600299006 /* parse_number.cpp */; };
+ A97963492328063700299006 /* bit_vector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979615F2328063600299006 /* bit_vector.cpp */; };
+ A979634A2328063700299006 /* bit_vector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979615F2328063600299006 /* bit_vector.cpp */; };
+ A979634B2328063700299006 /* ilist.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961602328063600299006 /* ilist.h */; };
+ A979634C2328063700299006 /* ilist.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961602328063600299006 /* ilist.h */; };
+ A979634D2328063700299006 /* spirv_target_env.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961612328063600299006 /* spirv_target_env.h */; };
+ A979634E2328063700299006 /* spirv_target_env.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961612328063600299006 /* spirv_target_env.h */; };
+ A979634F2328063700299006 /* table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961622328063600299006 /* table.cpp */; };
+ A97963502328063700299006 /* table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961622328063600299006 /* table.cpp */; };
+ A97963512328063700299006 /* operand_to_undef_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961642328063600299006 /* operand_to_undef_reduction_opportunity_finder.h */; };
+ A97963522328063700299006 /* operand_to_undef_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961642328063600299006 /* operand_to_undef_reduction_opportunity_finder.h */; };
+ A97963532328063700299006 /* remove_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961652328063600299006 /* remove_selection_reduction_opportunity.cpp */; };
+ A97963542328063700299006 /* remove_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961652328063600299006 /* remove_selection_reduction_opportunity.cpp */; };
+ A97963552328063700299006 /* remove_block_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961662328063600299006 /* remove_block_reduction_opportunity.h */; };
+ A97963562328063700299006 /* remove_block_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961662328063600299006 /* remove_block_reduction_opportunity.h */; };
+ A97963572328063700299006 /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961672328063600299006 /* operand_to_dominating_id_reduction_opportunity_finder.h */; };
+ A97963582328063700299006 /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961672328063600299006 /* operand_to_dominating_id_reduction_opportunity_finder.h */; };
+ A97963592328063700299006 /* reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961682328063600299006 /* reduction_pass.cpp */; };
+ A979635A2328063700299006 /* reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961682328063600299006 /* reduction_pass.cpp */; };
+ A979635B2328063700299006 /* operand_to_const_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961692328063600299006 /* operand_to_const_reduction_opportunity_finder.cpp */; };
+ A979635C2328063700299006 /* operand_to_const_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961692328063600299006 /* operand_to_const_reduction_opportunity_finder.cpp */; };
+ A979635D2328063700299006 /* operand_to_const_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A979616A2328063600299006 /* operand_to_const_reduction_opportunity_finder.h */; };
+ A979635E2328063700299006 /* operand_to_const_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A979616A2328063600299006 /* operand_to_const_reduction_opportunity_finder.h */; };
+ A979635F2328063700299006 /* reduction_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979616C2328063600299006 /* reduction_util.cpp */; };
+ A97963602328063700299006 /* reduction_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979616C2328063600299006 /* reduction_util.cpp */; };
+ A97963612328063700299006 /* remove_relaxed_precision_decoration_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979616D2328063600299006 /* remove_relaxed_precision_decoration_opportunity_finder.cpp */; };
+ A97963622328063700299006 /* remove_relaxed_precision_decoration_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979616D2328063600299006 /* remove_relaxed_precision_decoration_opportunity_finder.cpp */; };
+ A97963632328063700299006 /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979616E2328063600299006 /* structured_loop_to_selection_reduction_opportunity_finder.cpp */; };
+ A97963642328063700299006 /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979616E2328063600299006 /* structured_loop_to_selection_reduction_opportunity_finder.cpp */; };
+ A97963652328063700299006 /* simple_conditional_branch_to_branch_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A979616F2328063600299006 /* simple_conditional_branch_to_branch_reduction_opportunity.h */; };
+ A97963662328063700299006 /* simple_conditional_branch_to_branch_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A979616F2328063600299006 /* simple_conditional_branch_to_branch_reduction_opportunity.h */; };
+ A97963672328063700299006 /* remove_function_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961702328063600299006 /* remove_function_reduction_opportunity_finder.cpp */; };
+ A97963682328063700299006 /* remove_function_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961702328063600299006 /* remove_function_reduction_opportunity_finder.cpp */; };
+ A97963692328063700299006 /* remove_instruction_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961712328063600299006 /* remove_instruction_reduction_opportunity.h */; };
+ A979636A2328063700299006 /* remove_instruction_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961712328063600299006 /* remove_instruction_reduction_opportunity.h */; };
+ A979636B2328063700299006 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961722328063600299006 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h */; };
+ A979636C2328063700299006 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961722328063600299006 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h */; };
+ A979636D2328063700299006 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961732328063600299006 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp */; };
+ A979636E2328063700299006 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961732328063600299006 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp */; };
+ A979636F2328063700299006 /* remove_function_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961742328063600299006 /* remove_function_reduction_opportunity.cpp */; };
+ A97963702328063700299006 /* remove_function_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961742328063600299006 /* remove_function_reduction_opportunity.cpp */; };
+ A97963712328063700299006 /* remove_opname_instruction_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961752328063600299006 /* remove_opname_instruction_reduction_opportunity_finder.h */; };
+ A97963722328063700299006 /* remove_opname_instruction_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961752328063600299006 /* remove_opname_instruction_reduction_opportunity_finder.h */; };
+ A97963732328063700299006 /* simple_conditional_branch_to_branch_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961762328063600299006 /* simple_conditional_branch_to_branch_opportunity_finder.cpp */; };
+ A97963742328063700299006 /* simple_conditional_branch_to_branch_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961762328063600299006 /* simple_conditional_branch_to_branch_opportunity_finder.cpp */; };
+ A97963752328063700299006 /* remove_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961772328063600299006 /* remove_selection_reduction_opportunity_finder.cpp */; };
+ A97963762328063700299006 /* remove_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961772328063600299006 /* remove_selection_reduction_opportunity_finder.cpp */; };
+ A97963772328063700299006 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961782328063600299006 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp */; };
+ A97963782328063700299006 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961782328063600299006 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp */; };
+ A97963792328063700299006 /* simple_conditional_branch_to_branch_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961792328063600299006 /* simple_conditional_branch_to_branch_opportunity_finder.h */; };
+ A979637A2328063700299006 /* simple_conditional_branch_to_branch_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961792328063600299006 /* simple_conditional_branch_to_branch_opportunity_finder.h */; };
+ A979637B2328063700299006 /* merge_blocks_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979617A2328063600299006 /* merge_blocks_reduction_opportunity.cpp */; };
+ A979637C2328063700299006 /* merge_blocks_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979617A2328063600299006 /* merge_blocks_reduction_opportunity.cpp */; };
+ A979637D2328063700299006 /* change_operand_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979617B2328063600299006 /* change_operand_reduction_opportunity.cpp */; };
+ A979637E2328063700299006 /* change_operand_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979617B2328063600299006 /* change_operand_reduction_opportunity.cpp */; };
+ A979637F2328063700299006 /* structured_loop_to_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A979617C2328063600299006 /* structured_loop_to_selection_reduction_opportunity.h */; };
+ A97963802328063700299006 /* structured_loop_to_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A979617C2328063600299006 /* structured_loop_to_selection_reduction_opportunity.h */; };
+ A97963812328063700299006 /* remove_function_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A979617D2328063600299006 /* remove_function_reduction_opportunity.h */; };
+ A97963822328063700299006 /* remove_function_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A979617D2328063600299006 /* remove_function_reduction_opportunity.h */; };
+ A97963832328063700299006 /* change_operand_to_undef_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A979617E2328063600299006 /* change_operand_to_undef_reduction_opportunity.h */; };
+ A97963842328063700299006 /* change_operand_to_undef_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A979617E2328063600299006 /* change_operand_to_undef_reduction_opportunity.h */; };
+ A97963852328063700299006 /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979617F2328063600299006 /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp */; };
+ A97963862328063700299006 /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979617F2328063600299006 /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp */; };
+ A97963872328063700299006 /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961802328063600299006 /* structured_loop_to_selection_reduction_opportunity_finder.h */; };
+ A97963882328063700299006 /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961802328063600299006 /* structured_loop_to_selection_reduction_opportunity_finder.h */; };
+ A97963892328063700299006 /* remove_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961812328063600299006 /* remove_selection_reduction_opportunity.h */; };
+ A979638A2328063700299006 /* remove_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961812328063600299006 /* remove_selection_reduction_opportunity.h */; };
+ A979638B2328063700299006 /* remove_instruction_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961822328063600299006 /* remove_instruction_reduction_opportunity.cpp */; };
+ A979638C2328063700299006 /* remove_instruction_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961822328063600299006 /* remove_instruction_reduction_opportunity.cpp */; };
+ A979638D2328063700299006 /* remove_relaxed_precision_decoration_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961832328063600299006 /* remove_relaxed_precision_decoration_opportunity_finder.h */; };
+ A979638E2328063700299006 /* remove_relaxed_precision_decoration_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961832328063600299006 /* remove_relaxed_precision_decoration_opportunity_finder.h */; };
+ A979638F2328063700299006 /* remove_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961842328063600299006 /* remove_selection_reduction_opportunity_finder.h */; };
+ A97963902328063700299006 /* remove_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961842328063600299006 /* remove_selection_reduction_opportunity_finder.h */; };
+ A97963912328063700299006 /* merge_blocks_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961852328063600299006 /* merge_blocks_reduction_opportunity_finder.h */; };
+ A97963922328063700299006 /* merge_blocks_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961852328063600299006 /* merge_blocks_reduction_opportunity_finder.h */; };
+ A97963932328063700299006 /* remove_opname_instruction_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961862328063600299006 /* remove_opname_instruction_reduction_opportunity_finder.cpp */; };
+ A97963942328063700299006 /* remove_opname_instruction_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961862328063600299006 /* remove_opname_instruction_reduction_opportunity_finder.cpp */; };
+ A97963952328063700299006 /* pch_source_reduce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961872328063600299006 /* pch_source_reduce.cpp */; };
+ A97963962328063700299006 /* pch_source_reduce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961872328063600299006 /* pch_source_reduce.cpp */; };
+ A97963972328063700299006 /* reducer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961882328063600299006 /* reducer.cpp */; };
+ A97963982328063700299006 /* reducer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961882328063600299006 /* reducer.cpp */; };
+ A97963992328063700299006 /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961892328063600299006 /* operand_to_undef_reduction_opportunity_finder.cpp */; };
+ A979639A2328063700299006 /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961892328063600299006 /* operand_to_undef_reduction_opportunity_finder.cpp */; };
+ A979639B2328063700299006 /* remove_function_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A979618A2328063600299006 /* remove_function_reduction_opportunity_finder.h */; };
+ A979639C2328063700299006 /* remove_function_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A979618A2328063600299006 /* remove_function_reduction_opportunity_finder.h */; };
+ A979639D2328063700299006 /* pch_source_reduce.h in Headers */ = {isa = PBXBuildFile; fileRef = A979618B2328063600299006 /* pch_source_reduce.h */; };
+ A979639E2328063700299006 /* pch_source_reduce.h in Headers */ = {isa = PBXBuildFile; fileRef = A979618B2328063600299006 /* pch_source_reduce.h */; };
+ A979639F2328063700299006 /* remove_unreferenced_instruction_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A979618C2328063600299006 /* remove_unreferenced_instruction_reduction_opportunity_finder.h */; };
+ A97963A02328063700299006 /* remove_unreferenced_instruction_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A979618C2328063600299006 /* remove_unreferenced_instruction_reduction_opportunity_finder.h */; };
+ A97963A12328063700299006 /* merge_blocks_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979618D2328063700299006 /* merge_blocks_reduction_opportunity_finder.cpp */; };
+ A97963A22328063700299006 /* merge_blocks_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979618D2328063700299006 /* merge_blocks_reduction_opportunity_finder.cpp */; };
+ A97963A32328063700299006 /* reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979618E2328063700299006 /* reduction_opportunity.cpp */; };
+ A97963A42328063700299006 /* reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979618E2328063700299006 /* reduction_opportunity.cpp */; };
+ A97963A52328063700299006 /* reducer.h in Headers */ = {isa = PBXBuildFile; fileRef = A979618F2328063700299006 /* reducer.h */; };
+ A97963A62328063700299006 /* reducer.h in Headers */ = {isa = PBXBuildFile; fileRef = A979618F2328063700299006 /* reducer.h */; };
+ A97963A72328063700299006 /* change_operand_to_undef_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961902328063700299006 /* change_operand_to_undef_reduction_opportunity.cpp */; };
+ A97963A82328063700299006 /* change_operand_to_undef_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961902328063700299006 /* change_operand_to_undef_reduction_opportunity.cpp */; };
+ A97963A92328063700299006 /* reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961912328063700299006 /* reduction_opportunity.h */; };
+ A97963AA2328063700299006 /* reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961912328063700299006 /* reduction_opportunity.h */; };
+ A97963AB2328063700299006 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961922328063700299006 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h */; };
+ A97963AC2328063700299006 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961922328063700299006 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h */; };
+ A97963AD2328063700299006 /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961932328063700299006 /* operand_to_dominating_id_reduction_opportunity_finder.cpp */; };
+ A97963AE2328063700299006 /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961932328063700299006 /* operand_to_dominating_id_reduction_opportunity_finder.cpp */; };
+ A97963AF2328063700299006 /* reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961942328063700299006 /* reduction_opportunity_finder.h */; };
+ A97963B02328063700299006 /* reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961942328063700299006 /* reduction_opportunity_finder.h */; };
+ A97963B12328063700299006 /* change_operand_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961952328063700299006 /* change_operand_reduction_opportunity.h */; };
+ A97963B22328063700299006 /* change_operand_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961952328063700299006 /* change_operand_reduction_opportunity.h */; };
+ A97963B32328063700299006 /* remove_block_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961962328063700299006 /* remove_block_reduction_opportunity_finder.h */; };
+ A97963B42328063700299006 /* remove_block_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961962328063700299006 /* remove_block_reduction_opportunity_finder.h */; };
+ A97963B52328063700299006 /* remove_block_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961972328063700299006 /* remove_block_reduction_opportunity_finder.cpp */; };
+ A97963B62328063700299006 /* remove_block_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961972328063700299006 /* remove_block_reduction_opportunity_finder.cpp */; };
+ A97963B72328063700299006 /* reduction_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961982328063700299006 /* reduction_util.h */; };
+ A97963B82328063700299006 /* reduction_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961982328063700299006 /* reduction_util.h */; };
+ A97963B92328063700299006 /* merge_blocks_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961992328063700299006 /* merge_blocks_reduction_opportunity.h */; };
+ A97963BA2328063700299006 /* merge_blocks_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961992328063700299006 /* merge_blocks_reduction_opportunity.h */; };
+ A97963BB2328063700299006 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979619A2328063700299006 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp */; };
+ A97963BC2328063700299006 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979619A2328063700299006 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp */; };
+ A97963BD2328063700299006 /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979619B2328063700299006 /* structured_loop_to_selection_reduction_opportunity.cpp */; };
+ A97963BE2328063700299006 /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979619B2328063700299006 /* structured_loop_to_selection_reduction_opportunity.cpp */; };
+ A97963BF2328063700299006 /* remove_block_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979619C2328063700299006 /* remove_block_reduction_opportunity.cpp */; };
+ A97963C02328063700299006 /* remove_block_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979619C2328063700299006 /* remove_block_reduction_opportunity.cpp */; };
+ A97963C12328063700299006 /* reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979619D2328063700299006 /* reduction_pass.h */; };
+ A97963C22328063700299006 /* reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979619D2328063700299006 /* reduction_pass.h */; };
+ A97963C32328063700299006 /* latest_version_opencl_std_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A979619E2328063700299006 /* latest_version_opencl_std_header.h */; };
+ A97963C42328063700299006 /* latest_version_opencl_std_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A979619E2328063700299006 /* latest_version_opencl_std_header.h */; };
+ A97963C52328063700299006 /* spirv_optimizer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979619F2328063700299006 /* spirv_optimizer_options.cpp */; };
+ A97963C62328063700299006 /* spirv_optimizer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979619F2328063700299006 /* spirv_optimizer_options.cpp */; };
+ A97963C72328063700299006 /* cfa.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961A02328063700299006 /* cfa.h */; };
+ A97963C82328063700299006 /* cfa.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961A02328063700299006 /* cfa.h */; };
+ A97963C92328063700299006 /* pch_source.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961A12328063700299006 /* pch_source.h */; };
+ A97963CA2328063700299006 /* pch_source.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961A12328063700299006 /* pch_source.h */; };
+ A97963CB2328063700299006 /* enum_string_mapping.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961A22328063700299006 /* enum_string_mapping.h */; };
+ A97963CC2328063700299006 /* enum_string_mapping.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961A22328063700299006 /* enum_string_mapping.h */; };
+ A97963CD2328063700299006 /* spirv_fuzzer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961A32328063700299006 /* spirv_fuzzer_options.cpp */; };
+ A97963CE2328063700299006 /* spirv_fuzzer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961A32328063700299006 /* spirv_fuzzer_options.cpp */; };
+ A97963CF2328063700299006 /* spirv_reducer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961A42328063700299006 /* spirv_reducer_options.h */; };
+ A97963D02328063700299006 /* spirv_reducer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961A42328063700299006 /* spirv_reducer_options.h */; };
+ A97963D12328063700299006 /* spirv_validator_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961A52328063700299006 /* spirv_validator_options.cpp */; };
+ A97963D22328063700299006 /* spirv_validator_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961A52328063700299006 /* spirv_validator_options.cpp */; };
+ A97963D32328063700299006 /* print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961A72328063700299006 /* print.cpp */; };
+ A97963D42328063700299006 /* print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961A72328063700299006 /* print.cpp */; };
+ A97963D52328063700299006 /* spirv_definition.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961A82328063700299006 /* spirv_definition.h */; };
+ A97963D62328063700299006 /* spirv_definition.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961A82328063700299006 /* spirv_definition.h */; };
+ A97963D72328063700299006 /* operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961A92328063700299006 /* operand.h */; };
+ A97963D82328063700299006 /* operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961A92328063700299006 /* operand.h */; };
+ A97963D92328063700299006 /* spirv_endian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961AA2328063700299006 /* spirv_endian.cpp */; };
+ A97963DA2328063700299006 /* spirv_endian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961AA2328063700299006 /* spirv_endian.cpp */; };
+ A97963DB2328063700299006 /* macro.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961AB2328063700299006 /* macro.h */; };
+ A97963DC2328063700299006 /* macro.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961AB2328063700299006 /* macro.h */; };
+ A97963DD2328063700299006 /* spirv_constant.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961AC2328063700299006 /* spirv_constant.h */; };
+ A97963DE2328063700299006 /* spirv_constant.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961AC2328063700299006 /* spirv_constant.h */; };
+ A97963DF2328063700299006 /* binary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961AE2328063700299006 /* binary.cpp */; };
+ A97963E02328063700299006 /* binary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961AE2328063700299006 /* binary.cpp */; };
+ A97963E12328063700299006 /* spirv_validator_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961AF2328063700299006 /* spirv_validator_options.h */; };
+ A97963E22328063700299006 /* spirv_validator_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961AF2328063700299006 /* spirv_validator_options.h */; };
+ A97963E32328063700299006 /* enum_string_mapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961B02328063700299006 /* enum_string_mapping.cpp */; };
+ A97963E42328063700299006 /* enum_string_mapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961B02328063700299006 /* enum_string_mapping.cpp */; };
+ A97963E52328063700299006 /* text_handler.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961B12328063700299006 /* text_handler.h */; };
+ A97963E62328063700299006 /* text_handler.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961B12328063700299006 /* text_handler.h */; };
+ A97963E72328063700299006 /* parsed_operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961B22328063700299006 /* parsed_operand.h */; };
+ A97963E82328063700299006 /* parsed_operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961B22328063700299006 /* parsed_operand.h */; };
+ A97963E92328063700299006 /* name_mapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961B32328063700299006 /* name_mapper.h */; };
+ A97963EA2328063700299006 /* name_mapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961B32328063700299006 /* name_mapper.h */; };
+ A97963EB2328063700299006 /* spirv_reducer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961B42328063700299006 /* spirv_reducer_options.cpp */; };
+ A97963EC2328063700299006 /* spirv_reducer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961B42328063700299006 /* spirv_reducer_options.cpp */; };
+ A97963ED2328063700299006 /* parsed_operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961B52328063700299006 /* parsed_operand.cpp */; };
+ A97963EE2328063700299006 /* parsed_operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961B52328063700299006 /* parsed_operand.cpp */; };
+ A97963EF2328063700299006 /* diagnostic.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961B62328063700299006 /* diagnostic.h */; };
+ A97963F02328063700299006 /* diagnostic.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961B62328063700299006 /* diagnostic.h */; };
+ A97963F12328063700299006 /* spirv_endian.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961B72328063700299006 /* spirv_endian.h */; };
+ A97963F22328063700299006 /* spirv_endian.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961B72328063700299006 /* spirv_endian.h */; };
+ A97963F32328063700299006 /* name_mapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961B82328063700299006 /* name_mapper.cpp */; };
+ A97963F42328063700299006 /* name_mapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961B82328063700299006 /* name_mapper.cpp */; };
+ A97963F52328063700299006 /* linker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961BC2328063700299006 /* linker.cpp */; };
+ A97963F62328063700299006 /* linker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961BC2328063700299006 /* linker.cpp */; };
+ A97963F72328063700299006 /* software_version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961BD2328063700299006 /* software_version.cpp */; };
+ A97963F82328063700299006 /* software_version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961BD2328063700299006 /* software_version.cpp */; };
+ A97963F92328063700299006 /* opcode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961BE2328063700299006 /* opcode.cpp */; };
+ A97963FA2328063700299006 /* opcode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961BE2328063700299006 /* opcode.cpp */; };
+ A97963FB2328063700299006 /* print.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961BF2328063700299006 /* print.h */; };
+ A97963FC2328063700299006 /* print.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961BF2328063700299006 /* print.h */; };
+ A97963FD2328063700299006 /* ext_inst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961C02328063700299006 /* ext_inst.cpp */; };
+ A97963FE2328063700299006 /* ext_inst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961C02328063700299006 /* ext_inst.cpp */; };
+ A97963FF2328063700299006 /* disassemble.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961C12328063700299006 /* disassemble.h */; };
+ A97964002328063700299006 /* disassemble.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961C12328063700299006 /* disassemble.h */; };
+ A97964012328063700299006 /* optimizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961C32328063700299006 /* optimizer.cpp */; };
+ A97964022328063700299006 /* optimizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961C32328063700299006 /* optimizer.cpp */; };
+ A97964032328063700299006 /* if_conversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961C42328063700299006 /* if_conversion.h */; };
+ A97964042328063700299006 /* if_conversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961C42328063700299006 /* if_conversion.h */; };
+ A97964052328063700299006 /* register_pressure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961C52328063700299006 /* register_pressure.cpp */; };
+ A97964062328063700299006 /* register_pressure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961C52328063700299006 /* register_pressure.cpp */; };
+ A97964072328063700299006 /* loop_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961C62328063700299006 /* loop_utils.cpp */; };
+ A97964082328063700299006 /* loop_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961C62328063700299006 /* loop_utils.cpp */; };
+ A97964092328063700299006 /* merge_return_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961C72328063700299006 /* merge_return_pass.h */; };
+ A979640A2328063700299006 /* merge_return_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961C72328063700299006 /* merge_return_pass.h */; };
+ A979640B2328063700299006 /* inline_opaque_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961C82328063700299006 /* inline_opaque_pass.h */; };
+ A979640C2328063700299006 /* inline_opaque_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961C82328063700299006 /* inline_opaque_pass.h */; };
+ A979640D2328063700299006 /* loop_fusion.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961C92328063700299006 /* loop_fusion.h */; };
+ A979640E2328063700299006 /* loop_fusion.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961C92328063700299006 /* loop_fusion.h */; };
+ A979640F2328063700299006 /* combine_access_chains.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961CA2328063700299006 /* combine_access_chains.cpp */; };
+ A97964102328063700299006 /* combine_access_chains.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961CA2328063700299006 /* combine_access_chains.cpp */; };
+ A97964112328063700299006 /* build_module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961CB2328063700299006 /* build_module.cpp */; };
+ A97964122328063700299006 /* build_module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961CB2328063700299006 /* build_module.cpp */; };
+ A97964132328063700299006 /* composite.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961CC2328063700299006 /* composite.h */; };
+ A97964142328063700299006 /* composite.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961CC2328063700299006 /* composite.h */; };
+ A97964152328063700299006 /* compact_ids_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961CD2328063700299006 /* compact_ids_pass.h */; };
+ A97964162328063700299006 /* compact_ids_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961CD2328063700299006 /* compact_ids_pass.h */; };
+ A97964172328063700299006 /* register_pressure.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961CE2328063700299006 /* register_pressure.h */; };
+ A97964182328063700299006 /* register_pressure.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961CE2328063700299006 /* register_pressure.h */; };
+ A97964192328063700299006 /* tree_iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961CF2328063700299006 /* tree_iterator.h */; };
+ A979641A2328063700299006 /* tree_iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961CF2328063700299006 /* tree_iterator.h */; };
+ A979641B2328063700299006 /* graphics_robust_access_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961D02328063700299006 /* graphics_robust_access_pass.h */; };
+ A979641C2328063700299006 /* graphics_robust_access_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961D02328063700299006 /* graphics_robust_access_pass.h */; };
+ A979641D2328063700299006 /* strip_atomic_counter_memory_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961D12328063700299006 /* strip_atomic_counter_memory_pass.h */; };
+ A979641E2328063700299006 /* strip_atomic_counter_memory_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961D12328063700299006 /* strip_atomic_counter_memory_pass.h */; };
+ A979641F2328063700299006 /* legalize_vector_shuffle_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961D22328063700299006 /* legalize_vector_shuffle_pass.h */; };
+ A97964202328063700299006 /* legalize_vector_shuffle_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961D22328063700299006 /* legalize_vector_shuffle_pass.h */; };
+ A97964212328063700299006 /* local_single_store_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961D32328063700299006 /* local_single_store_elim_pass.h */; };
+ A97964222328063700299006 /* local_single_store_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961D32328063700299006 /* local_single_store_elim_pass.h */; };
+ A97964232328063700299006 /* reduce_load_size.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961D42328063700299006 /* reduce_load_size.h */; };
+ A97964242328063700299006 /* reduce_load_size.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961D42328063700299006 /* reduce_load_size.h */; };
+ A97964252328063700299006 /* code_sink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961D52328063700299006 /* code_sink.cpp */; };
+ A97964262328063700299006 /* code_sink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961D52328063700299006 /* code_sink.cpp */; };
+ A97964272328063700299006 /* types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961D62328063700299006 /* types.cpp */; };
+ A97964282328063700299006 /* types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961D62328063700299006 /* types.cpp */; };
+ A97964292328063700299006 /* scalar_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961D72328063700299006 /* scalar_analysis.h */; };
+ A979642A2328063700299006 /* scalar_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961D72328063700299006 /* scalar_analysis.h */; };
+ A979642B2328063700299006 /* strip_debug_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961D82328063700299006 /* strip_debug_info_pass.h */; };
+ A979642C2328063700299006 /* strip_debug_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961D82328063700299006 /* strip_debug_info_pass.h */; };
+ A979642D2328063700299006 /* cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961D92328063700299006 /* cfg.cpp */; };
+ A979642E2328063700299006 /* cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961D92328063700299006 /* cfg.cpp */; };
+ A979642F2328063700299006 /* strip_atomic_counter_memory_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961DA2328063700299006 /* strip_atomic_counter_memory_pass.cpp */; };
+ A97964302328063700299006 /* strip_atomic_counter_memory_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961DA2328063700299006 /* strip_atomic_counter_memory_pass.cpp */; };
+ A97964312328063700299006 /* decoration_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961DB2328063700299006 /* decoration_manager.cpp */; };
+ A97964322328063700299006 /* decoration_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961DB2328063700299006 /* decoration_manager.cpp */; };
+ A97964332328063700299006 /* local_single_block_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961DC2328063700299006 /* local_single_block_elim_pass.cpp */; };
+ A97964342328063700299006 /* local_single_block_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961DC2328063700299006 /* local_single_block_elim_pass.cpp */; };
+ A97964352328063700299006 /* freeze_spec_constant_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961DD2328063700299006 /* freeze_spec_constant_value_pass.cpp */; };
+ A97964362328063700299006 /* freeze_spec_constant_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961DD2328063700299006 /* freeze_spec_constant_value_pass.cpp */; };
+ A97964372328063700299006 /* replace_invalid_opc.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961DE2328063700299006 /* replace_invalid_opc.h */; };
+ A97964382328063700299006 /* replace_invalid_opc.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961DE2328063700299006 /* replace_invalid_opc.h */; };
+ A97964392328063700299006 /* local_access_chain_convert_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961DF2328063700299006 /* local_access_chain_convert_pass.h */; };
+ A979643A2328063700299006 /* local_access_chain_convert_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961DF2328063700299006 /* local_access_chain_convert_pass.h */; };
+ A979643B2328063700299006 /* inst_bindless_check_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961E02328063700299006 /* inst_bindless_check_pass.cpp */; };
+ A979643C2328063700299006 /* inst_bindless_check_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961E02328063700299006 /* inst_bindless_check_pass.cpp */; };
+ A979643D2328063700299006 /* local_redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961E12328063700299006 /* local_redundancy_elimination.cpp */; };
+ A979643E2328063700299006 /* local_redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961E12328063700299006 /* local_redundancy_elimination.cpp */; };
+ A979643F2328063700299006 /* instrument_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961E32328063700299006 /* instrument_pass.cpp */; };
+ A97964402328063700299006 /* instrument_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961E32328063700299006 /* instrument_pass.cpp */; };
+ A97964412328063700299006 /* propagator.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961E42328063700299006 /* propagator.h */; };
+ A97964422328063700299006 /* propagator.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961E42328063700299006 /* propagator.h */; };
+ A97964432328063700299006 /* instruction_list.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961E52328063700299006 /* instruction_list.h */; };
+ A97964442328063700299006 /* instruction_list.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961E52328063700299006 /* instruction_list.h */; };
+ A97964452328063700299006 /* feature_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961E62328063700299006 /* feature_manager.cpp */; };
+ A97964462328063700299006 /* feature_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961E62328063700299006 /* feature_manager.cpp */; };
+ A97964472328063700299006 /* pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961E72328063700299006 /* pass.cpp */; };
+ A97964482328063700299006 /* pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961E72328063700299006 /* pass.cpp */; };
+ A97964492328063700299006 /* loop_fission.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961E82328063700299006 /* loop_fission.cpp */; };
+ A979644A2328063700299006 /* loop_fission.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961E82328063700299006 /* loop_fission.cpp */; };
+ A979644B2328063700299006 /* dominator_tree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961E92328063700299006 /* dominator_tree.cpp */; };
+ A979644C2328063700299006 /* dominator_tree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961E92328063700299006 /* dominator_tree.cpp */; };
+ A979644D2328063700299006 /* amd_ext_to_khr.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961EA2328063700299006 /* amd_ext_to_khr.h */; };
+ A979644E2328063700299006 /* amd_ext_to_khr.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961EA2328063700299006 /* amd_ext_to_khr.h */; };
+ A979644F2328063700299006 /* merge_return_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961EB2328063700299006 /* merge_return_pass.cpp */; };
+ A97964502328063700299006 /* merge_return_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961EB2328063700299006 /* merge_return_pass.cpp */; };
+ A97964512328063700299006 /* ir_context.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961EC2328063700299006 /* ir_context.h */; };
+ A97964522328063700299006 /* ir_context.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961EC2328063700299006 /* ir_context.h */; };
+ A97964532328063700299006 /* eliminate_dead_constant_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961ED2328063700299006 /* eliminate_dead_constant_pass.cpp */; };
+ A97964542328063700299006 /* eliminate_dead_constant_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961ED2328063700299006 /* eliminate_dead_constant_pass.cpp */; };
+ A97964552328063700299006 /* cfg_cleanup_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961EE2328063700299006 /* cfg_cleanup_pass.cpp */; };
+ A97964562328063700299006 /* cfg_cleanup_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961EE2328063700299006 /* cfg_cleanup_pass.cpp */; };
+ A97964572328063700299006 /* wrap_opkill.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961EF2328063700299006 /* wrap_opkill.cpp */; };
+ A97964582328063700299006 /* wrap_opkill.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961EF2328063700299006 /* wrap_opkill.cpp */; };
+ A97964592328063700299006 /* const_folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961F02328063700299006 /* const_folding_rules.cpp */; };
+ A979645A2328063700299006 /* const_folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961F02328063700299006 /* const_folding_rules.cpp */; };
+ A979645B2328063700299006 /* loop_unroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961F12328063700299006 /* loop_unroller.h */; };
+ A979645C2328063700299006 /* loop_unroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961F12328063700299006 /* loop_unroller.h */; };
+ A979645D2328063700299006 /* strip_debug_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961F22328063700299006 /* strip_debug_info_pass.cpp */; };
+ A979645E2328063700299006 /* strip_debug_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961F22328063700299006 /* strip_debug_info_pass.cpp */; };
+ A979645F2328063700299006 /* ssa_rewrite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961F32328063700299006 /* ssa_rewrite_pass.cpp */; };
+ A97964602328063700299006 /* ssa_rewrite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961F32328063700299006 /* ssa_rewrite_pass.cpp */; };
+ A97964612328063700299006 /* loop_dependence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961F42328063700299006 /* loop_dependence.cpp */; };
+ A97964622328063700299006 /* loop_dependence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961F42328063700299006 /* loop_dependence.cpp */; };
+ A97964632328063700299006 /* unify_const_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961F52328063700299006 /* unify_const_pass.h */; };
+ A97964642328063700299006 /* unify_const_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961F52328063700299006 /* unify_const_pass.h */; };
+ A97964652328063700299006 /* ir_loader.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961F62328063700299006 /* ir_loader.h */; };
+ A97964662328063700299006 /* ir_loader.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961F62328063700299006 /* ir_loader.h */; };
+ A97964672328063700299006 /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961F72328063700299006 /* types.h */; };
+ A97964682328063700299006 /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961F72328063700299006 /* types.h */; };
+ A97964692328063700299006 /* fold_spec_constant_op_and_composite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961F82328063700299006 /* fold_spec_constant_op_and_composite_pass.h */; };
+ A979646A2328063700299006 /* fold_spec_constant_op_and_composite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961F82328063700299006 /* fold_spec_constant_op_and_composite_pass.h */; };
+ A979646B2328063700299006 /* mem_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961F92328063700299006 /* mem_pass.cpp */; };
+ A979646C2328063700299006 /* mem_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961F92328063700299006 /* mem_pass.cpp */; };
+ A979646D2328063700299006 /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961FA2328063700299006 /* basic_block.h */; };
+ A979646E2328063700299006 /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961FA2328063700299006 /* basic_block.h */; };
+ A979646F2328063700299006 /* remove_duplicates_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961FB2328063700299006 /* remove_duplicates_pass.cpp */; };
+ A97964702328063700299006 /* remove_duplicates_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961FB2328063700299006 /* remove_duplicates_pass.cpp */; };
+ A97964712328063700299006 /* dead_variable_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961FC2328063700299006 /* dead_variable_elimination.cpp */; };
+ A97964722328063700299006 /* dead_variable_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961FC2328063700299006 /* dead_variable_elimination.cpp */; };
+ A97964732328063700299006 /* block_merge_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961FD2328063700299006 /* block_merge_pass.h */; };
+ A97964742328063700299006 /* block_merge_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97961FD2328063700299006 /* block_merge_pass.h */; };
+ A97964752328063700299006 /* module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961FE2328063700299006 /* module.cpp */; };
+ A97964762328063700299006 /* module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961FE2328063700299006 /* module.cpp */; };
+ A97964772328063700299006 /* fold_spec_constant_op_and_composite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961FF2328063700299006 /* fold_spec_constant_op_and_composite_pass.cpp */; };
+ A97964782328063700299006 /* fold_spec_constant_op_and_composite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97961FF2328063700299006 /* fold_spec_constant_op_and_composite_pass.cpp */; };
+ A97964792328063700299006 /* loop_unswitch_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962002328063700299006 /* loop_unswitch_pass.cpp */; };
+ A979647A2328063700299006 /* loop_unswitch_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962002328063700299006 /* loop_unswitch_pass.cpp */; };
+ A979647B2328063700299006 /* unify_const_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962012328063700299006 /* unify_const_pass.cpp */; };
+ A979647C2328063700299006 /* unify_const_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962012328063700299006 /* unify_const_pass.cpp */; };
+ A979647D2328063700299006 /* type_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962022328063700299006 /* type_manager.cpp */; };
+ A979647E2328063700299006 /* type_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962022328063700299006 /* type_manager.cpp */; };
+ A979647F2328063700299006 /* generate_webgpu_initializers_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962032328063700299006 /* generate_webgpu_initializers_pass.cpp */; };
+ A97964802328063700299006 /* generate_webgpu_initializers_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962032328063700299006 /* generate_webgpu_initializers_pass.cpp */; };
+ A97964812328063700299006 /* private_to_local_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962042328063700299006 /* private_to_local_pass.h */; };
+ A97964822328063700299006 /* private_to_local_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962042328063700299006 /* private_to_local_pass.h */; };
+ A97964832328063700299006 /* convert_to_half_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962052328063700299006 /* convert_to_half_pass.h */; };
+ A97964842328063700299006 /* convert_to_half_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962052328063700299006 /* convert_to_half_pass.h */; };
+ A97964852328063700299006 /* relax_float_ops_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962062328063700299006 /* relax_float_ops_pass.h */; };
+ A97964862328063700299006 /* relax_float_ops_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962062328063700299006 /* relax_float_ops_pass.h */; };
+ A97964872328063700299006 /* inline_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962072328063700299006 /* inline_pass.cpp */; };
+ A97964882328063700299006 /* inline_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962072328063700299006 /* inline_pass.cpp */; };
+ A97964892328063700299006 /* def_use_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962082328063700299006 /* def_use_manager.h */; };
+ A979648A2328063700299006 /* def_use_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962082328063700299006 /* def_use_manager.h */; };
+ A979648B2328063700299006 /* ir_loader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962092328063700299006 /* ir_loader.cpp */; };
+ A979648C2328063700299006 /* ir_loader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962092328063700299006 /* ir_loader.cpp */; };
+ A979648D2328063700299006 /* cfg_cleanup_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979620A2328063700299006 /* cfg_cleanup_pass.h */; };
+ A979648E2328063700299006 /* cfg_cleanup_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979620A2328063700299006 /* cfg_cleanup_pass.h */; };
+ A979648F2328063700299006 /* licm_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979620B2328063700299006 /* licm_pass.cpp */; };
+ A97964902328063700299006 /* licm_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979620B2328063700299006 /* licm_pass.cpp */; };
+ A97964912328063700299006 /* eliminate_dead_functions_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979620C2328063700299006 /* eliminate_dead_functions_pass.cpp */; };
+ A97964922328063700299006 /* eliminate_dead_functions_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979620C2328063700299006 /* eliminate_dead_functions_pass.cpp */; };
+ A97964932328063700299006 /* local_redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A979620D2328063700299006 /* local_redundancy_elimination.h */; };
+ A97964942328063700299006 /* local_redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A979620D2328063700299006 /* local_redundancy_elimination.h */; };
+ A97964952328063700299006 /* split_invalid_unreachable_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979620E2328063700299006 /* split_invalid_unreachable_pass.cpp */; };
+ A97964962328063700299006 /* split_invalid_unreachable_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979620E2328063700299006 /* split_invalid_unreachable_pass.cpp */; };
+ A97964972328063700299006 /* loop_peeling.h in Headers */ = {isa = PBXBuildFile; fileRef = A979620F2328063700299006 /* loop_peeling.h */; };
+ A97964982328063700299006 /* loop_peeling.h in Headers */ = {isa = PBXBuildFile; fileRef = A979620F2328063700299006 /* loop_peeling.h */; };
+ A97964992328063700299006 /* vector_dce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962102328063700299006 /* vector_dce.cpp */; };
+ A979649A2328063700299006 /* vector_dce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962102328063700299006 /* vector_dce.cpp */; };
+ A979649B2328063700299006 /* block_merge_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962112328063700299006 /* block_merge_util.h */; };
+ A979649C2328063700299006 /* block_merge_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962112328063700299006 /* block_merge_util.h */; };
+ A979649D2328063700299006 /* loop_unroller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962122328063700299006 /* loop_unroller.cpp */; };
+ A979649E2328063700299006 /* loop_unroller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962122328063700299006 /* loop_unroller.cpp */; };
+ A979649F2328063700299006 /* desc_sroa.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962132328063700299006 /* desc_sroa.h */; };
+ A97964A02328063700299006 /* desc_sroa.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962132328063700299006 /* desc_sroa.h */; };
+ A97964A12328063700299006 /* constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962142328063700299006 /* constants.cpp */; };
+ A97964A22328063700299006 /* constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962142328063700299006 /* constants.cpp */; };
+ A97964A32328063700299006 /* loop_fusion_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962152328063700299006 /* loop_fusion_pass.h */; };
+ A97964A42328063700299006 /* loop_fusion_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962152328063700299006 /* loop_fusion_pass.h */; };
+ A97964A52328063700299006 /* struct_cfg_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962162328063700299006 /* struct_cfg_analysis.h */; };
+ A97964A62328063700299006 /* struct_cfg_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962162328063700299006 /* struct_cfg_analysis.h */; };
+ A97964A72328063700299006 /* inst_buff_addr_check_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962172328063700299006 /* inst_buff_addr_check_pass.cpp */; };
+ A97964A82328063700299006 /* inst_buff_addr_check_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962172328063700299006 /* inst_buff_addr_check_pass.cpp */; };
+ A97964A92328063700299006 /* def_use_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962182328063700299006 /* def_use_manager.cpp */; };
+ A97964AA2328063700299006 /* def_use_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962182328063700299006 /* def_use_manager.cpp */; };
+ A97964AB2328063700299006 /* wrap_opkill.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962192328063700299006 /* wrap_opkill.h */; };
+ A97964AC2328063700299006 /* wrap_opkill.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962192328063700299006 /* wrap_opkill.h */; };
+ A97964AD2328063700299006 /* strip_reflect_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979621A2328063700299006 /* strip_reflect_info_pass.cpp */; };
+ A97964AE2328063700299006 /* strip_reflect_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979621A2328063700299006 /* strip_reflect_info_pass.cpp */; };
+ A97964AF2328063700299006 /* decoration_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A979621B2328063700299006 /* decoration_manager.h */; };
+ A97964B02328063700299006 /* decoration_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A979621B2328063700299006 /* decoration_manager.h */; };
+ A97964B12328063700299006 /* ccp_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979621C2328063700299006 /* ccp_pass.cpp */; };
+ A97964B22328063700299006 /* ccp_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979621C2328063700299006 /* ccp_pass.cpp */; };
+ A97964B32328063700299006 /* process_lines_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979621D2328063700299006 /* process_lines_pass.h */; };
+ A97964B42328063700299006 /* process_lines_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979621D2328063700299006 /* process_lines_pass.h */; };
+ A97964B52328063700299006 /* local_single_block_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979621E2328063700299006 /* local_single_block_elim_pass.h */; };
+ A97964B62328063700299006 /* local_single_block_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979621E2328063700299006 /* local_single_block_elim_pass.h */; };
+ A97964B72328063700299006 /* pch_source_opt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979621F2328063700299006 /* pch_source_opt.cpp */; };
+ A97964B82328063700299006 /* pch_source_opt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979621F2328063700299006 /* pch_source_opt.cpp */; };
+ A97964B92328063700299006 /* inst_buff_addr_check_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962202328063700299006 /* inst_buff_addr_check_pass.h */; };
+ A97964BA2328063700299006 /* inst_buff_addr_check_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962202328063700299006 /* inst_buff_addr_check_pass.h */; };
+ A97964BB2328063700299006 /* strength_reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962212328063700299006 /* strength_reduction_pass.h */; };
+ A97964BC2328063700299006 /* strength_reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962212328063700299006 /* strength_reduction_pass.h */; };
+ A97964BD2328063700299006 /* aggressive_dead_code_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962222328063700299006 /* aggressive_dead_code_elim_pass.cpp */; };
+ A97964BE2328063700299006 /* aggressive_dead_code_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962222328063700299006 /* aggressive_dead_code_elim_pass.cpp */; };
+ A97964BF2328063700299006 /* eliminate_dead_functions_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962232328063700299006 /* eliminate_dead_functions_util.cpp */; };
+ A97964C02328063700299006 /* eliminate_dead_functions_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962232328063700299006 /* eliminate_dead_functions_util.cpp */; };
+ A97964C12328063700299006 /* simplification_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962242328063700299006 /* simplification_pass.cpp */; };
+ A97964C22328063700299006 /* simplification_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962242328063700299006 /* simplification_pass.cpp */; };
+ A97964C32328063700299006 /* dead_branch_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962252328063700299006 /* dead_branch_elim_pass.cpp */; };
+ A97964C42328063700299006 /* dead_branch_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962252328063700299006 /* dead_branch_elim_pass.cpp */; };
+ A97964C52328063700299006 /* flatten_decoration_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962262328063700299006 /* flatten_decoration_pass.cpp */; };
+ A97964C62328063700299006 /* flatten_decoration_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962262328063700299006 /* flatten_decoration_pass.cpp */; };
+ A97964C72328063700299006 /* dead_insert_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962272328063700299006 /* dead_insert_elim_pass.h */; };
+ A97964C82328063700299006 /* dead_insert_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962272328063700299006 /* dead_insert_elim_pass.h */; };
+ A97964C92328063700299006 /* folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962282328063700299006 /* folding_rules.cpp */; };
+ A97964CA2328063700299006 /* folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962282328063700299006 /* folding_rules.cpp */; };
+ A97964CB2328063700299006 /* freeze_spec_constant_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962292328063700299006 /* freeze_spec_constant_value_pass.h */; };
+ A97964CC2328063700299006 /* freeze_spec_constant_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962292328063700299006 /* freeze_spec_constant_value_pass.h */; };
+ A97964CD2328063700299006 /* ir_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979622A2328063700299006 /* ir_context.cpp */; };
+ A97964CE2328063700299006 /* ir_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979622A2328063700299006 /* ir_context.cpp */; };
+ A97964CF2328063700299006 /* instrument_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979622B2328063700299006 /* instrument_pass.h */; };
+ A97964D02328063700299006 /* instrument_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979622B2328063700299006 /* instrument_pass.h */; };
+ A97964D12328063700299006 /* mem_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979622C2328063700299006 /* mem_pass.h */; };
+ A97964D22328063700299006 /* mem_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979622C2328063700299006 /* mem_pass.h */; };
+ A97964D32328063700299006 /* loop_descriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979622D2328063700299006 /* loop_descriptor.cpp */; };
+ A97964D42328063700299006 /* loop_descriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979622D2328063700299006 /* loop_descriptor.cpp */; };
+ A97964D52328063700299006 /* local_ssa_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979622E2328063700299006 /* local_ssa_elim_pass.cpp */; };
+ A97964D62328063700299006 /* local_ssa_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979622E2328063700299006 /* local_ssa_elim_pass.cpp */; };
+ A97964D72328063700299006 /* eliminate_dead_members_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979622F2328063700299006 /* eliminate_dead_members_pass.h */; };
+ A97964D82328063700299006 /* eliminate_dead_members_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979622F2328063700299006 /* eliminate_dead_members_pass.h */; };
+ A97964D92328063700299006 /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962302328063700299006 /* function.cpp */; };
+ A97964DA2328063700299006 /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962302328063700299006 /* function.cpp */; };
+ A97964DB2328063700299006 /* instruction_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962312328063700299006 /* instruction_list.cpp */; };
+ A97964DC2328063700299006 /* instruction_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962312328063700299006 /* instruction_list.cpp */; };
+ A97964DD2328063700299006 /* composite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962322328063700299006 /* composite.cpp */; };
+ A97964DE2328063700299006 /* composite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962322328063700299006 /* composite.cpp */; };
+ A97964DF2328063700299006 /* convert_to_half_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962332328063700299006 /* convert_to_half_pass.cpp */; };
+ A97964E02328063700299006 /* convert_to_half_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962332328063700299006 /* convert_to_half_pass.cpp */; };
+ A97964E12328063700299006 /* process_lines_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962342328063700299006 /* process_lines_pass.cpp */; };
+ A97964E22328063700299006 /* process_lines_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962342328063700299006 /* process_lines_pass.cpp */; };
+ A97964E32328063700299006 /* inline_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962352328063700299006 /* inline_pass.h */; };
+ A97964E42328063700299006 /* inline_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962352328063700299006 /* inline_pass.h */; };
+ A97964E52328063700299006 /* loop_dependence.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962362328063700299006 /* loop_dependence.h */; };
+ A97964E62328063700299006 /* loop_dependence.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962362328063700299006 /* loop_dependence.h */; };
+ A97964E72328063700299006 /* value_number_table.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962372328063700299006 /* value_number_table.h */; };
+ A97964E82328063700299006 /* value_number_table.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962372328063700299006 /* value_number_table.h */; };
+ A97964E92328063700299006 /* flatten_decoration_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962382328063700299006 /* flatten_decoration_pass.h */; };
+ A97964EA2328063700299006 /* flatten_decoration_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962382328063700299006 /* flatten_decoration_pass.h */; };
+ A97964EB2328063700299006 /* if_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962392328063700299006 /* if_conversion.cpp */; };
+ A97964EC2328063700299006 /* if_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962392328063700299006 /* if_conversion.cpp */; };
+ A97964ED2328063700299006 /* inline_exhaustive_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979623A2328063700299006 /* inline_exhaustive_pass.h */; };
+ A97964EE2328063700299006 /* inline_exhaustive_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979623A2328063700299006 /* inline_exhaustive_pass.h */; };
+ A97964EF2328063700299006 /* constants.h in Headers */ = {isa = PBXBuildFile; fileRef = A979623B2328063700299006 /* constants.h */; };
+ A97964F02328063700299006 /* constants.h in Headers */ = {isa = PBXBuildFile; fileRef = A979623B2328063700299006 /* constants.h */; };
+ A97964F12328063700299006 /* eliminate_dead_members_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979623C2328063700299006 /* eliminate_dead_members_pass.cpp */; };
+ A97964F22328063700299006 /* eliminate_dead_members_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979623C2328063700299006 /* eliminate_dead_members_pass.cpp */; };
+ A97964F32328063700299006 /* strength_reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979623D2328063700299006 /* strength_reduction_pass.cpp */; };
+ A97964F42328063700299006 /* strength_reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979623D2328063700299006 /* strength_reduction_pass.cpp */; };
+ A97964F52328063700299006 /* desc_sroa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979623E2328063700299006 /* desc_sroa.cpp */; };
+ A97964F62328063700299006 /* desc_sroa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979623E2328063700299006 /* desc_sroa.cpp */; };
+ A97964F72328063700299006 /* block_merge_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979623F2328063700299006 /* block_merge_util.cpp */; };
+ A97964F82328063700299006 /* block_merge_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979623F2328063700299006 /* block_merge_util.cpp */; };
+ A97964F92328063700299006 /* upgrade_memory_model.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962402328063700299006 /* upgrade_memory_model.h */; };
+ A97964FA2328063700299006 /* upgrade_memory_model.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962402328063700299006 /* upgrade_memory_model.h */; };
+ A97964FB2328063700299006 /* copy_prop_arrays.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962412328063700299006 /* copy_prop_arrays.cpp */; };
+ A97964FC2328063700299006 /* copy_prop_arrays.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962412328063700299006 /* copy_prop_arrays.cpp */; };
+ A97964FD2328063700299006 /* pass_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962422328063700299006 /* pass_manager.cpp */; };
+ A97964FE2328063700299006 /* pass_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962422328063700299006 /* pass_manager.cpp */; };
+ A97964FF2328063700299006 /* inline_exhaustive_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962432328063700299006 /* inline_exhaustive_pass.cpp */; };
+ A97965002328063700299006 /* inline_exhaustive_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962432328063700299006 /* inline_exhaustive_pass.cpp */; };
+ A97965012328063700299006 /* loop_fission.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962442328063700299006 /* loop_fission.h */; };
+ A97965022328063700299006 /* loop_fission.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962442328063700299006 /* loop_fission.h */; };
+ A97965032328063700299006 /* workaround1209.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962452328063700299006 /* workaround1209.h */; };
+ A97965042328063700299006 /* workaround1209.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962452328063700299006 /* workaround1209.h */; };
+ A97965052328063700299006 /* loop_fusion_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962462328063700299006 /* loop_fusion_pass.cpp */; };
+ A97965062328063700299006 /* loop_fusion_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962462328063700299006 /* loop_fusion_pass.cpp */; };
+ A97965072328063700299006 /* log.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962472328063700299006 /* log.h */; };
+ A97965082328063700299006 /* log.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962472328063700299006 /* log.h */; };
+ A97965092328063700299006 /* split_invalid_unreachable_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962482328063700299006 /* split_invalid_unreachable_pass.h */; };
+ A979650A2328063700299006 /* split_invalid_unreachable_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962482328063700299006 /* split_invalid_unreachable_pass.h */; };
+ A979650B2328063700299006 /* copy_prop_arrays.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962492328063700299006 /* copy_prop_arrays.h */; };
+ A979650C2328063700299006 /* copy_prop_arrays.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962492328063700299006 /* copy_prop_arrays.h */; };
+ A979650D2328063700299006 /* eliminate_dead_constant_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979624A2328063700299006 /* eliminate_dead_constant_pass.h */; };
+ A979650E2328063700299006 /* eliminate_dead_constant_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979624A2328063700299006 /* eliminate_dead_constant_pass.h */; };
+ A979650F2328063700299006 /* dead_insert_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979624B2328063700299006 /* dead_insert_elim_pass.cpp */; };
+ A97965102328063700299006 /* dead_insert_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979624B2328063700299006 /* dead_insert_elim_pass.cpp */; };
+ A97965112328063700299006 /* ssa_rewrite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979624C2328063700299006 /* ssa_rewrite_pass.h */; };
+ A97965122328063700299006 /* ssa_rewrite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979624C2328063700299006 /* ssa_rewrite_pass.h */; };
+ A97965132328063700299006 /* scalar_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979624D2328063700299006 /* scalar_analysis.cpp */; };
+ A97965142328063700299006 /* scalar_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979624D2328063700299006 /* scalar_analysis.cpp */; };
+ A97965152328063700299006 /* dead_variable_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A979624E2328063700299006 /* dead_variable_elimination.h */; };
+ A97965162328063700299006 /* dead_variable_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A979624E2328063700299006 /* dead_variable_elimination.h */; };
+ A97965172328063700299006 /* block_merge_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979624F2328063700299006 /* block_merge_pass.cpp */; };
+ A97965182328063700299006 /* block_merge_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979624F2328063700299006 /* block_merge_pass.cpp */; };
+ A97965192328063700299006 /* dominator_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962502328063700299006 /* dominator_analysis.h */; };
+ A979651A2328063700299006 /* dominator_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962502328063700299006 /* dominator_analysis.h */; };
+ A979651B2328063700299006 /* pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962512328063700299006 /* pass.h */; };
+ A979651C2328063700299006 /* pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962512328063700299006 /* pass.h */; };
+ A979651D2328063700299006 /* folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962522328063700299006 /* folding_rules.h */; };
+ A979651E2328063700299006 /* folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962522328063700299006 /* folding_rules.h */; };
+ A979651F2328063700299006 /* eliminate_dead_functions_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962532328063700299006 /* eliminate_dead_functions_pass.h */; };
+ A97965202328063700299006 /* eliminate_dead_functions_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962532328063700299006 /* eliminate_dead_functions_pass.h */; };
+ A97965212328063700299006 /* eliminate_dead_functions_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962542328063700299006 /* eliminate_dead_functions_util.h */; };
+ A97965222328063700299006 /* eliminate_dead_functions_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962542328063700299006 /* eliminate_dead_functions_util.h */; };
+ A97965232328063700299006 /* fold.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962552328063700299006 /* fold.h */; };
+ A97965242328063700299006 /* fold.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962552328063700299006 /* fold.h */; };
+ A97965252328063700299006 /* local_single_store_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962562328063700299006 /* local_single_store_elim_pass.cpp */; };
+ A97965262328063700299006 /* local_single_store_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962562328063700299006 /* local_single_store_elim_pass.cpp */; };
+ A97965272328063700299006 /* dead_branch_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962572328063700299006 /* dead_branch_elim_pass.h */; };
+ A97965282328063700299006 /* dead_branch_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962572328063700299006 /* dead_branch_elim_pass.h */; };
+ A97965292328063700299006 /* private_to_local_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962582328063700299006 /* private_to_local_pass.cpp */; };
+ A979652A2328063700299006 /* private_to_local_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962582328063700299006 /* private_to_local_pass.cpp */; };
+ A979652B2328063700299006 /* scalar_analysis_nodes.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962592328063700299006 /* scalar_analysis_nodes.h */; };
+ A979652C2328063700299006 /* scalar_analysis_nodes.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962592328063700299006 /* scalar_analysis_nodes.h */; };
+ A979652D2328063700299006 /* propagator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979625A2328063700299006 /* propagator.cpp */; };
+ A979652E2328063700299006 /* propagator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979625A2328063700299006 /* propagator.cpp */; };
+ A979652F2328063700299006 /* fix_storage_class.h in Headers */ = {isa = PBXBuildFile; fileRef = A979625B2328063700299006 /* fix_storage_class.h */; };
+ A97965302328063700299006 /* fix_storage_class.h in Headers */ = {isa = PBXBuildFile; fileRef = A979625B2328063700299006 /* fix_storage_class.h */; };
+ A97965312328063700299006 /* loop_dependence_helpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979625C2328063700299006 /* loop_dependence_helpers.cpp */; };
+ A97965322328063700299006 /* loop_dependence_helpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979625C2328063700299006 /* loop_dependence_helpers.cpp */; };
+ A97965332328063700299006 /* set_spec_constant_default_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979625D2328063700299006 /* set_spec_constant_default_value_pass.cpp */; };
+ A97965342328063700299006 /* set_spec_constant_default_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979625D2328063700299006 /* set_spec_constant_default_value_pass.cpp */; };
+ A97965352328063700299006 /* passes.h in Headers */ = {isa = PBXBuildFile; fileRef = A979625E2328063700299006 /* passes.h */; };
+ A97965362328063700299006 /* passes.h in Headers */ = {isa = PBXBuildFile; fileRef = A979625E2328063700299006 /* passes.h */; };
+ A97965372328063700299006 /* fold.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979625F2328063700299006 /* fold.cpp */; };
+ A97965382328063700299006 /* fold.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979625F2328063700299006 /* fold.cpp */; };
+ A97965392328063700299006 /* amd_ext_to_khr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962602328063700299006 /* amd_ext_to_khr.cpp */; };
+ A979653A2328063700299006 /* amd_ext_to_khr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962602328063700299006 /* amd_ext_to_khr.cpp */; };
+ A979653B2328063700299006 /* strip_reflect_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962612328063700299006 /* strip_reflect_info_pass.h */; };
+ A979653C2328063700299006 /* strip_reflect_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962612328063700299006 /* strip_reflect_info_pass.h */; };
+ A979653D2328063700299006 /* scalar_replacement_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962622328063700299006 /* scalar_replacement_pass.cpp */; };
+ A979653E2328063700299006 /* scalar_replacement_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962622328063700299006 /* scalar_replacement_pass.cpp */; };
+ A979653F2328063700299006 /* simplification_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962632328063700299006 /* simplification_pass.h */; };
+ A97965402328063700299006 /* simplification_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962632328063700299006 /* simplification_pass.h */; };
+ A97965412328063700299006 /* remove_duplicates_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962642328063700299006 /* remove_duplicates_pass.h */; };
+ A97965422328063700299006 /* remove_duplicates_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962642328063700299006 /* remove_duplicates_pass.h */; };
+ A97965432328063700299006 /* redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962652328063700299006 /* redundancy_elimination.cpp */; };
+ A97965442328063700299006 /* redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962652328063700299006 /* redundancy_elimination.cpp */; };
+ A97965452328063700299006 /* reflect.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962662328063700299006 /* reflect.h */; };
+ A97965462328063700299006 /* reflect.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962662328063700299006 /* reflect.h */; };
+ A97965472328063700299006 /* workaround1209.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962672328063700299006 /* workaround1209.cpp */; };
+ A97965482328063700299006 /* workaround1209.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962672328063700299006 /* workaround1209.cpp */; };
+ A97965492328063700299006 /* null_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962682328063700299006 /* null_pass.h */; };
+ A979654A2328063700299006 /* null_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962682328063700299006 /* null_pass.h */; };
+ A979654B2328063700299006 /* relax_float_ops_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962692328063700299006 /* relax_float_ops_pass.cpp */; };
+ A979654C2328063700299006 /* relax_float_ops_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962692328063700299006 /* relax_float_ops_pass.cpp */; };
+ A979654D2328063700299006 /* const_folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A979626A2328063700299006 /* const_folding_rules.h */; };
+ A979654E2328063700299006 /* const_folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A979626A2328063700299006 /* const_folding_rules.h */; };
+ A979654F2328063700299006 /* scalar_replacement_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979626B2328063700299006 /* scalar_replacement_pass.h */; };
+ A97965502328063700299006 /* scalar_replacement_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979626B2328063700299006 /* scalar_replacement_pass.h */; };
+ A97965512328063700299006 /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979626C2328063700299006 /* instruction.cpp */; };
+ A97965522328063700299006 /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979626C2328063700299006 /* instruction.cpp */; };
+ A97965532328063700299006 /* pch_source_opt.h in Headers */ = {isa = PBXBuildFile; fileRef = A979626D2328063700299006 /* pch_source_opt.h */; };
+ A97965542328063700299006 /* pch_source_opt.h in Headers */ = {isa = PBXBuildFile; fileRef = A979626D2328063700299006 /* pch_source_opt.h */; };
+ A97965552328063700299006 /* reduce_load_size.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979626E2328063700299006 /* reduce_load_size.cpp */; };
+ A97965562328063700299006 /* reduce_load_size.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979626E2328063700299006 /* reduce_load_size.cpp */; };
+ A97965572328063700299006 /* redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A979626F2328063700299006 /* redundancy_elimination.h */; };
+ A97965582328063700299006 /* redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A979626F2328063700299006 /* redundancy_elimination.h */; };
+ A97965592328063700299006 /* fix_storage_class.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962702328063700299006 /* fix_storage_class.cpp */; };
+ A979655A2328063700299006 /* fix_storage_class.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962702328063700299006 /* fix_storage_class.cpp */; };
+ A979655B2328063700299006 /* value_number_table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962712328063700299006 /* value_number_table.cpp */; };
+ A979655C2328063700299006 /* value_number_table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962712328063700299006 /* value_number_table.cpp */; };
+ A979655D2328063700299006 /* local_ssa_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962722328063700299006 /* local_ssa_elim_pass.h */; };
+ A979655E2328063700299006 /* local_ssa_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962722328063700299006 /* local_ssa_elim_pass.h */; };
+ A979655F2328063700299006 /* inline_opaque_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962732328063700299006 /* inline_opaque_pass.cpp */; };
+ A97965602328063700299006 /* inline_opaque_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962732328063700299006 /* inline_opaque_pass.cpp */; };
+ A97965612328063700299006 /* replace_invalid_opc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962742328063700299006 /* replace_invalid_opc.cpp */; };
+ A97965622328063700299006 /* replace_invalid_opc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962742328063700299006 /* replace_invalid_opc.cpp */; };
+ A97965632328063700299006 /* loop_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962752328063700299006 /* loop_utils.h */; };
+ A97965642328063700299006 /* loop_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962752328063700299006 /* loop_utils.h */; };
+ A97965652328063700299006 /* module.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962762328063700299006 /* module.h */; };
+ A97965662328063700299006 /* module.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962762328063700299006 /* module.h */; };
+ A97965672328063700299006 /* dominator_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962772328063700299006 /* dominator_analysis.cpp */; };
+ A97965682328063700299006 /* dominator_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962772328063700299006 /* dominator_analysis.cpp */; };
+ A97965692328063700299006 /* decompose_initialized_variables_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962782328063700299006 /* decompose_initialized_variables_pass.cpp */; };
+ A979656A2328063700299006 /* decompose_initialized_variables_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962782328063700299006 /* decompose_initialized_variables_pass.cpp */; };
+ A979656B2328063700299006 /* ir_builder.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962792328063700299006 /* ir_builder.h */; };
+ A979656C2328063700299006 /* ir_builder.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962792328063700299006 /* ir_builder.h */; };
+ A979656D2328063700299006 /* loop_unswitch_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979627A2328063700299006 /* loop_unswitch_pass.h */; };
+ A979656E2328063700299006 /* loop_unswitch_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979627A2328063700299006 /* loop_unswitch_pass.h */; };
+ A979656F2328063700299006 /* cfg.h in Headers */ = {isa = PBXBuildFile; fileRef = A979627B2328063700299006 /* cfg.h */; };
+ A97965702328063700299006 /* cfg.h in Headers */ = {isa = PBXBuildFile; fileRef = A979627B2328063700299006 /* cfg.h */; };
+ A97965712328063700299006 /* code_sink.h in Headers */ = {isa = PBXBuildFile; fileRef = A979627C2328063700299006 /* code_sink.h */; };
+ A97965722328063700299006 /* code_sink.h in Headers */ = {isa = PBXBuildFile; fileRef = A979627C2328063700299006 /* code_sink.h */; };
+ A97965732328063700299006 /* loop_descriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A979627D2328063700299006 /* loop_descriptor.h */; };
+ A97965742328063700299006 /* loop_descriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A979627D2328063700299006 /* loop_descriptor.h */; };
+ A97965752328063700299006 /* generate_webgpu_initializers_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979627E2328063700299006 /* generate_webgpu_initializers_pass.h */; };
+ A97965762328063700299006 /* generate_webgpu_initializers_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979627E2328063700299006 /* generate_webgpu_initializers_pass.h */; };
+ A97965772328063700299006 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A979627F2328063700299006 /* instruction.h */; };
+ A97965782328063700299006 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A979627F2328063700299006 /* instruction.h */; };
+ A97965792328063700299006 /* aggressive_dead_code_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962802328063700299006 /* aggressive_dead_code_elim_pass.h */; };
+ A979657A2328063700299006 /* aggressive_dead_code_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962802328063700299006 /* aggressive_dead_code_elim_pass.h */; };
+ A979657B2328063700299006 /* struct_cfg_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962812328063700299006 /* struct_cfg_analysis.cpp */; };
+ A979657C2328063700299006 /* struct_cfg_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962812328063700299006 /* struct_cfg_analysis.cpp */; };
+ A979657D2328063700299006 /* vector_dce.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962822328063700299006 /* vector_dce.h */; };
+ A979657E2328063700299006 /* vector_dce.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962822328063700299006 /* vector_dce.h */; };
+ A979657F2328063700299006 /* combine_access_chains.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962832328063700299006 /* combine_access_chains.h */; };
+ A97965802328063700299006 /* combine_access_chains.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962832328063700299006 /* combine_access_chains.h */; };
+ A97965812328063700299006 /* pass_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962842328063700299006 /* pass_manager.h */; };
+ A97965822328063700299006 /* pass_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962842328063700299006 /* pass_manager.h */; };
+ A97965832328063700299006 /* local_access_chain_convert_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962852328063700299006 /* local_access_chain_convert_pass.cpp */; };
+ A97965842328063700299006 /* local_access_chain_convert_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962852328063700299006 /* local_access_chain_convert_pass.cpp */; };
+ A97965852328063700299006 /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962862328063700299006 /* basic_block.cpp */; };
+ A97965862328063700299006 /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962862328063700299006 /* basic_block.cpp */; };
+ A97965872328063700299006 /* iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962872328063700299006 /* iterator.h */; };
+ A97965882328063700299006 /* iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962872328063700299006 /* iterator.h */; };
+ A97965892328063700299006 /* licm_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962882328063700299006 /* licm_pass.h */; };
+ A979658A2328063700299006 /* licm_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962882328063700299006 /* licm_pass.h */; };
+ A979658B2328063700299006 /* build_module.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962892328063700299006 /* build_module.h */; };
+ A979658C2328063700299006 /* build_module.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962892328063700299006 /* build_module.h */; };
+ A979658D2328063700299006 /* ccp_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979628A2328063700299006 /* ccp_pass.h */; };
+ A979658E2328063700299006 /* ccp_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979628A2328063700299006 /* ccp_pass.h */; };
+ A979658F2328063700299006 /* graphics_robust_access_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979628B2328063700299006 /* graphics_robust_access_pass.cpp */; };
+ A97965902328063700299006 /* graphics_robust_access_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979628B2328063700299006 /* graphics_robust_access_pass.cpp */; };
+ A97965912328063700299006 /* decompose_initialized_variables_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979628C2328063700299006 /* decompose_initialized_variables_pass.h */; };
+ A97965922328063700299006 /* decompose_initialized_variables_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A979628C2328063700299006 /* decompose_initialized_variables_pass.h */; };
+ A97965932328063700299006 /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A979628D2328063700299006 /* function.h */; };
+ A97965942328063800299006 /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A979628D2328063700299006 /* function.h */; };
+ A97965952328063800299006 /* loop_fusion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979628E2328063700299006 /* loop_fusion.cpp */; };
+ A97965962328063800299006 /* loop_fusion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979628E2328063700299006 /* loop_fusion.cpp */; };
+ A97965972328063800299006 /* upgrade_memory_model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979628F2328063700299006 /* upgrade_memory_model.cpp */; };
+ A97965982328063800299006 /* upgrade_memory_model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979628F2328063700299006 /* upgrade_memory_model.cpp */; };
+ A97965992328063800299006 /* feature_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962902328063700299006 /* feature_manager.h */; };
+ A979659A2328063800299006 /* feature_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962902328063700299006 /* feature_manager.h */; };
+ A979659B2328063800299006 /* inst_bindless_check_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962912328063700299006 /* inst_bindless_check_pass.h */; };
+ A979659C2328063800299006 /* inst_bindless_check_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962912328063700299006 /* inst_bindless_check_pass.h */; };
+ A979659D2328063800299006 /* scalar_analysis_simplification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962922328063700299006 /* scalar_analysis_simplification.cpp */; };
+ A979659E2328063800299006 /* scalar_analysis_simplification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962922328063700299006 /* scalar_analysis_simplification.cpp */; };
+ A979659F2328063800299006 /* set_spec_constant_default_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962932328063700299006 /* set_spec_constant_default_value_pass.h */; };
+ A97965A02328063800299006 /* set_spec_constant_default_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962932328063700299006 /* set_spec_constant_default_value_pass.h */; };
+ A97965A12328063800299006 /* dominator_tree.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962942328063700299006 /* dominator_tree.h */; };
+ A97965A22328063800299006 /* dominator_tree.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962942328063700299006 /* dominator_tree.h */; };
+ A97965A32328063800299006 /* legalize_vector_shuffle_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962952328063700299006 /* legalize_vector_shuffle_pass.cpp */; };
+ A97965A42328063800299006 /* legalize_vector_shuffle_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962952328063700299006 /* legalize_vector_shuffle_pass.cpp */; };
+ A97965A52328063800299006 /* type_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962962328063700299006 /* type_manager.h */; };
+ A97965A62328063800299006 /* type_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962962328063700299006 /* type_manager.h */; };
+ A97965A72328063800299006 /* compact_ids_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962972328063700299006 /* compact_ids_pass.cpp */; };
+ A97965A82328063800299006 /* compact_ids_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962972328063700299006 /* compact_ids_pass.cpp */; };
+ A97965A92328063800299006 /* loop_peeling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962982328063700299006 /* loop_peeling.cpp */; };
+ A97965AA2328063800299006 /* loop_peeling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962982328063700299006 /* loop_peeling.cpp */; };
+ A97965AB2328063800299006 /* table.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962992328063700299006 /* table.h */; };
+ A97965AC2328063800299006 /* table.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962992328063700299006 /* table.h */; };
+ A97966312328063800299006 /* ext_inst.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962DF2328063700299006 /* ext_inst.h */; };
+ A97966322328063800299006 /* ext_inst.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962DF2328063700299006 /* ext_inst.h */; };
+ A97966332328063800299006 /* diagnostic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962E02328063700299006 /* diagnostic.cpp */; };
+ A97966342328063800299006 /* diagnostic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962E02328063700299006 /* diagnostic.cpp */; };
+ A97966352328063800299006 /* latest_version_spirv_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962E12328063700299006 /* latest_version_spirv_header.h */; };
+ A97966362328063800299006 /* latest_version_spirv_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962E12328063700299006 /* latest_version_spirv_header.h */; };
+ A97966372328063800299006 /* libspirv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962E22328063700299006 /* libspirv.cpp */; };
+ A97966382328063800299006 /* libspirv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962E22328063700299006 /* libspirv.cpp */; };
+ A97966392328063800299006 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962E32328063700299006 /* instruction.h */; };
+ A979663A2328063800299006 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962E32328063700299006 /* instruction.h */; };
+ A979663B2328063800299006 /* spirv_optimizer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962E42328063700299006 /* spirv_optimizer_options.h */; };
+ A979663C2328063800299006 /* spirv_optimizer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962E42328063700299006 /* spirv_optimizer_options.h */; };
+ A979663D2328063800299006 /* opcode.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962E52328063700299006 /* opcode.h */; };
+ A979663E2328063800299006 /* opcode.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962E52328063700299006 /* opcode.h */; };
+ A979663F2328063800299006 /* operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962E62328063700299006 /* operand.cpp */; };
+ A97966402328063800299006 /* operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962E62328063700299006 /* operand.cpp */; };
+ A97966412328063800299006 /* latest_version_glsl_std_450_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962E72328063700299006 /* latest_version_glsl_std_450_header.h */; };
+ A97966422328063800299006 /* latest_version_glsl_std_450_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962E72328063700299006 /* latest_version_glsl_std_450_header.h */; };
+ A97966432328063800299006 /* extensions.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962E82328063700299006 /* extensions.h */; };
+ A97966442328063800299006 /* extensions.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962E82328063700299006 /* extensions.h */; };
+ A97966452328063800299006 /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962E92328063700299006 /* disassemble.cpp */; };
+ A97966462328063800299006 /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962E92328063700299006 /* disassemble.cpp */; };
+ A97966472328063800299006 /* binary.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962EA2328063700299006 /* binary.h */; };
+ A97966482328063800299006 /* binary.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962EA2328063700299006 /* binary.h */; };
+ A97966492328063800299006 /* text_handler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962EB2328063700299006 /* text_handler.cpp */; };
+ A979664A2328063800299006 /* text_handler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962EB2328063700299006 /* text_handler.cpp */; };
+ A979664B2328063800299006 /* validate_annotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962ED2328063700299006 /* validate_annotation.cpp */; };
+ A979664C2328063800299006 /* validate_annotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962ED2328063700299006 /* validate_annotation.cpp */; };
+ A979664D2328063800299006 /* validate_misc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962EE2328063700299006 /* validate_misc.cpp */; };
+ A979664E2328063800299006 /* validate_misc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962EE2328063700299006 /* validate_misc.cpp */; };
+ A979664F2328063800299006 /* validate_cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962EF2328063700299006 /* validate_cfg.cpp */; };
+ A97966502328063800299006 /* validate_cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962EF2328063700299006 /* validate_cfg.cpp */; };
+ A97966512328063800299006 /* validate_capability.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962F02328063700299006 /* validate_capability.cpp */; };
+ A97966522328063800299006 /* validate_capability.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962F02328063700299006 /* validate_capability.cpp */; };
+ A97966532328063800299006 /* construct.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962F12328063700299006 /* construct.h */; };
+ A97966542328063800299006 /* construct.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962F12328063700299006 /* construct.h */; };
+ A97966552328063800299006 /* validate_barriers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962F22328063700299006 /* validate_barriers.cpp */; };
+ A97966562328063800299006 /* validate_barriers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962F22328063700299006 /* validate_barriers.cpp */; };
+ A97966572328063800299006 /* validate_non_uniform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962F32328063700299006 /* validate_non_uniform.cpp */; };
+ A97966582328063800299006 /* validate_non_uniform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962F32328063700299006 /* validate_non_uniform.cpp */; };
+ A97966592328063800299006 /* validate_scopes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962F42328063700299006 /* validate_scopes.cpp */; };
+ A979665A2328063800299006 /* validate_scopes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962F42328063700299006 /* validate_scopes.cpp */; };
+ A979665B2328063800299006 /* validate_atomics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962F52328063700299006 /* validate_atomics.cpp */; };
+ A979665C2328063800299006 /* validate_atomics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962F52328063700299006 /* validate_atomics.cpp */; };
+ A979665D2328063800299006 /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962F62328063700299006 /* basic_block.h */; };
+ A979665E2328063800299006 /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962F62328063700299006 /* basic_block.h */; };
+ A979665F2328063800299006 /* validate_instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962F72328063700299006 /* validate_instruction.cpp */; };
+ A97966602328063800299006 /* validate_instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962F72328063700299006 /* validate_instruction.cpp */; };
+ A97966612328063800299006 /* validate_decorations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962F82328063700299006 /* validate_decorations.cpp */; };
+ A97966622328063800299006 /* validate_decorations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962F82328063700299006 /* validate_decorations.cpp */; };
+ A97966632328063800299006 /* validate_debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962F92328063700299006 /* validate_debug.cpp */; };
+ A97966642328063800299006 /* validate_debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962F92328063700299006 /* validate_debug.cpp */; };
+ A97966652328063800299006 /* validate_builtins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962FA2328063700299006 /* validate_builtins.cpp */; };
+ A97966662328063800299006 /* validate_builtins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962FA2328063700299006 /* validate_builtins.cpp */; };
+ A97966672328063800299006 /* validate_interfaces.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962FB2328063700299006 /* validate_interfaces.cpp */; };
+ A97966682328063800299006 /* validate_interfaces.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962FB2328063700299006 /* validate_interfaces.cpp */; };
+ A97966692328063800299006 /* validate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962FC2328063700299006 /* validate.cpp */; };
+ A979666A2328063800299006 /* validate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962FC2328063700299006 /* validate.cpp */; };
+ A979666B2328063800299006 /* validation_state.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962FD2328063700299006 /* validation_state.h */; };
+ A979666C2328063800299006 /* validation_state.h in Headers */ = {isa = PBXBuildFile; fileRef = A97962FD2328063700299006 /* validation_state.h */; };
+ A979666D2328063800299006 /* validate_constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962FE2328063700299006 /* validate_constants.cpp */; };
+ A979666E2328063800299006 /* validate_constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962FE2328063700299006 /* validate_constants.cpp */; };
+ A979666F2328063800299006 /* validate_bitwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962FF2328063700299006 /* validate_bitwise.cpp */; };
+ A97966702328063800299006 /* validate_bitwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97962FF2328063700299006 /* validate_bitwise.cpp */; };
+ A97966712328063800299006 /* validate_extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963002328063700299006 /* validate_extensions.cpp */; };
+ A97966722328063800299006 /* validate_extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963002328063700299006 /* validate_extensions.cpp */; };
+ A97966732328063800299006 /* construct.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963012328063700299006 /* construct.cpp */; };
+ A97966742328063800299006 /* construct.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963012328063700299006 /* construct.cpp */; };
+ A97966752328063800299006 /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963022328063700299006 /* function.cpp */; };
+ A97966762328063800299006 /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963022328063700299006 /* function.cpp */; };
+ A97966772328063800299006 /* validate.h in Headers */ = {isa = PBXBuildFile; fileRef = A97963032328063700299006 /* validate.h */; };
+ A97966782328063800299006 /* validate.h in Headers */ = {isa = PBXBuildFile; fileRef = A97963032328063700299006 /* validate.h */; };
+ A97966792328063800299006 /* validate_adjacency.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963042328063700299006 /* validate_adjacency.cpp */; };
+ A979667A2328063800299006 /* validate_adjacency.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963042328063700299006 /* validate_adjacency.cpp */; };
+ A979667B2328063800299006 /* validate_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963052328063700299006 /* validate_conversion.cpp */; };
+ A979667C2328063800299006 /* validate_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963052328063700299006 /* validate_conversion.cpp */; };
+ A979667D2328063800299006 /* validate_small_type_uses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963062328063700299006 /* validate_small_type_uses.cpp */; };
+ A979667E2328063800299006 /* validate_small_type_uses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963062328063700299006 /* validate_small_type_uses.cpp */; };
+ A979667F2328063800299006 /* validate_datarules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963072328063700299006 /* validate_datarules.cpp */; };
+ A97966802328063800299006 /* validate_datarules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963072328063700299006 /* validate_datarules.cpp */; };
+ A97966812328063800299006 /* validate_scopes.h in Headers */ = {isa = PBXBuildFile; fileRef = A97963082328063700299006 /* validate_scopes.h */; };
+ A97966822328063800299006 /* validate_scopes.h in Headers */ = {isa = PBXBuildFile; fileRef = A97963082328063700299006 /* validate_scopes.h */; };
+ A97966832328063800299006 /* validate_id.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963092328063700299006 /* validate_id.cpp */; };
+ A97966842328063800299006 /* validate_id.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963092328063700299006 /* validate_id.cpp */; };
+ A97966852328063800299006 /* validate_memory_semantics.h in Headers */ = {isa = PBXBuildFile; fileRef = A979630A2328063700299006 /* validate_memory_semantics.h */; };
+ A97966862328063800299006 /* validate_memory_semantics.h in Headers */ = {isa = PBXBuildFile; fileRef = A979630A2328063700299006 /* validate_memory_semantics.h */; };
+ A97966872328063800299006 /* validate_arithmetics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979630B2328063700299006 /* validate_arithmetics.cpp */; };
+ A97966882328063800299006 /* validate_arithmetics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979630B2328063700299006 /* validate_arithmetics.cpp */; };
+ A97966892328063800299006 /* validate_mode_setting.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979630C2328063700299006 /* validate_mode_setting.cpp */; };
+ A979668A2328063800299006 /* validate_mode_setting.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979630C2328063700299006 /* validate_mode_setting.cpp */; };
+ A979668B2328063800299006 /* validate_memory_semantics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979630D2328063700299006 /* validate_memory_semantics.cpp */; };
+ A979668C2328063800299006 /* validate_memory_semantics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979630D2328063700299006 /* validate_memory_semantics.cpp */; };
+ A979668D2328063800299006 /* validate_logicals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979630E2328063700299006 /* validate_logicals.cpp */; };
+ A979668E2328063800299006 /* validate_logicals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979630E2328063700299006 /* validate_logicals.cpp */; };
+ A979668F2328063800299006 /* validate_derivatives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979630F2328063700299006 /* validate_derivatives.cpp */; };
+ A97966902328063800299006 /* validate_derivatives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979630F2328063700299006 /* validate_derivatives.cpp */; };
+ A97966912328063800299006 /* validate_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963102328063700299006 /* validate_memory.cpp */; };
+ A97966922328063800299006 /* validate_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963102328063700299006 /* validate_memory.cpp */; };
+ A97966932328063800299006 /* validate_image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963112328063700299006 /* validate_image.cpp */; };
+ A97966942328063800299006 /* validate_image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963112328063700299006 /* validate_image.cpp */; };
+ A97966952328063800299006 /* validate_literals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963122328063700299006 /* validate_literals.cpp */; };
+ A97966962328063800299006 /* validate_literals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963122328063700299006 /* validate_literals.cpp */; };
+ A97966972328063800299006 /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963132328063700299006 /* instruction.cpp */; };
+ A97966982328063800299006 /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963132328063700299006 /* instruction.cpp */; };
+ A97966992328063800299006 /* validate_type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963142328063700299006 /* validate_type.cpp */; };
+ A979669A2328063800299006 /* validate_type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963142328063700299006 /* validate_type.cpp */; };
+ A979669B2328063800299006 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A97963152328063700299006 /* instruction.h */; };
+ A979669C2328063800299006 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A97963152328063700299006 /* instruction.h */; };
+ A979669D2328063800299006 /* validate_execution_limitations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963162328063700299006 /* validate_execution_limitations.cpp */; };
+ A979669E2328063800299006 /* validate_execution_limitations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963162328063700299006 /* validate_execution_limitations.cpp */; };
+ A979669F2328063800299006 /* validate_layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963172328063700299006 /* validate_layout.cpp */; };
+ A97966A02328063800299006 /* validate_layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963172328063700299006 /* validate_layout.cpp */; };
+ A97966A12328063800299006 /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963182328063700299006 /* basic_block.cpp */; };
+ A97966A22328063800299006 /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963182328063700299006 /* basic_block.cpp */; };
+ A97966A32328063800299006 /* validate_function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963192328063700299006 /* validate_function.cpp */; };
+ A97966A42328063800299006 /* validate_function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97963192328063700299006 /* validate_function.cpp */; };
+ A97966A52328063800299006 /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A979631A2328063700299006 /* function.h */; };
+ A97966A62328063800299006 /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A979631A2328063700299006 /* function.h */; };
+ A97966A72328063800299006 /* validate_composites.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979631B2328063700299006 /* validate_composites.cpp */; };
+ A97966A82328063800299006 /* validate_composites.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979631B2328063700299006 /* validate_composites.cpp */; };
+ A97966A92328063800299006 /* validation_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979631C2328063700299006 /* validation_state.cpp */; };
+ A97966AA2328063800299006 /* validation_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979631C2328063700299006 /* validation_state.cpp */; };
+ A97966AB2328063800299006 /* validate_primitives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979631D2328063700299006 /* validate_primitives.cpp */; };
+ A97966AC2328063800299006 /* validate_primitives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A979631D2328063700299006 /* validate_primitives.cpp */; };
+ A97966AD2328063800299006 /* decoration.h in Headers */ = {isa = PBXBuildFile; fileRef = A979631E2328063700299006 /* decoration.h */; };
+ A97966AE2328063800299006 /* decoration.h in Headers */ = {isa = PBXBuildFile; fileRef = A979631E2328063700299006 /* decoration.h */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -1193,391 +1225,407 @@
A976290C21CC60BC00B52A68 /* spirv_parser.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = spirv_parser.hpp; sourceTree = "<group>"; };
A976290D21CC60BC00B52A68 /* spirv_msl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_msl.cpp; sourceTree = "<group>"; };
A976290E21CC60BC00B52A68 /* spirv_cross_parsed_ir.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_cross_parsed_ir.cpp; sourceTree = "<group>"; };
+ A97961462328063600299006 /* spirv_target_env.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_target_env.cpp; sourceTree = "<group>"; };
+ A97961472328063600299006 /* extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json"; sourceTree = "<group>"; };
+ A97961482328063600299006 /* spirv_fuzzer_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_fuzzer_options.h; sourceTree = "<group>"; };
+ A97961492328063600299006 /* assembly_grammar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = assembly_grammar.h; sourceTree = "<group>"; };
+ A979614A2328063600299006 /* enum_set.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enum_set.h; sourceTree = "<group>"; };
+ A979614B2328063600299006 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
+ A979614C2328063600299006 /* extinst.spv-amd-shader-ballot.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "extinst.spv-amd-shader-ballot.grammar.json"; sourceTree = "<group>"; };
+ A979614D2328063600299006 /* text.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = text.cpp; sourceTree = "<group>"; };
+ A979614E2328063600299006 /* assembly_grammar.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = assembly_grammar.cpp; sourceTree = "<group>"; };
+ A979614F2328063600299006 /* text.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = text.h; sourceTree = "<group>"; };
+ A97961502328063600299006 /* extensions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = extensions.cpp; sourceTree = "<group>"; };
+ A97961512328063600299006 /* pch_source.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pch_source.cpp; sourceTree = "<group>"; };
+ A97961532328063600299006 /* parse_number.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = parse_number.h; sourceTree = "<group>"; };
+ A97961542328063600299006 /* ilist_node.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ilist_node.h; sourceTree = "<group>"; };
+ A97961552328063600299006 /* make_unique.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = make_unique.h; sourceTree = "<group>"; };
+ A97961562328063600299006 /* string_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = string_utils.h; sourceTree = "<group>"; };
+ A97961572328063600299006 /* small_vector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = small_vector.h; sourceTree = "<group>"; };
+ A97961582328063600299006 /* timer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = timer.cpp; sourceTree = "<group>"; };
+ A97961592328063600299006 /* timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = timer.h; sourceTree = "<group>"; };
+ A979615A2328063600299006 /* string_utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = string_utils.cpp; sourceTree = "<group>"; };
+ A979615B2328063600299006 /* bit_vector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bit_vector.h; sourceTree = "<group>"; };
+ A979615C2328063600299006 /* bitutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bitutils.h; sourceTree = "<group>"; };
+ A979615D2328063600299006 /* hex_float.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hex_float.h; sourceTree = "<group>"; };
+ A979615E2328063600299006 /* parse_number.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parse_number.cpp; sourceTree = "<group>"; };
+ A979615F2328063600299006 /* bit_vector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bit_vector.cpp; sourceTree = "<group>"; };
+ A97961602328063600299006 /* ilist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ilist.h; sourceTree = "<group>"; };
+ A97961612328063600299006 /* spirv_target_env.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_target_env.h; sourceTree = "<group>"; };
+ A97961622328063600299006 /* table.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = table.cpp; sourceTree = "<group>"; };
+ A97961642328063600299006 /* operand_to_undef_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = operand_to_undef_reduction_opportunity_finder.h; sourceTree = "<group>"; };
+ A97961652328063600299006 /* remove_selection_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_selection_reduction_opportunity.cpp; sourceTree = "<group>"; };
+ A97961662328063600299006 /* remove_block_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_block_reduction_opportunity.h; sourceTree = "<group>"; };
+ A97961672328063600299006 /* operand_to_dominating_id_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = operand_to_dominating_id_reduction_opportunity_finder.h; sourceTree = "<group>"; };
+ A97961682328063600299006 /* reduction_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduction_pass.cpp; sourceTree = "<group>"; };
+ A97961692328063600299006 /* operand_to_const_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = operand_to_const_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
+ A979616A2328063600299006 /* operand_to_const_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = operand_to_const_reduction_opportunity_finder.h; sourceTree = "<group>"; };
+ A979616B2328063600299006 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
+ A979616C2328063600299006 /* reduction_util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduction_util.cpp; sourceTree = "<group>"; };
+ A979616D2328063600299006 /* remove_relaxed_precision_decoration_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_relaxed_precision_decoration_opportunity_finder.cpp; sourceTree = "<group>"; };
+ A979616E2328063600299006 /* structured_loop_to_selection_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = structured_loop_to_selection_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
+ A979616F2328063600299006 /* simple_conditional_branch_to_branch_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = simple_conditional_branch_to_branch_reduction_opportunity.h; sourceTree = "<group>"; };
+ A97961702328063600299006 /* remove_function_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_function_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
+ A97961712328063600299006 /* remove_instruction_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_instruction_reduction_opportunity.h; sourceTree = "<group>"; };
+ A97961722328063600299006 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = conditional_branch_to_simple_conditional_branch_reduction_opportunity.h; sourceTree = "<group>"; };
+ A97961732328063600299006 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = simple_conditional_branch_to_branch_reduction_opportunity.cpp; sourceTree = "<group>"; };
+ A97961742328063600299006 /* remove_function_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_function_reduction_opportunity.cpp; sourceTree = "<group>"; };
+ A97961752328063600299006 /* remove_opname_instruction_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_opname_instruction_reduction_opportunity_finder.h; sourceTree = "<group>"; };
+ A97961762328063600299006 /* simple_conditional_branch_to_branch_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = simple_conditional_branch_to_branch_opportunity_finder.cpp; sourceTree = "<group>"; };
+ A97961772328063600299006 /* remove_selection_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_selection_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
+ A97961782328063600299006 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp; sourceTree = "<group>"; };
+ A97961792328063600299006 /* simple_conditional_branch_to_branch_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = simple_conditional_branch_to_branch_opportunity_finder.h; sourceTree = "<group>"; };
+ A979617A2328063600299006 /* merge_blocks_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = merge_blocks_reduction_opportunity.cpp; sourceTree = "<group>"; };
+ A979617B2328063600299006 /* change_operand_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = change_operand_reduction_opportunity.cpp; sourceTree = "<group>"; };
+ A979617C2328063600299006 /* structured_loop_to_selection_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = structured_loop_to_selection_reduction_opportunity.h; sourceTree = "<group>"; };
+ A979617D2328063600299006 /* remove_function_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_function_reduction_opportunity.h; sourceTree = "<group>"; };
+ A979617E2328063600299006 /* change_operand_to_undef_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = change_operand_to_undef_reduction_opportunity.h; sourceTree = "<group>"; };
+ A979617F2328063600299006 /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_unreferenced_instruction_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
+ A97961802328063600299006 /* structured_loop_to_selection_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = structured_loop_to_selection_reduction_opportunity_finder.h; sourceTree = "<group>"; };
+ A97961812328063600299006 /* remove_selection_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_selection_reduction_opportunity.h; sourceTree = "<group>"; };
+ A97961822328063600299006 /* remove_instruction_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_instruction_reduction_opportunity.cpp; sourceTree = "<group>"; };
+ A97961832328063600299006 /* remove_relaxed_precision_decoration_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_relaxed_precision_decoration_opportunity_finder.h; sourceTree = "<group>"; };
+ A97961842328063600299006 /* remove_selection_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_selection_reduction_opportunity_finder.h; sourceTree = "<group>"; };
+ A97961852328063600299006 /* merge_blocks_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = merge_blocks_reduction_opportunity_finder.h; sourceTree = "<group>"; };
+ A97961862328063600299006 /* remove_opname_instruction_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_opname_instruction_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
+ A97961872328063600299006 /* pch_source_reduce.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pch_source_reduce.cpp; sourceTree = "<group>"; };
+ A97961882328063600299006 /* reducer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reducer.cpp; sourceTree = "<group>"; };
+ A97961892328063600299006 /* operand_to_undef_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = operand_to_undef_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
+ A979618A2328063600299006 /* remove_function_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_function_reduction_opportunity_finder.h; sourceTree = "<group>"; };
+ A979618B2328063600299006 /* pch_source_reduce.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pch_source_reduce.h; sourceTree = "<group>"; };
+ A979618C2328063600299006 /* remove_unreferenced_instruction_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_unreferenced_instruction_reduction_opportunity_finder.h; sourceTree = "<group>"; };
+ A979618D2328063700299006 /* merge_blocks_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = merge_blocks_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
+ A979618E2328063700299006 /* reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduction_opportunity.cpp; sourceTree = "<group>"; };
+ A979618F2328063700299006 /* reducer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reducer.h; sourceTree = "<group>"; };
+ A97961902328063700299006 /* change_operand_to_undef_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = change_operand_to_undef_reduction_opportunity.cpp; sourceTree = "<group>"; };
+ A97961912328063700299006 /* reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduction_opportunity.h; sourceTree = "<group>"; };
+ A97961922328063700299006 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = conditional_branch_to_simple_conditional_branch_opportunity_finder.h; sourceTree = "<group>"; };
+ A97961932328063700299006 /* operand_to_dominating_id_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = operand_to_dominating_id_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
+ A97961942328063700299006 /* reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduction_opportunity_finder.h; sourceTree = "<group>"; };
+ A97961952328063700299006 /* change_operand_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = change_operand_reduction_opportunity.h; sourceTree = "<group>"; };
+ A97961962328063700299006 /* remove_block_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_block_reduction_opportunity_finder.h; sourceTree = "<group>"; };
+ A97961972328063700299006 /* remove_block_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_block_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
+ A97961982328063700299006 /* reduction_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduction_util.h; sourceTree = "<group>"; };
+ A97961992328063700299006 /* merge_blocks_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = merge_blocks_reduction_opportunity.h; sourceTree = "<group>"; };
+ A979619A2328063700299006 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp; sourceTree = "<group>"; };
+ A979619B2328063700299006 /* structured_loop_to_selection_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = structured_loop_to_selection_reduction_opportunity.cpp; sourceTree = "<group>"; };
+ A979619C2328063700299006 /* remove_block_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_block_reduction_opportunity.cpp; sourceTree = "<group>"; };
+ A979619D2328063700299006 /* reduction_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduction_pass.h; sourceTree = "<group>"; };
+ A979619E2328063700299006 /* latest_version_opencl_std_header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = latest_version_opencl_std_header.h; sourceTree = "<group>"; };
+ A979619F2328063700299006 /* spirv_optimizer_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_optimizer_options.cpp; sourceTree = "<group>"; };
+ A97961A02328063700299006 /* cfa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfa.h; sourceTree = "<group>"; };
+ A97961A12328063700299006 /* pch_source.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pch_source.h; sourceTree = "<group>"; };
+ A97961A22328063700299006 /* enum_string_mapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enum_string_mapping.h; sourceTree = "<group>"; };
+ A97961A32328063700299006 /* spirv_fuzzer_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_fuzzer_options.cpp; sourceTree = "<group>"; };
+ A97961A42328063700299006 /* spirv_reducer_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_reducer_options.h; sourceTree = "<group>"; };
+ A97961A52328063700299006 /* spirv_validator_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_validator_options.cpp; sourceTree = "<group>"; };
+ A97961A62328063700299006 /* extinst.spv-amd-shader-trinary-minmax.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "extinst.spv-amd-shader-trinary-minmax.grammar.json"; sourceTree = "<group>"; };
+ A97961A72328063700299006 /* print.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = print.cpp; sourceTree = "<group>"; };
+ A97961A82328063700299006 /* spirv_definition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_definition.h; sourceTree = "<group>"; };
+ A97961A92328063700299006 /* operand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = operand.h; sourceTree = "<group>"; };
+ A97961AA2328063700299006 /* spirv_endian.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_endian.cpp; sourceTree = "<group>"; };
+ A97961AB2328063700299006 /* macro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = macro.h; sourceTree = "<group>"; };
+ A97961AC2328063700299006 /* spirv_constant.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_constant.h; sourceTree = "<group>"; };
+ A97961AD2328063700299006 /* extinst.spv-amd-gcn-shader.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "extinst.spv-amd-gcn-shader.grammar.json"; sourceTree = "<group>"; };
+ A97961AE2328063700299006 /* binary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = binary.cpp; sourceTree = "<group>"; };
+ A97961AF2328063700299006 /* spirv_validator_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_validator_options.h; sourceTree = "<group>"; };
+ A97961B02328063700299006 /* enum_string_mapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = enum_string_mapping.cpp; sourceTree = "<group>"; };
+ A97961B12328063700299006 /* text_handler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = text_handler.h; sourceTree = "<group>"; };
+ A97961B22328063700299006 /* parsed_operand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = parsed_operand.h; sourceTree = "<group>"; };
+ A97961B32328063700299006 /* name_mapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = name_mapper.h; sourceTree = "<group>"; };
+ A97961B42328063700299006 /* spirv_reducer_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_reducer_options.cpp; sourceTree = "<group>"; };
+ A97961B52328063700299006 /* parsed_operand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parsed_operand.cpp; sourceTree = "<group>"; };
+ A97961B62328063700299006 /* diagnostic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = diagnostic.h; sourceTree = "<group>"; };
+ A97961B72328063700299006 /* spirv_endian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_endian.h; sourceTree = "<group>"; };
+ A97961B82328063700299006 /* name_mapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = name_mapper.cpp; sourceTree = "<group>"; };
+ A97961B92328063700299006 /* extinst.debuginfo.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = extinst.debuginfo.grammar.json; sourceTree = "<group>"; };
+ A97961BB2328063700299006 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
+ A97961BC2328063700299006 /* linker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = linker.cpp; sourceTree = "<group>"; };
+ A97961BD2328063700299006 /* software_version.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = software_version.cpp; sourceTree = "<group>"; };
+ A97961BE2328063700299006 /* opcode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opcode.cpp; sourceTree = "<group>"; };
+ A97961BF2328063700299006 /* print.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = print.h; sourceTree = "<group>"; };
+ A97961C02328063700299006 /* ext_inst.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ext_inst.cpp; sourceTree = "<group>"; };
+ A97961C12328063700299006 /* disassemble.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = disassemble.h; sourceTree = "<group>"; };
+ A97961C32328063700299006 /* optimizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = optimizer.cpp; sourceTree = "<group>"; };
+ A97961C42328063700299006 /* if_conversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = if_conversion.h; sourceTree = "<group>"; };
+ A97961C52328063700299006 /* register_pressure.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = register_pressure.cpp; sourceTree = "<group>"; };
+ A97961C62328063700299006 /* loop_utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_utils.cpp; sourceTree = "<group>"; };
+ A97961C72328063700299006 /* merge_return_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = merge_return_pass.h; sourceTree = "<group>"; };
+ A97961C82328063700299006 /* inline_opaque_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline_opaque_pass.h; sourceTree = "<group>"; };
+ A97961C92328063700299006 /* loop_fusion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_fusion.h; sourceTree = "<group>"; };
+ A97961CA2328063700299006 /* combine_access_chains.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = combine_access_chains.cpp; sourceTree = "<group>"; };
+ A97961CB2328063700299006 /* build_module.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = build_module.cpp; sourceTree = "<group>"; };
+ A97961CC2328063700299006 /* composite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = composite.h; sourceTree = "<group>"; };
+ A97961CD2328063700299006 /* compact_ids_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = compact_ids_pass.h; sourceTree = "<group>"; };
+ A97961CE2328063700299006 /* register_pressure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = register_pressure.h; sourceTree = "<group>"; };
+ A97961CF2328063700299006 /* tree_iterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tree_iterator.h; sourceTree = "<group>"; };
+ A97961D02328063700299006 /* graphics_robust_access_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = graphics_robust_access_pass.h; sourceTree = "<group>"; };
+ A97961D12328063700299006 /* strip_atomic_counter_memory_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strip_atomic_counter_memory_pass.h; sourceTree = "<group>"; };
+ A97961D22328063700299006 /* legalize_vector_shuffle_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = legalize_vector_shuffle_pass.h; sourceTree = "<group>"; };
+ A97961D32328063700299006 /* local_single_store_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_single_store_elim_pass.h; sourceTree = "<group>"; };
+ A97961D42328063700299006 /* reduce_load_size.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduce_load_size.h; sourceTree = "<group>"; };
+ A97961D52328063700299006 /* code_sink.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = code_sink.cpp; sourceTree = "<group>"; };
+ A97961D62328063700299006 /* types.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = types.cpp; sourceTree = "<group>"; };
+ A97961D72328063700299006 /* scalar_analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scalar_analysis.h; sourceTree = "<group>"; };
+ A97961D82328063700299006 /* strip_debug_info_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strip_debug_info_pass.h; sourceTree = "<group>"; };
+ A97961D92328063700299006 /* cfg.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cfg.cpp; sourceTree = "<group>"; };
+ A97961DA2328063700299006 /* strip_atomic_counter_memory_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strip_atomic_counter_memory_pass.cpp; sourceTree = "<group>"; };
+ A97961DB2328063700299006 /* decoration_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decoration_manager.cpp; sourceTree = "<group>"; };
+ A97961DC2328063700299006 /* local_single_block_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_single_block_elim_pass.cpp; sourceTree = "<group>"; };
+ A97961DD2328063700299006 /* freeze_spec_constant_value_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = freeze_spec_constant_value_pass.cpp; sourceTree = "<group>"; };
+ A97961DE2328063700299006 /* replace_invalid_opc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = replace_invalid_opc.h; sourceTree = "<group>"; };
+ A97961DF2328063700299006 /* local_access_chain_convert_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_access_chain_convert_pass.h; sourceTree = "<group>"; };
+ A97961E02328063700299006 /* inst_bindless_check_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inst_bindless_check_pass.cpp; sourceTree = "<group>"; };
+ A97961E12328063700299006 /* local_redundancy_elimination.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_redundancy_elimination.cpp; sourceTree = "<group>"; };
+ A97961E22328063700299006 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
+ A97961E32328063700299006 /* instrument_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instrument_pass.cpp; sourceTree = "<group>"; };
+ A97961E42328063700299006 /* propagator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = propagator.h; sourceTree = "<group>"; };
+ A97961E52328063700299006 /* instruction_list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction_list.h; sourceTree = "<group>"; };
+ A97961E62328063700299006 /* feature_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = feature_manager.cpp; sourceTree = "<group>"; };
+ A97961E72328063700299006 /* pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pass.cpp; sourceTree = "<group>"; };
+ A97961E82328063700299006 /* loop_fission.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_fission.cpp; sourceTree = "<group>"; };
+ A97961E92328063700299006 /* dominator_tree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dominator_tree.cpp; sourceTree = "<group>"; };
+ A97961EA2328063700299006 /* amd_ext_to_khr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = amd_ext_to_khr.h; sourceTree = "<group>"; };
+ A97961EB2328063700299006 /* merge_return_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = merge_return_pass.cpp; sourceTree = "<group>"; };
+ A97961EC2328063700299006 /* ir_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_context.h; sourceTree = "<group>"; };
+ A97961ED2328063700299006 /* eliminate_dead_constant_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_constant_pass.cpp; sourceTree = "<group>"; };
+ A97961EE2328063700299006 /* cfg_cleanup_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cfg_cleanup_pass.cpp; sourceTree = "<group>"; };
+ A97961EF2328063700299006 /* wrap_opkill.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_opkill.cpp; sourceTree = "<group>"; };
+ A97961F02328063700299006 /* const_folding_rules.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = const_folding_rules.cpp; sourceTree = "<group>"; };
+ A97961F12328063700299006 /* loop_unroller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_unroller.h; sourceTree = "<group>"; };
+ A97961F22328063700299006 /* strip_debug_info_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strip_debug_info_pass.cpp; sourceTree = "<group>"; };
+ A97961F32328063700299006 /* ssa_rewrite_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ssa_rewrite_pass.cpp; sourceTree = "<group>"; };
+ A97961F42328063700299006 /* loop_dependence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_dependence.cpp; sourceTree = "<group>"; };
+ A97961F52328063700299006 /* unify_const_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unify_const_pass.h; sourceTree = "<group>"; };
+ A97961F62328063700299006 /* ir_loader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_loader.h; sourceTree = "<group>"; };
+ A97961F72328063700299006 /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = "<group>"; };
+ A97961F82328063700299006 /* fold_spec_constant_op_and_composite_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fold_spec_constant_op_and_composite_pass.h; sourceTree = "<group>"; };
+ A97961F92328063700299006 /* mem_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mem_pass.cpp; sourceTree = "<group>"; };
+ A97961FA2328063700299006 /* basic_block.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = basic_block.h; sourceTree = "<group>"; };
+ A97961FB2328063700299006 /* remove_duplicates_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_duplicates_pass.cpp; sourceTree = "<group>"; };
+ A97961FC2328063700299006 /* dead_variable_elimination.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dead_variable_elimination.cpp; sourceTree = "<group>"; };
+ A97961FD2328063700299006 /* block_merge_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_merge_pass.h; sourceTree = "<group>"; };
+ A97961FE2328063700299006 /* module.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = module.cpp; sourceTree = "<group>"; };
+ A97961FF2328063700299006 /* fold_spec_constant_op_and_composite_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fold_spec_constant_op_and_composite_pass.cpp; sourceTree = "<group>"; };
+ A97962002328063700299006 /* loop_unswitch_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_unswitch_pass.cpp; sourceTree = "<group>"; };
+ A97962012328063700299006 /* unify_const_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unify_const_pass.cpp; sourceTree = "<group>"; };
+ A97962022328063700299006 /* type_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = type_manager.cpp; sourceTree = "<group>"; };
+ A97962032328063700299006 /* generate_webgpu_initializers_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = generate_webgpu_initializers_pass.cpp; sourceTree = "<group>"; };
+ A97962042328063700299006 /* private_to_local_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = private_to_local_pass.h; sourceTree = "<group>"; };
+ A97962052328063700299006 /* convert_to_half_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = convert_to_half_pass.h; sourceTree = "<group>"; };
+ A97962062328063700299006 /* relax_float_ops_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = relax_float_ops_pass.h; sourceTree = "<group>"; };
+ A97962072328063700299006 /* inline_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inline_pass.cpp; sourceTree = "<group>"; };
+ A97962082328063700299006 /* def_use_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = def_use_manager.h; sourceTree = "<group>"; };
+ A97962092328063700299006 /* ir_loader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_loader.cpp; sourceTree = "<group>"; };
+ A979620A2328063700299006 /* cfg_cleanup_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfg_cleanup_pass.h; sourceTree = "<group>"; };
+ A979620B2328063700299006 /* licm_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = licm_pass.cpp; sourceTree = "<group>"; };
+ A979620C2328063700299006 /* eliminate_dead_functions_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_functions_pass.cpp; sourceTree = "<group>"; };
+ A979620D2328063700299006 /* local_redundancy_elimination.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_redundancy_elimination.h; sourceTree = "<group>"; };
+ A979620E2328063700299006 /* split_invalid_unreachable_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = split_invalid_unreachable_pass.cpp; sourceTree = "<group>"; };
+ A979620F2328063700299006 /* loop_peeling.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_peeling.h; sourceTree = "<group>"; };
+ A97962102328063700299006 /* vector_dce.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vector_dce.cpp; sourceTree = "<group>"; };
+ A97962112328063700299006 /* block_merge_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_merge_util.h; sourceTree = "<group>"; };
+ A97962122328063700299006 /* loop_unroller.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_unroller.cpp; sourceTree = "<group>"; };
+ A97962132328063700299006 /* desc_sroa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = desc_sroa.h; sourceTree = "<group>"; };
+ A97962142328063700299006 /* constants.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = constants.cpp; sourceTree = "<group>"; };
+ A97962152328063700299006 /* loop_fusion_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_fusion_pass.h; sourceTree = "<group>"; };
+ A97962162328063700299006 /* struct_cfg_analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = struct_cfg_analysis.h; sourceTree = "<group>"; };
+ A97962172328063700299006 /* inst_buff_addr_check_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inst_buff_addr_check_pass.cpp; sourceTree = "<group>"; };
+ A97962182328063700299006 /* def_use_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = def_use_manager.cpp; sourceTree = "<group>"; };
+ A97962192328063700299006 /* wrap_opkill.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_opkill.h; sourceTree = "<group>"; };
+ A979621A2328063700299006 /* strip_reflect_info_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strip_reflect_info_pass.cpp; sourceTree = "<group>"; };
+ A979621B2328063700299006 /* decoration_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoration_manager.h; sourceTree = "<group>"; };
+ A979621C2328063700299006 /* ccp_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ccp_pass.cpp; sourceTree = "<group>"; };
+ A979621D2328063700299006 /* process_lines_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = process_lines_pass.h; sourceTree = "<group>"; };
+ A979621E2328063700299006 /* local_single_block_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_single_block_elim_pass.h; sourceTree = "<group>"; };
+ A979621F2328063700299006 /* pch_source_opt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pch_source_opt.cpp; sourceTree = "<group>"; };
+ A97962202328063700299006 /* inst_buff_addr_check_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inst_buff_addr_check_pass.h; sourceTree = "<group>"; };
+ A97962212328063700299006 /* strength_reduction_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strength_reduction_pass.h; sourceTree = "<group>"; };
+ A97962222328063700299006 /* aggressive_dead_code_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aggressive_dead_code_elim_pass.cpp; sourceTree = "<group>"; };
+ A97962232328063700299006 /* eliminate_dead_functions_util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_functions_util.cpp; sourceTree = "<group>"; };
+ A97962242328063700299006 /* simplification_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = simplification_pass.cpp; sourceTree = "<group>"; };
+ A97962252328063700299006 /* dead_branch_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dead_branch_elim_pass.cpp; sourceTree = "<group>"; };
+ A97962262328063700299006 /* flatten_decoration_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = flatten_decoration_pass.cpp; sourceTree = "<group>"; };
+ A97962272328063700299006 /* dead_insert_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dead_insert_elim_pass.h; sourceTree = "<group>"; };
+ A97962282328063700299006 /* folding_rules.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = folding_rules.cpp; sourceTree = "<group>"; };
+ A97962292328063700299006 /* freeze_spec_constant_value_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = freeze_spec_constant_value_pass.h; sourceTree = "<group>"; };
+ A979622A2328063700299006 /* ir_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_context.cpp; sourceTree = "<group>"; };
+ A979622B2328063700299006 /* instrument_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instrument_pass.h; sourceTree = "<group>"; };
+ A979622C2328063700299006 /* mem_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mem_pass.h; sourceTree = "<group>"; };
+ A979622D2328063700299006 /* loop_descriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_descriptor.cpp; sourceTree = "<group>"; };
+ A979622E2328063700299006 /* local_ssa_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_ssa_elim_pass.cpp; sourceTree = "<group>"; };
+ A979622F2328063700299006 /* eliminate_dead_members_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_members_pass.h; sourceTree = "<group>"; };
+ A97962302328063700299006 /* function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = function.cpp; sourceTree = "<group>"; };
+ A97962312328063700299006 /* instruction_list.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instruction_list.cpp; sourceTree = "<group>"; };
+ A97962322328063700299006 /* composite.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = composite.cpp; sourceTree = "<group>"; };
+ A97962332328063700299006 /* convert_to_half_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = convert_to_half_pass.cpp; sourceTree = "<group>"; };
+ A97962342328063700299006 /* process_lines_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = process_lines_pass.cpp; sourceTree = "<group>"; };
+ A97962352328063700299006 /* inline_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline_pass.h; sourceTree = "<group>"; };
+ A97962362328063700299006 /* loop_dependence.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_dependence.h; sourceTree = "<group>"; };
+ A97962372328063700299006 /* value_number_table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = value_number_table.h; sourceTree = "<group>"; };
+ A97962382328063700299006 /* flatten_decoration_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = flatten_decoration_pass.h; sourceTree = "<group>"; };
+ A97962392328063700299006 /* if_conversion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = if_conversion.cpp; sourceTree = "<group>"; };
+ A979623A2328063700299006 /* inline_exhaustive_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline_exhaustive_pass.h; sourceTree = "<group>"; };
+ A979623B2328063700299006 /* constants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = constants.h; sourceTree = "<group>"; };
+ A979623C2328063700299006 /* eliminate_dead_members_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_members_pass.cpp; sourceTree = "<group>"; };
+ A979623D2328063700299006 /* strength_reduction_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strength_reduction_pass.cpp; sourceTree = "<group>"; };
+ A979623E2328063700299006 /* desc_sroa.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = desc_sroa.cpp; sourceTree = "<group>"; };
+ A979623F2328063700299006 /* block_merge_util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_merge_util.cpp; sourceTree = "<group>"; };
+ A97962402328063700299006 /* upgrade_memory_model.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = upgrade_memory_model.h; sourceTree = "<group>"; };
+ A97962412328063700299006 /* copy_prop_arrays.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = copy_prop_arrays.cpp; sourceTree = "<group>"; };
+ A97962422328063700299006 /* pass_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pass_manager.cpp; sourceTree = "<group>"; };
+ A97962432328063700299006 /* inline_exhaustive_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inline_exhaustive_pass.cpp; sourceTree = "<group>"; };
+ A97962442328063700299006 /* loop_fission.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_fission.h; sourceTree = "<group>"; };
+ A97962452328063700299006 /* workaround1209.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = workaround1209.h; sourceTree = "<group>"; };
+ A97962462328063700299006 /* loop_fusion_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_fusion_pass.cpp; sourceTree = "<group>"; };
+ A97962472328063700299006 /* log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = log.h; sourceTree = "<group>"; };
+ A97962482328063700299006 /* split_invalid_unreachable_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = split_invalid_unreachable_pass.h; sourceTree = "<group>"; };
+ A97962492328063700299006 /* copy_prop_arrays.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = copy_prop_arrays.h; sourceTree = "<group>"; };
+ A979624A2328063700299006 /* eliminate_dead_constant_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_constant_pass.h; sourceTree = "<group>"; };
+ A979624B2328063700299006 /* dead_insert_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dead_insert_elim_pass.cpp; sourceTree = "<group>"; };
+ A979624C2328063700299006 /* ssa_rewrite_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ssa_rewrite_pass.h; sourceTree = "<group>"; };
+ A979624D2328063700299006 /* scalar_analysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scalar_analysis.cpp; sourceTree = "<group>"; };
+ A979624E2328063700299006 /* dead_variable_elimination.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dead_variable_elimination.h; sourceTree = "<group>"; };
+ A979624F2328063700299006 /* block_merge_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_merge_pass.cpp; sourceTree = "<group>"; };
+ A97962502328063700299006 /* dominator_analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dominator_analysis.h; sourceTree = "<group>"; };
+ A97962512328063700299006 /* pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pass.h; sourceTree = "<group>"; };
+ A97962522328063700299006 /* folding_rules.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = folding_rules.h; sourceTree = "<group>"; };
+ A97962532328063700299006 /* eliminate_dead_functions_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_functions_pass.h; sourceTree = "<group>"; };
+ A97962542328063700299006 /* eliminate_dead_functions_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_functions_util.h; sourceTree = "<group>"; };
+ A97962552328063700299006 /* fold.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fold.h; sourceTree = "<group>"; };
+ A97962562328063700299006 /* local_single_store_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_single_store_elim_pass.cpp; sourceTree = "<group>"; };
+ A97962572328063700299006 /* dead_branch_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dead_branch_elim_pass.h; sourceTree = "<group>"; };
+ A97962582328063700299006 /* private_to_local_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = private_to_local_pass.cpp; sourceTree = "<group>"; };
+ A97962592328063700299006 /* scalar_analysis_nodes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scalar_analysis_nodes.h; sourceTree = "<group>"; };
+ A979625A2328063700299006 /* propagator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = propagator.cpp; sourceTree = "<group>"; };
+ A979625B2328063700299006 /* fix_storage_class.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fix_storage_class.h; sourceTree = "<group>"; };
+ A979625C2328063700299006 /* loop_dependence_helpers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_dependence_helpers.cpp; sourceTree = "<group>"; };
+ A979625D2328063700299006 /* set_spec_constant_default_value_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = set_spec_constant_default_value_pass.cpp; sourceTree = "<group>"; };
+ A979625E2328063700299006 /* passes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = passes.h; sourceTree = "<group>"; };
+ A979625F2328063700299006 /* fold.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fold.cpp; sourceTree = "<group>"; };
+ A97962602328063700299006 /* amd_ext_to_khr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = amd_ext_to_khr.cpp; sourceTree = "<group>"; };
+ A97962612328063700299006 /* strip_reflect_info_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strip_reflect_info_pass.h; sourceTree = "<group>"; };
+ A97962622328063700299006 /* scalar_replacement_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scalar_replacement_pass.cpp; sourceTree = "<group>"; };
+ A97962632328063700299006 /* simplification_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = simplification_pass.h; sourceTree = "<group>"; };
+ A97962642328063700299006 /* remove_duplicates_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_duplicates_pass.h; sourceTree = "<group>"; };
+ A97962652328063700299006 /* redundancy_elimination.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = redundancy_elimination.cpp; sourceTree = "<group>"; };
+ A97962662328063700299006 /* reflect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reflect.h; sourceTree = "<group>"; };
+ A97962672328063700299006 /* workaround1209.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = workaround1209.cpp; sourceTree = "<group>"; };
+ A97962682328063700299006 /* null_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = null_pass.h; sourceTree = "<group>"; };
+ A97962692328063700299006 /* relax_float_ops_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = relax_float_ops_pass.cpp; sourceTree = "<group>"; };
+ A979626A2328063700299006 /* const_folding_rules.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = const_folding_rules.h; sourceTree = "<group>"; };
+ A979626B2328063700299006 /* scalar_replacement_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scalar_replacement_pass.h; sourceTree = "<group>"; };
+ A979626C2328063700299006 /* instruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instruction.cpp; sourceTree = "<group>"; };
+ A979626D2328063700299006 /* pch_source_opt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pch_source_opt.h; sourceTree = "<group>"; };
+ A979626E2328063700299006 /* reduce_load_size.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduce_load_size.cpp; sourceTree = "<group>"; };
+ A979626F2328063700299006 /* redundancy_elimination.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = redundancy_elimination.h; sourceTree = "<group>"; };
+ A97962702328063700299006 /* fix_storage_class.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fix_storage_class.cpp; sourceTree = "<group>"; };
+ A97962712328063700299006 /* value_number_table.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = value_number_table.cpp; sourceTree = "<group>"; };
+ A97962722328063700299006 /* local_ssa_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_ssa_elim_pass.h; sourceTree = "<group>"; };
+ A97962732328063700299006 /* inline_opaque_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inline_opaque_pass.cpp; sourceTree = "<group>"; };
+ A97962742328063700299006 /* replace_invalid_opc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = replace_invalid_opc.cpp; sourceTree = "<group>"; };
+ A97962752328063700299006 /* loop_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_utils.h; sourceTree = "<group>"; };
+ A97962762328063700299006 /* module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = module.h; sourceTree = "<group>"; };
+ A97962772328063700299006 /* dominator_analysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dominator_analysis.cpp; sourceTree = "<group>"; };
+ A97962782328063700299006 /* decompose_initialized_variables_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decompose_initialized_variables_pass.cpp; sourceTree = "<group>"; };
+ A97962792328063700299006 /* ir_builder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_builder.h; sourceTree = "<group>"; };
+ A979627A2328063700299006 /* loop_unswitch_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_unswitch_pass.h; sourceTree = "<group>"; };
+ A979627B2328063700299006 /* cfg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfg.h; sourceTree = "<group>"; };
+ A979627C2328063700299006 /* code_sink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = code_sink.h; sourceTree = "<group>"; };
+ A979627D2328063700299006 /* loop_descriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_descriptor.h; sourceTree = "<group>"; };
+ A979627E2328063700299006 /* generate_webgpu_initializers_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = generate_webgpu_initializers_pass.h; sourceTree = "<group>"; };
+ A979627F2328063700299006 /* instruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction.h; sourceTree = "<group>"; };
+ A97962802328063700299006 /* aggressive_dead_code_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aggressive_dead_code_elim_pass.h; sourceTree = "<group>"; };
+ A97962812328063700299006 /* struct_cfg_analysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = struct_cfg_analysis.cpp; sourceTree = "<group>"; };
+ A97962822328063700299006 /* vector_dce.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vector_dce.h; sourceTree = "<group>"; };
+ A97962832328063700299006 /* combine_access_chains.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = combine_access_chains.h; sourceTree = "<group>"; };
+ A97962842328063700299006 /* pass_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pass_manager.h; sourceTree = "<group>"; };
+ A97962852328063700299006 /* local_access_chain_convert_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_access_chain_convert_pass.cpp; sourceTree = "<group>"; };
+ A97962862328063700299006 /* basic_block.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = basic_block.cpp; sourceTree = "<group>"; };
+ A97962872328063700299006 /* iterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iterator.h; sourceTree = "<group>"; };
+ A97962882328063700299006 /* licm_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = licm_pass.h; sourceTree = "<group>"; };
+ A97962892328063700299006 /* build_module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = build_module.h; sourceTree = "<group>"; };
+ A979628A2328063700299006 /* ccp_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccp_pass.h; sourceTree = "<group>"; };
+ A979628B2328063700299006 /* graphics_robust_access_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = graphics_robust_access_pass.cpp; sourceTree = "<group>"; };
+ A979628C2328063700299006 /* decompose_initialized_variables_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decompose_initialized_variables_pass.h; sourceTree = "<group>"; };
+ A979628D2328063700299006 /* function.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = function.h; sourceTree = "<group>"; };
+ A979628E2328063700299006 /* loop_fusion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_fusion.cpp; sourceTree = "<group>"; };
+ A979628F2328063700299006 /* upgrade_memory_model.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = upgrade_memory_model.cpp; sourceTree = "<group>"; };
+ A97962902328063700299006 /* feature_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = feature_manager.h; sourceTree = "<group>"; };
+ A97962912328063700299006 /* inst_bindless_check_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inst_bindless_check_pass.h; sourceTree = "<group>"; };
+ A97962922328063700299006 /* scalar_analysis_simplification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scalar_analysis_simplification.cpp; sourceTree = "<group>"; };
+ A97962932328063700299006 /* set_spec_constant_default_value_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = set_spec_constant_default_value_pass.h; sourceTree = "<group>"; };
+ A97962942328063700299006 /* dominator_tree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dominator_tree.h; sourceTree = "<group>"; };
+ A97962952328063700299006 /* legalize_vector_shuffle_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = legalize_vector_shuffle_pass.cpp; sourceTree = "<group>"; };
+ A97962962328063700299006 /* type_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = type_manager.h; sourceTree = "<group>"; };
+ A97962972328063700299006 /* compact_ids_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = compact_ids_pass.cpp; sourceTree = "<group>"; };
+ A97962982328063700299006 /* loop_peeling.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_peeling.cpp; sourceTree = "<group>"; };
+ A97962992328063700299006 /* table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = table.h; sourceTree = "<group>"; };
+ A97962DF2328063700299006 /* ext_inst.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ext_inst.h; sourceTree = "<group>"; };
+ A97962E02328063700299006 /* diagnostic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = diagnostic.cpp; sourceTree = "<group>"; };
+ A97962E12328063700299006 /* latest_version_spirv_header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = latest_version_spirv_header.h; sourceTree = "<group>"; };
+ A97962E22328063700299006 /* libspirv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = libspirv.cpp; sourceTree = "<group>"; };
+ A97962E32328063700299006 /* instruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction.h; sourceTree = "<group>"; };
+ A97962E42328063700299006 /* spirv_optimizer_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_optimizer_options.h; sourceTree = "<group>"; };
+ A97962E52328063700299006 /* opcode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opcode.h; sourceTree = "<group>"; };
+ A97962E62328063700299006 /* operand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = operand.cpp; sourceTree = "<group>"; };
+ A97962E72328063700299006 /* latest_version_glsl_std_450_header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = latest_version_glsl_std_450_header.h; sourceTree = "<group>"; };
+ A97962E82328063700299006 /* extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = extensions.h; sourceTree = "<group>"; };
+ A97962E92328063700299006 /* disassemble.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = disassemble.cpp; sourceTree = "<group>"; };
+ A97962EA2328063700299006 /* binary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = binary.h; sourceTree = "<group>"; };
+ A97962EB2328063700299006 /* text_handler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = text_handler.cpp; sourceTree = "<group>"; };
+ A97962ED2328063700299006 /* validate_annotation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_annotation.cpp; sourceTree = "<group>"; };
+ A97962EE2328063700299006 /* validate_misc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_misc.cpp; sourceTree = "<group>"; };
+ A97962EF2328063700299006 /* validate_cfg.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_cfg.cpp; sourceTree = "<group>"; };
+ A97962F02328063700299006 /* validate_capability.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_capability.cpp; sourceTree = "<group>"; };
+ A97962F12328063700299006 /* construct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = construct.h; sourceTree = "<group>"; };
+ A97962F22328063700299006 /* validate_barriers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_barriers.cpp; sourceTree = "<group>"; };
+ A97962F32328063700299006 /* validate_non_uniform.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_non_uniform.cpp; sourceTree = "<group>"; };
+ A97962F42328063700299006 /* validate_scopes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_scopes.cpp; sourceTree = "<group>"; };
+ A97962F52328063700299006 /* validate_atomics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_atomics.cpp; sourceTree = "<group>"; };
+ A97962F62328063700299006 /* basic_block.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = basic_block.h; sourceTree = "<group>"; };
+ A97962F72328063700299006 /* validate_instruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_instruction.cpp; sourceTree = "<group>"; };
+ A97962F82328063700299006 /* validate_decorations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_decorations.cpp; sourceTree = "<group>"; };
+ A97962F92328063700299006 /* validate_debug.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_debug.cpp; sourceTree = "<group>"; };
+ A97962FA2328063700299006 /* validate_builtins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_builtins.cpp; sourceTree = "<group>"; };
+ A97962FB2328063700299006 /* validate_interfaces.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_interfaces.cpp; sourceTree = "<group>"; };
+ A97962FC2328063700299006 /* validate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate.cpp; sourceTree = "<group>"; };
+ A97962FD2328063700299006 /* validation_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validation_state.h; sourceTree = "<group>"; };
+ A97962FE2328063700299006 /* validate_constants.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_constants.cpp; sourceTree = "<group>"; };
+ A97962FF2328063700299006 /* validate_bitwise.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_bitwise.cpp; sourceTree = "<group>"; };
+ A97963002328063700299006 /* validate_extensions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_extensions.cpp; sourceTree = "<group>"; };
+ A97963012328063700299006 /* construct.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = construct.cpp; sourceTree = "<group>"; };
+ A97963022328063700299006 /* function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = function.cpp; sourceTree = "<group>"; };
+ A97963032328063700299006 /* validate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validate.h; sourceTree = "<group>"; };
+ A97963042328063700299006 /* validate_adjacency.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_adjacency.cpp; sourceTree = "<group>"; };
+ A97963052328063700299006 /* validate_conversion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_conversion.cpp; sourceTree = "<group>"; };
+ A97963062328063700299006 /* validate_small_type_uses.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_small_type_uses.cpp; sourceTree = "<group>"; };
+ A97963072328063700299006 /* validate_datarules.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_datarules.cpp; sourceTree = "<group>"; };
+ A97963082328063700299006 /* validate_scopes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validate_scopes.h; sourceTree = "<group>"; };
+ A97963092328063700299006 /* validate_id.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_id.cpp; sourceTree = "<group>"; };
+ A979630A2328063700299006 /* validate_memory_semantics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validate_memory_semantics.h; sourceTree = "<group>"; };
+ A979630B2328063700299006 /* validate_arithmetics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_arithmetics.cpp; sourceTree = "<group>"; };
+ A979630C2328063700299006 /* validate_mode_setting.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_mode_setting.cpp; sourceTree = "<group>"; };
+ A979630D2328063700299006 /* validate_memory_semantics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_memory_semantics.cpp; sourceTree = "<group>"; };
+ A979630E2328063700299006 /* validate_logicals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_logicals.cpp; sourceTree = "<group>"; };
+ A979630F2328063700299006 /* validate_derivatives.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_derivatives.cpp; sourceTree = "<group>"; };
+ A97963102328063700299006 /* validate_memory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_memory.cpp; sourceTree = "<group>"; };
+ A97963112328063700299006 /* validate_image.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_image.cpp; sourceTree = "<group>"; };
+ A97963122328063700299006 /* validate_literals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_literals.cpp; sourceTree = "<group>"; };
+ A97963132328063700299006 /* instruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instruction.cpp; sourceTree = "<group>"; };
+ A97963142328063700299006 /* validate_type.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_type.cpp; sourceTree = "<group>"; };
+ A97963152328063700299006 /* instruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction.h; sourceTree = "<group>"; };
+ A97963162328063700299006 /* validate_execution_limitations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_execution_limitations.cpp; sourceTree = "<group>"; };
+ A97963172328063700299006 /* validate_layout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_layout.cpp; sourceTree = "<group>"; };
+ A97963182328063700299006 /* basic_block.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = basic_block.cpp; sourceTree = "<group>"; };
+ A97963192328063700299006 /* validate_function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_function.cpp; sourceTree = "<group>"; };
+ A979631A2328063700299006 /* function.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = function.h; sourceTree = "<group>"; };
+ A979631B2328063700299006 /* validate_composites.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_composites.cpp; sourceTree = "<group>"; };
+ A979631C2328063700299006 /* validation_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validation_state.cpp; sourceTree = "<group>"; };
+ A979631D2328063700299006 /* validate_primitives.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_primitives.cpp; sourceTree = "<group>"; };
+ A979631E2328063700299006 /* decoration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoration.h; sourceTree = "<group>"; };
A9C2104521D14FD7006BA2D3 /* fetchDependencies */ = {isa = PBXFileReference; lastKnownFileType = text; path = fetchDependencies; sourceTree = "<group>"; };
A9C2104721D15843006BA2D3 /* ExternalRevisions */ = {isa = PBXFileReference; lastKnownFileType = folder; path = ExternalRevisions; sourceTree = "<group>"; };
- A9C2EF7822E7833C001763CE /* spirv_target_env.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_target_env.cpp; sourceTree = "<group>"; };
- A9C2EF7922E7833C001763CE /* extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json"; sourceTree = "<group>"; };
- A9C2EF7A22E7833C001763CE /* spirv_fuzzer_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_fuzzer_options.h; sourceTree = "<group>"; };
- A9C2EF7B22E7833C001763CE /* assembly_grammar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = assembly_grammar.h; sourceTree = "<group>"; };
- A9C2EF7C22E7833C001763CE /* enum_set.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enum_set.h; sourceTree = "<group>"; };
- A9C2EF7D22E7833C001763CE /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
- A9C2EF7E22E7833C001763CE /* extinst.spv-amd-shader-ballot.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "extinst.spv-amd-shader-ballot.grammar.json"; sourceTree = "<group>"; };
- A9C2EF7F22E7833C001763CE /* text.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = text.cpp; sourceTree = "<group>"; };
- A9C2EF8022E7833C001763CE /* assembly_grammar.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = assembly_grammar.cpp; sourceTree = "<group>"; };
- A9C2EF8122E7833C001763CE /* text.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = text.h; sourceTree = "<group>"; };
- A9C2EF8222E7833C001763CE /* extensions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = extensions.cpp; sourceTree = "<group>"; };
- A9C2EF8322E7833C001763CE /* pch_source.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pch_source.cpp; sourceTree = "<group>"; };
- A9C2EF8522E7833C001763CE /* parse_number.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = parse_number.h; sourceTree = "<group>"; };
- A9C2EF8622E7833C001763CE /* ilist_node.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ilist_node.h; sourceTree = "<group>"; };
- A9C2EF8722E7833C001763CE /* make_unique.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = make_unique.h; sourceTree = "<group>"; };
- A9C2EF8822E7833C001763CE /* string_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = string_utils.h; sourceTree = "<group>"; };
- A9C2EF8922E7833C001763CE /* small_vector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = small_vector.h; sourceTree = "<group>"; };
- A9C2EF8A22E7833C001763CE /* timer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = timer.cpp; sourceTree = "<group>"; };
- A9C2EF8B22E7833C001763CE /* timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = timer.h; sourceTree = "<group>"; };
- A9C2EF8C22E7833C001763CE /* string_utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = string_utils.cpp; sourceTree = "<group>"; };
- A9C2EF8D22E7833C001763CE /* bit_vector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bit_vector.h; sourceTree = "<group>"; };
- A9C2EF8E22E7833C001763CE /* bitutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bitutils.h; sourceTree = "<group>"; };
- A9C2EF8F22E7833C001763CE /* hex_float.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hex_float.h; sourceTree = "<group>"; };
- A9C2EF9022E7833C001763CE /* parse_number.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parse_number.cpp; sourceTree = "<group>"; };
- A9C2EF9122E7833C001763CE /* bit_vector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bit_vector.cpp; sourceTree = "<group>"; };
- A9C2EF9222E7833C001763CE /* ilist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ilist.h; sourceTree = "<group>"; };
- A9C2EF9322E7833C001763CE /* spirv_target_env.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_target_env.h; sourceTree = "<group>"; };
- A9C2EF9422E7833C001763CE /* table.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = table.cpp; sourceTree = "<group>"; };
- A9C2EF9622E7833C001763CE /* operand_to_undef_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = operand_to_undef_reduction_opportunity_finder.h; sourceTree = "<group>"; };
- A9C2EF9722E7833C001763CE /* remove_selection_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_selection_reduction_opportunity.cpp; sourceTree = "<group>"; };
- A9C2EF9822E7833C001763CE /* remove_block_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_block_reduction_opportunity.h; sourceTree = "<group>"; };
- A9C2EF9922E7833C001763CE /* operand_to_dominating_id_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = operand_to_dominating_id_reduction_opportunity_finder.h; sourceTree = "<group>"; };
- A9C2EF9A22E7833C001763CE /* reduction_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduction_pass.cpp; sourceTree = "<group>"; };
- A9C2EF9B22E7833C001763CE /* operand_to_const_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = operand_to_const_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
- A9C2EF9C22E7833C001763CE /* operand_to_const_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = operand_to_const_reduction_opportunity_finder.h; sourceTree = "<group>"; };
- A9C2EF9D22E7833C001763CE /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
- A9C2EF9E22E7833C001763CE /* reduction_util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduction_util.cpp; sourceTree = "<group>"; };
- A9C2EF9F22E7833C001763CE /* structured_loop_to_selection_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = structured_loop_to_selection_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
- A9C2EFA022E7833C001763CE /* simple_conditional_branch_to_branch_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = simple_conditional_branch_to_branch_reduction_opportunity.h; sourceTree = "<group>"; };
- A9C2EFA122E7833C001763CE /* remove_function_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_function_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
- A9C2EFA222E7833C001763CE /* remove_instruction_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_instruction_reduction_opportunity.h; sourceTree = "<group>"; };
- A9C2EFA322E7833C001763CE /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = conditional_branch_to_simple_conditional_branch_reduction_opportunity.h; sourceTree = "<group>"; };
- A9C2EFA422E7833C001763CE /* simple_conditional_branch_to_branch_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = simple_conditional_branch_to_branch_reduction_opportunity.cpp; sourceTree = "<group>"; };
- A9C2EFA522E7833C001763CE /* remove_function_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_function_reduction_opportunity.cpp; sourceTree = "<group>"; };
- A9C2EFA622E7833C001763CE /* remove_opname_instruction_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_opname_instruction_reduction_opportunity_finder.h; sourceTree = "<group>"; };
- A9C2EFA722E7833C001763CE /* simple_conditional_branch_to_branch_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = simple_conditional_branch_to_branch_opportunity_finder.cpp; sourceTree = "<group>"; };
- A9C2EFA822E7833C001763CE /* remove_selection_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_selection_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
- A9C2EFA922E7833C001763CE /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp; sourceTree = "<group>"; };
- A9C2EFAA22E7833C001763CE /* simple_conditional_branch_to_branch_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = simple_conditional_branch_to_branch_opportunity_finder.h; sourceTree = "<group>"; };
- A9C2EFAB22E7833C001763CE /* merge_blocks_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = merge_blocks_reduction_opportunity.cpp; sourceTree = "<group>"; };
- A9C2EFAC22E7833C001763CE /* change_operand_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = change_operand_reduction_opportunity.cpp; sourceTree = "<group>"; };
- A9C2EFAD22E7833C001763CE /* structured_loop_to_selection_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = structured_loop_to_selection_reduction_opportunity.h; sourceTree = "<group>"; };
- A9C2EFAE22E7833C001763CE /* remove_function_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_function_reduction_opportunity.h; sourceTree = "<group>"; };
- A9C2EFAF22E7833C001763CE /* change_operand_to_undef_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = change_operand_to_undef_reduction_opportunity.h; sourceTree = "<group>"; };
- A9C2EFB022E7833C001763CE /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_unreferenced_instruction_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
- A9C2EFB122E7833C001763CE /* structured_loop_to_selection_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = structured_loop_to_selection_reduction_opportunity_finder.h; sourceTree = "<group>"; };
- A9C2EFB222E7833C001763CE /* remove_selection_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_selection_reduction_opportunity.h; sourceTree = "<group>"; };
- A9C2EFB322E7833C001763CE /* remove_instruction_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_instruction_reduction_opportunity.cpp; sourceTree = "<group>"; };
- A9C2EFB422E7833C001763CE /* remove_selection_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_selection_reduction_opportunity_finder.h; sourceTree = "<group>"; };
- A9C2EFB522E7833C001763CE /* merge_blocks_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = merge_blocks_reduction_opportunity_finder.h; sourceTree = "<group>"; };
- A9C2EFB622E7833C001763CE /* remove_opname_instruction_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_opname_instruction_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
- A9C2EFB722E7833C001763CE /* pch_source_reduce.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pch_source_reduce.cpp; sourceTree = "<group>"; };
- A9C2EFB822E7833C001763CE /* reducer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reducer.cpp; sourceTree = "<group>"; };
- A9C2EFB922E7833C001763CE /* operand_to_undef_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = operand_to_undef_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
- A9C2EFBA22E7833C001763CE /* remove_function_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_function_reduction_opportunity_finder.h; sourceTree = "<group>"; };
- A9C2EFBB22E7833C001763CE /* pch_source_reduce.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pch_source_reduce.h; sourceTree = "<group>"; };
- A9C2EFBC22E7833C001763CE /* remove_unreferenced_instruction_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_unreferenced_instruction_reduction_opportunity_finder.h; sourceTree = "<group>"; };
- A9C2EFBD22E7833C001763CE /* merge_blocks_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = merge_blocks_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
- A9C2EFBE22E7833C001763CE /* reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduction_opportunity.cpp; sourceTree = "<group>"; };
- A9C2EFBF22E7833C001763CE /* reducer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reducer.h; sourceTree = "<group>"; };
- A9C2EFC022E7833C001763CE /* change_operand_to_undef_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = change_operand_to_undef_reduction_opportunity.cpp; sourceTree = "<group>"; };
- A9C2EFC122E7833C001763CE /* reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduction_opportunity.h; sourceTree = "<group>"; };
- A9C2EFC222E7833C001763CE /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = conditional_branch_to_simple_conditional_branch_opportunity_finder.h; sourceTree = "<group>"; };
- A9C2EFC322E7833C001763CE /* operand_to_dominating_id_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = operand_to_dominating_id_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
- A9C2EFC422E7833C001763CE /* reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduction_opportunity_finder.h; sourceTree = "<group>"; };
- A9C2EFC522E7833C001763CE /* change_operand_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = change_operand_reduction_opportunity.h; sourceTree = "<group>"; };
- A9C2EFC622E7833C001763CE /* remove_block_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_block_reduction_opportunity_finder.h; sourceTree = "<group>"; };
- A9C2EFC722E7833C001763CE /* remove_block_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_block_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
- A9C2EFC822E7833C001763CE /* reduction_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduction_util.h; sourceTree = "<group>"; };
- A9C2EFC922E7833C001763CE /* merge_blocks_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = merge_blocks_reduction_opportunity.h; sourceTree = "<group>"; };
- A9C2EFCA22E7833C001763CE /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp; sourceTree = "<group>"; };
- A9C2EFCB22E7833C001763CE /* structured_loop_to_selection_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = structured_loop_to_selection_reduction_opportunity.cpp; sourceTree = "<group>"; };
- A9C2EFCC22E7833C001763CE /* remove_block_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_block_reduction_opportunity.cpp; sourceTree = "<group>"; };
- A9C2EFCD22E7833C001763CE /* reduction_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduction_pass.h; sourceTree = "<group>"; };
- A9C2EFCE22E7833C001763CE /* latest_version_opencl_std_header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = latest_version_opencl_std_header.h; sourceTree = "<group>"; };
- A9C2EFCF22E7833C001763CE /* spirv_optimizer_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_optimizer_options.cpp; sourceTree = "<group>"; };
- A9C2EFD022E7833C001763CE /* cfa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfa.h; sourceTree = "<group>"; };
- A9C2EFD122E7833C001763CE /* pch_source.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pch_source.h; sourceTree = "<group>"; };
- A9C2EFD222E7833C001763CE /* enum_string_mapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enum_string_mapping.h; sourceTree = "<group>"; };
- A9C2EFD322E7833C001763CE /* spirv_fuzzer_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_fuzzer_options.cpp; sourceTree = "<group>"; };
- A9C2EFD422E7833C001763CE /* spirv_reducer_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_reducer_options.h; sourceTree = "<group>"; };
- A9C2EFD522E7833C001763CE /* spirv_validator_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_validator_options.cpp; sourceTree = "<group>"; };
- A9C2EFD622E7833C001763CE /* extinst.spv-amd-shader-trinary-minmax.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "extinst.spv-amd-shader-trinary-minmax.grammar.json"; sourceTree = "<group>"; };
- A9C2EFD722E7833C001763CE /* print.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = print.cpp; sourceTree = "<group>"; };
- A9C2EFD822E7833C001763CE /* spirv_definition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_definition.h; sourceTree = "<group>"; };
- A9C2EFD922E7833C001763CE /* operand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = operand.h; sourceTree = "<group>"; };
- A9C2EFDA22E7833C001763CE /* spirv_endian.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_endian.cpp; sourceTree = "<group>"; };
- A9C2EFDB22E7833C001763CE /* macro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = macro.h; sourceTree = "<group>"; };
- A9C2EFDC22E7833C001763CE /* spirv_constant.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_constant.h; sourceTree = "<group>"; };
- A9C2EFDD22E7833C001763CE /* extinst.spv-amd-gcn-shader.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "extinst.spv-amd-gcn-shader.grammar.json"; sourceTree = "<group>"; };
- A9C2EFDE22E7833C001763CE /* binary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = binary.cpp; sourceTree = "<group>"; };
- A9C2EFDF22E7833C001763CE /* spirv_validator_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_validator_options.h; sourceTree = "<group>"; };
- A9C2EFE022E7833C001763CE /* enum_string_mapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = enum_string_mapping.cpp; sourceTree = "<group>"; };
- A9C2EFE122E7833C001763CE /* text_handler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = text_handler.h; sourceTree = "<group>"; };
- A9C2EFE222E7833C001763CE /* parsed_operand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = parsed_operand.h; sourceTree = "<group>"; };
- A9C2EFE322E7833C001763CE /* name_mapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = name_mapper.h; sourceTree = "<group>"; };
- A9C2EFE422E7833C001763CE /* spirv_reducer_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_reducer_options.cpp; sourceTree = "<group>"; };
- A9C2EFE522E7833C001763CE /* parsed_operand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parsed_operand.cpp; sourceTree = "<group>"; };
- A9C2EFE622E7833C001763CE /* diagnostic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = diagnostic.h; sourceTree = "<group>"; };
- A9C2EFE722E7833C001763CE /* spirv_endian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_endian.h; sourceTree = "<group>"; };
- A9C2EFE822E7833C001763CE /* name_mapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = name_mapper.cpp; sourceTree = "<group>"; };
- A9C2EFE922E7833C001763CE /* extinst.debuginfo.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = extinst.debuginfo.grammar.json; sourceTree = "<group>"; };
- A9C2EFEB22E7833C001763CE /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
- A9C2EFEC22E7833C001763CE /* linker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = linker.cpp; sourceTree = "<group>"; };
- A9C2EFED22E7833C001763CE /* software_version.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = software_version.cpp; sourceTree = "<group>"; };
- A9C2EFEE22E7833C001763CE /* opcode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opcode.cpp; sourceTree = "<group>"; };
- A9C2EFEF22E7833C001763CE /* print.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = print.h; sourceTree = "<group>"; };
- A9C2EFF022E7833C001763CE /* ext_inst.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ext_inst.cpp; sourceTree = "<group>"; };
- A9C2EFF122E7833C001763CE /* disassemble.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = disassemble.h; sourceTree = "<group>"; };
- A9C2EFF322E7833C001763CE /* optimizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = optimizer.cpp; sourceTree = "<group>"; };
- A9C2EFF422E7833C001763CE /* if_conversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = if_conversion.h; sourceTree = "<group>"; };
- A9C2EFF522E7833C001763CE /* register_pressure.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = register_pressure.cpp; sourceTree = "<group>"; };
- A9C2EFF622E7833C001763CE /* loop_utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_utils.cpp; sourceTree = "<group>"; };
- A9C2EFF722E7833C001763CE /* merge_return_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = merge_return_pass.h; sourceTree = "<group>"; };
- A9C2EFF822E7833C001763CE /* inline_opaque_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline_opaque_pass.h; sourceTree = "<group>"; };
- A9C2EFF922E7833C001763CE /* loop_fusion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_fusion.h; sourceTree = "<group>"; };
- A9C2EFFA22E7833C001763CE /* combine_access_chains.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = combine_access_chains.cpp; sourceTree = "<group>"; };
- A9C2EFFB22E7833C001763CE /* build_module.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = build_module.cpp; sourceTree = "<group>"; };
- A9C2EFFC22E7833C001763CE /* composite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = composite.h; sourceTree = "<group>"; };
- A9C2EFFD22E7833C001763CE /* compact_ids_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = compact_ids_pass.h; sourceTree = "<group>"; };
- A9C2EFFE22E7833C001763CE /* register_pressure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = register_pressure.h; sourceTree = "<group>"; };
- A9C2EFFF22E7833C001763CE /* tree_iterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tree_iterator.h; sourceTree = "<group>"; };
- A9C2F00022E7833C001763CE /* strip_atomic_counter_memory_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strip_atomic_counter_memory_pass.h; sourceTree = "<group>"; };
- A9C2F00122E7833C001763CE /* legalize_vector_shuffle_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = legalize_vector_shuffle_pass.h; sourceTree = "<group>"; };
- A9C2F00222E7833C001763CE /* local_single_store_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_single_store_elim_pass.h; sourceTree = "<group>"; };
- A9C2F00322E7833C001763CE /* reduce_load_size.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduce_load_size.h; sourceTree = "<group>"; };
- A9C2F00422E7833C001763CE /* code_sink.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = code_sink.cpp; sourceTree = "<group>"; };
- A9C2F00522E7833C001763CE /* types.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = types.cpp; sourceTree = "<group>"; };
- A9C2F00622E7833C001763CE /* scalar_analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scalar_analysis.h; sourceTree = "<group>"; };
- A9C2F00722E7833C001763CE /* strip_debug_info_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strip_debug_info_pass.h; sourceTree = "<group>"; };
- A9C2F00822E7833C001763CE /* cfg.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cfg.cpp; sourceTree = "<group>"; };
- A9C2F00922E7833C001763CE /* strip_atomic_counter_memory_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strip_atomic_counter_memory_pass.cpp; sourceTree = "<group>"; };
- A9C2F00A22E7833C001763CE /* decoration_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decoration_manager.cpp; sourceTree = "<group>"; };
- A9C2F00B22E7833C001763CE /* local_single_block_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_single_block_elim_pass.cpp; sourceTree = "<group>"; };
- A9C2F00C22E7833C001763CE /* freeze_spec_constant_value_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = freeze_spec_constant_value_pass.cpp; sourceTree = "<group>"; };
- A9C2F00D22E7833C001763CE /* replace_invalid_opc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = replace_invalid_opc.h; sourceTree = "<group>"; };
- A9C2F00E22E7833C001763CE /* local_access_chain_convert_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_access_chain_convert_pass.h; sourceTree = "<group>"; };
- A9C2F00F22E7833C001763CE /* inst_bindless_check_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inst_bindless_check_pass.cpp; sourceTree = "<group>"; };
- A9C2F01022E7833C001763CE /* local_redundancy_elimination.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_redundancy_elimination.cpp; sourceTree = "<group>"; };
- A9C2F01122E7833C001763CE /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
- A9C2F01222E7833C001763CE /* instrument_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instrument_pass.cpp; sourceTree = "<group>"; };
- A9C2F01322E7833C001763CE /* propagator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = propagator.h; sourceTree = "<group>"; };
- A9C2F01422E7833C001763CE /* instruction_list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction_list.h; sourceTree = "<group>"; };
- A9C2F01522E7833C001763CE /* feature_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = feature_manager.cpp; sourceTree = "<group>"; };
- A9C2F01622E7833C001763CE /* pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pass.cpp; sourceTree = "<group>"; };
- A9C2F01722E7833C001763CE /* loop_fission.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_fission.cpp; sourceTree = "<group>"; };
- A9C2F01822E7833C001763CE /* dominator_tree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dominator_tree.cpp; sourceTree = "<group>"; };
- A9C2F01922E7833C001763CE /* merge_return_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = merge_return_pass.cpp; sourceTree = "<group>"; };
- A9C2F01A22E7833C001763CE /* ir_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_context.h; sourceTree = "<group>"; };
- A9C2F01B22E7833C001763CE /* eliminate_dead_constant_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_constant_pass.cpp; sourceTree = "<group>"; };
- A9C2F01C22E7833C001763CE /* cfg_cleanup_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cfg_cleanup_pass.cpp; sourceTree = "<group>"; };
- A9C2F01D22E7833C001763CE /* const_folding_rules.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = const_folding_rules.cpp; sourceTree = "<group>"; };
- A9C2F01E22E7833C001763CE /* loop_unroller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_unroller.h; sourceTree = "<group>"; };
- A9C2F01F22E7833C001763CE /* strip_debug_info_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strip_debug_info_pass.cpp; sourceTree = "<group>"; };
- A9C2F02022E7833C001763CE /* ssa_rewrite_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ssa_rewrite_pass.cpp; sourceTree = "<group>"; };
- A9C2F02122E7833C001763CE /* loop_dependence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_dependence.cpp; sourceTree = "<group>"; };
- A9C2F02222E7833C001763CE /* unify_const_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unify_const_pass.h; sourceTree = "<group>"; };
- A9C2F02322E7833C001763CE /* ir_loader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_loader.h; sourceTree = "<group>"; };
- A9C2F02422E7833C001763CE /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = "<group>"; };
- A9C2F02522E7833C001763CE /* fold_spec_constant_op_and_composite_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fold_spec_constant_op_and_composite_pass.h; sourceTree = "<group>"; };
- A9C2F02622E7833C001763CE /* mem_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mem_pass.cpp; sourceTree = "<group>"; };
- A9C2F02722E7833C001763CE /* basic_block.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = basic_block.h; sourceTree = "<group>"; };
- A9C2F02822E7833C001763CE /* remove_duplicates_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_duplicates_pass.cpp; sourceTree = "<group>"; };
- A9C2F02922E7833C001763CE /* dead_variable_elimination.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dead_variable_elimination.cpp; sourceTree = "<group>"; };
- A9C2F02A22E7833C001763CE /* block_merge_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_merge_pass.h; sourceTree = "<group>"; };
- A9C2F02B22E7833C001763CE /* module.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = module.cpp; sourceTree = "<group>"; };
- A9C2F02C22E7833C001763CE /* fold_spec_constant_op_and_composite_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fold_spec_constant_op_and_composite_pass.cpp; sourceTree = "<group>"; };
- A9C2F02D22E7833C001763CE /* loop_unswitch_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_unswitch_pass.cpp; sourceTree = "<group>"; };
- A9C2F02E22E7833C001763CE /* unify_const_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unify_const_pass.cpp; sourceTree = "<group>"; };
- A9C2F02F22E7833C001763CE /* type_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = type_manager.cpp; sourceTree = "<group>"; };
- A9C2F03022E7833C001763CE /* generate_webgpu_initializers_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = generate_webgpu_initializers_pass.cpp; sourceTree = "<group>"; };
- A9C2F03122E7833C001763CE /* private_to_local_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = private_to_local_pass.h; sourceTree = "<group>"; };
- A9C2F03222E7833C001763CE /* inline_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inline_pass.cpp; sourceTree = "<group>"; };
- A9C2F03322E7833C001763CE /* def_use_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = def_use_manager.h; sourceTree = "<group>"; };
- A9C2F03422E7833C001763CE /* ir_loader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_loader.cpp; sourceTree = "<group>"; };
- A9C2F03522E7833C001763CE /* cfg_cleanup_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfg_cleanup_pass.h; sourceTree = "<group>"; };
- A9C2F03622E7833C001763CE /* licm_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = licm_pass.cpp; sourceTree = "<group>"; };
- A9C2F03722E7833C001763CE /* eliminate_dead_functions_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_functions_pass.cpp; sourceTree = "<group>"; };
- A9C2F03822E7833C001763CE /* local_redundancy_elimination.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_redundancy_elimination.h; sourceTree = "<group>"; };
- A9C2F03922E7833C001763CE /* split_invalid_unreachable_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = split_invalid_unreachable_pass.cpp; sourceTree = "<group>"; };
- A9C2F03A22E7833C001763CE /* loop_peeling.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_peeling.h; sourceTree = "<group>"; };
- A9C2F03B22E7833C001763CE /* vector_dce.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vector_dce.cpp; sourceTree = "<group>"; };
- A9C2F03C22E7833C001763CE /* block_merge_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_merge_util.h; sourceTree = "<group>"; };
- A9C2F03D22E7833C001763CE /* loop_unroller.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_unroller.cpp; sourceTree = "<group>"; };
- A9C2F03E22E7833C001763CE /* constants.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = constants.cpp; sourceTree = "<group>"; };
- A9C2F03F22E7833C001763CE /* loop_fusion_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_fusion_pass.h; sourceTree = "<group>"; };
- A9C2F04022E7833C001763CE /* struct_cfg_analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = struct_cfg_analysis.h; sourceTree = "<group>"; };
- A9C2F04122E7833C001763CE /* def_use_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = def_use_manager.cpp; sourceTree = "<group>"; };
- A9C2F04222E7833C001763CE /* strip_reflect_info_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strip_reflect_info_pass.cpp; sourceTree = "<group>"; };
- A9C2F04322E7833C001763CE /* decoration_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoration_manager.h; sourceTree = "<group>"; };
- A9C2F04422E7833C001763CE /* ccp_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ccp_pass.cpp; sourceTree = "<group>"; };
- A9C2F04522E7833C001763CE /* process_lines_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = process_lines_pass.h; sourceTree = "<group>"; };
- A9C2F04622E7833C001763CE /* local_single_block_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_single_block_elim_pass.h; sourceTree = "<group>"; };
- A9C2F04722E7833C001763CE /* pch_source_opt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pch_source_opt.cpp; sourceTree = "<group>"; };
- A9C2F04822E7833C001763CE /* strength_reduction_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strength_reduction_pass.h; sourceTree = "<group>"; };
- A9C2F04922E7833C001763CE /* aggressive_dead_code_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aggressive_dead_code_elim_pass.cpp; sourceTree = "<group>"; };
- A9C2F04A22E7833C001763CE /* eliminate_dead_functions_util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_functions_util.cpp; sourceTree = "<group>"; };
- A9C2F04B22E7833C001763CE /* simplification_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = simplification_pass.cpp; sourceTree = "<group>"; };
- A9C2F04C22E7833C001763CE /* dead_branch_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dead_branch_elim_pass.cpp; sourceTree = "<group>"; };
- A9C2F04D22E7833C001763CE /* flatten_decoration_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = flatten_decoration_pass.cpp; sourceTree = "<group>"; };
- A9C2F04E22E7833C001763CE /* dead_insert_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dead_insert_elim_pass.h; sourceTree = "<group>"; };
- A9C2F04F22E7833C001763CE /* folding_rules.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = folding_rules.cpp; sourceTree = "<group>"; };
- A9C2F05022E7833C001763CE /* freeze_spec_constant_value_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = freeze_spec_constant_value_pass.h; sourceTree = "<group>"; };
- A9C2F05122E7833C001763CE /* ir_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_context.cpp; sourceTree = "<group>"; };
- A9C2F05222E7833C001763CE /* instrument_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instrument_pass.h; sourceTree = "<group>"; };
- A9C2F05322E7833C001763CE /* mem_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mem_pass.h; sourceTree = "<group>"; };
- A9C2F05422E7833C001763CE /* loop_descriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_descriptor.cpp; sourceTree = "<group>"; };
- A9C2F05522E7833C001763CE /* local_ssa_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_ssa_elim_pass.cpp; sourceTree = "<group>"; };
- A9C2F05622E7833C001763CE /* eliminate_dead_members_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_members_pass.h; sourceTree = "<group>"; };
- A9C2F05722E7833C001763CE /* function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = function.cpp; sourceTree = "<group>"; };
- A9C2F05822E7833C001763CE /* instruction_list.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instruction_list.cpp; sourceTree = "<group>"; };
- A9C2F05922E7833C001763CE /* composite.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = composite.cpp; sourceTree = "<group>"; };
- A9C2F05A22E7833C001763CE /* process_lines_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = process_lines_pass.cpp; sourceTree = "<group>"; };
- A9C2F05B22E7833C001763CE /* inline_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline_pass.h; sourceTree = "<group>"; };
- A9C2F05C22E7833C001763CE /* loop_dependence.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_dependence.h; sourceTree = "<group>"; };
- A9C2F05D22E7833C001763CE /* value_number_table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = value_number_table.h; sourceTree = "<group>"; };
- A9C2F05E22E7833C001763CE /* flatten_decoration_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = flatten_decoration_pass.h; sourceTree = "<group>"; };
- A9C2F05F22E7833C001763CE /* if_conversion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = if_conversion.cpp; sourceTree = "<group>"; };
- A9C2F06022E7833C001763CE /* inline_exhaustive_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline_exhaustive_pass.h; sourceTree = "<group>"; };
- A9C2F06122E7833C001763CE /* constants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = constants.h; sourceTree = "<group>"; };
- A9C2F06222E7833C001763CE /* eliminate_dead_members_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_members_pass.cpp; sourceTree = "<group>"; };
- A9C2F06322E7833C001763CE /* strength_reduction_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strength_reduction_pass.cpp; sourceTree = "<group>"; };
- A9C2F06422E7833C001763CE /* block_merge_util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_merge_util.cpp; sourceTree = "<group>"; };
- A9C2F06522E7833C001763CE /* upgrade_memory_model.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = upgrade_memory_model.h; sourceTree = "<group>"; };
- A9C2F06622E7833C001763CE /* copy_prop_arrays.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = copy_prop_arrays.cpp; sourceTree = "<group>"; };
- A9C2F06722E7833C001763CE /* pass_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pass_manager.cpp; sourceTree = "<group>"; };
- A9C2F06822E7833C001763CE /* inline_exhaustive_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inline_exhaustive_pass.cpp; sourceTree = "<group>"; };
- A9C2F06922E7833C001763CE /* loop_fission.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_fission.h; sourceTree = "<group>"; };
- A9C2F06A22E7833C001763CE /* workaround1209.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = workaround1209.h; sourceTree = "<group>"; };
- A9C2F06B22E7833C001763CE /* loop_fusion_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_fusion_pass.cpp; sourceTree = "<group>"; };
- A9C2F06C22E7833C001763CE /* log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = log.h; sourceTree = "<group>"; };
- A9C2F06D22E7833C001763CE /* split_invalid_unreachable_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = split_invalid_unreachable_pass.h; sourceTree = "<group>"; };
- A9C2F06E22E7833C001763CE /* copy_prop_arrays.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = copy_prop_arrays.h; sourceTree = "<group>"; };
- A9C2F06F22E7833C001763CE /* eliminate_dead_constant_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_constant_pass.h; sourceTree = "<group>"; };
- A9C2F07022E7833C001763CE /* dead_insert_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dead_insert_elim_pass.cpp; sourceTree = "<group>"; };
- A9C2F07122E7833C001763CE /* ssa_rewrite_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ssa_rewrite_pass.h; sourceTree = "<group>"; };
- A9C2F07222E7833C001763CE /* scalar_analysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scalar_analysis.cpp; sourceTree = "<group>"; };
- A9C2F07322E7833C001763CE /* dead_variable_elimination.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dead_variable_elimination.h; sourceTree = "<group>"; };
- A9C2F07422E7833C001763CE /* block_merge_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_merge_pass.cpp; sourceTree = "<group>"; };
- A9C2F07522E7833C001763CE /* dominator_analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dominator_analysis.h; sourceTree = "<group>"; };
- A9C2F07622E7833C001763CE /* pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pass.h; sourceTree = "<group>"; };
- A9C2F07722E7833C001763CE /* folding_rules.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = folding_rules.h; sourceTree = "<group>"; };
- A9C2F07822E7833C001763CE /* eliminate_dead_functions_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_functions_pass.h; sourceTree = "<group>"; };
- A9C2F07922E7833C001763CE /* eliminate_dead_functions_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_functions_util.h; sourceTree = "<group>"; };
- A9C2F07A22E7833C001763CE /* fold.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fold.h; sourceTree = "<group>"; };
- A9C2F07B22E7833C001763CE /* local_single_store_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_single_store_elim_pass.cpp; sourceTree = "<group>"; };
- A9C2F07C22E7833C001763CE /* dead_branch_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dead_branch_elim_pass.h; sourceTree = "<group>"; };
- A9C2F07D22E7833C001763CE /* private_to_local_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = private_to_local_pass.cpp; sourceTree = "<group>"; };
- A9C2F07E22E7833C001763CE /* scalar_analysis_nodes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scalar_analysis_nodes.h; sourceTree = "<group>"; };
- A9C2F07F22E7833C001763CE /* propagator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = propagator.cpp; sourceTree = "<group>"; };
- A9C2F08022E7833C001763CE /* fix_storage_class.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fix_storage_class.h; sourceTree = "<group>"; };
- A9C2F08122E7833C001763CE /* loop_dependence_helpers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_dependence_helpers.cpp; sourceTree = "<group>"; };
- A9C2F08222E7833C001763CE /* set_spec_constant_default_value_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = set_spec_constant_default_value_pass.cpp; sourceTree = "<group>"; };
- A9C2F08322E7833C001763CE /* passes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = passes.h; sourceTree = "<group>"; };
- A9C2F08422E7833C001763CE /* fold.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fold.cpp; sourceTree = "<group>"; };
- A9C2F08522E7833C001763CE /* strip_reflect_info_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strip_reflect_info_pass.h; sourceTree = "<group>"; };
- A9C2F08622E7833C001763CE /* scalar_replacement_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scalar_replacement_pass.cpp; sourceTree = "<group>"; };
- A9C2F08722E7833C001763CE /* simplification_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = simplification_pass.h; sourceTree = "<group>"; };
- A9C2F08822E7833C001763CE /* remove_duplicates_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_duplicates_pass.h; sourceTree = "<group>"; };
- A9C2F08922E7833C001763CE /* redundancy_elimination.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = redundancy_elimination.cpp; sourceTree = "<group>"; };
- A9C2F08A22E7833C001763CE /* reflect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reflect.h; sourceTree = "<group>"; };
- A9C2F08B22E7833C001763CE /* workaround1209.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = workaround1209.cpp; sourceTree = "<group>"; };
- A9C2F08C22E7833C001763CE /* null_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = null_pass.h; sourceTree = "<group>"; };
- A9C2F08D22E7833C001763CE /* const_folding_rules.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = const_folding_rules.h; sourceTree = "<group>"; };
- A9C2F08E22E7833C001763CE /* scalar_replacement_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scalar_replacement_pass.h; sourceTree = "<group>"; };
- A9C2F08F22E7833C001763CE /* instruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instruction.cpp; sourceTree = "<group>"; };
- A9C2F09022E7833C001763CE /* pch_source_opt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pch_source_opt.h; sourceTree = "<group>"; };
- A9C2F09122E7833C001763CE /* reduce_load_size.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduce_load_size.cpp; sourceTree = "<group>"; };
- A9C2F09222E7833C001763CE /* redundancy_elimination.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = redundancy_elimination.h; sourceTree = "<group>"; };
- A9C2F09322E7833C001763CE /* fix_storage_class.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fix_storage_class.cpp; sourceTree = "<group>"; };
- A9C2F09422E7833C001763CE /* value_number_table.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = value_number_table.cpp; sourceTree = "<group>"; };
- A9C2F09522E7833C001763CE /* local_ssa_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_ssa_elim_pass.h; sourceTree = "<group>"; };
- A9C2F09622E7833C001763CE /* inline_opaque_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inline_opaque_pass.cpp; sourceTree = "<group>"; };
- A9C2F09722E7833C001763CE /* replace_invalid_opc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = replace_invalid_opc.cpp; sourceTree = "<group>"; };
- A9C2F09822E7833C001763CE /* loop_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_utils.h; sourceTree = "<group>"; };
- A9C2F09922E7833C001763CE /* module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = module.h; sourceTree = "<group>"; };
- A9C2F09A22E7833C001763CE /* dominator_analysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dominator_analysis.cpp; sourceTree = "<group>"; };
- A9C2F09B22E7833C001763CE /* decompose_initialized_variables_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decompose_initialized_variables_pass.cpp; sourceTree = "<group>"; };
- A9C2F09C22E7833C001763CE /* ir_builder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_builder.h; sourceTree = "<group>"; };
- A9C2F09D22E7833C001763CE /* loop_unswitch_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_unswitch_pass.h; sourceTree = "<group>"; };
- A9C2F09E22E7833C001763CE /* cfg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfg.h; sourceTree = "<group>"; };
- A9C2F09F22E7833C001763CE /* code_sink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = code_sink.h; sourceTree = "<group>"; };
- A9C2F0A022E7833C001763CE /* loop_descriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_descriptor.h; sourceTree = "<group>"; };
- A9C2F0A122E7833C001763CE /* generate_webgpu_initializers_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = generate_webgpu_initializers_pass.h; sourceTree = "<group>"; };
- A9C2F0A222E7833C001763CE /* instruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction.h; sourceTree = "<group>"; };
- A9C2F0A322E7833C001763CE /* aggressive_dead_code_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aggressive_dead_code_elim_pass.h; sourceTree = "<group>"; };
- A9C2F0A422E7833C001763CE /* struct_cfg_analysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = struct_cfg_analysis.cpp; sourceTree = "<group>"; };
- A9C2F0A522E7833C001763CE /* vector_dce.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vector_dce.h; sourceTree = "<group>"; };
- A9C2F0A622E7833C001763CE /* combine_access_chains.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = combine_access_chains.h; sourceTree = "<group>"; };
- A9C2F0A722E7833C001763CE /* pass_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pass_manager.h; sourceTree = "<group>"; };
- A9C2F0A822E7833C001763CE /* local_access_chain_convert_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_access_chain_convert_pass.cpp; sourceTree = "<group>"; };
- A9C2F0A922E7833C001763CE /* basic_block.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = basic_block.cpp; sourceTree = "<group>"; };
- A9C2F0AA22E7833C001763CE /* iterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iterator.h; sourceTree = "<group>"; };
- A9C2F0AB22E7833C001763CE /* licm_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = licm_pass.h; sourceTree = "<group>"; };
- A9C2F0AC22E7833C001763CE /* build_module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = build_module.h; sourceTree = "<group>"; };
- A9C2F0AD22E7833C001763CE /* ccp_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccp_pass.h; sourceTree = "<group>"; };
- A9C2F0AE22E7833C001763CE /* decompose_initialized_variables_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decompose_initialized_variables_pass.h; sourceTree = "<group>"; };
- A9C2F0AF22E7833C001763CE /* function.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = function.h; sourceTree = "<group>"; };
- A9C2F0B022E7833C001763CE /* loop_fusion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_fusion.cpp; sourceTree = "<group>"; };
- A9C2F0B122E7833C001763CE /* upgrade_memory_model.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = upgrade_memory_model.cpp; sourceTree = "<group>"; };
- A9C2F0B222E7833C001763CE /* feature_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = feature_manager.h; sourceTree = "<group>"; };
- A9C2F0B322E7833C001763CE /* inst_bindless_check_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inst_bindless_check_pass.h; sourceTree = "<group>"; };
- A9C2F0B422E7833C001763CE /* scalar_analysis_simplification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scalar_analysis_simplification.cpp; sourceTree = "<group>"; };
- A9C2F0B522E7833C001763CE /* set_spec_constant_default_value_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = set_spec_constant_default_value_pass.h; sourceTree = "<group>"; };
- A9C2F0B622E7833C001763CE /* dominator_tree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dominator_tree.h; sourceTree = "<group>"; };
- A9C2F0B722E7833C001763CE /* legalize_vector_shuffle_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = legalize_vector_shuffle_pass.cpp; sourceTree = "<group>"; };
- A9C2F0B822E7833C001763CE /* type_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = type_manager.h; sourceTree = "<group>"; };
- A9C2F0B922E7833C001763CE /* compact_ids_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = compact_ids_pass.cpp; sourceTree = "<group>"; };
- A9C2F0BA22E7833C001763CE /* loop_peeling.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_peeling.cpp; sourceTree = "<group>"; };
- A9C2F0BB22E7833C001763CE /* table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = table.h; sourceTree = "<group>"; };
- A9C2F0F922E7833D001763CE /* ext_inst.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ext_inst.h; sourceTree = "<group>"; };
- A9C2F0FA22E7833D001763CE /* diagnostic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = diagnostic.cpp; sourceTree = "<group>"; };
- A9C2F0FB22E7833D001763CE /* latest_version_spirv_header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = latest_version_spirv_header.h; sourceTree = "<group>"; };
- A9C2F0FC22E7833D001763CE /* libspirv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = libspirv.cpp; sourceTree = "<group>"; };
- A9C2F0FD22E7833D001763CE /* instruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction.h; sourceTree = "<group>"; };
- A9C2F0FE22E7833D001763CE /* spirv_optimizer_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_optimizer_options.h; sourceTree = "<group>"; };
- A9C2F0FF22E7833D001763CE /* opcode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opcode.h; sourceTree = "<group>"; };
- A9C2F10022E7833D001763CE /* operand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = operand.cpp; sourceTree = "<group>"; };
- A9C2F10122E7833D001763CE /* latest_version_glsl_std_450_header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = latest_version_glsl_std_450_header.h; sourceTree = "<group>"; };
- A9C2F10222E7833D001763CE /* extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = extensions.h; sourceTree = "<group>"; };
- A9C2F10322E7833D001763CE /* disassemble.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = disassemble.cpp; sourceTree = "<group>"; };
- A9C2F10422E7833D001763CE /* binary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = binary.h; sourceTree = "<group>"; };
- A9C2F10522E7833D001763CE /* text_handler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = text_handler.cpp; sourceTree = "<group>"; };
- A9C2F10722E7833D001763CE /* validate_annotation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_annotation.cpp; sourceTree = "<group>"; };
- A9C2F10822E7833D001763CE /* validate_misc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_misc.cpp; sourceTree = "<group>"; };
- A9C2F10922E7833D001763CE /* validate_cfg.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_cfg.cpp; sourceTree = "<group>"; };
- A9C2F10A22E7833D001763CE /* validate_capability.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_capability.cpp; sourceTree = "<group>"; };
- A9C2F10B22E7833D001763CE /* construct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = construct.h; sourceTree = "<group>"; };
- A9C2F10C22E7833D001763CE /* validate_barriers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_barriers.cpp; sourceTree = "<group>"; };
- A9C2F10D22E7833D001763CE /* validate_non_uniform.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_non_uniform.cpp; sourceTree = "<group>"; };
- A9C2F10E22E7833D001763CE /* validate_scopes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_scopes.cpp; sourceTree = "<group>"; };
- A9C2F10F22E7833D001763CE /* validate_atomics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_atomics.cpp; sourceTree = "<group>"; };
- A9C2F11022E7833D001763CE /* basic_block.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = basic_block.h; sourceTree = "<group>"; };
- A9C2F11122E7833D001763CE /* validate_instruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_instruction.cpp; sourceTree = "<group>"; };
- A9C2F11222E7833D001763CE /* validate_decorations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_decorations.cpp; sourceTree = "<group>"; };
- A9C2F11322E7833D001763CE /* validate_debug.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_debug.cpp; sourceTree = "<group>"; };
- A9C2F11422E7833D001763CE /* validate_builtins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_builtins.cpp; sourceTree = "<group>"; };
- A9C2F11522E7833D001763CE /* validate_interfaces.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_interfaces.cpp; sourceTree = "<group>"; };
- A9C2F11622E7833D001763CE /* validate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate.cpp; sourceTree = "<group>"; };
- A9C2F11722E7833D001763CE /* validation_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validation_state.h; sourceTree = "<group>"; };
- A9C2F11822E7833D001763CE /* validate_constants.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_constants.cpp; sourceTree = "<group>"; };
- A9C2F11922E7833D001763CE /* validate_bitwise.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_bitwise.cpp; sourceTree = "<group>"; };
- A9C2F11A22E7833D001763CE /* validate_extensions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_extensions.cpp; sourceTree = "<group>"; };
- A9C2F11B22E7833D001763CE /* construct.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = construct.cpp; sourceTree = "<group>"; };
- A9C2F11C22E7833D001763CE /* function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = function.cpp; sourceTree = "<group>"; };
- A9C2F11D22E7833D001763CE /* validate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validate.h; sourceTree = "<group>"; };
- A9C2F11E22E7833D001763CE /* validate_adjacency.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_adjacency.cpp; sourceTree = "<group>"; };
- A9C2F11F22E7833D001763CE /* validate_conversion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_conversion.cpp; sourceTree = "<group>"; };
- A9C2F12022E7833D001763CE /* validate_small_type_uses.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_small_type_uses.cpp; sourceTree = "<group>"; };
- A9C2F12122E7833D001763CE /* validate_datarules.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_datarules.cpp; sourceTree = "<group>"; };
- A9C2F12222E7833D001763CE /* validate_scopes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validate_scopes.h; sourceTree = "<group>"; };
- A9C2F12322E7833D001763CE /* validate_id.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_id.cpp; sourceTree = "<group>"; };
- A9C2F12422E7833D001763CE /* validate_memory_semantics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validate_memory_semantics.h; sourceTree = "<group>"; };
- A9C2F12522E7833D001763CE /* validate_arithmetics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_arithmetics.cpp; sourceTree = "<group>"; };
- A9C2F12622E7833D001763CE /* validate_mode_setting.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_mode_setting.cpp; sourceTree = "<group>"; };
- A9C2F12722E7833D001763CE /* validate_memory_semantics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_memory_semantics.cpp; sourceTree = "<group>"; };
- A9C2F12822E7833D001763CE /* validate_logicals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_logicals.cpp; sourceTree = "<group>"; };
- A9C2F12922E7833D001763CE /* validate_derivatives.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_derivatives.cpp; sourceTree = "<group>"; };
- A9C2F12A22E7833D001763CE /* validate_memory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_memory.cpp; sourceTree = "<group>"; };
- A9C2F12B22E7833D001763CE /* validate_image.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_image.cpp; sourceTree = "<group>"; };
- A9C2F12C22E7833D001763CE /* validate_literals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_literals.cpp; sourceTree = "<group>"; };
- A9C2F12D22E7833D001763CE /* instruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instruction.cpp; sourceTree = "<group>"; };
- A9C2F12E22E7833D001763CE /* validate_type.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_type.cpp; sourceTree = "<group>"; };
- A9C2F12F22E7833D001763CE /* instruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction.h; sourceTree = "<group>"; };
- A9C2F13022E7833D001763CE /* validate_execution_limitations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_execution_limitations.cpp; sourceTree = "<group>"; };
- A9C2F13122E7833D001763CE /* validate_layout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_layout.cpp; sourceTree = "<group>"; };
- A9C2F13222E7833D001763CE /* basic_block.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = basic_block.cpp; sourceTree = "<group>"; };
- A9C2F13322E7833D001763CE /* validate_function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_function.cpp; sourceTree = "<group>"; };
- A9C2F13422E7833D001763CE /* function.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = function.h; sourceTree = "<group>"; };
- A9C2F13522E7833D001763CE /* validate_composites.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_composites.cpp; sourceTree = "<group>"; };
- A9C2F13622E7833D001763CE /* validation_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validation_state.cpp; sourceTree = "<group>"; };
- A9C2F13722E7833D001763CE /* validate_primitives.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_primitives.cpp; sourceTree = "<group>"; };
- A9C2F13822E7833D001763CE /* decoration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoration.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXGroup section */
@@ -1604,7 +1652,7 @@
A972A82421CECC410013AB25 /* SPIRV-Tools */ = {
isa = PBXGroup;
children = (
- A9C2EF7722E7833C001763CE /* source */,
+ A97961452328063600299006 /* source */,
);
name = "SPIRV-Tools";
path = "glslang/External/spirv-tools";
@@ -1829,432 +1877,448 @@
path = "SPIRV-Cross";
sourceTree = "<group>";
};
- A9C2EF7722E7833C001763CE /* source */ = {
+ A97961452328063600299006 /* source */ = {
isa = PBXGroup;
children = (
- A9C2EF7822E7833C001763CE /* spirv_target_env.cpp */,
- A9C2EF7922E7833C001763CE /* extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json */,
- A9C2EF7A22E7833C001763CE /* spirv_fuzzer_options.h */,
- A9C2EF7B22E7833C001763CE /* assembly_grammar.h */,
- A9C2EF7C22E7833C001763CE /* enum_set.h */,
- A9C2EF7D22E7833C001763CE /* CMakeLists.txt */,
- A9C2EF7E22E7833C001763CE /* extinst.spv-amd-shader-ballot.grammar.json */,
- A9C2EF7F22E7833C001763CE /* text.cpp */,
- A9C2EF8022E7833C001763CE /* assembly_grammar.cpp */,
- A9C2EF8122E7833C001763CE /* text.h */,
- A9C2EF8222E7833C001763CE /* extensions.cpp */,
- A9C2EF8322E7833C001763CE /* pch_source.cpp */,
- A9C2EF8422E7833C001763CE /* util */,
- A9C2EF9322E7833C001763CE /* spirv_target_env.h */,
- A9C2EF9422E7833C001763CE /* table.cpp */,
- A9C2EF9522E7833C001763CE /* reduce */,
- A9C2EFCE22E7833C001763CE /* latest_version_opencl_std_header.h */,
- A9C2EFCF22E7833C001763CE /* spirv_optimizer_options.cpp */,
- A9C2EFD022E7833C001763CE /* cfa.h */,
- A9C2EFD122E7833C001763CE /* pch_source.h */,
- A9C2EFD222E7833C001763CE /* enum_string_mapping.h */,
- A9C2EFD322E7833C001763CE /* spirv_fuzzer_options.cpp */,
- A9C2EFD422E7833C001763CE /* spirv_reducer_options.h */,
- A9C2EFD522E7833C001763CE /* spirv_validator_options.cpp */,
- A9C2EFD622E7833C001763CE /* extinst.spv-amd-shader-trinary-minmax.grammar.json */,
- A9C2EFD722E7833C001763CE /* print.cpp */,
- A9C2EFD822E7833C001763CE /* spirv_definition.h */,
- A9C2EFD922E7833C001763CE /* operand.h */,
- A9C2EFDA22E7833C001763CE /* spirv_endian.cpp */,
- A9C2EFDB22E7833C001763CE /* macro.h */,
- A9C2EFDC22E7833C001763CE /* spirv_constant.h */,
- A9C2EFDD22E7833C001763CE /* extinst.spv-amd-gcn-shader.grammar.json */,
- A9C2EFDE22E7833C001763CE /* binary.cpp */,
- A9C2EFDF22E7833C001763CE /* spirv_validator_options.h */,
- A9C2EFE022E7833C001763CE /* enum_string_mapping.cpp */,
- A9C2EFE122E7833C001763CE /* text_handler.h */,
- A9C2EFE222E7833C001763CE /* parsed_operand.h */,
- A9C2EFE322E7833C001763CE /* name_mapper.h */,
- A9C2EFE422E7833C001763CE /* spirv_reducer_options.cpp */,
- A9C2EFE522E7833C001763CE /* parsed_operand.cpp */,
- A9C2EFE622E7833C001763CE /* diagnostic.h */,
- A9C2EFE722E7833C001763CE /* spirv_endian.h */,
- A9C2EFE822E7833C001763CE /* name_mapper.cpp */,
- A9C2EFE922E7833C001763CE /* extinst.debuginfo.grammar.json */,
- A9C2EFEA22E7833C001763CE /* link */,
- A9C2EFED22E7833C001763CE /* software_version.cpp */,
- A9C2EFEE22E7833C001763CE /* opcode.cpp */,
- A9C2EFEF22E7833C001763CE /* print.h */,
- A9C2EFF022E7833C001763CE /* ext_inst.cpp */,
- A9C2EFF122E7833C001763CE /* disassemble.h */,
- A9C2EFF222E7833C001763CE /* opt */,
- A9C2F0BB22E7833C001763CE /* table.h */,
- A9C2F0F922E7833D001763CE /* ext_inst.h */,
- A9C2F0FA22E7833D001763CE /* diagnostic.cpp */,
- A9C2F0FB22E7833D001763CE /* latest_version_spirv_header.h */,
- A9C2F0FC22E7833D001763CE /* libspirv.cpp */,
- A9C2F0FD22E7833D001763CE /* instruction.h */,
- A9C2F0FE22E7833D001763CE /* spirv_optimizer_options.h */,
- A9C2F0FF22E7833D001763CE /* opcode.h */,
- A9C2F10022E7833D001763CE /* operand.cpp */,
- A9C2F10122E7833D001763CE /* latest_version_glsl_std_450_header.h */,
- A9C2F10222E7833D001763CE /* extensions.h */,
- A9C2F10322E7833D001763CE /* disassemble.cpp */,
- A9C2F10422E7833D001763CE /* binary.h */,
- A9C2F10522E7833D001763CE /* text_handler.cpp */,
- A9C2F10622E7833D001763CE /* val */,
+ A97961462328063600299006 /* spirv_target_env.cpp */,
+ A97961472328063600299006 /* extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json */,
+ A97961482328063600299006 /* spirv_fuzzer_options.h */,
+ A97961492328063600299006 /* assembly_grammar.h */,
+ A979614A2328063600299006 /* enum_set.h */,
+ A979614B2328063600299006 /* CMakeLists.txt */,
+ A979614C2328063600299006 /* extinst.spv-amd-shader-ballot.grammar.json */,
+ A979614D2328063600299006 /* text.cpp */,
+ A979614E2328063600299006 /* assembly_grammar.cpp */,
+ A979614F2328063600299006 /* text.h */,
+ A97961502328063600299006 /* extensions.cpp */,
+ A97961512328063600299006 /* pch_source.cpp */,
+ A97961522328063600299006 /* util */,
+ A97961612328063600299006 /* spirv_target_env.h */,
+ A97961622328063600299006 /* table.cpp */,
+ A97961632328063600299006 /* reduce */,
+ A979619E2328063700299006 /* latest_version_opencl_std_header.h */,
+ A979619F2328063700299006 /* spirv_optimizer_options.cpp */,
+ A97961A02328063700299006 /* cfa.h */,
+ A97961A12328063700299006 /* pch_source.h */,
+ A97961A22328063700299006 /* enum_string_mapping.h */,
+ A97961A32328063700299006 /* spirv_fuzzer_options.cpp */,
+ A97961A42328063700299006 /* spirv_reducer_options.h */,
+ A97961A52328063700299006 /* spirv_validator_options.cpp */,
+ A97961A62328063700299006 /* extinst.spv-amd-shader-trinary-minmax.grammar.json */,
+ A97961A72328063700299006 /* print.cpp */,
+ A97961A82328063700299006 /* spirv_definition.h */,
+ A97961A92328063700299006 /* operand.h */,
+ A97961AA2328063700299006 /* spirv_endian.cpp */,
+ A97961AB2328063700299006 /* macro.h */,
+ A97961AC2328063700299006 /* spirv_constant.h */,
+ A97961AD2328063700299006 /* extinst.spv-amd-gcn-shader.grammar.json */,
+ A97961AE2328063700299006 /* binary.cpp */,
+ A97961AF2328063700299006 /* spirv_validator_options.h */,
+ A97961B02328063700299006 /* enum_string_mapping.cpp */,
+ A97961B12328063700299006 /* text_handler.h */,
+ A97961B22328063700299006 /* parsed_operand.h */,
+ A97961B32328063700299006 /* name_mapper.h */,
+ A97961B42328063700299006 /* spirv_reducer_options.cpp */,
+ A97961B52328063700299006 /* parsed_operand.cpp */,
+ A97961B62328063700299006 /* diagnostic.h */,
+ A97961B72328063700299006 /* spirv_endian.h */,
+ A97961B82328063700299006 /* name_mapper.cpp */,
+ A97961B92328063700299006 /* extinst.debuginfo.grammar.json */,
+ A97961BA2328063700299006 /* link */,
+ A97961BD2328063700299006 /* software_version.cpp */,
+ A97961BE2328063700299006 /* opcode.cpp */,
+ A97961BF2328063700299006 /* print.h */,
+ A97961C02328063700299006 /* ext_inst.cpp */,
+ A97961C12328063700299006 /* disassemble.h */,
+ A97961C22328063700299006 /* opt */,
+ A97962992328063700299006 /* table.h */,
+ A97962DF2328063700299006 /* ext_inst.h */,
+ A97962E02328063700299006 /* diagnostic.cpp */,
+ A97962E12328063700299006 /* latest_version_spirv_header.h */,
+ A97962E22328063700299006 /* libspirv.cpp */,
+ A97962E32328063700299006 /* instruction.h */,
+ A97962E42328063700299006 /* spirv_optimizer_options.h */,
+ A97962E52328063700299006 /* opcode.h */,
+ A97962E62328063700299006 /* operand.cpp */,
+ A97962E72328063700299006 /* latest_version_glsl_std_450_header.h */,
+ A97962E82328063700299006 /* extensions.h */,
+ A97962E92328063700299006 /* disassemble.cpp */,
+ A97962EA2328063700299006 /* binary.h */,
+ A97962EB2328063700299006 /* text_handler.cpp */,
+ A97962EC2328063700299006 /* val */,
);
path = source;
sourceTree = "<group>";
};
- A9C2EF8422E7833C001763CE /* util */ = {
+ A97961522328063600299006 /* util */ = {
isa = PBXGroup;
children = (
- A9C2EF8522E7833C001763CE /* parse_number.h */,
- A9C2EF8622E7833C001763CE /* ilist_node.h */,
- A9C2EF8722E7833C001763CE /* make_unique.h */,
- A9C2EF8822E7833C001763CE /* string_utils.h */,
- A9C2EF8922E7833C001763CE /* small_vector.h */,
- A9C2EF8A22E7833C001763CE /* timer.cpp */,
- A9C2EF8B22E7833C001763CE /* timer.h */,
- A9C2EF8C22E7833C001763CE /* string_utils.cpp */,
- A9C2EF8D22E7833C001763CE /* bit_vector.h */,
- A9C2EF8E22E7833C001763CE /* bitutils.h */,
- A9C2EF8F22E7833C001763CE /* hex_float.h */,
- A9C2EF9022E7833C001763CE /* parse_number.cpp */,
- A9C2EF9122E7833C001763CE /* bit_vector.cpp */,
- A9C2EF9222E7833C001763CE /* ilist.h */,
+ A97961532328063600299006 /* parse_number.h */,
+ A97961542328063600299006 /* ilist_node.h */,
+ A97961552328063600299006 /* make_unique.h */,
+ A97961562328063600299006 /* string_utils.h */,
+ A97961572328063600299006 /* small_vector.h */,
+ A97961582328063600299006 /* timer.cpp */,
+ A97961592328063600299006 /* timer.h */,
+ A979615A2328063600299006 /* string_utils.cpp */,
+ A979615B2328063600299006 /* bit_vector.h */,
+ A979615C2328063600299006 /* bitutils.h */,
+ A979615D2328063600299006 /* hex_float.h */,
+ A979615E2328063600299006 /* parse_number.cpp */,
+ A979615F2328063600299006 /* bit_vector.cpp */,
+ A97961602328063600299006 /* ilist.h */,
);
path = util;
sourceTree = "<group>";
};
- A9C2EF9522E7833C001763CE /* reduce */ = {
+ A97961632328063600299006 /* reduce */ = {
isa = PBXGroup;
children = (
- A9C2EF9622E7833C001763CE /* operand_to_undef_reduction_opportunity_finder.h */,
- A9C2EF9722E7833C001763CE /* remove_selection_reduction_opportunity.cpp */,
- A9C2EF9822E7833C001763CE /* remove_block_reduction_opportunity.h */,
- A9C2EF9922E7833C001763CE /* operand_to_dominating_id_reduction_opportunity_finder.h */,
- A9C2EF9A22E7833C001763CE /* reduction_pass.cpp */,
- A9C2EF9B22E7833C001763CE /* operand_to_const_reduction_opportunity_finder.cpp */,
- A9C2EF9C22E7833C001763CE /* operand_to_const_reduction_opportunity_finder.h */,
- A9C2EF9D22E7833C001763CE /* CMakeLists.txt */,
- A9C2EF9E22E7833C001763CE /* reduction_util.cpp */,
- A9C2EF9F22E7833C001763CE /* structured_loop_to_selection_reduction_opportunity_finder.cpp */,
- A9C2EFA022E7833C001763CE /* simple_conditional_branch_to_branch_reduction_opportunity.h */,
- A9C2EFA122E7833C001763CE /* remove_function_reduction_opportunity_finder.cpp */,
- A9C2EFA222E7833C001763CE /* remove_instruction_reduction_opportunity.h */,
- A9C2EFA322E7833C001763CE /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h */,
- A9C2EFA422E7833C001763CE /* simple_conditional_branch_to_branch_reduction_opportunity.cpp */,
- A9C2EFA522E7833C001763CE /* remove_function_reduction_opportunity.cpp */,
- A9C2EFA622E7833C001763CE /* remove_opname_instruction_reduction_opportunity_finder.h */,
- A9C2EFA722E7833C001763CE /* simple_conditional_branch_to_branch_opportunity_finder.cpp */,
- A9C2EFA822E7833C001763CE /* remove_selection_reduction_opportunity_finder.cpp */,
- A9C2EFA922E7833C001763CE /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp */,
- A9C2EFAA22E7833C001763CE /* simple_conditional_branch_to_branch_opportunity_finder.h */,
- A9C2EFAB22E7833C001763CE /* merge_blocks_reduction_opportunity.cpp */,
- A9C2EFAC22E7833C001763CE /* change_operand_reduction_opportunity.cpp */,
- A9C2EFAD22E7833C001763CE /* structured_loop_to_selection_reduction_opportunity.h */,
- A9C2EFAE22E7833C001763CE /* remove_function_reduction_opportunity.h */,
- A9C2EFAF22E7833C001763CE /* change_operand_to_undef_reduction_opportunity.h */,
- A9C2EFB022E7833C001763CE /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp */,
- A9C2EFB122E7833C001763CE /* structured_loop_to_selection_reduction_opportunity_finder.h */,
- A9C2EFB222E7833C001763CE /* remove_selection_reduction_opportunity.h */,
- A9C2EFB322E7833C001763CE /* remove_instruction_reduction_opportunity.cpp */,
- A9C2EFB422E7833C001763CE /* remove_selection_reduction_opportunity_finder.h */,
- A9C2EFB522E7833C001763CE /* merge_blocks_reduction_opportunity_finder.h */,
- A9C2EFB622E7833C001763CE /* remove_opname_instruction_reduction_opportunity_finder.cpp */,
- A9C2EFB722E7833C001763CE /* pch_source_reduce.cpp */,
- A9C2EFB822E7833C001763CE /* reducer.cpp */,
- A9C2EFB922E7833C001763CE /* operand_to_undef_reduction_opportunity_finder.cpp */,
- A9C2EFBA22E7833C001763CE /* remove_function_reduction_opportunity_finder.h */,
- A9C2EFBB22E7833C001763CE /* pch_source_reduce.h */,
- A9C2EFBC22E7833C001763CE /* remove_unreferenced_instruction_reduction_opportunity_finder.h */,
- A9C2EFBD22E7833C001763CE /* merge_blocks_reduction_opportunity_finder.cpp */,
- A9C2EFBE22E7833C001763CE /* reduction_opportunity.cpp */,
- A9C2EFBF22E7833C001763CE /* reducer.h */,
- A9C2EFC022E7833C001763CE /* change_operand_to_undef_reduction_opportunity.cpp */,
- A9C2EFC122E7833C001763CE /* reduction_opportunity.h */,
- A9C2EFC222E7833C001763CE /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h */,
- A9C2EFC322E7833C001763CE /* operand_to_dominating_id_reduction_opportunity_finder.cpp */,
- A9C2EFC422E7833C001763CE /* reduction_opportunity_finder.h */,
- A9C2EFC522E7833C001763CE /* change_operand_reduction_opportunity.h */,
- A9C2EFC622E7833C001763CE /* remove_block_reduction_opportunity_finder.h */,
- A9C2EFC722E7833C001763CE /* remove_block_reduction_opportunity_finder.cpp */,
- A9C2EFC822E7833C001763CE /* reduction_util.h */,
- A9C2EFC922E7833C001763CE /* merge_blocks_reduction_opportunity.h */,
- A9C2EFCA22E7833C001763CE /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp */,
- A9C2EFCB22E7833C001763CE /* structured_loop_to_selection_reduction_opportunity.cpp */,
- A9C2EFCC22E7833C001763CE /* remove_block_reduction_opportunity.cpp */,
- A9C2EFCD22E7833C001763CE /* reduction_pass.h */,
+ A97961642328063600299006 /* operand_to_undef_reduction_opportunity_finder.h */,
+ A97961652328063600299006 /* remove_selection_reduction_opportunity.cpp */,
+ A97961662328063600299006 /* remove_block_reduction_opportunity.h */,
+ A97961672328063600299006 /* operand_to_dominating_id_reduction_opportunity_finder.h */,
+ A97961682328063600299006 /* reduction_pass.cpp */,
+ A97961692328063600299006 /* operand_to_const_reduction_opportunity_finder.cpp */,
+ A979616A2328063600299006 /* operand_to_const_reduction_opportunity_finder.h */,
+ A979616B2328063600299006 /* CMakeLists.txt */,
+ A979616C2328063600299006 /* reduction_util.cpp */,
+ A979616D2328063600299006 /* remove_relaxed_precision_decoration_opportunity_finder.cpp */,
+ A979616E2328063600299006 /* structured_loop_to_selection_reduction_opportunity_finder.cpp */,
+ A979616F2328063600299006 /* simple_conditional_branch_to_branch_reduction_opportunity.h */,
+ A97961702328063600299006 /* remove_function_reduction_opportunity_finder.cpp */,
+ A97961712328063600299006 /* remove_instruction_reduction_opportunity.h */,
+ A97961722328063600299006 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h */,
+ A97961732328063600299006 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp */,
+ A97961742328063600299006 /* remove_function_reduction_opportunity.cpp */,
+ A97961752328063600299006 /* remove_opname_instruction_reduction_opportunity_finder.h */,
+ A97961762328063600299006 /* simple_conditional_branch_to_branch_opportunity_finder.cpp */,
+ A97961772328063600299006 /* remove_selection_reduction_opportunity_finder.cpp */,
+ A97961782328063600299006 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp */,
+ A97961792328063600299006 /* simple_conditional_branch_to_branch_opportunity_finder.h */,
+ A979617A2328063600299006 /* merge_blocks_reduction_opportunity.cpp */,
+ A979617B2328063600299006 /* change_operand_reduction_opportunity.cpp */,
+ A979617C2328063600299006 /* structured_loop_to_selection_reduction_opportunity.h */,
+ A979617D2328063600299006 /* remove_function_reduction_opportunity.h */,
+ A979617E2328063600299006 /* change_operand_to_undef_reduction_opportunity.h */,
+ A979617F2328063600299006 /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp */,
+ A97961802328063600299006 /* structured_loop_to_selection_reduction_opportunity_finder.h */,
+ A97961812328063600299006 /* remove_selection_reduction_opportunity.h */,
+ A97961822328063600299006 /* remove_instruction_reduction_opportunity.cpp */,
+ A97961832328063600299006 /* remove_relaxed_precision_decoration_opportunity_finder.h */,
+ A97961842328063600299006 /* remove_selection_reduction_opportunity_finder.h */,
+ A97961852328063600299006 /* merge_blocks_reduction_opportunity_finder.h */,
+ A97961862328063600299006 /* remove_opname_instruction_reduction_opportunity_finder.cpp */,
+ A97961872328063600299006 /* pch_source_reduce.cpp */,
+ A97961882328063600299006 /* reducer.cpp */,
+ A97961892328063600299006 /* operand_to_undef_reduction_opportunity_finder.cpp */,
+ A979618A2328063600299006 /* remove_function_reduction_opportunity_finder.h */,
+ A979618B2328063600299006 /* pch_source_reduce.h */,
+ A979618C2328063600299006 /* remove_unreferenced_instruction_reduction_opportunity_finder.h */,
+ A979618D2328063700299006 /* merge_blocks_reduction_opportunity_finder.cpp */,
+ A979618E2328063700299006 /* reduction_opportunity.cpp */,
+ A979618F2328063700299006 /* reducer.h */,
+ A97961902328063700299006 /* change_operand_to_undef_reduction_opportunity.cpp */,
+ A97961912328063700299006 /* reduction_opportunity.h */,
+ A97961922328063700299006 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h */,
+ A97961932328063700299006 /* operand_to_dominating_id_reduction_opportunity_finder.cpp */,
+ A97961942328063700299006 /* reduction_opportunity_finder.h */,
+ A97961952328063700299006 /* change_operand_reduction_opportunity.h */,
+ A97961962328063700299006 /* remove_block_reduction_opportunity_finder.h */,
+ A97961972328063700299006 /* remove_block_reduction_opportunity_finder.cpp */,
+ A97961982328063700299006 /* reduction_util.h */,
+ A97961992328063700299006 /* merge_blocks_reduction_opportunity.h */,
+ A979619A2328063700299006 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp */,
+ A979619B2328063700299006 /* structured_loop_to_selection_reduction_opportunity.cpp */,
+ A979619C2328063700299006 /* remove_block_reduction_opportunity.cpp */,
+ A979619D2328063700299006 /* reduction_pass.h */,
);
path = reduce;
sourceTree = "<group>";
};
- A9C2EFEA22E7833C001763CE /* link */ = {
+ A97961BA2328063700299006 /* link */ = {
isa = PBXGroup;
children = (
- A9C2EFEB22E7833C001763CE /* CMakeLists.txt */,
- A9C2EFEC22E7833C001763CE /* linker.cpp */,
+ A97961BB2328063700299006 /* CMakeLists.txt */,
+ A97961BC2328063700299006 /* linker.cpp */,
);
path = link;
sourceTree = "<group>";
};
- A9C2EFF222E7833C001763CE /* opt */ = {
+ A97961C22328063700299006 /* opt */ = {
isa = PBXGroup;
children = (
- A9C2EFF322E7833C001763CE /* optimizer.cpp */,
- A9C2EFF422E7833C001763CE /* if_conversion.h */,
- A9C2EFF522E7833C001763CE /* register_pressure.cpp */,
- A9C2EFF622E7833C001763CE /* loop_utils.cpp */,
- A9C2EFF722E7833C001763CE /* merge_return_pass.h */,
- A9C2EFF822E7833C001763CE /* inline_opaque_pass.h */,
- A9C2EFF922E7833C001763CE /* loop_fusion.h */,
- A9C2EFFA22E7833C001763CE /* combine_access_chains.cpp */,
- A9C2EFFB22E7833C001763CE /* build_module.cpp */,
- A9C2EFFC22E7833C001763CE /* composite.h */,
- A9C2EFFD22E7833C001763CE /* compact_ids_pass.h */,
- A9C2EFFE22E7833C001763CE /* register_pressure.h */,
- A9C2EFFF22E7833C001763CE /* tree_iterator.h */,
- A9C2F00022E7833C001763CE /* strip_atomic_counter_memory_pass.h */,
- A9C2F00122E7833C001763CE /* legalize_vector_shuffle_pass.h */,
- A9C2F00222E7833C001763CE /* local_single_store_elim_pass.h */,
- A9C2F00322E7833C001763CE /* reduce_load_size.h */,
- A9C2F00422E7833C001763CE /* code_sink.cpp */,
- A9C2F00522E7833C001763CE /* types.cpp */,
- A9C2F00622E7833C001763CE /* scalar_analysis.h */,
- A9C2F00722E7833C001763CE /* strip_debug_info_pass.h */,
- A9C2F00822E7833C001763CE /* cfg.cpp */,
- A9C2F00922E7833C001763CE /* strip_atomic_counter_memory_pass.cpp */,
- A9C2F00A22E7833C001763CE /* decoration_manager.cpp */,
- A9C2F00B22E7833C001763CE /* local_single_block_elim_pass.cpp */,
- A9C2F00C22E7833C001763CE /* freeze_spec_constant_value_pass.cpp */,
- A9C2F00D22E7833C001763CE /* replace_invalid_opc.h */,
- A9C2F00E22E7833C001763CE /* local_access_chain_convert_pass.h */,
- A9C2F00F22E7833C001763CE /* inst_bindless_check_pass.cpp */,
- A9C2F01022E7833C001763CE /* local_redundancy_elimination.cpp */,
- A9C2F01122E7833C001763CE /* CMakeLists.txt */,
- A9C2F01222E7833C001763CE /* instrument_pass.cpp */,
- A9C2F01322E7833C001763CE /* propagator.h */,
- A9C2F01422E7833C001763CE /* instruction_list.h */,
- A9C2F01522E7833C001763CE /* feature_manager.cpp */,
- A9C2F01622E7833C001763CE /* pass.cpp */,
- A9C2F01722E7833C001763CE /* loop_fission.cpp */,
- A9C2F01822E7833C001763CE /* dominator_tree.cpp */,
- A9C2F01922E7833C001763CE /* merge_return_pass.cpp */,
- A9C2F01A22E7833C001763CE /* ir_context.h */,
- A9C2F01B22E7833C001763CE /* eliminate_dead_constant_pass.cpp */,
- A9C2F01C22E7833C001763CE /* cfg_cleanup_pass.cpp */,
- A9C2F01D22E7833C001763CE /* const_folding_rules.cpp */,
- A9C2F01E22E7833C001763CE /* loop_unroller.h */,
- A9C2F01F22E7833C001763CE /* strip_debug_info_pass.cpp */,
- A9C2F02022E7833C001763CE /* ssa_rewrite_pass.cpp */,
- A9C2F02122E7833C001763CE /* loop_dependence.cpp */,
- A9C2F02222E7833C001763CE /* unify_const_pass.h */,
- A9C2F02322E7833C001763CE /* ir_loader.h */,
- A9C2F02422E7833C001763CE /* types.h */,
- A9C2F02522E7833C001763CE /* fold_spec_constant_op_and_composite_pass.h */,
- A9C2F02622E7833C001763CE /* mem_pass.cpp */,
- A9C2F02722E7833C001763CE /* basic_block.h */,
- A9C2F02822E7833C001763CE /* remove_duplicates_pass.cpp */,
- A9C2F02922E7833C001763CE /* dead_variable_elimination.cpp */,
- A9C2F02A22E7833C001763CE /* block_merge_pass.h */,
- A9C2F02B22E7833C001763CE /* module.cpp */,
- A9C2F02C22E7833C001763CE /* fold_spec_constant_op_and_composite_pass.cpp */,
- A9C2F02D22E7833C001763CE /* loop_unswitch_pass.cpp */,
- A9C2F02E22E7833C001763CE /* unify_const_pass.cpp */,
- A9C2F02F22E7833C001763CE /* type_manager.cpp */,
- A9C2F03022E7833C001763CE /* generate_webgpu_initializers_pass.cpp */,
- A9C2F03122E7833C001763CE /* private_to_local_pass.h */,
- A9C2F03222E7833C001763CE /* inline_pass.cpp */,
- A9C2F03322E7833C001763CE /* def_use_manager.h */,
- A9C2F03422E7833C001763CE /* ir_loader.cpp */,
- A9C2F03522E7833C001763CE /* cfg_cleanup_pass.h */,
- A9C2F03622E7833C001763CE /* licm_pass.cpp */,
- A9C2F03722E7833C001763CE /* eliminate_dead_functions_pass.cpp */,
- A9C2F03822E7833C001763CE /* local_redundancy_elimination.h */,
- A9C2F03922E7833C001763CE /* split_invalid_unreachable_pass.cpp */,
- A9C2F03A22E7833C001763CE /* loop_peeling.h */,
- A9C2F03B22E7833C001763CE /* vector_dce.cpp */,
- A9C2F03C22E7833C001763CE /* block_merge_util.h */,
- A9C2F03D22E7833C001763CE /* loop_unroller.cpp */,
- A9C2F03E22E7833C001763CE /* constants.cpp */,
- A9C2F03F22E7833C001763CE /* loop_fusion_pass.h */,
- A9C2F04022E7833C001763CE /* struct_cfg_analysis.h */,
- A9C2F04122E7833C001763CE /* def_use_manager.cpp */,
- A9C2F04222E7833C001763CE /* strip_reflect_info_pass.cpp */,
- A9C2F04322E7833C001763CE /* decoration_manager.h */,
- A9C2F04422E7833C001763CE /* ccp_pass.cpp */,
- A9C2F04522E7833C001763CE /* process_lines_pass.h */,
- A9C2F04622E7833C001763CE /* local_single_block_elim_pass.h */,
- A9C2F04722E7833C001763CE /* pch_source_opt.cpp */,
- A9C2F04822E7833C001763CE /* strength_reduction_pass.h */,
- A9C2F04922E7833C001763CE /* aggressive_dead_code_elim_pass.cpp */,
- A9C2F04A22E7833C001763CE /* eliminate_dead_functions_util.cpp */,
- A9C2F04B22E7833C001763CE /* simplification_pass.cpp */,
- A9C2F04C22E7833C001763CE /* dead_branch_elim_pass.cpp */,
- A9C2F04D22E7833C001763CE /* flatten_decoration_pass.cpp */,
- A9C2F04E22E7833C001763CE /* dead_insert_elim_pass.h */,
- A9C2F04F22E7833C001763CE /* folding_rules.cpp */,
- A9C2F05022E7833C001763CE /* freeze_spec_constant_value_pass.h */,
- A9C2F05122E7833C001763CE /* ir_context.cpp */,
- A9C2F05222E7833C001763CE /* instrument_pass.h */,
- A9C2F05322E7833C001763CE /* mem_pass.h */,
- A9C2F05422E7833C001763CE /* loop_descriptor.cpp */,
- A9C2F05522E7833C001763CE /* local_ssa_elim_pass.cpp */,
- A9C2F05622E7833C001763CE /* eliminate_dead_members_pass.h */,
- A9C2F05722E7833C001763CE /* function.cpp */,
- A9C2F05822E7833C001763CE /* instruction_list.cpp */,
- A9C2F05922E7833C001763CE /* composite.cpp */,
- A9C2F05A22E7833C001763CE /* process_lines_pass.cpp */,
- A9C2F05B22E7833C001763CE /* inline_pass.h */,
- A9C2F05C22E7833C001763CE /* loop_dependence.h */,
- A9C2F05D22E7833C001763CE /* value_number_table.h */,
- A9C2F05E22E7833C001763CE /* flatten_decoration_pass.h */,
- A9C2F05F22E7833C001763CE /* if_conversion.cpp */,
- A9C2F06022E7833C001763CE /* inline_exhaustive_pass.h */,
- A9C2F06122E7833C001763CE /* constants.h */,
- A9C2F06222E7833C001763CE /* eliminate_dead_members_pass.cpp */,
- A9C2F06322E7833C001763CE /* strength_reduction_pass.cpp */,
- A9C2F06422E7833C001763CE /* block_merge_util.cpp */,
- A9C2F06522E7833C001763CE /* upgrade_memory_model.h */,
- A9C2F06622E7833C001763CE /* copy_prop_arrays.cpp */,
- A9C2F06722E7833C001763CE /* pass_manager.cpp */,
- A9C2F06822E7833C001763CE /* inline_exhaustive_pass.cpp */,
- A9C2F06922E7833C001763CE /* loop_fission.h */,
- A9C2F06A22E7833C001763CE /* workaround1209.h */,
- A9C2F06B22E7833C001763CE /* loop_fusion_pass.cpp */,
- A9C2F06C22E7833C001763CE /* log.h */,
- A9C2F06D22E7833C001763CE /* split_invalid_unreachable_pass.h */,
- A9C2F06E22E7833C001763CE /* copy_prop_arrays.h */,
- A9C2F06F22E7833C001763CE /* eliminate_dead_constant_pass.h */,
- A9C2F07022E7833C001763CE /* dead_insert_elim_pass.cpp */,
- A9C2F07122E7833C001763CE /* ssa_rewrite_pass.h */,
- A9C2F07222E7833C001763CE /* scalar_analysis.cpp */,
- A9C2F07322E7833C001763CE /* dead_variable_elimination.h */,
- A9C2F07422E7833C001763CE /* block_merge_pass.cpp */,
- A9C2F07522E7833C001763CE /* dominator_analysis.h */,
- A9C2F07622E7833C001763CE /* pass.h */,
- A9C2F07722E7833C001763CE /* folding_rules.h */,
- A9C2F07822E7833C001763CE /* eliminate_dead_functions_pass.h */,
- A9C2F07922E7833C001763CE /* eliminate_dead_functions_util.h */,
- A9C2F07A22E7833C001763CE /* fold.h */,
- A9C2F07B22E7833C001763CE /* local_single_store_elim_pass.cpp */,
- A9C2F07C22E7833C001763CE /* dead_branch_elim_pass.h */,
- A9C2F07D22E7833C001763CE /* private_to_local_pass.cpp */,
- A9C2F07E22E7833C001763CE /* scalar_analysis_nodes.h */,
- A9C2F07F22E7833C001763CE /* propagator.cpp */,
- A9C2F08022E7833C001763CE /* fix_storage_class.h */,
- A9C2F08122E7833C001763CE /* loop_dependence_helpers.cpp */,
- A9C2F08222E7833C001763CE /* set_spec_constant_default_value_pass.cpp */,
- A9C2F08322E7833C001763CE /* passes.h */,
- A9C2F08422E7833C001763CE /* fold.cpp */,
- A9C2F08522E7833C001763CE /* strip_reflect_info_pass.h */,
- A9C2F08622E7833C001763CE /* scalar_replacement_pass.cpp */,
- A9C2F08722E7833C001763CE /* simplification_pass.h */,
- A9C2F08822E7833C001763CE /* remove_duplicates_pass.h */,
- A9C2F08922E7833C001763CE /* redundancy_elimination.cpp */,
- A9C2F08A22E7833C001763CE /* reflect.h */,
- A9C2F08B22E7833C001763CE /* workaround1209.cpp */,
- A9C2F08C22E7833C001763CE /* null_pass.h */,
- A9C2F08D22E7833C001763CE /* const_folding_rules.h */,
- A9C2F08E22E7833C001763CE /* scalar_replacement_pass.h */,
- A9C2F08F22E7833C001763CE /* instruction.cpp */,
- A9C2F09022E7833C001763CE /* pch_source_opt.h */,
- A9C2F09122E7833C001763CE /* reduce_load_size.cpp */,
- A9C2F09222E7833C001763CE /* redundancy_elimination.h */,
- A9C2F09322E7833C001763CE /* fix_storage_class.cpp */,
- A9C2F09422E7833C001763CE /* value_number_table.cpp */,
- A9C2F09522E7833C001763CE /* local_ssa_elim_pass.h */,
- A9C2F09622E7833C001763CE /* inline_opaque_pass.cpp */,
- A9C2F09722E7833C001763CE /* replace_invalid_opc.cpp */,
- A9C2F09822E7833C001763CE /* loop_utils.h */,
- A9C2F09922E7833C001763CE /* module.h */,
- A9C2F09A22E7833C001763CE /* dominator_analysis.cpp */,
- A9C2F09B22E7833C001763CE /* decompose_initialized_variables_pass.cpp */,
- A9C2F09C22E7833C001763CE /* ir_builder.h */,
- A9C2F09D22E7833C001763CE /* loop_unswitch_pass.h */,
- A9C2F09E22E7833C001763CE /* cfg.h */,
- A9C2F09F22E7833C001763CE /* code_sink.h */,
- A9C2F0A022E7833C001763CE /* loop_descriptor.h */,
- A9C2F0A122E7833C001763CE /* generate_webgpu_initializers_pass.h */,
- A9C2F0A222E7833C001763CE /* instruction.h */,
- A9C2F0A322E7833C001763CE /* aggressive_dead_code_elim_pass.h */,
- A9C2F0A422E7833C001763CE /* struct_cfg_analysis.cpp */,
- A9C2F0A522E7833C001763CE /* vector_dce.h */,
- A9C2F0A622E7833C001763CE /* combine_access_chains.h */,
- A9C2F0A722E7833C001763CE /* pass_manager.h */,
- A9C2F0A822E7833C001763CE /* local_access_chain_convert_pass.cpp */,
- A9C2F0A922E7833C001763CE /* basic_block.cpp */,
- A9C2F0AA22E7833C001763CE /* iterator.h */,
- A9C2F0AB22E7833C001763CE /* licm_pass.h */,
- A9C2F0AC22E7833C001763CE /* build_module.h */,
- A9C2F0AD22E7833C001763CE /* ccp_pass.h */,
- A9C2F0AE22E7833C001763CE /* decompose_initialized_variables_pass.h */,
- A9C2F0AF22E7833C001763CE /* function.h */,
- A9C2F0B022E7833C001763CE /* loop_fusion.cpp */,
- A9C2F0B122E7833C001763CE /* upgrade_memory_model.cpp */,
- A9C2F0B222E7833C001763CE /* feature_manager.h */,
- A9C2F0B322E7833C001763CE /* inst_bindless_check_pass.h */,
- A9C2F0B422E7833C001763CE /* scalar_analysis_simplification.cpp */,
- A9C2F0B522E7833C001763CE /* set_spec_constant_default_value_pass.h */,
- A9C2F0B622E7833C001763CE /* dominator_tree.h */,
- A9C2F0B722E7833C001763CE /* legalize_vector_shuffle_pass.cpp */,
- A9C2F0B822E7833C001763CE /* type_manager.h */,
- A9C2F0B922E7833C001763CE /* compact_ids_pass.cpp */,
- A9C2F0BA22E7833C001763CE /* loop_peeling.cpp */,
+ A97961C32328063700299006 /* optimizer.cpp */,
+ A97961C42328063700299006 /* if_conversion.h */,
+ A97961C52328063700299006 /* register_pressure.cpp */,
+ A97961C62328063700299006 /* loop_utils.cpp */,
+ A97961C72328063700299006 /* merge_return_pass.h */,
+ A97961C82328063700299006 /* inline_opaque_pass.h */,
+ A97961C92328063700299006 /* loop_fusion.h */,
+ A97961CA2328063700299006 /* combine_access_chains.cpp */,
+ A97961CB2328063700299006 /* build_module.cpp */,
+ A97961CC2328063700299006 /* composite.h */,
+ A97961CD2328063700299006 /* compact_ids_pass.h */,
+ A97961CE2328063700299006 /* register_pressure.h */,
+ A97961CF2328063700299006 /* tree_iterator.h */,
+ A97961D02328063700299006 /* graphics_robust_access_pass.h */,
+ A97961D12328063700299006 /* strip_atomic_counter_memory_pass.h */,
+ A97961D22328063700299006 /* legalize_vector_shuffle_pass.h */,
+ A97961D32328063700299006 /* local_single_store_elim_pass.h */,
+ A97961D42328063700299006 /* reduce_load_size.h */,
+ A97961D52328063700299006 /* code_sink.cpp */,
+ A97961D62328063700299006 /* types.cpp */,
+ A97961D72328063700299006 /* scalar_analysis.h */,
+ A97961D82328063700299006 /* strip_debug_info_pass.h */,
+ A97961D92328063700299006 /* cfg.cpp */,
+ A97961DA2328063700299006 /* strip_atomic_counter_memory_pass.cpp */,
+ A97961DB2328063700299006 /* decoration_manager.cpp */,
+ A97961DC2328063700299006 /* local_single_block_elim_pass.cpp */,
+ A97961DD2328063700299006 /* freeze_spec_constant_value_pass.cpp */,
+ A97961DE2328063700299006 /* replace_invalid_opc.h */,
+ A97961DF2328063700299006 /* local_access_chain_convert_pass.h */,
+ A97961E02328063700299006 /* inst_bindless_check_pass.cpp */,
+ A97961E12328063700299006 /* local_redundancy_elimination.cpp */,
+ A97961E22328063700299006 /* CMakeLists.txt */,
+ A97961E32328063700299006 /* instrument_pass.cpp */,
+ A97961E42328063700299006 /* propagator.h */,
+ A97961E52328063700299006 /* instruction_list.h */,
+ A97961E62328063700299006 /* feature_manager.cpp */,
+ A97961E72328063700299006 /* pass.cpp */,
+ A97961E82328063700299006 /* loop_fission.cpp */,
+ A97961E92328063700299006 /* dominator_tree.cpp */,
+ A97961EA2328063700299006 /* amd_ext_to_khr.h */,
+ A97961EB2328063700299006 /* merge_return_pass.cpp */,
+ A97961EC2328063700299006 /* ir_context.h */,
+ A97961ED2328063700299006 /* eliminate_dead_constant_pass.cpp */,
+ A97961EE2328063700299006 /* cfg_cleanup_pass.cpp */,
+ A97961EF2328063700299006 /* wrap_opkill.cpp */,
+ A97961F02328063700299006 /* const_folding_rules.cpp */,
+ A97961F12328063700299006 /* loop_unroller.h */,
+ A97961F22328063700299006 /* strip_debug_info_pass.cpp */,
+ A97961F32328063700299006 /* ssa_rewrite_pass.cpp */,
+ A97961F42328063700299006 /* loop_dependence.cpp */,
+ A97961F52328063700299006 /* unify_const_pass.h */,
+ A97961F62328063700299006 /* ir_loader.h */,
+ A97961F72328063700299006 /* types.h */,
+ A97961F82328063700299006 /* fold_spec_constant_op_and_composite_pass.h */,
+ A97961F92328063700299006 /* mem_pass.cpp */,
+ A97961FA2328063700299006 /* basic_block.h */,
+ A97961FB2328063700299006 /* remove_duplicates_pass.cpp */,
+ A97961FC2328063700299006 /* dead_variable_elimination.cpp */,
+ A97961FD2328063700299006 /* block_merge_pass.h */,
+ A97961FE2328063700299006 /* module.cpp */,
+ A97961FF2328063700299006 /* fold_spec_constant_op_and_composite_pass.cpp */,
+ A97962002328063700299006 /* loop_unswitch_pass.cpp */,
+ A97962012328063700299006 /* unify_const_pass.cpp */,
+ A97962022328063700299006 /* type_manager.cpp */,
+ A97962032328063700299006 /* generate_webgpu_initializers_pass.cpp */,
+ A97962042328063700299006 /* private_to_local_pass.h */,
+ A97962052328063700299006 /* convert_to_half_pass.h */,
+ A97962062328063700299006 /* relax_float_ops_pass.h */,
+ A97962072328063700299006 /* inline_pass.cpp */,
+ A97962082328063700299006 /* def_use_manager.h */,
+ A97962092328063700299006 /* ir_loader.cpp */,
+ A979620A2328063700299006 /* cfg_cleanup_pass.h */,
+ A979620B2328063700299006 /* licm_pass.cpp */,
+ A979620C2328063700299006 /* eliminate_dead_functions_pass.cpp */,
+ A979620D2328063700299006 /* local_redundancy_elimination.h */,
+ A979620E2328063700299006 /* split_invalid_unreachable_pass.cpp */,
+ A979620F2328063700299006 /* loop_peeling.h */,
+ A97962102328063700299006 /* vector_dce.cpp */,
+ A97962112328063700299006 /* block_merge_util.h */,
+ A97962122328063700299006 /* loop_unroller.cpp */,
+ A97962132328063700299006 /* desc_sroa.h */,
+ A97962142328063700299006 /* constants.cpp */,
+ A97962152328063700299006 /* loop_fusion_pass.h */,
+ A97962162328063700299006 /* struct_cfg_analysis.h */,
+ A97962172328063700299006 /* inst_buff_addr_check_pass.cpp */,
+ A97962182328063700299006 /* def_use_manager.cpp */,
+ A97962192328063700299006 /* wrap_opkill.h */,
+ A979621A2328063700299006 /* strip_reflect_info_pass.cpp */,
+ A979621B2328063700299006 /* decoration_manager.h */,
+ A979621C2328063700299006 /* ccp_pass.cpp */,
+ A979621D2328063700299006 /* process_lines_pass.h */,
+ A979621E2328063700299006 /* local_single_block_elim_pass.h */,
+ A979621F2328063700299006 /* pch_source_opt.cpp */,
+ A97962202328063700299006 /* inst_buff_addr_check_pass.h */,
+ A97962212328063700299006 /* strength_reduction_pass.h */,
+ A97962222328063700299006 /* aggressive_dead_code_elim_pass.cpp */,
+ A97962232328063700299006 /* eliminate_dead_functions_util.cpp */,
+ A97962242328063700299006 /* simplification_pass.cpp */,
+ A97962252328063700299006 /* dead_branch_elim_pass.cpp */,
+ A97962262328063700299006 /* flatten_decoration_pass.cpp */,
+ A97962272328063700299006 /* dead_insert_elim_pass.h */,
+ A97962282328063700299006 /* folding_rules.cpp */,
+ A97962292328063700299006 /* freeze_spec_constant_value_pass.h */,
+ A979622A2328063700299006 /* ir_context.cpp */,
+ A979622B2328063700299006 /* instrument_pass.h */,
+ A979622C2328063700299006 /* mem_pass.h */,
+ A979622D2328063700299006 /* loop_descriptor.cpp */,
+ A979622E2328063700299006 /* local_ssa_elim_pass.cpp */,
+ A979622F2328063700299006 /* eliminate_dead_members_pass.h */,
+ A97962302328063700299006 /* function.cpp */,
+ A97962312328063700299006 /* instruction_list.cpp */,
+ A97962322328063700299006 /* composite.cpp */,
+ A97962332328063700299006 /* convert_to_half_pass.cpp */,
+ A97962342328063700299006 /* process_lines_pass.cpp */,
+ A97962352328063700299006 /* inline_pass.h */,
+ A97962362328063700299006 /* loop_dependence.h */,
+ A97962372328063700299006 /* value_number_table.h */,
+ A97962382328063700299006 /* flatten_decoration_pass.h */,
+ A97962392328063700299006 /* if_conversion.cpp */,
+ A979623A2328063700299006 /* inline_exhaustive_pass.h */,
+ A979623B2328063700299006 /* constants.h */,
+ A979623C2328063700299006 /* eliminate_dead_members_pass.cpp */,
+ A979623D2328063700299006 /* strength_reduction_pass.cpp */,
+ A979623E2328063700299006 /* desc_sroa.cpp */,
+ A979623F2328063700299006 /* block_merge_util.cpp */,
+ A97962402328063700299006 /* upgrade_memory_model.h */,
+ A97962412328063700299006 /* copy_prop_arrays.cpp */,
+ A97962422328063700299006 /* pass_manager.cpp */,
+ A97962432328063700299006 /* inline_exhaustive_pass.cpp */,
+ A97962442328063700299006 /* loop_fission.h */,
+ A97962452328063700299006 /* workaround1209.h */,
+ A97962462328063700299006 /* loop_fusion_pass.cpp */,
+ A97962472328063700299006 /* log.h */,
+ A97962482328063700299006 /* split_invalid_unreachable_pass.h */,
+ A97962492328063700299006 /* copy_prop_arrays.h */,
+ A979624A2328063700299006 /* eliminate_dead_constant_pass.h */,
+ A979624B2328063700299006 /* dead_insert_elim_pass.cpp */,
+ A979624C2328063700299006 /* ssa_rewrite_pass.h */,
+ A979624D2328063700299006 /* scalar_analysis.cpp */,
+ A979624E2328063700299006 /* dead_variable_elimination.h */,
+ A979624F2328063700299006 /* block_merge_pass.cpp */,
+ A97962502328063700299006 /* dominator_analysis.h */,
+ A97962512328063700299006 /* pass.h */,
+ A97962522328063700299006 /* folding_rules.h */,
+ A97962532328063700299006 /* eliminate_dead_functions_pass.h */,
+ A97962542328063700299006 /* eliminate_dead_functions_util.h */,
+ A97962552328063700299006 /* fold.h */,
+ A97962562328063700299006 /* local_single_store_elim_pass.cpp */,
+ A97962572328063700299006 /* dead_branch_elim_pass.h */,
+ A97962582328063700299006 /* private_to_local_pass.cpp */,
+ A97962592328063700299006 /* scalar_analysis_nodes.h */,
+ A979625A2328063700299006 /* propagator.cpp */,
+ A979625B2328063700299006 /* fix_storage_class.h */,
+ A979625C2328063700299006 /* loop_dependence_helpers.cpp */,
+ A979625D2328063700299006 /* set_spec_constant_default_value_pass.cpp */,
+ A979625E2328063700299006 /* passes.h */,
+ A979625F2328063700299006 /* fold.cpp */,
+ A97962602328063700299006 /* amd_ext_to_khr.cpp */,
+ A97962612328063700299006 /* strip_reflect_info_pass.h */,
+ A97962622328063700299006 /* scalar_replacement_pass.cpp */,
+ A97962632328063700299006 /* simplification_pass.h */,
+ A97962642328063700299006 /* remove_duplicates_pass.h */,
+ A97962652328063700299006 /* redundancy_elimination.cpp */,
+ A97962662328063700299006 /* reflect.h */,
+ A97962672328063700299006 /* workaround1209.cpp */,
+ A97962682328063700299006 /* null_pass.h */,
+ A97962692328063700299006 /* relax_float_ops_pass.cpp */,
+ A979626A2328063700299006 /* const_folding_rules.h */,
+ A979626B2328063700299006 /* scalar_replacement_pass.h */,
+ A979626C2328063700299006 /* instruction.cpp */,
+ A979626D2328063700299006 /* pch_source_opt.h */,
+ A979626E2328063700299006 /* reduce_load_size.cpp */,
+ A979626F2328063700299006 /* redundancy_elimination.h */,
+ A97962702328063700299006 /* fix_storage_class.cpp */,
+ A97962712328063700299006 /* value_number_table.cpp */,
+ A97962722328063700299006 /* local_ssa_elim_pass.h */,
+ A97962732328063700299006 /* inline_opaque_pass.cpp */,
+ A97962742328063700299006 /* replace_invalid_opc.cpp */,
+ A97962752328063700299006 /* loop_utils.h */,
+ A97962762328063700299006 /* module.h */,
+ A97962772328063700299006 /* dominator_analysis.cpp */,
+ A97962782328063700299006 /* decompose_initialized_variables_pass.cpp */,
+ A97962792328063700299006 /* ir_builder.h */,
+ A979627A2328063700299006 /* loop_unswitch_pass.h */,
+ A979627B2328063700299006 /* cfg.h */,
+ A979627C2328063700299006 /* code_sink.h */,
+ A979627D2328063700299006 /* loop_descriptor.h */,
+ A979627E2328063700299006 /* generate_webgpu_initializers_pass.h */,
+ A979627F2328063700299006 /* instruction.h */,
+ A97962802328063700299006 /* aggressive_dead_code_elim_pass.h */,
+ A97962812328063700299006 /* struct_cfg_analysis.cpp */,
+ A97962822328063700299006 /* vector_dce.h */,
+ A97962832328063700299006 /* combine_access_chains.h */,
+ A97962842328063700299006 /* pass_manager.h */,
+ A97962852328063700299006 /* local_access_chain_convert_pass.cpp */,
+ A97962862328063700299006 /* basic_block.cpp */,
+ A97962872328063700299006 /* iterator.h */,
+ A97962882328063700299006 /* licm_pass.h */,
+ A97962892328063700299006 /* build_module.h */,
+ A979628A2328063700299006 /* ccp_pass.h */,
+ A979628B2328063700299006 /* graphics_robust_access_pass.cpp */,
+ A979628C2328063700299006 /* decompose_initialized_variables_pass.h */,
+ A979628D2328063700299006 /* function.h */,
+ A979628E2328063700299006 /* loop_fusion.cpp */,
+ A979628F2328063700299006 /* upgrade_memory_model.cpp */,
+ A97962902328063700299006 /* feature_manager.h */,
+ A97962912328063700299006 /* inst_bindless_check_pass.h */,
+ A97962922328063700299006 /* scalar_analysis_simplification.cpp */,
+ A97962932328063700299006 /* set_spec_constant_default_value_pass.h */,
+ A97962942328063700299006 /* dominator_tree.h */,
+ A97962952328063700299006 /* legalize_vector_shuffle_pass.cpp */,
+ A97962962328063700299006 /* type_manager.h */,
+ A97962972328063700299006 /* compact_ids_pass.cpp */,
+ A97962982328063700299006 /* loop_peeling.cpp */,
);
path = opt;
sourceTree = "<group>";
};
- A9C2F10622E7833D001763CE /* val */ = {
+ A97962EC2328063700299006 /* val */ = {
isa = PBXGroup;
children = (
- A9C2F10722E7833D001763CE /* validate_annotation.cpp */,
- A9C2F10822E7833D001763CE /* validate_misc.cpp */,
- A9C2F10922E7833D001763CE /* validate_cfg.cpp */,
- A9C2F10A22E7833D001763CE /* validate_capability.cpp */,
- A9C2F10B22E7833D001763CE /* construct.h */,
- A9C2F10C22E7833D001763CE /* validate_barriers.cpp */,
- A9C2F10D22E7833D001763CE /* validate_non_uniform.cpp */,
- A9C2F10E22E7833D001763CE /* validate_scopes.cpp */,
- A9C2F10F22E7833D001763CE /* validate_atomics.cpp */,
- A9C2F11022E7833D001763CE /* basic_block.h */,
- A9C2F11122E7833D001763CE /* validate_instruction.cpp */,
- A9C2F11222E7833D001763CE /* validate_decorations.cpp */,
- A9C2F11322E7833D001763CE /* validate_debug.cpp */,
- A9C2F11422E7833D001763CE /* validate_builtins.cpp */,
- A9C2F11522E7833D001763CE /* validate_interfaces.cpp */,
- A9C2F11622E7833D001763CE /* validate.cpp */,
- A9C2F11722E7833D001763CE /* validation_state.h */,
- A9C2F11822E7833D001763CE /* validate_constants.cpp */,
- A9C2F11922E7833D001763CE /* validate_bitwise.cpp */,
- A9C2F11A22E7833D001763CE /* validate_extensions.cpp */,
- A9C2F11B22E7833D001763CE /* construct.cpp */,
- A9C2F11C22E7833D001763CE /* function.cpp */,
- A9C2F11D22E7833D001763CE /* validate.h */,
- A9C2F11E22E7833D001763CE /* validate_adjacency.cpp */,
- A9C2F11F22E7833D001763CE /* validate_conversion.cpp */,
- A9C2F12022E7833D001763CE /* validate_small_type_uses.cpp */,
- A9C2F12122E7833D001763CE /* validate_datarules.cpp */,
- A9C2F12222E7833D001763CE /* validate_scopes.h */,
- A9C2F12322E7833D001763CE /* validate_id.cpp */,
- A9C2F12422E7833D001763CE /* validate_memory_semantics.h */,
- A9C2F12522E7833D001763CE /* validate_arithmetics.cpp */,
- A9C2F12622E7833D001763CE /* validate_mode_setting.cpp */,
- A9C2F12722E7833D001763CE /* validate_memory_semantics.cpp */,
- A9C2F12822E7833D001763CE /* validate_logicals.cpp */,
- A9C2F12922E7833D001763CE /* validate_derivatives.cpp */,
- A9C2F12A22E7833D001763CE /* validate_memory.cpp */,
- A9C2F12B22E7833D001763CE /* validate_image.cpp */,
- A9C2F12C22E7833D001763CE /* validate_literals.cpp */,
- A9C2F12D22E7833D001763CE /* instruction.cpp */,
- A9C2F12E22E7833D001763CE /* validate_type.cpp */,
- A9C2F12F22E7833D001763CE /* instruction.h */,
- A9C2F13022E7833D001763CE /* validate_execution_limitations.cpp */,
- A9C2F13122E7833D001763CE /* validate_layout.cpp */,
- A9C2F13222E7833D001763CE /* basic_block.cpp */,
- A9C2F13322E7833D001763CE /* validate_function.cpp */,
- A9C2F13422E7833D001763CE /* function.h */,
- A9C2F13522E7833D001763CE /* validate_composites.cpp */,
- A9C2F13622E7833D001763CE /* validation_state.cpp */,
- A9C2F13722E7833D001763CE /* validate_primitives.cpp */,
- A9C2F13822E7833D001763CE /* decoration.h */,
+ A97962ED2328063700299006 /* validate_annotation.cpp */,
+ A97962EE2328063700299006 /* validate_misc.cpp */,
+ A97962EF2328063700299006 /* validate_cfg.cpp */,
+ A97962F02328063700299006 /* validate_capability.cpp */,
+ A97962F12328063700299006 /* construct.h */,
+ A97962F22328063700299006 /* validate_barriers.cpp */,
+ A97962F32328063700299006 /* validate_non_uniform.cpp */,
+ A97962F42328063700299006 /* validate_scopes.cpp */,
+ A97962F52328063700299006 /* validate_atomics.cpp */,
+ A97962F62328063700299006 /* basic_block.h */,
+ A97962F72328063700299006 /* validate_instruction.cpp */,
+ A97962F82328063700299006 /* validate_decorations.cpp */,
+ A97962F92328063700299006 /* validate_debug.cpp */,
+ A97962FA2328063700299006 /* validate_builtins.cpp */,
+ A97962FB2328063700299006 /* validate_interfaces.cpp */,
+ A97962FC2328063700299006 /* validate.cpp */,
+ A97962FD2328063700299006 /* validation_state.h */,
+ A97962FE2328063700299006 /* validate_constants.cpp */,
+ A97962FF2328063700299006 /* validate_bitwise.cpp */,
+ A97963002328063700299006 /* validate_extensions.cpp */,
+ A97963012328063700299006 /* construct.cpp */,
+ A97963022328063700299006 /* function.cpp */,
+ A97963032328063700299006 /* validate.h */,
+ A97963042328063700299006 /* validate_adjacency.cpp */,
+ A97963052328063700299006 /* validate_conversion.cpp */,
+ A97963062328063700299006 /* validate_small_type_uses.cpp */,
+ A97963072328063700299006 /* validate_datarules.cpp */,
+ A97963082328063700299006 /* validate_scopes.h */,
+ A97963092328063700299006 /* validate_id.cpp */,
+ A979630A2328063700299006 /* validate_memory_semantics.h */,
+ A979630B2328063700299006 /* validate_arithmetics.cpp */,
+ A979630C2328063700299006 /* validate_mode_setting.cpp */,
+ A979630D2328063700299006 /* validate_memory_semantics.cpp */,
+ A979630E2328063700299006 /* validate_logicals.cpp */,
+ A979630F2328063700299006 /* validate_derivatives.cpp */,
+ A97963102328063700299006 /* validate_memory.cpp */,
+ A97963112328063700299006 /* validate_image.cpp */,
+ A97963122328063700299006 /* validate_literals.cpp */,
+ A97963132328063700299006 /* instruction.cpp */,
+ A97963142328063700299006 /* validate_type.cpp */,
+ A97963152328063700299006 /* instruction.h */,
+ A97963162328063700299006 /* validate_execution_limitations.cpp */,
+ A97963172328063700299006 /* validate_layout.cpp */,
+ A97963182328063700299006 /* basic_block.cpp */,
+ A97963192328063700299006 /* validate_function.cpp */,
+ A979631A2328063700299006 /* function.h */,
+ A979631B2328063700299006 /* validate_composites.cpp */,
+ A979631C2328063700299006 /* validation_state.cpp */,
+ A979631D2328063700299006 /* validate_primitives.cpp */,
+ A979631E2328063700299006 /* decoration.h */,
);
path = val;
sourceTree = "<group>";
@@ -2277,186 +2341,194 @@
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
- A9C2F37922E7833D001763CE /* vector_dce.h in Headers */,
- A9C2F42B22E7833D001763CE /* latest_version_glsl_std_450_header.h in Headers */,
- A9C2F27722E7833D001763CE /* types.h in Headers */,
- A9C2F23F22E7833D001763CE /* strip_debug_info_pass.h in Headers */,
- A9C2F31D22E7833D001763CE /* folding_rules.h in Headers */,
- A9C2F16B22E7833D001763CE /* operand_to_undef_reduction_opportunity_finder.h in Headers */,
- A9C2F48F22E7833D001763CE /* function.h in Headers */,
- A9C2F38522E7833D001763CE /* licm_pass.h in Headers */,
- A9C2F32B22E7833D001763CE /* scalar_analysis_nodes.h in Headers */,
- A9C2F19F22E7833D001763CE /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */,
- A9C2F23D22E7833D001763CE /* scalar_analysis.h in Headers */,
- A9C2F2E722E7833D001763CE /* loop_dependence.h in Headers */,
- A9C2F27522E7833D001763CE /* ir_loader.h in Headers */,
- A9C2F1C522E7833D001763CE /* reduction_opportunity_finder.h in Headers */,
- A9C2F42722E7833D001763CE /* opcode.h in Headers */,
- A9C2F2D522E7833D001763CE /* mem_pass.h in Headers */,
- A9C2F44722E7833D001763CE /* basic_block.h in Headers */,
- A9C2F21522E7833D001763CE /* disassemble.h in Headers */,
- A9C2F46F22E7833D001763CE /* validate_memory_semantics.h in Headers */,
- A9C2F18322E7833D001763CE /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h in Headers */,
- A9C2F34B22E7833D001763CE /* scalar_replacement_pass.h in Headers */,
- A9C2F19122E7833D001763CE /* simple_conditional_branch_to_branch_opportunity_finder.h in Headers */,
- A9C2F2AD22E7833D001763CE /* loop_fusion_pass.h in Headers */,
- A9C2F49722E7833D001763CE /* decoration.h in Headers */,
- A9C2F36122E7833D001763CE /* module.h in Headers */,
- A9C2F27D22E7833D001763CE /* basic_block.h in Headers */,
- A9C2F43122E7833D001763CE /* binary.h in Headers */,
- A9C2F37522E7833D001763CE /* aggressive_dead_code_elim_pass.h in Headers */,
- A9C2F37D22E7833D001763CE /* pass_manager.h in Headers */,
- A9C2F21F22E7833D001763CE /* merge_return_pass.h in Headers */,
- A9C2F1E522E7833D001763CE /* spirv_reducer_options.h in Headers */,
- A9C2F22922E7833D001763CE /* composite.h in Headers */,
- A9C2F31922E7833D001763CE /* dominator_analysis.h in Headers */,
- A9C2F38922E7833D001763CE /* ccp_pass.h in Headers */,
- A9C2F2EB22E7833D001763CE /* flatten_decoration_pass.h in Headers */,
- A9C2F20722E7833D001763CE /* spirv_endian.h in Headers */,
- A9C2F18922E7833D001763CE /* remove_opname_instruction_reduction_opportunity_finder.h in Headers */,
- A9C2F1F322E7833D001763CE /* spirv_constant.h in Headers */,
- A9C2F21922E7833D001763CE /* if_conversion.h in Headers */,
- A9C2F1B522E7833D001763CE /* remove_unreferenced_instruction_reduction_opportunity_finder.h in Headers */,
- A9C2F15D22E7833D001763CE /* bitutils.h in Headers */,
- A9C2F26B22E7833D001763CE /* loop_unroller.h in Headers */,
- A9C2F1C922E7833D001763CE /* remove_block_reduction_opportunity_finder.h in Headers */,
- A9C2F16722E7833D001763CE /* spirv_target_env.h in Headers */,
- A9C2F36D22E7833D001763CE /* code_sink.h in Headers */,
- A9C2F23122E7833D001763CE /* strip_atomic_counter_memory_pass.h in Headers */,
- A9C2F2D322E7833D001763CE /* instrument_pass.h in Headers */,
- A9C2F38722E7833D001763CE /* build_module.h in Headers */,
- A9C2F42D22E7833D001763CE /* extensions.h in Headers */,
- A9C2F48522E7833D001763CE /* instruction.h in Headers */,
- A9C2F32F22E7833D001763CE /* fix_storage_class.h in Headers */,
- A9C2F36722E7833D001763CE /* ir_builder.h in Headers */,
- A9C2F2B522E7833D001763CE /* decoration_manager.h in Headers */,
- A9C2F33922E7833D001763CE /* strip_reflect_info_pass.h in Headers */,
- A9C2F38322E7833D001763CE /* iterator.h in Headers */,
- A9C2F38B22E7833D001763CE /* decompose_initialized_variables_pass.h in Headers */,
- A9C2F34722E7833D001763CE /* null_pass.h in Headers */,
- A9C2F30922E7833D001763CE /* split_invalid_unreachable_pass.h in Headers */,
- A9C2F30B22E7833D001763CE /* copy_prop_arrays.h in Headers */,
- A9C2F22322E7833D001763CE /* loop_fusion.h in Headers */,
- A9C2F3A522E7833D001763CE /* table.h in Headers */,
- A9C2F14F22E7833D001763CE /* make_unique.h in Headers */,
- A9C2F31B22E7833D001763CE /* pass.h in Headers */,
- A9C2F2BB22E7833D001763CE /* local_single_block_elim_pass.h in Headers */,
- A9C2F2A322E7833D001763CE /* loop_peeling.h in Headers */,
- A9C2F19722E7833D001763CE /* structured_loop_to_selection_reduction_opportunity.h in Headers */,
- A9C2F1DD22E7833D001763CE /* cfa.h in Headers */,
- A9C2F2BF22E7833D001763CE /* strength_reduction_pass.h in Headers */,
- A9C2F28322E7833D001763CE /* block_merge_pass.h in Headers */,
- A9C2F33522E7833D001763CE /* passes.h in Headers */,
- A9C2F46122E7833D001763CE /* validate.h in Headers */,
- A9C2F22D22E7833D001763CE /* register_pressure.h in Headers */,
- A9C2F1BF22E7833D001763CE /* reduction_opportunity.h in Headers */,
- A9C2F1A522E7833D001763CE /* remove_selection_reduction_opportunity_finder.h in Headers */,
- A9C2F2AF22E7833D001763CE /* struct_cfg_analysis.h in Headers */,
- A9C2F1CD22E7833D001763CE /* reduction_util.h in Headers */,
- A9C2F23522E7833D001763CE /* local_single_store_elim_pass.h in Headers */,
- A9C2F18122E7833D001763CE /* remove_instruction_reduction_opportunity.h in Headers */,
- A9C2F13D22E7833D001763CE /* assembly_grammar.h in Headers */,
- A9C2F20522E7833D001763CE /* diagnostic.h in Headers */,
- A9C2F45522E7833D001763CE /* validation_state.h in Headers */,
- A9C2F1EB22E7833D001763CE /* spirv_definition.h in Headers */,
- A9C2F34F22E7833D001763CE /* pch_source_opt.h in Headers */,
- A9C2F25722E7833D001763CE /* instruction_list.h in Headers */,
- A9C2F30122E7833D001763CE /* loop_fission.h in Headers */,
- A9C2F16F22E7833D001763CE /* remove_block_reduction_opportunity.h in Headers */,
- A9C2F39522E7833D001763CE /* inst_bindless_check_pass.h in Headers */,
- A9C2F2F122E7833D001763CE /* constants.h in Headers */,
- A9C2F1F122E7833D001763CE /* macro.h in Headers */,
- A9C2F42522E7833D001763CE /* spirv_optimizer_options.h in Headers */,
- A9C2F43D22E7833D001763CE /* construct.h in Headers */,
- A9C2F25522E7833D001763CE /* propagator.h in Headers */,
- A9C2F39322E7833D001763CE /* feature_manager.h in Headers */,
- A9C2F2CB22E7833D001763CE /* dead_insert_elim_pass.h in Headers */,
- A9C2F41F22E7833D001763CE /* latest_version_spirv_header.h in Headers */,
- A9C2F39F22E7833D001763CE /* type_manager.h in Headers */,
- A9C2F27922E7833D001763CE /* fold_spec_constant_op_and_composite_pass.h in Headers */,
- A9C2F17D22E7833D001763CE /* simple_conditional_branch_to_branch_reduction_opportunity.h in Headers */,
- A9C2F30722E7833D001763CE /* log.h in Headers */,
- A9C2F39B22E7833D001763CE /* dominator_tree.h in Headers */,
- A9C2F2F922E7833D001763CE /* upgrade_memory_model.h in Headers */,
- A9C2F1FF22E7833D001763CE /* name_mapper.h in Headers */,
- A9C2F19922E7833D001763CE /* remove_function_reduction_opportunity.h in Headers */,
- A9C2F22F22E7833D001763CE /* tree_iterator.h in Headers */,
- A9C2F34922E7833D001763CE /* const_folding_rules.h in Headers */,
- A9C2F33F22E7833D001763CE /* remove_duplicates_pass.h in Headers */,
- A9C2F41B22E7833D001763CE /* ext_inst.h in Headers */,
- A9C2F2E522E7833D001763CE /* inline_pass.h in Headers */,
- A9C2F37B22E7833D001763CE /* combine_access_chains.h in Headers */,
- A9C2F31F22E7833D001763CE /* eliminate_dead_functions_pass.h in Headers */,
- A9C2F31122E7833D001763CE /* ssa_rewrite_pass.h in Headers */,
- A9C2F15722E7833D001763CE /* timer.h in Headers */,
- A9C2F42322E7833D001763CE /* instruction.h in Headers */,
- A9C2F35922E7833D001763CE /* local_ssa_elim_pass.h in Headers */,
- A9C2F34322E7833D001763CE /* reflect.h in Headers */,
- A9C2F1A722E7833D001763CE /* merge_blocks_reduction_opportunity_finder.h in Headers */,
- A9C2F1F722E7833D001763CE /* spirv_validator_options.h in Headers */,
- A9C2F32322E7833D001763CE /* fold.h in Headers */,
- A9C2F16522E7833D001763CE /* ilist.h in Headers */,
- A9C2F15322E7833D001763CE /* small_vector.h in Headers */,
- A9C2F15F22E7833D001763CE /* hex_float.h in Headers */,
- A9C2F2B922E7833D001763CE /* process_lines_pass.h in Headers */,
- A9C2F14522E7833D001763CE /* text.h in Headers */,
- A9C2F1C722E7833D001763CE /* change_operand_reduction_opportunity.h in Headers */,
- A9C2F38D22E7833D001763CE /* function.h in Headers */,
- A9C2F15122E7833D001763CE /* string_utils.h in Headers */,
- A9C2F1D922E7833D001763CE /* latest_version_opencl_std_header.h in Headers */,
- A9C2F30D22E7833D001763CE /* eliminate_dead_constant_pass.h in Headers */,
- A9C2F1BB22E7833D001763CE /* reducer.h in Headers */,
- A9C2F35F22E7833D001763CE /* loop_utils.h in Headers */,
- A9C2F23322E7833D001763CE /* legalize_vector_shuffle_pass.h in Headers */,
- A9C2F29F22E7833D001763CE /* local_redundancy_elimination.h in Headers */,
- A9C2F22B22E7833D001763CE /* compact_ids_pass.h in Headers */,
- A9C2F1B122E7833D001763CE /* remove_function_reduction_opportunity_finder.h in Headers */,
- A9C2F30322E7833D001763CE /* workaround1209.h in Headers */,
- A9C2F1B322E7833D001763CE /* pch_source_reduce.h in Headers */,
- A9C2F1FB22E7833D001763CE /* text_handler.h in Headers */,
- A9C2F1E122E7833D001763CE /* enum_string_mapping.h in Headers */,
- A9C2F17122E7833D001763CE /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */,
- A9C2F27322E7833D001763CE /* unify_const_pass.h in Headers */,
- A9C2F14B22E7833D001763CE /* parse_number.h in Headers */,
- A9C2F2E922E7833D001763CE /* value_number_table.h in Headers */,
- A9C2F1C122E7833D001763CE /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h in Headers */,
- A9C2F24B22E7833D001763CE /* replace_invalid_opc.h in Headers */,
- A9C2F2A722E7833D001763CE /* block_merge_util.h in Headers */,
- A9C2F35322E7833D001763CE /* redundancy_elimination.h in Headers */,
- A9C2F37122E7833D001763CE /* generate_webgpu_initializers_pass.h in Headers */,
- A9C2F2CF22E7833D001763CE /* freeze_spec_constant_value_pass.h in Headers */,
- A9C2F23722E7833D001763CE /* reduce_load_size.h in Headers */,
- A9C2F37322E7833D001763CE /* instruction.h in Headers */,
- A9C2F13B22E7833D001763CE /* spirv_fuzzer_options.h in Headers */,
- A9C2F46B22E7833D001763CE /* validate_scopes.h in Headers */,
- A9C2F14D22E7833D001763CE /* ilist_node.h in Headers */,
- A9C2F13F22E7833D001763CE /* enum_set.h in Headers */,
- A9C2F1FD22E7833D001763CE /* parsed_operand.h in Headers */,
- A9C2F26322E7833D001763CE /* ir_context.h in Headers */,
- A9C2F36B22E7833D001763CE /* cfg.h in Headers */,
- A9C2F2EF22E7833D001763CE /* inline_exhaustive_pass.h in Headers */,
- A9C2F1CF22E7833D001763CE /* merge_blocks_reduction_opportunity.h in Headers */,
- A9C2F33D22E7833D001763CE /* simplification_pass.h in Headers */,
- A9C2F29522E7833D001763CE /* def_use_manager.h in Headers */,
- A9C2F29922E7833D001763CE /* cfg_cleanup_pass.h in Headers */,
- A9C2F21122E7833D001763CE /* print.h in Headers */,
- A9C2F22122E7833D001763CE /* inline_opaque_pass.h in Headers */,
- A9C2F19B22E7833D001763CE /* change_operand_to_undef_reduction_opportunity.h in Headers */,
- A9C2F39922E7833D001763CE /* set_spec_constant_default_value_pass.h in Headers */,
- A9C2F24D22E7833D001763CE /* local_access_chain_convert_pass.h in Headers */,
- A9C2F1ED22E7833D001763CE /* operand.h in Headers */,
- A9C2F31522E7833D001763CE /* dead_variable_elimination.h in Headers */,
- A9C2F32122E7833D001763CE /* eliminate_dead_functions_util.h in Headers */,
- A9C2F17722E7833D001763CE /* operand_to_const_reduction_opportunity_finder.h in Headers */,
- A9C2F36F22E7833D001763CE /* loop_descriptor.h in Headers */,
- A9C2F1D722E7833D001763CE /* reduction_pass.h in Headers */,
- A9C2F1A122E7833D001763CE /* remove_selection_reduction_opportunity.h in Headers */,
- A9C2F29122E7833D001763CE /* private_to_local_pass.h in Headers */,
- A9C2F15B22E7833D001763CE /* bit_vector.h in Headers */,
- A9C2F36922E7833D001763CE /* loop_unswitch_pass.h in Headers */,
- A9C2F2DB22E7833D001763CE /* eliminate_dead_members_pass.h in Headers */,
- A9C2F1DF22E7833D001763CE /* pch_source.h in Headers */,
- A9C2F32722E7833D001763CE /* dead_branch_elim_pass.h in Headers */,
+ A979663B2328063800299006 /* spirv_optimizer_options.h in Headers */,
+ A97964ED2328063700299006 /* inline_exhaustive_pass.h in Headers */,
+ A97964672328063700299006 /* types.h in Headers */,
+ A97964972328063700299006 /* loop_peeling.h in Headers */,
+ A97963512328063700299006 /* operand_to_undef_reduction_opportunity_finder.h in Headers */,
+ A979656D2328063700299006 /* loop_unswitch_pass.h in Headers */,
+ A97965732328063700299006 /* loop_descriptor.h in Headers */,
+ A97964E52328063700299006 /* loop_dependence.h in Headers */,
+ A97964C72328063700299006 /* dead_insert_elim_pass.h in Headers */,
+ A97965572328063700299006 /* redundancy_elimination.h in Headers */,
+ A97964732328063700299006 /* block_merge_pass.h in Headers */,
+ A979658D2328063700299006 /* ccp_pass.h in Headers */,
+ A97965112328063700299006 /* ssa_rewrite_pass.h in Headers */,
+ A97965272328063700299006 /* dead_branch_elim_pass.h in Headers */,
+ A97963D72328063700299006 /* operand.h in Headers */,
+ A97963B32328063700299006 /* remove_block_reduction_opportunity_finder.h in Headers */,
+ A979649F2328063700299006 /* desc_sroa.h in Headers */,
+ A97964E32328063700299006 /* inline_pass.h in Headers */,
+ A97964B32328063700299006 /* process_lines_pass.h in Headers */,
+ A97965232328063700299006 /* fold.h in Headers */,
+ A97966772328063800299006 /* validate.h in Headers */,
+ A979650D2328063700299006 /* eliminate_dead_constant_pass.h in Headers */,
+ A97966432328063800299006 /* extensions.h in Headers */,
+ A97963DB2328063700299006 /* macro.h in Headers */,
+ A97963AF2328063700299006 /* reduction_opportunity_finder.h in Headers */,
+ A97963C72328063700299006 /* cfa.h in Headers */,
+ A97964832328063700299006 /* convert_to_half_pass.h in Headers */,
+ A97964132328063700299006 /* composite.h in Headers */,
+ A979651B2328063700299006 /* pass.h in Headers */,
+ A97963A52328063700299006 /* reducer.h in Headers */,
+ A97966312328063800299006 /* ext_inst.h in Headers */,
+ A97965AB2328063800299006 /* table.h in Headers */,
+ A97965012328063700299006 /* loop_fission.h in Headers */,
+ A97964D12328063700299006 /* mem_pass.h in Headers */,
+ A97965092328063700299006 /* split_invalid_unreachable_pass.h in Headers */,
+ A97963872328063700299006 /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */,
+ A979657D2328063700299006 /* vector_dce.h in Headers */,
+ A979655D2328063700299006 /* local_ssa_elim_pass.h in Headers */,
+ A979641B2328063700299006 /* graphics_robust_access_pass.h in Headers */,
+ A979638F2328063700299006 /* remove_selection_reduction_opportunity_finder.h in Headers */,
+ A979649B2328063700299006 /* block_merge_util.h in Headers */,
+ A97963EF2328063700299006 /* diagnostic.h in Headers */,
+ A97965A12328063800299006 /* dominator_tree.h in Headers */,
+ A97965772328063700299006 /* instruction.h in Headers */,
+ A979639B2328063700299006 /* remove_function_reduction_opportunity_finder.h in Headers */,
+ A979659B2328063800299006 /* inst_bindless_check_pass.h in Headers */,
+ A97964412328063700299006 /* propagator.h in Headers */,
+ A97966412328063800299006 /* latest_version_glsl_std_450_header.h in Headers */,
+ A97963E92328063700299006 /* name_mapper.h in Headers */,
+ A97966392328063800299006 /* instruction.h in Headers */,
+ A97964632328063700299006 /* unify_const_pass.h in Headers */,
+ A97964A52328063700299006 /* struct_cfg_analysis.h in Headers */,
+ A97965872328063700299006 /* iterator.h in Headers */,
+ A97964812328063700299006 /* private_to_local_pass.h in Headers */,
+ A979636B2328063700299006 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h in Headers */,
+ A97963FF2328063700299006 /* disassemble.h in Headers */,
+ A97963792328063700299006 /* simple_conditional_branch_to_branch_opportunity_finder.h in Headers */,
+ A979651F2328063700299006 /* eliminate_dead_functions_pass.h in Headers */,
+ A97965992328063800299006 /* feature_manager.h in Headers */,
+ A97963712328063700299006 /* remove_opname_instruction_reduction_opportunity_finder.h in Headers */,
+ A97964CF2328063700299006 /* instrument_pass.h in Headers */,
+ A97965A52328063800299006 /* type_manager.h in Headers */,
+ A979645B2328063700299006 /* loop_unroller.h in Headers */,
+ A97964B52328063700299006 /* local_single_block_elim_pass.h in Headers */,
+ A97966352328063800299006 /* latest_version_spirv_header.h in Headers */,
+ A97964E72328063700299006 /* value_number_table.h in Headers */,
+ A97966812328063800299006 /* validate_scopes.h in Headers */,
+ A97965912328063700299006 /* decompose_initialized_variables_pass.h in Headers */,
+ A97965932328063700299006 /* function.h in Headers */,
+ A979653F2328063700299006 /* simplification_pass.h in Headers */,
+ A979642B2328063700299006 /* strip_debug_info_pass.h in Headers */,
+ A97963432328063700299006 /* bitutils.h in Headers */,
+ A979634D2328063700299006 /* spirv_target_env.h in Headers */,
+ A97963CF2328063700299006 /* spirv_reducer_options.h in Headers */,
+ A97963352328063700299006 /* make_unique.h in Headers */,
+ A97965072328063700299006 /* log.h in Headers */,
+ A979637F2328063700299006 /* structured_loop_to_selection_reduction_opportunity.h in Headers */,
+ A97964F92328063700299006 /* upgrade_memory_model.h in Headers */,
+ A97964A32328063700299006 /* loop_fusion_pass.h in Headers */,
+ A97963692328063700299006 /* remove_instruction_reduction_opportunity.h in Headers */,
+ A97963DD2328063700299006 /* spirv_constant.h in Headers */,
+ A979657F2328063700299006 /* combine_access_chains.h in Headers */,
+ A97965212328063700299006 /* eliminate_dead_functions_util.h in Headers */,
+ A97964E92328063700299006 /* flatten_decoration_pass.h in Headers */,
+ A979652F2328063700299006 /* fix_storage_class.h in Headers */,
+ A97963232328063700299006 /* assembly_grammar.h in Headers */,
+ A97965352328063700299006 /* passes.h in Headers */,
+ A97964932328063700299006 /* local_redundancy_elimination.h in Headers */,
+ A979669B2328063800299006 /* instruction.h in Headers */,
+ A97965152328063700299006 /* dead_variable_elimination.h in Headers */,
+ A979646D2328063700299006 /* basic_block.h in Headers */,
+ A97964212328063700299006 /* local_single_store_elim_pass.h in Headers */,
+ A97963552328063700299006 /* remove_block_reduction_opportunity.h in Headers */,
+ A97966532328063800299006 /* construct.h in Headers */,
+ A979663D2328063800299006 /* opcode.h in Headers */,
+ A97966A52328063800299006 /* function.h in Headers */,
+ A97964292328063700299006 /* scalar_analysis.h in Headers */,
+ A97965792328063700299006 /* aggressive_dead_code_elim_pass.h in Headers */,
+ A97964692328063700299006 /* fold_spec_constant_op_and_composite_pass.h in Headers */,
+ A97963C12328063700299006 /* reduction_pass.h in Headers */,
+ A97963912328063700299006 /* merge_blocks_reduction_opportunity_finder.h in Headers */,
+ A979641F2328063700299006 /* legalize_vector_shuffle_pass.h in Headers */,
+ A97963C32328063700299006 /* latest_version_opencl_std_header.h in Headers */,
+ A97963E52328063700299006 /* text_handler.h in Headers */,
+ A97965412328063700299006 /* remove_duplicates_pass.h in Headers */,
+ A979639F2328063700299006 /* remove_unreferenced_instruction_reduction_opportunity_finder.h in Headers */,
+ A97966AD2328063800299006 /* decoration.h in Headers */,
+ A97964432328063700299006 /* instruction_list.h in Headers */,
+ A97964D72328063700299006 /* eliminate_dead_members_pass.h in Headers */,
+ A97964192328063700299006 /* tree_iterator.h in Headers */,
+ A979666B2328063800299006 /* validation_state.h in Headers */,
+ A97965452328063700299006 /* reflect.h in Headers */,
+ A97964652328063700299006 /* ir_loader.h in Headers */,
+ A979639D2328063700299006 /* pch_source_reduce.h in Headers */,
+ A979659F2328063800299006 /* set_spec_constant_default_value_pass.h in Headers */,
+ A979654F2328063700299006 /* scalar_replacement_pass.h in Headers */,
+ A97963652328063700299006 /* simple_conditional_branch_to_branch_reduction_opportunity.h in Headers */,
+ A97963812328063700299006 /* remove_function_reduction_opportunity.h in Headers */,
+ A979633D2328063700299006 /* timer.h in Headers */,
+ A979634B2328063700299006 /* ilist.h in Headers */,
+ A97964B92328063700299006 /* inst_buff_addr_check_pass.h in Headers */,
+ A97964092328063700299006 /* merge_return_pass.h in Headers */,
+ A97963B72328063700299006 /* reduction_util.h in Headers */,
+ A97963392328063700299006 /* small_vector.h in Headers */,
+ A97966472328063800299006 /* binary.h in Headers */,
+ A97964AF2328063700299006 /* decoration_manager.h in Headers */,
+ A97964CB2328063700299006 /* freeze_spec_constant_value_pass.h in Headers */,
+ A97965032328063700299006 /* workaround1209.h in Headers */,
+ A97963452328063700299006 /* hex_float.h in Headers */,
+ A979665D2328063800299006 /* basic_block.h in Headers */,
+ A979656F2328063700299006 /* cfg.h in Headers */,
+ A97963B92328063700299006 /* merge_blocks_reduction_opportunity.h in Headers */,
+ A979632B2328063700299006 /* text.h in Headers */,
+ A979640B2328063700299006 /* inline_opaque_pass.h in Headers */,
+ A97965632328063700299006 /* loop_utils.h in Headers */,
+ A97964BB2328063700299006 /* strength_reduction_pass.h in Headers */,
+ A97963C92328063700299006 /* pch_source.h in Headers */,
+ A979654D2328063700299006 /* const_folding_rules.h in Headers */,
+ A97963CB2328063700299006 /* enum_string_mapping.h in Headers */,
+ A97963372328063700299006 /* string_utils.h in Headers */,
+ A97963572328063700299006 /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */,
+ A97963F12328063700299006 /* spirv_endian.h in Headers */,
+ A979640D2328063700299006 /* loop_fusion.h in Headers */,
+ A97963312328063700299006 /* parse_number.h in Headers */,
+ A979658B2328063700299006 /* build_module.h in Headers */,
+ A97963212328063700299006 /* spirv_fuzzer_options.h in Headers */,
+ A979638D2328063700299006 /* remove_relaxed_precision_decoration_opportunity_finder.h in Headers */,
+ A97963332328063700299006 /* ilist_node.h in Headers */,
+ A97963252328063700299006 /* enum_set.h in Headers */,
+ A97964172328063700299006 /* register_pressure.h in Headers */,
+ A97965652328063700299006 /* module.h in Headers */,
+ A979650B2328063700299006 /* copy_prop_arrays.h in Headers */,
+ A97963E12328063700299006 /* spirv_validator_options.h in Headers */,
+ A97965532328063700299006 /* pch_source_opt.h in Headers */,
+ A97963D52328063700299006 /* spirv_definition.h in Headers */,
+ A97964892328063700299006 /* def_use_manager.h in Headers */,
+ A979652B2328063700299006 /* scalar_analysis_nodes.h in Headers */,
+ A97963832328063700299006 /* change_operand_to_undef_reduction_opportunity.h in Headers */,
+ A97964152328063700299006 /* compact_ids_pass.h in Headers */,
+ A97965492328063700299006 /* null_pass.h in Headers */,
+ A97963B12328063700299006 /* change_operand_reduction_opportunity.h in Headers */,
+ A97963A92328063700299006 /* reduction_opportunity.h in Headers */,
+ A97964392328063700299006 /* local_access_chain_convert_pass.h in Headers */,
+ A97963FB2328063700299006 /* print.h in Headers */,
+ A979635D2328063700299006 /* operand_to_const_reduction_opportunity_finder.h in Headers */,
+ A97964032328063700299006 /* if_conversion.h in Headers */,
+ A979651D2328063700299006 /* folding_rules.h in Headers */,
+ A97965812328063700299006 /* pass_manager.h in Headers */,
+ A979653B2328063700299006 /* strip_reflect_info_pass.h in Headers */,
+ A97965712328063700299006 /* code_sink.h in Headers */,
+ A97964AB2328063700299006 /* wrap_opkill.h in Headers */,
+ A979641D2328063700299006 /* strip_atomic_counter_memory_pass.h in Headers */,
+ A979656B2328063700299006 /* ir_builder.h in Headers */,
+ A97963892328063700299006 /* remove_selection_reduction_opportunity.h in Headers */,
+ A97963E72328063700299006 /* parsed_operand.h in Headers */,
+ A97963412328063700299006 /* bit_vector.h in Headers */,
+ A97963AB2328063700299006 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h in Headers */,
+ A97966852328063800299006 /* validate_memory_semantics.h in Headers */,
+ A97964372328063700299006 /* replace_invalid_opc.h in Headers */,
+ A97965192328063700299006 /* dominator_analysis.h in Headers */,
+ A97964EF2328063700299006 /* constants.h in Headers */,
+ A97964852328063700299006 /* relax_float_ops_pass.h in Headers */,
+ A97964232328063700299006 /* reduce_load_size.h in Headers */,
+ A979648D2328063700299006 /* cfg_cleanup_pass.h in Headers */,
+ A97965752328063700299006 /* generate_webgpu_initializers_pass.h in Headers */,
+ A979644D2328063700299006 /* amd_ext_to_khr.h in Headers */,
+ A97965892328063700299006 /* licm_pass.h in Headers */,
+ A97964512328063700299006 /* ir_context.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -2464,186 +2536,194 @@
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
- A9C2F37A22E7833D001763CE /* vector_dce.h in Headers */,
- A9C2F42C22E7833D001763CE /* latest_version_glsl_std_450_header.h in Headers */,
- A9C2F27822E7833D001763CE /* types.h in Headers */,
- A9C2F24022E7833D001763CE /* strip_debug_info_pass.h in Headers */,
- A9C2F31E22E7833D001763CE /* folding_rules.h in Headers */,
- A9C2F16C22E7833D001763CE /* operand_to_undef_reduction_opportunity_finder.h in Headers */,
- A9C2F49022E7833D001763CE /* function.h in Headers */,
- A9C2F38622E7833D001763CE /* licm_pass.h in Headers */,
- A9C2F32C22E7833D001763CE /* scalar_analysis_nodes.h in Headers */,
- A9C2F1A022E7833D001763CE /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */,
- A9C2F23E22E7833D001763CE /* scalar_analysis.h in Headers */,
- A9C2F2E822E7833D001763CE /* loop_dependence.h in Headers */,
- A9C2F27622E7833D001763CE /* ir_loader.h in Headers */,
- A9C2F1C622E7833D001763CE /* reduction_opportunity_finder.h in Headers */,
- A9C2F42822E7833D001763CE /* opcode.h in Headers */,
- A9C2F2D622E7833D001763CE /* mem_pass.h in Headers */,
- A9C2F44822E7833D001763CE /* basic_block.h in Headers */,
- A9C2F21622E7833D001763CE /* disassemble.h in Headers */,
- A9C2F47022E7833D001763CE /* validate_memory_semantics.h in Headers */,
- A9C2F18422E7833D001763CE /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h in Headers */,
- A9C2F34C22E7833D001763CE /* scalar_replacement_pass.h in Headers */,
- A9C2F19222E7833D001763CE /* simple_conditional_branch_to_branch_opportunity_finder.h in Headers */,
- A9C2F2AE22E7833D001763CE /* loop_fusion_pass.h in Headers */,
- A9C2F49822E7833D001763CE /* decoration.h in Headers */,
- A9C2F36222E7833D001763CE /* module.h in Headers */,
- A9C2F27E22E7833D001763CE /* basic_block.h in Headers */,
- A9C2F43222E7833D001763CE /* binary.h in Headers */,
- A9C2F37622E7833D001763CE /* aggressive_dead_code_elim_pass.h in Headers */,
- A9C2F37E22E7833D001763CE /* pass_manager.h in Headers */,
- A9C2F22022E7833D001763CE /* merge_return_pass.h in Headers */,
- A9C2F1E622E7833D001763CE /* spirv_reducer_options.h in Headers */,
- A9C2F22A22E7833D001763CE /* composite.h in Headers */,
- A9C2F31A22E7833D001763CE /* dominator_analysis.h in Headers */,
- A9C2F38A22E7833D001763CE /* ccp_pass.h in Headers */,
- A9C2F2EC22E7833D001763CE /* flatten_decoration_pass.h in Headers */,
- A9C2F20822E7833D001763CE /* spirv_endian.h in Headers */,
- A9C2F18A22E7833D001763CE /* remove_opname_instruction_reduction_opportunity_finder.h in Headers */,
- A9C2F1F422E7833D001763CE /* spirv_constant.h in Headers */,
- A9C2F21A22E7833D001763CE /* if_conversion.h in Headers */,
- A9C2F1B622E7833D001763CE /* remove_unreferenced_instruction_reduction_opportunity_finder.h in Headers */,
- A9C2F15E22E7833D001763CE /* bitutils.h in Headers */,
- A9C2F26C22E7833D001763CE /* loop_unroller.h in Headers */,
- A9C2F1CA22E7833D001763CE /* remove_block_reduction_opportunity_finder.h in Headers */,
- A9C2F16822E7833D001763CE /* spirv_target_env.h in Headers */,
- A9C2F36E22E7833D001763CE /* code_sink.h in Headers */,
- A9C2F23222E7833D001763CE /* strip_atomic_counter_memory_pass.h in Headers */,
- A9C2F2D422E7833D001763CE /* instrument_pass.h in Headers */,
- A9C2F38822E7833D001763CE /* build_module.h in Headers */,
- A9C2F42E22E7833D001763CE /* extensions.h in Headers */,
- A9C2F48622E7833D001763CE /* instruction.h in Headers */,
- A9C2F33022E7833D001763CE /* fix_storage_class.h in Headers */,
- A9C2F36822E7833D001763CE /* ir_builder.h in Headers */,
- A9C2F2B622E7833D001763CE /* decoration_manager.h in Headers */,
- A9C2F33A22E7833D001763CE /* strip_reflect_info_pass.h in Headers */,
- A9C2F38422E7833D001763CE /* iterator.h in Headers */,
- A9C2F38C22E7833D001763CE /* decompose_initialized_variables_pass.h in Headers */,
- A9C2F34822E7833D001763CE /* null_pass.h in Headers */,
- A9C2F30A22E7833D001763CE /* split_invalid_unreachable_pass.h in Headers */,
- A9C2F30C22E7833D001763CE /* copy_prop_arrays.h in Headers */,
- A9C2F22422E7833D001763CE /* loop_fusion.h in Headers */,
- A9C2F3A622E7833D001763CE /* table.h in Headers */,
- A9C2F15022E7833D001763CE /* make_unique.h in Headers */,
- A9C2F31C22E7833D001763CE /* pass.h in Headers */,
- A9C2F2BC22E7833D001763CE /* local_single_block_elim_pass.h in Headers */,
- A9C2F2A422E7833D001763CE /* loop_peeling.h in Headers */,
- A9C2F19822E7833D001763CE /* structured_loop_to_selection_reduction_opportunity.h in Headers */,
- A9C2F1DE22E7833D001763CE /* cfa.h in Headers */,
- A9C2F2C022E7833D001763CE /* strength_reduction_pass.h in Headers */,
- A9C2F28422E7833D001763CE /* block_merge_pass.h in Headers */,
- A9C2F33622E7833D001763CE /* passes.h in Headers */,
- A9C2F46222E7833D001763CE /* validate.h in Headers */,
- A9C2F22E22E7833D001763CE /* register_pressure.h in Headers */,
- A9C2F1C022E7833D001763CE /* reduction_opportunity.h in Headers */,
- A9C2F1A622E7833D001763CE /* remove_selection_reduction_opportunity_finder.h in Headers */,
- A9C2F2B022E7833D001763CE /* struct_cfg_analysis.h in Headers */,
- A9C2F1CE22E7833D001763CE /* reduction_util.h in Headers */,
- A9C2F23622E7833D001763CE /* local_single_store_elim_pass.h in Headers */,
- A9C2F18222E7833D001763CE /* remove_instruction_reduction_opportunity.h in Headers */,
- A9C2F13E22E7833D001763CE /* assembly_grammar.h in Headers */,
- A9C2F20622E7833D001763CE /* diagnostic.h in Headers */,
- A9C2F45622E7833D001763CE /* validation_state.h in Headers */,
- A9C2F1EC22E7833D001763CE /* spirv_definition.h in Headers */,
- A9C2F35022E7833D001763CE /* pch_source_opt.h in Headers */,
- A9C2F25822E7833D001763CE /* instruction_list.h in Headers */,
- A9C2F30222E7833D001763CE /* loop_fission.h in Headers */,
- A9C2F17022E7833D001763CE /* remove_block_reduction_opportunity.h in Headers */,
- A9C2F39622E7833D001763CE /* inst_bindless_check_pass.h in Headers */,
- A9C2F2F222E7833D001763CE /* constants.h in Headers */,
- A9C2F1F222E7833D001763CE /* macro.h in Headers */,
- A9C2F42622E7833D001763CE /* spirv_optimizer_options.h in Headers */,
- A9C2F43E22E7833D001763CE /* construct.h in Headers */,
- A9C2F25622E7833D001763CE /* propagator.h in Headers */,
- A9C2F39422E7833D001763CE /* feature_manager.h in Headers */,
- A9C2F2CC22E7833D001763CE /* dead_insert_elim_pass.h in Headers */,
- A9C2F42022E7833D001763CE /* latest_version_spirv_header.h in Headers */,
- A9C2F3A022E7833D001763CE /* type_manager.h in Headers */,
- A9C2F27A22E7833D001763CE /* fold_spec_constant_op_and_composite_pass.h in Headers */,
- A9C2F17E22E7833D001763CE /* simple_conditional_branch_to_branch_reduction_opportunity.h in Headers */,
- A9C2F30822E7833D001763CE /* log.h in Headers */,
- A9C2F39C22E7833D001763CE /* dominator_tree.h in Headers */,
- A9C2F2FA22E7833D001763CE /* upgrade_memory_model.h in Headers */,
- A9C2F20022E7833D001763CE /* name_mapper.h in Headers */,
- A9C2F19A22E7833D001763CE /* remove_function_reduction_opportunity.h in Headers */,
- A9C2F23022E7833D001763CE /* tree_iterator.h in Headers */,
- A9C2F34A22E7833D001763CE /* const_folding_rules.h in Headers */,
- A9C2F34022E7833D001763CE /* remove_duplicates_pass.h in Headers */,
- A9C2F41C22E7833D001763CE /* ext_inst.h in Headers */,
- A9C2F2E622E7833D001763CE /* inline_pass.h in Headers */,
- A9C2F37C22E7833D001763CE /* combine_access_chains.h in Headers */,
- A9C2F32022E7833D001763CE /* eliminate_dead_functions_pass.h in Headers */,
- A9C2F31222E7833D001763CE /* ssa_rewrite_pass.h in Headers */,
- A9C2F15822E7833D001763CE /* timer.h in Headers */,
- A9C2F42422E7833D001763CE /* instruction.h in Headers */,
- A9C2F35A22E7833D001763CE /* local_ssa_elim_pass.h in Headers */,
- A9C2F34422E7833D001763CE /* reflect.h in Headers */,
- A9C2F1A822E7833D001763CE /* merge_blocks_reduction_opportunity_finder.h in Headers */,
- A9C2F1F822E7833D001763CE /* spirv_validator_options.h in Headers */,
- A9C2F32422E7833D001763CE /* fold.h in Headers */,
- A9C2F16622E7833D001763CE /* ilist.h in Headers */,
- A9C2F15422E7833D001763CE /* small_vector.h in Headers */,
- A9C2F16022E7833D001763CE /* hex_float.h in Headers */,
- A9C2F2BA22E7833D001763CE /* process_lines_pass.h in Headers */,
- A9C2F14622E7833D001763CE /* text.h in Headers */,
- A9C2F1C822E7833D001763CE /* change_operand_reduction_opportunity.h in Headers */,
- A9C2F38E22E7833D001763CE /* function.h in Headers */,
- A9C2F15222E7833D001763CE /* string_utils.h in Headers */,
- A9C2F1DA22E7833D001763CE /* latest_version_opencl_std_header.h in Headers */,
- A9C2F30E22E7833D001763CE /* eliminate_dead_constant_pass.h in Headers */,
- A9C2F1BC22E7833D001763CE /* reducer.h in Headers */,
- A9C2F36022E7833D001763CE /* loop_utils.h in Headers */,
- A9C2F23422E7833D001763CE /* legalize_vector_shuffle_pass.h in Headers */,
- A9C2F2A022E7833D001763CE /* local_redundancy_elimination.h in Headers */,
- A9C2F22C22E7833D001763CE /* compact_ids_pass.h in Headers */,
- A9C2F1B222E7833D001763CE /* remove_function_reduction_opportunity_finder.h in Headers */,
- A9C2F30422E7833D001763CE /* workaround1209.h in Headers */,
- A9C2F1B422E7833D001763CE /* pch_source_reduce.h in Headers */,
- A9C2F1FC22E7833D001763CE /* text_handler.h in Headers */,
- A9C2F1E222E7833D001763CE /* enum_string_mapping.h in Headers */,
- A9C2F17222E7833D001763CE /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */,
- A9C2F27422E7833D001763CE /* unify_const_pass.h in Headers */,
- A9C2F14C22E7833D001763CE /* parse_number.h in Headers */,
- A9C2F2EA22E7833D001763CE /* value_number_table.h in Headers */,
- A9C2F1C222E7833D001763CE /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h in Headers */,
- A9C2F24C22E7833D001763CE /* replace_invalid_opc.h in Headers */,
- A9C2F2A822E7833D001763CE /* block_merge_util.h in Headers */,
- A9C2F35422E7833D001763CE /* redundancy_elimination.h in Headers */,
- A9C2F37222E7833D001763CE /* generate_webgpu_initializers_pass.h in Headers */,
- A9C2F2D022E7833D001763CE /* freeze_spec_constant_value_pass.h in Headers */,
- A9C2F23822E7833D001763CE /* reduce_load_size.h in Headers */,
- A9C2F37422E7833D001763CE /* instruction.h in Headers */,
- A9C2F13C22E7833D001763CE /* spirv_fuzzer_options.h in Headers */,
- A9C2F46C22E7833D001763CE /* validate_scopes.h in Headers */,
- A9C2F14E22E7833D001763CE /* ilist_node.h in Headers */,
- A9C2F14022E7833D001763CE /* enum_set.h in Headers */,
- A9C2F1FE22E7833D001763CE /* parsed_operand.h in Headers */,
- A9C2F26422E7833D001763CE /* ir_context.h in Headers */,
- A9C2F36C22E7833D001763CE /* cfg.h in Headers */,
- A9C2F2F022E7833D001763CE /* inline_exhaustive_pass.h in Headers */,
- A9C2F1D022E7833D001763CE /* merge_blocks_reduction_opportunity.h in Headers */,
- A9C2F33E22E7833D001763CE /* simplification_pass.h in Headers */,
- A9C2F29622E7833D001763CE /* def_use_manager.h in Headers */,
- A9C2F29A22E7833D001763CE /* cfg_cleanup_pass.h in Headers */,
- A9C2F21222E7833D001763CE /* print.h in Headers */,
- A9C2F22222E7833D001763CE /* inline_opaque_pass.h in Headers */,
- A9C2F19C22E7833D001763CE /* change_operand_to_undef_reduction_opportunity.h in Headers */,
- A9C2F39A22E7833D001763CE /* set_spec_constant_default_value_pass.h in Headers */,
- A9C2F24E22E7833D001763CE /* local_access_chain_convert_pass.h in Headers */,
- A9C2F1EE22E7833D001763CE /* operand.h in Headers */,
- A9C2F31622E7833D001763CE /* dead_variable_elimination.h in Headers */,
- A9C2F32222E7833D001763CE /* eliminate_dead_functions_util.h in Headers */,
- A9C2F17822E7833D001763CE /* operand_to_const_reduction_opportunity_finder.h in Headers */,
- A9C2F37022E7833D001763CE /* loop_descriptor.h in Headers */,
- A9C2F1D822E7833D001763CE /* reduction_pass.h in Headers */,
- A9C2F1A222E7833D001763CE /* remove_selection_reduction_opportunity.h in Headers */,
- A9C2F29222E7833D001763CE /* private_to_local_pass.h in Headers */,
- A9C2F15C22E7833D001763CE /* bit_vector.h in Headers */,
- A9C2F36A22E7833D001763CE /* loop_unswitch_pass.h in Headers */,
- A9C2F2DC22E7833D001763CE /* eliminate_dead_members_pass.h in Headers */,
- A9C2F1E022E7833D001763CE /* pch_source.h in Headers */,
- A9C2F32822E7833D001763CE /* dead_branch_elim_pass.h in Headers */,
+ A979663C2328063800299006 /* spirv_optimizer_options.h in Headers */,
+ A97964EE2328063700299006 /* inline_exhaustive_pass.h in Headers */,
+ A97964682328063700299006 /* types.h in Headers */,
+ A97964982328063700299006 /* loop_peeling.h in Headers */,
+ A97963522328063700299006 /* operand_to_undef_reduction_opportunity_finder.h in Headers */,
+ A979656E2328063700299006 /* loop_unswitch_pass.h in Headers */,
+ A97965742328063700299006 /* loop_descriptor.h in Headers */,
+ A97964E62328063700299006 /* loop_dependence.h in Headers */,
+ A97964C82328063700299006 /* dead_insert_elim_pass.h in Headers */,
+ A97965582328063700299006 /* redundancy_elimination.h in Headers */,
+ A97964742328063700299006 /* block_merge_pass.h in Headers */,
+ A979658E2328063700299006 /* ccp_pass.h in Headers */,
+ A97965122328063700299006 /* ssa_rewrite_pass.h in Headers */,
+ A97965282328063700299006 /* dead_branch_elim_pass.h in Headers */,
+ A97963D82328063700299006 /* operand.h in Headers */,
+ A97963B42328063700299006 /* remove_block_reduction_opportunity_finder.h in Headers */,
+ A97964A02328063700299006 /* desc_sroa.h in Headers */,
+ A97964E42328063700299006 /* inline_pass.h in Headers */,
+ A97964B42328063700299006 /* process_lines_pass.h in Headers */,
+ A97965242328063700299006 /* fold.h in Headers */,
+ A97966782328063800299006 /* validate.h in Headers */,
+ A979650E2328063700299006 /* eliminate_dead_constant_pass.h in Headers */,
+ A97966442328063800299006 /* extensions.h in Headers */,
+ A97963DC2328063700299006 /* macro.h in Headers */,
+ A97963B02328063700299006 /* reduction_opportunity_finder.h in Headers */,
+ A97963C82328063700299006 /* cfa.h in Headers */,
+ A97964842328063700299006 /* convert_to_half_pass.h in Headers */,
+ A97964142328063700299006 /* composite.h in Headers */,
+ A979651C2328063700299006 /* pass.h in Headers */,
+ A97963A62328063700299006 /* reducer.h in Headers */,
+ A97966322328063800299006 /* ext_inst.h in Headers */,
+ A97965AC2328063800299006 /* table.h in Headers */,
+ A97965022328063700299006 /* loop_fission.h in Headers */,
+ A97964D22328063700299006 /* mem_pass.h in Headers */,
+ A979650A2328063700299006 /* split_invalid_unreachable_pass.h in Headers */,
+ A97963882328063700299006 /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */,
+ A979657E2328063700299006 /* vector_dce.h in Headers */,
+ A979655E2328063700299006 /* local_ssa_elim_pass.h in Headers */,
+ A979641C2328063700299006 /* graphics_robust_access_pass.h in Headers */,
+ A97963902328063700299006 /* remove_selection_reduction_opportunity_finder.h in Headers */,
+ A979649C2328063700299006 /* block_merge_util.h in Headers */,
+ A97963F02328063700299006 /* diagnostic.h in Headers */,
+ A97965A22328063800299006 /* dominator_tree.h in Headers */,
+ A97965782328063700299006 /* instruction.h in Headers */,
+ A979639C2328063700299006 /* remove_function_reduction_opportunity_finder.h in Headers */,
+ A979659C2328063800299006 /* inst_bindless_check_pass.h in Headers */,
+ A97964422328063700299006 /* propagator.h in Headers */,
+ A97966422328063800299006 /* latest_version_glsl_std_450_header.h in Headers */,
+ A97963EA2328063700299006 /* name_mapper.h in Headers */,
+ A979663A2328063800299006 /* instruction.h in Headers */,
+ A97964642328063700299006 /* unify_const_pass.h in Headers */,
+ A97964A62328063700299006 /* struct_cfg_analysis.h in Headers */,
+ A97965882328063700299006 /* iterator.h in Headers */,
+ A97964822328063700299006 /* private_to_local_pass.h in Headers */,
+ A979636C2328063700299006 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h in Headers */,
+ A97964002328063700299006 /* disassemble.h in Headers */,
+ A979637A2328063700299006 /* simple_conditional_branch_to_branch_opportunity_finder.h in Headers */,
+ A97965202328063700299006 /* eliminate_dead_functions_pass.h in Headers */,
+ A979659A2328063800299006 /* feature_manager.h in Headers */,
+ A97963722328063700299006 /* remove_opname_instruction_reduction_opportunity_finder.h in Headers */,
+ A97964D02328063700299006 /* instrument_pass.h in Headers */,
+ A97965A62328063800299006 /* type_manager.h in Headers */,
+ A979645C2328063700299006 /* loop_unroller.h in Headers */,
+ A97964B62328063700299006 /* local_single_block_elim_pass.h in Headers */,
+ A97966362328063800299006 /* latest_version_spirv_header.h in Headers */,
+ A97964E82328063700299006 /* value_number_table.h in Headers */,
+ A97966822328063800299006 /* validate_scopes.h in Headers */,
+ A97965922328063700299006 /* decompose_initialized_variables_pass.h in Headers */,
+ A97965942328063800299006 /* function.h in Headers */,
+ A97965402328063700299006 /* simplification_pass.h in Headers */,
+ A979642C2328063700299006 /* strip_debug_info_pass.h in Headers */,
+ A97963442328063700299006 /* bitutils.h in Headers */,
+ A979634E2328063700299006 /* spirv_target_env.h in Headers */,
+ A97963D02328063700299006 /* spirv_reducer_options.h in Headers */,
+ A97963362328063700299006 /* make_unique.h in Headers */,
+ A97965082328063700299006 /* log.h in Headers */,
+ A97963802328063700299006 /* structured_loop_to_selection_reduction_opportunity.h in Headers */,
+ A97964FA2328063700299006 /* upgrade_memory_model.h in Headers */,
+ A97964A42328063700299006 /* loop_fusion_pass.h in Headers */,
+ A979636A2328063700299006 /* remove_instruction_reduction_opportunity.h in Headers */,
+ A97963DE2328063700299006 /* spirv_constant.h in Headers */,
+ A97965802328063700299006 /* combine_access_chains.h in Headers */,
+ A97965222328063700299006 /* eliminate_dead_functions_util.h in Headers */,
+ A97964EA2328063700299006 /* flatten_decoration_pass.h in Headers */,
+ A97965302328063700299006 /* fix_storage_class.h in Headers */,
+ A97963242328063700299006 /* assembly_grammar.h in Headers */,
+ A97965362328063700299006 /* passes.h in Headers */,
+ A97964942328063700299006 /* local_redundancy_elimination.h in Headers */,
+ A979669C2328063800299006 /* instruction.h in Headers */,
+ A97965162328063700299006 /* dead_variable_elimination.h in Headers */,
+ A979646E2328063700299006 /* basic_block.h in Headers */,
+ A97964222328063700299006 /* local_single_store_elim_pass.h in Headers */,
+ A97963562328063700299006 /* remove_block_reduction_opportunity.h in Headers */,
+ A97966542328063800299006 /* construct.h in Headers */,
+ A979663E2328063800299006 /* opcode.h in Headers */,
+ A97966A62328063800299006 /* function.h in Headers */,
+ A979642A2328063700299006 /* scalar_analysis.h in Headers */,
+ A979657A2328063700299006 /* aggressive_dead_code_elim_pass.h in Headers */,
+ A979646A2328063700299006 /* fold_spec_constant_op_and_composite_pass.h in Headers */,
+ A97963C22328063700299006 /* reduction_pass.h in Headers */,
+ A97963922328063700299006 /* merge_blocks_reduction_opportunity_finder.h in Headers */,
+ A97964202328063700299006 /* legalize_vector_shuffle_pass.h in Headers */,
+ A97963C42328063700299006 /* latest_version_opencl_std_header.h in Headers */,
+ A97963E62328063700299006 /* text_handler.h in Headers */,
+ A97965422328063700299006 /* remove_duplicates_pass.h in Headers */,
+ A97963A02328063700299006 /* remove_unreferenced_instruction_reduction_opportunity_finder.h in Headers */,
+ A97966AE2328063800299006 /* decoration.h in Headers */,
+ A97964442328063700299006 /* instruction_list.h in Headers */,
+ A97964D82328063700299006 /* eliminate_dead_members_pass.h in Headers */,
+ A979641A2328063700299006 /* tree_iterator.h in Headers */,
+ A979666C2328063800299006 /* validation_state.h in Headers */,
+ A97965462328063700299006 /* reflect.h in Headers */,
+ A97964662328063700299006 /* ir_loader.h in Headers */,
+ A979639E2328063700299006 /* pch_source_reduce.h in Headers */,
+ A97965A02328063800299006 /* set_spec_constant_default_value_pass.h in Headers */,
+ A97965502328063700299006 /* scalar_replacement_pass.h in Headers */,
+ A97963662328063700299006 /* simple_conditional_branch_to_branch_reduction_opportunity.h in Headers */,
+ A97963822328063700299006 /* remove_function_reduction_opportunity.h in Headers */,
+ A979633E2328063700299006 /* timer.h in Headers */,
+ A979634C2328063700299006 /* ilist.h in Headers */,
+ A97964BA2328063700299006 /* inst_buff_addr_check_pass.h in Headers */,
+ A979640A2328063700299006 /* merge_return_pass.h in Headers */,
+ A97963B82328063700299006 /* reduction_util.h in Headers */,
+ A979633A2328063700299006 /* small_vector.h in Headers */,
+ A97966482328063800299006 /* binary.h in Headers */,
+ A97964B02328063700299006 /* decoration_manager.h in Headers */,
+ A97964CC2328063700299006 /* freeze_spec_constant_value_pass.h in Headers */,
+ A97965042328063700299006 /* workaround1209.h in Headers */,
+ A97963462328063700299006 /* hex_float.h in Headers */,
+ A979665E2328063800299006 /* basic_block.h in Headers */,
+ A97965702328063700299006 /* cfg.h in Headers */,
+ A97963BA2328063700299006 /* merge_blocks_reduction_opportunity.h in Headers */,
+ A979632C2328063700299006 /* text.h in Headers */,
+ A979640C2328063700299006 /* inline_opaque_pass.h in Headers */,
+ A97965642328063700299006 /* loop_utils.h in Headers */,
+ A97964BC2328063700299006 /* strength_reduction_pass.h in Headers */,
+ A97963CA2328063700299006 /* pch_source.h in Headers */,
+ A979654E2328063700299006 /* const_folding_rules.h in Headers */,
+ A97963CC2328063700299006 /* enum_string_mapping.h in Headers */,
+ A97963382328063700299006 /* string_utils.h in Headers */,
+ A97963582328063700299006 /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */,
+ A97963F22328063700299006 /* spirv_endian.h in Headers */,
+ A979640E2328063700299006 /* loop_fusion.h in Headers */,
+ A97963322328063700299006 /* parse_number.h in Headers */,
+ A979658C2328063700299006 /* build_module.h in Headers */,
+ A97963222328063700299006 /* spirv_fuzzer_options.h in Headers */,
+ A979638E2328063700299006 /* remove_relaxed_precision_decoration_opportunity_finder.h in Headers */,
+ A97963342328063700299006 /* ilist_node.h in Headers */,
+ A97963262328063700299006 /* enum_set.h in Headers */,
+ A97964182328063700299006 /* register_pressure.h in Headers */,
+ A97965662328063700299006 /* module.h in Headers */,
+ A979650C2328063700299006 /* copy_prop_arrays.h in Headers */,
+ A97963E22328063700299006 /* spirv_validator_options.h in Headers */,
+ A97965542328063700299006 /* pch_source_opt.h in Headers */,
+ A97963D62328063700299006 /* spirv_definition.h in Headers */,
+ A979648A2328063700299006 /* def_use_manager.h in Headers */,
+ A979652C2328063700299006 /* scalar_analysis_nodes.h in Headers */,
+ A97963842328063700299006 /* change_operand_to_undef_reduction_opportunity.h in Headers */,
+ A97964162328063700299006 /* compact_ids_pass.h in Headers */,
+ A979654A2328063700299006 /* null_pass.h in Headers */,
+ A97963B22328063700299006 /* change_operand_reduction_opportunity.h in Headers */,
+ A97963AA2328063700299006 /* reduction_opportunity.h in Headers */,
+ A979643A2328063700299006 /* local_access_chain_convert_pass.h in Headers */,
+ A97963FC2328063700299006 /* print.h in Headers */,
+ A979635E2328063700299006 /* operand_to_const_reduction_opportunity_finder.h in Headers */,
+ A97964042328063700299006 /* if_conversion.h in Headers */,
+ A979651E2328063700299006 /* folding_rules.h in Headers */,
+ A97965822328063700299006 /* pass_manager.h in Headers */,
+ A979653C2328063700299006 /* strip_reflect_info_pass.h in Headers */,
+ A97965722328063700299006 /* code_sink.h in Headers */,
+ A97964AC2328063700299006 /* wrap_opkill.h in Headers */,
+ A979641E2328063700299006 /* strip_atomic_counter_memory_pass.h in Headers */,
+ A979656C2328063700299006 /* ir_builder.h in Headers */,
+ A979638A2328063700299006 /* remove_selection_reduction_opportunity.h in Headers */,
+ A97963E82328063700299006 /* parsed_operand.h in Headers */,
+ A97963422328063700299006 /* bit_vector.h in Headers */,
+ A97963AC2328063700299006 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h in Headers */,
+ A97966862328063800299006 /* validate_memory_semantics.h in Headers */,
+ A97964382328063700299006 /* replace_invalid_opc.h in Headers */,
+ A979651A2328063700299006 /* dominator_analysis.h in Headers */,
+ A97964F02328063700299006 /* constants.h in Headers */,
+ A97964862328063700299006 /* relax_float_ops_pass.h in Headers */,
+ A97964242328063700299006 /* reduce_load_size.h in Headers */,
+ A979648E2328063700299006 /* cfg_cleanup_pass.h in Headers */,
+ A97965762328063700299006 /* generate_webgpu_initializers_pass.h in Headers */,
+ A979644E2328063700299006 /* amd_ext_to_khr.h in Headers */,
+ A979658A2328063700299006 /* licm_pass.h in Headers */,
+ A97964522328063700299006 /* ir_context.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -2981,200 +3061,208 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- A9C2F30F22E7833D001763CE /* dead_insert_elim_pass.cpp in Sources */,
- A9C2F2BD22E7833D001763CE /* pch_source_opt.cpp in Sources */,
- A9C2F28522E7833D001763CE /* module.cpp in Sources */,
- A9C2F30522E7833D001763CE /* loop_fusion_pass.cpp in Sources */,
- A9C2F33122E7833D001763CE /* loop_dependence_helpers.cpp in Sources */,
- A9C2F44F22E7833D001763CE /* validate_builtins.cpp in Sources */,
- A9C2F1C322E7833D001763CE /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */,
- A9C2F18522E7833D001763CE /* simple_conditional_branch_to_branch_reduction_opportunity.cpp in Sources */,
- A9C2F44122E7833D001763CE /* validate_non_uniform.cpp in Sources */,
- A9C2F2B322E7833D001763CE /* strip_reflect_info_pass.cpp in Sources */,
- A9C2F2A922E7833D001763CE /* loop_unroller.cpp in Sources */,
- A9C2F47122E7833D001763CE /* validate_arithmetics.cpp in Sources */,
- A9C2F26722E7833D001763CE /* cfg_cleanup_pass.cpp in Sources */,
- A9C2F44B22E7833D001763CE /* validate_decorations.cpp in Sources */,
- A9C2F3A322E7833D001763CE /* loop_peeling.cpp in Sources */,
- A9C2F21B22E7833D001763CE /* register_pressure.cpp in Sources */,
- A9C2F1A322E7833D001763CE /* remove_instruction_reduction_opportunity.cpp in Sources */,
- A9C2F27122E7833D001763CE /* loop_dependence.cpp in Sources */,
- A9C2F36322E7833D001763CE /* dominator_analysis.cpp in Sources */,
- A9C2F26122E7833D001763CE /* merge_return_pass.cpp in Sources */,
- A9C2F28F22E7833D001763CE /* generate_webgpu_initializers_pass.cpp in Sources */,
- A9C2F47522E7833D001763CE /* validate_memory_semantics.cpp in Sources */,
- A9C2F1AD22E7833D001763CE /* reducer.cpp in Sources */,
- A9C2F46722E7833D001763CE /* validate_small_type_uses.cpp in Sources */,
- A9C2F2C722E7833D001763CE /* dead_branch_elim_pass.cpp in Sources */,
- A9C2F2C522E7833D001763CE /* simplification_pass.cpp in Sources */,
- A9C2F38F22E7833D001763CE /* loop_fusion.cpp in Sources */,
- A9C2F29322E7833D001763CE /* inline_pass.cpp in Sources */,
- A9C2F28722E7833D001763CE /* fold_spec_constant_op_and_composite_pass.cpp in Sources */,
- A9C2F2F522E7833D001763CE /* strength_reduction_pass.cpp in Sources */,
- A9C2F2A122E7833D001763CE /* split_invalid_unreachable_pass.cpp in Sources */,
- A9C2F35B22E7833D001763CE /* inline_opaque_pass.cpp in Sources */,
- A9C2F14122E7833D001763CE /* text.cpp in Sources */,
- A9C2F48322E7833D001763CE /* validate_type.cpp in Sources */,
- A9C2F42F22E7833D001763CE /* disassemble.cpp in Sources */,
- A9C2F2C922E7833D001763CE /* flatten_decoration_pass.cpp in Sources */,
- A9C2F21322E7833D001763CE /* ext_inst.cpp in Sources */,
- A9C2F14922E7833D001763CE /* pch_source.cpp in Sources */,
- A9C2F2ED22E7833D001763CE /* if_conversion.cpp in Sources */,
- A9C2F24122E7833D001763CE /* cfg.cpp in Sources */,
- A9C2F31722E7833D001763CE /* block_merge_pass.cpp in Sources */,
- A9C2F45D22E7833D001763CE /* construct.cpp in Sources */,
- A9C2F2DD22E7833D001763CE /* function.cpp in Sources */,
- A9C2F33722E7833D001763CE /* fold.cpp in Sources */,
- A9C2F26F22E7833D001763CE /* ssa_rewrite_pass.cpp in Sources */,
- A9C2F2D722E7833D001763CE /* loop_descriptor.cpp in Sources */,
- A9C2F18722E7833D001763CE /* remove_function_reduction_opportunity.cpp in Sources */,
- A9C2F18D22E7833D001763CE /* remove_selection_reduction_opportunity_finder.cpp in Sources */,
- A9C2F49322E7833D001763CE /* validation_state.cpp in Sources */,
- A9C2F2AB22E7833D001763CE /* constants.cpp in Sources */,
- A9C2F35722E7833D001763CE /* value_number_table.cpp in Sources */,
- A9C2F18F22E7833D001763CE /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp in Sources */,
- A9C2F39122E7833D001763CE /* upgrade_memory_model.cpp in Sources */,
- A9C2F1B722E7833D001763CE /* merge_blocks_reduction_opportunity_finder.cpp in Sources */,
- A9C2F16922E7833D001763CE /* table.cpp in Sources */,
- A9C2F20F22E7833D001763CE /* opcode.cpp in Sources */,
- A9C2F29722E7833D001763CE /* ir_loader.cpp in Sources */,
- A9C2F43922E7833D001763CE /* validate_cfg.cpp in Sources */,
- A9C2F3A122E7833D001763CE /* compact_ids_pass.cpp in Sources */,
- A9C2F2F722E7833D001763CE /* block_merge_util.cpp in Sources */,
- A9C2F24922E7833D001763CE /* freeze_spec_constant_value_pass.cpp in Sources */,
- A9C2F33322E7833D001763CE /* set_spec_constant_default_value_pass.cpp in Sources */,
- A9C2F21722E7833D001763CE /* optimizer.cpp in Sources */,
- A9C2F37F22E7833D001763CE /* local_access_chain_convert_pass.cpp in Sources */,
- A9C2F32D22E7833D001763CE /* propagator.cpp in Sources */,
- A9C2F48922E7833D001763CE /* validate_layout.cpp in Sources */,
- A9C2F47B22E7833D001763CE /* validate_memory.cpp in Sources */,
- A9C2F48B22E7833D001763CE /* basic_block.cpp in Sources */,
- A9C2F1E322E7833D001763CE /* spirv_fuzzer_options.cpp in Sources */,
- A9C2F47D22E7833D001763CE /* validate_image.cpp in Sources */,
- A9C2F45122E7833D001763CE /* validate_interfaces.cpp in Sources */,
- A9C2F48722E7833D001763CE /* validate_execution_limitations.cpp in Sources */,
- A9C2F23922E7833D001763CE /* code_sink.cpp in Sources */,
- A9C2F1AB22E7833D001763CE /* pch_source_reduce.cpp in Sources */,
- A9C2F24522E7833D001763CE /* decoration_manager.cpp in Sources */,
- A9C2F31322E7833D001763CE /* scalar_analysis.cpp in Sources */,
- A9C2F1BD22E7833D001763CE /* change_operand_to_undef_reduction_opportunity.cpp in Sources */,
- A9C2F33B22E7833D001763CE /* scalar_replacement_pass.cpp in Sources */,
- A9C2F17F22E7833D001763CE /* remove_function_reduction_opportunity_finder.cpp in Sources */,
- A9C2F13922E7833D001763CE /* spirv_target_env.cpp in Sources */,
- A9C2F16D22E7833D001763CE /* remove_selection_reduction_opportunity.cpp in Sources */,
- A9C2F1B922E7833D001763CE /* reduction_opportunity.cpp in Sources */,
- A9C2F26D22E7833D001763CE /* strip_debug_info_pass.cpp in Sources */,
- A9C2F2FB22E7833D001763CE /* copy_prop_arrays.cpp in Sources */,
- A9C2F47322E7833D001763CE /* validate_mode_setting.cpp in Sources */,
- A9C2F46D22E7833D001763CE /* validate_id.cpp in Sources */,
- A9C2F39722E7833D001763CE /* scalar_analysis_simplification.cpp in Sources */,
- A9C2F45322E7833D001763CE /* validate.cpp in Sources */,
- A9C2F43522E7833D001763CE /* validate_annotation.cpp in Sources */,
- A9C2F2A522E7833D001763CE /* vector_dce.cpp in Sources */,
- A9C2F20122E7833D001763CE /* spirv_reducer_options.cpp in Sources */,
- A9C2F20D22E7833D001763CE /* software_version.cpp in Sources */,
- A9C2F15922E7833D001763CE /* string_utils.cpp in Sources */,
- A9C2F25F22E7833D001763CE /* dominator_tree.cpp in Sources */,
- A9C2F43F22E7833D001763CE /* validate_barriers.cpp in Sources */,
- A9C2F37722E7833D001763CE /* struct_cfg_analysis.cpp in Sources */,
- A9C2F24722E7833D001763CE /* local_single_block_elim_pass.cpp in Sources */,
- A9C2F16122E7833D001763CE /* parse_number.cpp in Sources */,
- A9C2F1AF22E7833D001763CE /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */,
- A9C2F20922E7833D001763CE /* name_mapper.cpp in Sources */,
- A9C2F2DF22E7833D001763CE /* instruction_list.cpp in Sources */,
- A9C2F44D22E7833D001763CE /* validate_debug.cpp in Sources */,
- A9C2F35122E7833D001763CE /* reduce_load_size.cpp in Sources */,
- A9C2F17922E7833D001763CE /* reduction_util.cpp in Sources */,
- A9C2F41D22E7833D001763CE /* diagnostic.cpp in Sources */,
- A9C2F2C122E7833D001763CE /* aggressive_dead_code_elim_pass.cpp in Sources */,
- A9C2F1D522E7833D001763CE /* remove_block_reduction_opportunity.cpp in Sources */,
- A9C2F28122E7833D001763CE /* dead_variable_elimination.cpp in Sources */,
- A9C2F23B22E7833D001763CE /* types.cpp in Sources */,
- A9C2F27B22E7833D001763CE /* mem_pass.cpp in Sources */,
- A9C2F14322E7833D001763CE /* assembly_grammar.cpp in Sources */,
- A9C2F47922E7833D001763CE /* validate_derivatives.cpp in Sources */,
- A9C2F21D22E7833D001763CE /* loop_utils.cpp in Sources */,
- A9C2F44922E7833D001763CE /* validate_instruction.cpp in Sources */,
- A9C2F25D22E7833D001763CE /* loop_fission.cpp in Sources */,
- A9C2F44322E7833D001763CE /* validate_scopes.cpp in Sources */,
- A9C2F49122E7833D001763CE /* validate_composites.cpp in Sources */,
- A9C2F45F22E7833D001763CE /* function.cpp in Sources */,
- A9C2F1D122E7833D001763CE /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp in Sources */,
- A9C2F19522E7833D001763CE /* change_operand_reduction_opportunity.cpp in Sources */,
- A9C2F48122E7833D001763CE /* instruction.cpp in Sources */,
- A9C2F35D22E7833D001763CE /* replace_invalid_opc.cpp in Sources */,
- A9C2F22522E7833D001763CE /* combine_access_chains.cpp in Sources */,
- A9C2F18B22E7833D001763CE /* simple_conditional_branch_to_branch_opportunity_finder.cpp in Sources */,
- A9C2F20322E7833D001763CE /* parsed_operand.cpp in Sources */,
- A9C2F29D22E7833D001763CE /* eliminate_dead_functions_pass.cpp in Sources */,
- A9C2F2FD22E7833D001763CE /* pass_manager.cpp in Sources */,
- A9C2F26922E7833D001763CE /* const_folding_rules.cpp in Sources */,
- A9C2F42922E7833D001763CE /* operand.cpp in Sources */,
- A9C2F19D22E7833D001763CE /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp in Sources */,
- A9C2F36522E7833D001763CE /* decompose_initialized_variables_pass.cpp in Sources */,
- A9C2F34522E7833D001763CE /* workaround1209.cpp in Sources */,
- A9C2F16322E7833D001763CE /* bit_vector.cpp in Sources */,
- A9C2F20B22E7833D001763CE /* linker.cpp in Sources */,
- A9C2F14722E7833D001763CE /* extensions.cpp in Sources */,
- A9C2F46922E7833D001763CE /* validate_datarules.cpp in Sources */,
- A9C2F43722E7833D001763CE /* validate_misc.cpp in Sources */,
- A9C2F2FF22E7833D001763CE /* inline_exhaustive_pass.cpp in Sources */,
- A9C2F26522E7833D001763CE /* eliminate_dead_constant_pass.cpp in Sources */,
- A9C2F17B22E7833D001763CE /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */,
- A9C2F19322E7833D001763CE /* merge_blocks_reduction_opportunity.cpp in Sources */,
- A9C2F2E322E7833D001763CE /* process_lines_pass.cpp in Sources */,
- A9C2F24F22E7833D001763CE /* inst_bindless_check_pass.cpp in Sources */,
- A9C2F1E922E7833D001763CE /* print.cpp in Sources */,
- A9C2F1E722E7833D001763CE /* spirv_validator_options.cpp in Sources */,
- A9C2F44522E7833D001763CE /* validate_atomics.cpp in Sources */,
- A9C2F17322E7833D001763CE /* reduction_pass.cpp in Sources */,
- A9C2F46522E7833D001763CE /* validate_conversion.cpp in Sources */,
- A9C2F22722E7833D001763CE /* build_module.cpp in Sources */,
- A9C2F39D22E7833D001763CE /* legalize_vector_shuffle_pass.cpp in Sources */,
- A9C2F25122E7833D001763CE /* local_redundancy_elimination.cpp in Sources */,
- A9C2F15522E7833D001763CE /* timer.cpp in Sources */,
- A9C2F2F322E7833D001763CE /* eliminate_dead_members_pass.cpp in Sources */,
- A9C2F45922E7833D001763CE /* validate_bitwise.cpp in Sources */,
- A9C2F2D922E7833D001763CE /* local_ssa_elim_pass.cpp in Sources */,
- A9C2F2E122E7833D001763CE /* composite.cpp in Sources */,
- A9C2F42122E7833D001763CE /* libspirv.cpp in Sources */,
- A9C2F1DB22E7833D001763CE /* spirv_optimizer_options.cpp in Sources */,
- A9C2F25922E7833D001763CE /* feature_manager.cpp in Sources */,
- A9C2F1D322E7833D001763CE /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */,
- A9C2F28D22E7833D001763CE /* type_manager.cpp in Sources */,
- A9C2F2B722E7833D001763CE /* ccp_pass.cpp in Sources */,
- A9C2F46322E7833D001763CE /* validate_adjacency.cpp in Sources */,
- A9C2F1A922E7833D001763CE /* remove_opname_instruction_reduction_opportunity_finder.cpp in Sources */,
- A9C2F25322E7833D001763CE /* instrument_pass.cpp in Sources */,
- A9C2F43B22E7833D001763CE /* validate_capability.cpp in Sources */,
- A9C2F47F22E7833D001763CE /* validate_literals.cpp in Sources */,
- A9C2F34122E7833D001763CE /* redundancy_elimination.cpp in Sources */,
- A9C2F45722E7833D001763CE /* validate_constants.cpp in Sources */,
- A9C2F34D22E7833D001763CE /* instruction.cpp in Sources */,
- A9C2F28922E7833D001763CE /* loop_unswitch_pass.cpp in Sources */,
- A9C2F1F522E7833D001763CE /* binary.cpp in Sources */,
- A9C2F29B22E7833D001763CE /* licm_pass.cpp in Sources */,
- A9C2F17522E7833D001763CE /* operand_to_const_reduction_opportunity_finder.cpp in Sources */,
- A9C2F27F22E7833D001763CE /* remove_duplicates_pass.cpp in Sources */,
- A9C2F48D22E7833D001763CE /* validate_function.cpp in Sources */,
- A9C2F24322E7833D001763CE /* strip_atomic_counter_memory_pass.cpp in Sources */,
- A9C2F49522E7833D001763CE /* validate_primitives.cpp in Sources */,
- A9C2F43322E7833D001763CE /* text_handler.cpp in Sources */,
- A9C2F25B22E7833D001763CE /* pass.cpp in Sources */,
- A9C2F32522E7833D001763CE /* local_single_store_elim_pass.cpp in Sources */,
- A9C2F45B22E7833D001763CE /* validate_extensions.cpp in Sources */,
- A9C2F47722E7833D001763CE /* validate_logicals.cpp in Sources */,
- A9C2F35522E7833D001763CE /* fix_storage_class.cpp in Sources */,
- A9C2F32922E7833D001763CE /* private_to_local_pass.cpp in Sources */,
- A9C2F28B22E7833D001763CE /* unify_const_pass.cpp in Sources */,
- A9C2F38122E7833D001763CE /* basic_block.cpp in Sources */,
- A9C2F1CB22E7833D001763CE /* remove_block_reduction_opportunity_finder.cpp in Sources */,
- A9C2F2C322E7833D001763CE /* eliminate_dead_functions_util.cpp in Sources */,
- A9C2F1F922E7833D001763CE /* enum_string_mapping.cpp in Sources */,
- A9C2F1EF22E7833D001763CE /* spirv_endian.cpp in Sources */,
- A9C2F2D122E7833D001763CE /* ir_context.cpp in Sources */,
- A9C2F2B122E7833D001763CE /* def_use_manager.cpp in Sources */,
- A9C2F2CD22E7833D001763CE /* folding_rules.cpp in Sources */,
+ A97963EB2328063700299006 /* spirv_reducer_options.cpp in Sources */,
+ A97964492328063700299006 /* loop_fission.cpp in Sources */,
+ A97963DF2328063700299006 /* binary.cpp in Sources */,
+ A97963272328063700299006 /* text.cpp in Sources */,
+ A979657B2328063700299006 /* struct_cfg_analysis.cpp in Sources */,
+ A97965052328063700299006 /* loop_fusion_pass.cpp in Sources */,
+ A97964252328063700299006 /* code_sink.cpp in Sources */,
+ A979665B2328063800299006 /* validate_atomics.cpp in Sources */,
+ A97964F52328063700299006 /* desc_sroa.cpp in Sources */,
+ A97964FD2328063700299006 /* pass_manager.cpp in Sources */,
+ A97964D92328063700299006 /* function.cpp in Sources */,
+ A97963AD2328063700299006 /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */,
+ A97963612328063700299006 /* remove_relaxed_precision_decoration_opportunity_finder.cpp in Sources */,
+ A97963F92328063700299006 /* opcode.cpp in Sources */,
+ A97963672328063700299006 /* remove_function_reduction_opportunity_finder.cpp in Sources */,
+ A97964772328063700299006 /* fold_spec_constant_op_and_composite_pass.cpp in Sources */,
+ A97964712328063700299006 /* dead_variable_elimination.cpp in Sources */,
+ A97965832328063700299006 /* local_access_chain_convert_pass.cpp in Sources */,
+ A97966952328063800299006 /* validate_literals.cpp in Sources */,
+ A97964472328063700299006 /* pass.cpp in Sources */,
+ A97966A92328063800299006 /* validation_state.cpp in Sources */,
+ A979667D2328063800299006 /* validate_small_type_uses.cpp in Sources */,
+ A979669F2328063800299006 /* validate_layout.cpp in Sources */,
+ A97965592328063700299006 /* fix_storage_class.cpp in Sources */,
+ A97966972328063800299006 /* instruction.cpp in Sources */,
+ A97963992328063700299006 /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */,
+ A97966A72328063800299006 /* validate_composites.cpp in Sources */,
+ A979644F2328063700299006 /* merge_return_pass.cpp in Sources */,
+ A97963632328063700299006 /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */,
+ A97964352328063700299006 /* freeze_spec_constant_value_pass.cpp in Sources */,
+ A979638B2328063700299006 /* remove_instruction_reduction_opportunity.cpp in Sources */,
+ A97964B12328063700299006 /* ccp_pass.cpp in Sources */,
+ A979632F2328063700299006 /* pch_source.cpp in Sources */,
+ A979642D2328063700299006 /* cfg.cpp in Sources */,
+ A97966A12328063800299006 /* basic_block.cpp in Sources */,
+ A97963A12328063700299006 /* merge_blocks_reduction_opportunity_finder.cpp in Sources */,
+ A97966712328063800299006 /* validate_extensions.cpp in Sources */,
+ A979637B2328063700299006 /* merge_blocks_reduction_opportunity.cpp in Sources */,
+ A979664D2328063800299006 /* validate_misc.cpp in Sources */,
+ A97964C32328063700299006 /* dead_branch_elim_pass.cpp in Sources */,
+ A97965512328063700299006 /* instruction.cpp in Sources */,
+ A979634F2328063700299006 /* table.cpp in Sources */,
+ A979667F2328063800299006 /* validate_datarules.cpp in Sources */,
+ A97964572328063700299006 /* wrap_opkill.cpp in Sources */,
+ A97965692328063700299006 /* decompose_initialized_variables_pass.cpp in Sources */,
+ A97965952328063800299006 /* loop_fusion.cpp in Sources */,
+ A97964D32328063700299006 /* loop_descriptor.cpp in Sources */,
+ A97965A32328063800299006 /* legalize_vector_shuffle_pass.cpp in Sources */,
+ A97963932328063700299006 /* remove_opname_instruction_reduction_opportunity_finder.cpp in Sources */,
+ A979654B2328063700299006 /* relax_float_ops_pass.cpp in Sources */,
+ A97964E12328063700299006 /* process_lines_pass.cpp in Sources */,
+ A97964112328063700299006 /* build_module.cpp in Sources */,
+ A97965392328063700299006 /* amd_ext_to_khr.cpp in Sources */,
+ A979669D2328063800299006 /* validate_execution_limitations.cpp in Sources */,
+ A97965292328063700299006 /* private_to_local_pass.cpp in Sources */,
+ A97966692328063800299006 /* validate.cpp in Sources */,
+ A97966512328063800299006 /* validate_capability.cpp in Sources */,
+ A97964532328063700299006 /* eliminate_dead_constant_pass.cpp in Sources */,
+ A979647B2328063700299006 /* unify_const_pass.cpp in Sources */,
+ A97963972328063700299006 /* reducer.cpp in Sources */,
+ A97964012328063700299006 /* optimizer.cpp in Sources */,
+ A97963F72328063700299006 /* software_version.cpp in Sources */,
+ A97965612328063700299006 /* replace_invalid_opc.cpp in Sources */,
+ A979643F2328063700299006 /* instrument_pass.cpp in Sources */,
+ A97965852328063700299006 /* basic_block.cpp in Sources */,
+ A97964992328063700299006 /* vector_dce.cpp in Sources */,
+ A97963CD2328063700299006 /* spirv_fuzzer_options.cpp in Sources */,
+ A97964AD2328063700299006 /* strip_reflect_info_pass.cpp in Sources */,
+ A979658F2328063700299006 /* graphics_robust_access_pass.cpp in Sources */,
+ A97964952328063700299006 /* split_invalid_unreachable_pass.cpp in Sources */,
+ A979637D2328063700299006 /* change_operand_reduction_opportunity.cpp in Sources */,
+ A979643B2328063700299006 /* inst_bindless_check_pass.cpp in Sources */,
+ A979668D2328063800299006 /* validate_logicals.cpp in Sources */,
+ A979668B2328063800299006 /* validate_memory_semantics.cpp in Sources */,
+ A97965672328063700299006 /* dominator_analysis.cpp in Sources */,
+ A97963FD2328063700299006 /* ext_inst.cpp in Sources */,
+ A97966992328063800299006 /* validate_type.cpp in Sources */,
+ A97964912328063700299006 /* eliminate_dead_functions_pass.cpp in Sources */,
+ A979631F2328063700299006 /* spirv_target_env.cpp in Sources */,
+ A979645F2328063700299006 /* ssa_rewrite_pass.cpp in Sources */,
+ A97964552328063700299006 /* cfg_cleanup_pass.cpp in Sources */,
+ A97963532328063700299006 /* remove_selection_reduction_opportunity.cpp in Sources */,
+ A97964752328063700299006 /* module.cpp in Sources */,
+ A97966652328063800299006 /* validate_builtins.cpp in Sources */,
+ A979633F2328063700299006 /* string_utils.cpp in Sources */,
+ A97966552328063800299006 /* validate_barriers.cpp in Sources */,
+ A979646F2328063700299006 /* remove_duplicates_pass.cpp in Sources */,
+ A979649D2328063700299006 /* loop_unroller.cpp in Sources */,
+ A979655F2328063700299006 /* inline_opaque_pass.cpp in Sources */,
+ A97964DD2328063700299006 /* composite.cpp in Sources */,
+ A97964332328063700299006 /* local_single_block_elim_pass.cpp in Sources */,
+ A97966372328063800299006 /* libspirv.cpp in Sources */,
+ A97963472328063700299006 /* parse_number.cpp in Sources */,
+ A97966892328063800299006 /* validate_mode_setting.cpp in Sources */,
+ A97966752328063800299006 /* function.cpp in Sources */,
+ A97964FB2328063700299006 /* copy_prop_arrays.cpp in Sources */,
+ A97963BB2328063700299006 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp in Sources */,
+ A97966A32328063800299006 /* validate_function.cpp in Sources */,
+ A97964592328063700299006 /* const_folding_rules.cpp in Sources */,
+ A979652D2328063700299006 /* propagator.cpp in Sources */,
+ A97963C52328063700299006 /* spirv_optimizer_options.cpp in Sources */,
+ A97963B52328063700299006 /* remove_block_reduction_opportunity_finder.cpp in Sources */,
+ A979635F2328063700299006 /* reduction_util.cpp in Sources */,
+ A97966572328063800299006 /* validate_non_uniform.cpp in Sources */,
+ A979648B2328063700299006 /* ir_loader.cpp in Sources */,
+ A97965A72328063800299006 /* compact_ids_pass.cpp in Sources */,
+ A97964C92328063700299006 /* folding_rules.cpp in Sources */,
+ A97964BF2328063700299006 /* eliminate_dead_functions_util.cpp in Sources */,
+ A97964072328063700299006 /* loop_utils.cpp in Sources */,
+ A97964312328063700299006 /* decoration_manager.cpp in Sources */,
+ A979666D2328063800299006 /* validate_constants.cpp in Sources */,
+ A97965172328063700299006 /* block_merge_pass.cpp in Sources */,
+ A97965132328063700299006 /* scalar_analysis.cpp in Sources */,
+ A97966492328063800299006 /* text_handler.cpp in Sources */,
+ A979664F2328063800299006 /* validate_cfg.cpp in Sources */,
+ A97963D12328063700299006 /* spirv_validator_options.cpp in Sources */,
+ A97965472328063700299006 /* workaround1209.cpp in Sources */,
+ A97963732328063700299006 /* simple_conditional_branch_to_branch_opportunity_finder.cpp in Sources */,
+ A97963A72328063700299006 /* change_operand_to_undef_reduction_opportunity.cpp in Sources */,
+ A97965252328063700299006 /* local_single_store_elim_pass.cpp in Sources */,
+ A97966592328063800299006 /* validate_scopes.cpp in Sources */,
+ A97964DB2328063700299006 /* instruction_list.cpp in Sources */,
+ A97964A72328063700299006 /* inst_buff_addr_check_pass.cpp in Sources */,
+ A97964A12328063700299006 /* constants.cpp in Sources */,
+ A97966332328063800299006 /* diagnostic.cpp in Sources */,
+ A97964F32328063700299006 /* strength_reduction_pass.cpp in Sources */,
+ A97964CD2328063700299006 /* ir_context.cpp in Sources */,
+ A97963A32328063700299006 /* reduction_opportunity.cpp in Sources */,
+ A979642F2328063700299006 /* strip_atomic_counter_memory_pass.cpp in Sources */,
+ A97963952328063700299006 /* pch_source_reduce.cpp in Sources */,
+ A97964872328063700299006 /* inline_pass.cpp in Sources */,
+ A97963292328063700299006 /* assembly_grammar.cpp in Sources */,
+ A97966872328063800299006 /* validate_arithmetics.cpp in Sources */,
+ A97964B72328063700299006 /* pch_source_opt.cpp in Sources */,
+ A97963BD2328063700299006 /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */,
+ A97964DF2328063700299006 /* convert_to_half_pass.cpp in Sources */,
+ A979655B2328063700299006 /* value_number_table.cpp in Sources */,
+ A97965972328063800299006 /* upgrade_memory_model.cpp in Sources */,
+ A979650F2328063700299006 /* dead_insert_elim_pass.cpp in Sources */,
+ A97966732328063800299006 /* construct.cpp in Sources */,
+ A97963492328063700299006 /* bit_vector.cpp in Sources */,
+ A979668F2328063800299006 /* validate_derivatives.cpp in Sources */,
+ A97964612328063700299006 /* loop_dependence.cpp in Sources */,
+ A97964BD2328063700299006 /* aggressive_dead_code_elim_pass.cpp in Sources */,
+ A97964A92328063700299006 /* def_use_manager.cpp in Sources */,
+ A97966612328063800299006 /* validate_decorations.cpp in Sources */,
+ A97965432328063700299006 /* redundancy_elimination.cpp in Sources */,
+ A979636D2328063700299006 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp in Sources */,
+ A97964792328063700299006 /* loop_unswitch_pass.cpp in Sources */,
+ A97963852328063700299006 /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp in Sources */,
+ A97963ED2328063700299006 /* parsed_operand.cpp in Sources */,
+ A979653D2328063700299006 /* scalar_replacement_pass.cpp in Sources */,
+ A979632D2328063700299006 /* extensions.cpp in Sources */,
+ A97966912328063800299006 /* validate_memory.cpp in Sources */,
+ A97963F32328063700299006 /* name_mapper.cpp in Sources */,
+ A97963D92328063700299006 /* spirv_endian.cpp in Sources */,
+ A97966632328063800299006 /* validate_debug.cpp in Sources */,
+ A979643D2328063700299006 /* local_redundancy_elimination.cpp in Sources */,
+ A97964452328063700299006 /* feature_manager.cpp in Sources */,
+ A979647F2328063700299006 /* generate_webgpu_initializers_pass.cpp in Sources */,
+ A97963772328063700299006 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp in Sources */,
+ A97965332328063700299006 /* set_spec_constant_default_value_pass.cpp in Sources */,
+ A979666F2328063800299006 /* validate_bitwise.cpp in Sources */,
+ A979645D2328063700299006 /* strip_debug_info_pass.cpp in Sources */,
+ A97965372328063700299006 /* fold.cpp in Sources */,
+ A979646B2328063700299006 /* mem_pass.cpp in Sources */,
+ A97964272328063700299006 /* types.cpp in Sources */,
+ A97963E32328063700299006 /* enum_string_mapping.cpp in Sources */,
+ A97965552328063700299006 /* reduce_load_size.cpp in Sources */,
+ A97963D32328063700299006 /* print.cpp in Sources */,
+ A97965A92328063800299006 /* loop_peeling.cpp in Sources */,
+ A97963592328063700299006 /* reduction_pass.cpp in Sources */,
+ A97964C52328063700299006 /* flatten_decoration_pass.cpp in Sources */,
+ A97966792328063800299006 /* validate_adjacency.cpp in Sources */,
+ A979663F2328063800299006 /* operand.cpp in Sources */,
+ A97964EB2328063700299006 /* if_conversion.cpp in Sources */,
+ A979664B2328063800299006 /* validate_annotation.cpp in Sources */,
+ A97966832328063800299006 /* validate_id.cpp in Sources */,
+ A979644B2328063700299006 /* dominator_tree.cpp in Sources */,
+ A979648F2328063700299006 /* licm_pass.cpp in Sources */,
+ A97966932328063800299006 /* validate_image.cpp in Sources */,
+ A97964052328063700299006 /* register_pressure.cpp in Sources */,
+ A97966672328063800299006 /* validate_interfaces.cpp in Sources */,
+ A97964F12328063700299006 /* eliminate_dead_members_pass.cpp in Sources */,
+ A97963F52328063700299006 /* linker.cpp in Sources */,
+ A97963BF2328063700299006 /* remove_block_reduction_opportunity.cpp in Sources */,
+ A97964FF2328063700299006 /* inline_exhaustive_pass.cpp in Sources */,
+ A97964C12328063700299006 /* simplification_pass.cpp in Sources */,
+ A979659D2328063800299006 /* scalar_analysis_simplification.cpp in Sources */,
+ A97966AB2328063800299006 /* validate_primitives.cpp in Sources */,
+ A97966452328063800299006 /* disassemble.cpp in Sources */,
+ A97965312328063700299006 /* loop_dependence_helpers.cpp in Sources */,
+ A979647D2328063700299006 /* type_manager.cpp in Sources */,
+ A979667B2328063800299006 /* validate_conversion.cpp in Sources */,
+ A979633B2328063700299006 /* timer.cpp in Sources */,
+ A97963752328063700299006 /* remove_selection_reduction_opportunity_finder.cpp in Sources */,
+ A979640F2328063700299006 /* combine_access_chains.cpp in Sources */,
+ A979665F2328063800299006 /* validate_instruction.cpp in Sources */,
+ A97964F72328063700299006 /* block_merge_util.cpp in Sources */,
+ A979636F2328063700299006 /* remove_function_reduction_opportunity.cpp in Sources */,
+ A979635B2328063700299006 /* operand_to_const_reduction_opportunity_finder.cpp in Sources */,
+ A97964D52328063700299006 /* local_ssa_elim_pass.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -3182,200 +3270,208 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- A9C2F31022E7833D001763CE /* dead_insert_elim_pass.cpp in Sources */,
- A9C2F2BE22E7833D001763CE /* pch_source_opt.cpp in Sources */,
- A9C2F28622E7833D001763CE /* module.cpp in Sources */,
- A9C2F30622E7833D001763CE /* loop_fusion_pass.cpp in Sources */,
- A9C2F33222E7833D001763CE /* loop_dependence_helpers.cpp in Sources */,
- A9C2F45022E7833D001763CE /* validate_builtins.cpp in Sources */,
- A9C2F1C422E7833D001763CE /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */,
- A9C2F18622E7833D001763CE /* simple_conditional_branch_to_branch_reduction_opportunity.cpp in Sources */,
- A9C2F44222E7833D001763CE /* validate_non_uniform.cpp in Sources */,
- A9C2F2B422E7833D001763CE /* strip_reflect_info_pass.cpp in Sources */,
- A9C2F2AA22E7833D001763CE /* loop_unroller.cpp in Sources */,
- A9C2F47222E7833D001763CE /* validate_arithmetics.cpp in Sources */,
- A9C2F26822E7833D001763CE /* cfg_cleanup_pass.cpp in Sources */,
- A9C2F44C22E7833D001763CE /* validate_decorations.cpp in Sources */,
- A9C2F3A422E7833D001763CE /* loop_peeling.cpp in Sources */,
- A9C2F21C22E7833D001763CE /* register_pressure.cpp in Sources */,
- A9C2F1A422E7833D001763CE /* remove_instruction_reduction_opportunity.cpp in Sources */,
- A9C2F27222E7833D001763CE /* loop_dependence.cpp in Sources */,
- A9C2F36422E7833D001763CE /* dominator_analysis.cpp in Sources */,
- A9C2F26222E7833D001763CE /* merge_return_pass.cpp in Sources */,
- A9C2F29022E7833D001763CE /* generate_webgpu_initializers_pass.cpp in Sources */,
- A9C2F47622E7833D001763CE /* validate_memory_semantics.cpp in Sources */,
- A9C2F1AE22E7833D001763CE /* reducer.cpp in Sources */,
- A9C2F46822E7833D001763CE /* validate_small_type_uses.cpp in Sources */,
- A9C2F2C822E7833D001763CE /* dead_branch_elim_pass.cpp in Sources */,
- A9C2F2C622E7833D001763CE /* simplification_pass.cpp in Sources */,
- A9C2F39022E7833D001763CE /* loop_fusion.cpp in Sources */,
- A9C2F29422E7833D001763CE /* inline_pass.cpp in Sources */,
- A9C2F28822E7833D001763CE /* fold_spec_constant_op_and_composite_pass.cpp in Sources */,
- A9C2F2F622E7833D001763CE /* strength_reduction_pass.cpp in Sources */,
- A9C2F2A222E7833D001763CE /* split_invalid_unreachable_pass.cpp in Sources */,
- A9C2F35C22E7833D001763CE /* inline_opaque_pass.cpp in Sources */,
- A9C2F14222E7833D001763CE /* text.cpp in Sources */,
- A9C2F48422E7833D001763CE /* validate_type.cpp in Sources */,
- A9C2F43022E7833D001763CE /* disassemble.cpp in Sources */,
- A9C2F2CA22E7833D001763CE /* flatten_decoration_pass.cpp in Sources */,
- A9C2F21422E7833D001763CE /* ext_inst.cpp in Sources */,
- A9C2F14A22E7833D001763CE /* pch_source.cpp in Sources */,
- A9C2F2EE22E7833D001763CE /* if_conversion.cpp in Sources */,
- A9C2F24222E7833D001763CE /* cfg.cpp in Sources */,
- A9C2F31822E7833D001763CE /* block_merge_pass.cpp in Sources */,
- A9C2F45E22E7833D001763CE /* construct.cpp in Sources */,
- A9C2F2DE22E7833D001763CE /* function.cpp in Sources */,
- A9C2F33822E7833D001763CE /* fold.cpp in Sources */,
- A9C2F27022E7833D001763CE /* ssa_rewrite_pass.cpp in Sources */,
- A9C2F2D822E7833D001763CE /* loop_descriptor.cpp in Sources */,
- A9C2F18822E7833D001763CE /* remove_function_reduction_opportunity.cpp in Sources */,
- A9C2F18E22E7833D001763CE /* remove_selection_reduction_opportunity_finder.cpp in Sources */,
- A9C2F49422E7833D001763CE /* validation_state.cpp in Sources */,
- A9C2F2AC22E7833D001763CE /* constants.cpp in Sources */,
- A9C2F35822E7833D001763CE /* value_number_table.cpp in Sources */,
- A9C2F19022E7833D001763CE /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp in Sources */,
- A9C2F39222E7833D001763CE /* upgrade_memory_model.cpp in Sources */,
- A9C2F1B822E7833D001763CE /* merge_blocks_reduction_opportunity_finder.cpp in Sources */,
- A9C2F16A22E7833D001763CE /* table.cpp in Sources */,
- A9C2F21022E7833D001763CE /* opcode.cpp in Sources */,
- A9C2F29822E7833D001763CE /* ir_loader.cpp in Sources */,
- A9C2F43A22E7833D001763CE /* validate_cfg.cpp in Sources */,
- A9C2F3A222E7833D001763CE /* compact_ids_pass.cpp in Sources */,
- A9C2F2F822E7833D001763CE /* block_merge_util.cpp in Sources */,
- A9C2F24A22E7833D001763CE /* freeze_spec_constant_value_pass.cpp in Sources */,
- A9C2F33422E7833D001763CE /* set_spec_constant_default_value_pass.cpp in Sources */,
- A9C2F21822E7833D001763CE /* optimizer.cpp in Sources */,
- A9C2F38022E7833D001763CE /* local_access_chain_convert_pass.cpp in Sources */,
- A9C2F32E22E7833D001763CE /* propagator.cpp in Sources */,
- A9C2F48A22E7833D001763CE /* validate_layout.cpp in Sources */,
- A9C2F47C22E7833D001763CE /* validate_memory.cpp in Sources */,
- A9C2F48C22E7833D001763CE /* basic_block.cpp in Sources */,
- A9C2F1E422E7833D001763CE /* spirv_fuzzer_options.cpp in Sources */,
- A9C2F47E22E7833D001763CE /* validate_image.cpp in Sources */,
- A9C2F45222E7833D001763CE /* validate_interfaces.cpp in Sources */,
- A9C2F48822E7833D001763CE /* validate_execution_limitations.cpp in Sources */,
- A9C2F23A22E7833D001763CE /* code_sink.cpp in Sources */,
- A9C2F1AC22E7833D001763CE /* pch_source_reduce.cpp in Sources */,
- A9C2F24622E7833D001763CE /* decoration_manager.cpp in Sources */,
- A9C2F31422E7833D001763CE /* scalar_analysis.cpp in Sources */,
- A9C2F1BE22E7833D001763CE /* change_operand_to_undef_reduction_opportunity.cpp in Sources */,
- A9C2F33C22E7833D001763CE /* scalar_replacement_pass.cpp in Sources */,
- A9C2F18022E7833D001763CE /* remove_function_reduction_opportunity_finder.cpp in Sources */,
- A9C2F13A22E7833D001763CE /* spirv_target_env.cpp in Sources */,
- A9C2F16E22E7833D001763CE /* remove_selection_reduction_opportunity.cpp in Sources */,
- A9C2F1BA22E7833D001763CE /* reduction_opportunity.cpp in Sources */,
- A9C2F26E22E7833D001763CE /* strip_debug_info_pass.cpp in Sources */,
- A9C2F2FC22E7833D001763CE /* copy_prop_arrays.cpp in Sources */,
- A9C2F47422E7833D001763CE /* validate_mode_setting.cpp in Sources */,
- A9C2F46E22E7833D001763CE /* validate_id.cpp in Sources */,
- A9C2F39822E7833D001763CE /* scalar_analysis_simplification.cpp in Sources */,
- A9C2F45422E7833D001763CE /* validate.cpp in Sources */,
- A9C2F43622E7833D001763CE /* validate_annotation.cpp in Sources */,
- A9C2F2A622E7833D001763CE /* vector_dce.cpp in Sources */,
- A9C2F20222E7833D001763CE /* spirv_reducer_options.cpp in Sources */,
- A9C2F20E22E7833D001763CE /* software_version.cpp in Sources */,
- A9C2F15A22E7833D001763CE /* string_utils.cpp in Sources */,
- A9C2F26022E7833D001763CE /* dominator_tree.cpp in Sources */,
- A9C2F44022E7833D001763CE /* validate_barriers.cpp in Sources */,
- A9C2F37822E7833D001763CE /* struct_cfg_analysis.cpp in Sources */,
- A9C2F24822E7833D001763CE /* local_single_block_elim_pass.cpp in Sources */,
- A9C2F16222E7833D001763CE /* parse_number.cpp in Sources */,
- A9C2F1B022E7833D001763CE /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */,
- A9C2F20A22E7833D001763CE /* name_mapper.cpp in Sources */,
- A9C2F2E022E7833D001763CE /* instruction_list.cpp in Sources */,
- A9C2F44E22E7833D001763CE /* validate_debug.cpp in Sources */,
- A9C2F35222E7833D001763CE /* reduce_load_size.cpp in Sources */,
- A9C2F17A22E7833D001763CE /* reduction_util.cpp in Sources */,
- A9C2F41E22E7833D001763CE /* diagnostic.cpp in Sources */,
- A9C2F2C222E7833D001763CE /* aggressive_dead_code_elim_pass.cpp in Sources */,
- A9C2F1D622E7833D001763CE /* remove_block_reduction_opportunity.cpp in Sources */,
- A9C2F28222E7833D001763CE /* dead_variable_elimination.cpp in Sources */,
- A9C2F23C22E7833D001763CE /* types.cpp in Sources */,
- A9C2F27C22E7833D001763CE /* mem_pass.cpp in Sources */,
- A9C2F14422E7833D001763CE /* assembly_grammar.cpp in Sources */,
- A9C2F47A22E7833D001763CE /* validate_derivatives.cpp in Sources */,
- A9C2F21E22E7833D001763CE /* loop_utils.cpp in Sources */,
- A9C2F44A22E7833D001763CE /* validate_instruction.cpp in Sources */,
- A9C2F25E22E7833D001763CE /* loop_fission.cpp in Sources */,
- A9C2F44422E7833D001763CE /* validate_scopes.cpp in Sources */,
- A9C2F49222E7833D001763CE /* validate_composites.cpp in Sources */,
- A9C2F46022E7833D001763CE /* function.cpp in Sources */,
- A9C2F1D222E7833D001763CE /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp in Sources */,
- A9C2F19622E7833D001763CE /* change_operand_reduction_opportunity.cpp in Sources */,
- A9C2F48222E7833D001763CE /* instruction.cpp in Sources */,
- A9C2F35E22E7833D001763CE /* replace_invalid_opc.cpp in Sources */,
- A9C2F22622E7833D001763CE /* combine_access_chains.cpp in Sources */,
- A9C2F18C22E7833D001763CE /* simple_conditional_branch_to_branch_opportunity_finder.cpp in Sources */,
- A9C2F20422E7833D001763CE /* parsed_operand.cpp in Sources */,
- A9C2F29E22E7833D001763CE /* eliminate_dead_functions_pass.cpp in Sources */,
- A9C2F2FE22E7833D001763CE /* pass_manager.cpp in Sources */,
- A9C2F26A22E7833D001763CE /* const_folding_rules.cpp in Sources */,
- A9C2F42A22E7833D001763CE /* operand.cpp in Sources */,
- A9C2F19E22E7833D001763CE /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp in Sources */,
- A9C2F36622E7833D001763CE /* decompose_initialized_variables_pass.cpp in Sources */,
- A9C2F34622E7833D001763CE /* workaround1209.cpp in Sources */,
- A9C2F16422E7833D001763CE /* bit_vector.cpp in Sources */,
- A9C2F20C22E7833D001763CE /* linker.cpp in Sources */,
- A9C2F14822E7833D001763CE /* extensions.cpp in Sources */,
- A9C2F46A22E7833D001763CE /* validate_datarules.cpp in Sources */,
- A9C2F43822E7833D001763CE /* validate_misc.cpp in Sources */,
- A9C2F30022E7833D001763CE /* inline_exhaustive_pass.cpp in Sources */,
- A9C2F26622E7833D001763CE /* eliminate_dead_constant_pass.cpp in Sources */,
- A9C2F17C22E7833D001763CE /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */,
- A9C2F19422E7833D001763CE /* merge_blocks_reduction_opportunity.cpp in Sources */,
- A9C2F2E422E7833D001763CE /* process_lines_pass.cpp in Sources */,
- A9C2F25022E7833D001763CE /* inst_bindless_check_pass.cpp in Sources */,
- A9C2F1EA22E7833D001763CE /* print.cpp in Sources */,
- A9C2F1E822E7833D001763CE /* spirv_validator_options.cpp in Sources */,
- A9C2F44622E7833D001763CE /* validate_atomics.cpp in Sources */,
- A9C2F17422E7833D001763CE /* reduction_pass.cpp in Sources */,
- A9C2F46622E7833D001763CE /* validate_conversion.cpp in Sources */,
- A9C2F22822E7833D001763CE /* build_module.cpp in Sources */,
- A9C2F39E22E7833D001763CE /* legalize_vector_shuffle_pass.cpp in Sources */,
- A9C2F25222E7833D001763CE /* local_redundancy_elimination.cpp in Sources */,
- A9C2F15622E7833D001763CE /* timer.cpp in Sources */,
- A9C2F2F422E7833D001763CE /* eliminate_dead_members_pass.cpp in Sources */,
- A9C2F45A22E7833D001763CE /* validate_bitwise.cpp in Sources */,
- A9C2F2DA22E7833D001763CE /* local_ssa_elim_pass.cpp in Sources */,
- A9C2F2E222E7833D001763CE /* composite.cpp in Sources */,
- A9C2F42222E7833D001763CE /* libspirv.cpp in Sources */,
- A9C2F1DC22E7833D001763CE /* spirv_optimizer_options.cpp in Sources */,
- A9C2F25A22E7833D001763CE /* feature_manager.cpp in Sources */,
- A9C2F1D422E7833D001763CE /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */,
- A9C2F28E22E7833D001763CE /* type_manager.cpp in Sources */,
- A9C2F2B822E7833D001763CE /* ccp_pass.cpp in Sources */,
- A9C2F46422E7833D001763CE /* validate_adjacency.cpp in Sources */,
- A9C2F1AA22E7833D001763CE /* remove_opname_instruction_reduction_opportunity_finder.cpp in Sources */,
- A9C2F25422E7833D001763CE /* instrument_pass.cpp in Sources */,
- A9C2F43C22E7833D001763CE /* validate_capability.cpp in Sources */,
- A9C2F48022E7833D001763CE /* validate_literals.cpp in Sources */,
- A9C2F34222E7833D001763CE /* redundancy_elimination.cpp in Sources */,
- A9C2F45822E7833D001763CE /* validate_constants.cpp in Sources */,
- A9C2F34E22E7833D001763CE /* instruction.cpp in Sources */,
- A9C2F28A22E7833D001763CE /* loop_unswitch_pass.cpp in Sources */,
- A9C2F1F622E7833D001763CE /* binary.cpp in Sources */,
- A9C2F29C22E7833D001763CE /* licm_pass.cpp in Sources */,
- A9C2F17622E7833D001763CE /* operand_to_const_reduction_opportunity_finder.cpp in Sources */,
- A9C2F28022E7833D001763CE /* remove_duplicates_pass.cpp in Sources */,
- A9C2F48E22E7833D001763CE /* validate_function.cpp in Sources */,
- A9C2F24422E7833D001763CE /* strip_atomic_counter_memory_pass.cpp in Sources */,
- A9C2F49622E7833D001763CE /* validate_primitives.cpp in Sources */,
- A9C2F43422E7833D001763CE /* text_handler.cpp in Sources */,
- A9C2F25C22E7833D001763CE /* pass.cpp in Sources */,
- A9C2F32622E7833D001763CE /* local_single_store_elim_pass.cpp in Sources */,
- A9C2F45C22E7833D001763CE /* validate_extensions.cpp in Sources */,
- A9C2F47822E7833D001763CE /* validate_logicals.cpp in Sources */,
- A9C2F35622E7833D001763CE /* fix_storage_class.cpp in Sources */,
- A9C2F32A22E7833D001763CE /* private_to_local_pass.cpp in Sources */,
- A9C2F28C22E7833D001763CE /* unify_const_pass.cpp in Sources */,
- A9C2F38222E7833D001763CE /* basic_block.cpp in Sources */,
- A9C2F1CC22E7833D001763CE /* remove_block_reduction_opportunity_finder.cpp in Sources */,
- A9C2F2C422E7833D001763CE /* eliminate_dead_functions_util.cpp in Sources */,
- A9C2F1FA22E7833D001763CE /* enum_string_mapping.cpp in Sources */,
- A9C2F1F022E7833D001763CE /* spirv_endian.cpp in Sources */,
- A9C2F2D222E7833D001763CE /* ir_context.cpp in Sources */,
- A9C2F2B222E7833D001763CE /* def_use_manager.cpp in Sources */,
- A9C2F2CE22E7833D001763CE /* folding_rules.cpp in Sources */,
+ A97963EC2328063700299006 /* spirv_reducer_options.cpp in Sources */,
+ A979644A2328063700299006 /* loop_fission.cpp in Sources */,
+ A97963E02328063700299006 /* binary.cpp in Sources */,
+ A97963282328063700299006 /* text.cpp in Sources */,
+ A979657C2328063700299006 /* struct_cfg_analysis.cpp in Sources */,
+ A97965062328063700299006 /* loop_fusion_pass.cpp in Sources */,
+ A97964262328063700299006 /* code_sink.cpp in Sources */,
+ A979665C2328063800299006 /* validate_atomics.cpp in Sources */,
+ A97964F62328063700299006 /* desc_sroa.cpp in Sources */,
+ A97964FE2328063700299006 /* pass_manager.cpp in Sources */,
+ A97964DA2328063700299006 /* function.cpp in Sources */,
+ A97963AE2328063700299006 /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */,
+ A97963622328063700299006 /* remove_relaxed_precision_decoration_opportunity_finder.cpp in Sources */,
+ A97963FA2328063700299006 /* opcode.cpp in Sources */,
+ A97963682328063700299006 /* remove_function_reduction_opportunity_finder.cpp in Sources */,
+ A97964782328063700299006 /* fold_spec_constant_op_and_composite_pass.cpp in Sources */,
+ A97964722328063700299006 /* dead_variable_elimination.cpp in Sources */,
+ A97965842328063700299006 /* local_access_chain_convert_pass.cpp in Sources */,
+ A97966962328063800299006 /* validate_literals.cpp in Sources */,
+ A97964482328063700299006 /* pass.cpp in Sources */,
+ A97966AA2328063800299006 /* validation_state.cpp in Sources */,
+ A979667E2328063800299006 /* validate_small_type_uses.cpp in Sources */,
+ A97966A02328063800299006 /* validate_layout.cpp in Sources */,
+ A979655A2328063700299006 /* fix_storage_class.cpp in Sources */,
+ A97966982328063800299006 /* instruction.cpp in Sources */,
+ A979639A2328063700299006 /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */,
+ A97966A82328063800299006 /* validate_composites.cpp in Sources */,
+ A97964502328063700299006 /* merge_return_pass.cpp in Sources */,
+ A97963642328063700299006 /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */,
+ A97964362328063700299006 /* freeze_spec_constant_value_pass.cpp in Sources */,
+ A979638C2328063700299006 /* remove_instruction_reduction_opportunity.cpp in Sources */,
+ A97964B22328063700299006 /* ccp_pass.cpp in Sources */,
+ A97963302328063700299006 /* pch_source.cpp in Sources */,
+ A979642E2328063700299006 /* cfg.cpp in Sources */,
+ A97966A22328063800299006 /* basic_block.cpp in Sources */,
+ A97963A22328063700299006 /* merge_blocks_reduction_opportunity_finder.cpp in Sources */,
+ A97966722328063800299006 /* validate_extensions.cpp in Sources */,
+ A979637C2328063700299006 /* merge_blocks_reduction_opportunity.cpp in Sources */,
+ A979664E2328063800299006 /* validate_misc.cpp in Sources */,
+ A97964C42328063700299006 /* dead_branch_elim_pass.cpp in Sources */,
+ A97965522328063700299006 /* instruction.cpp in Sources */,
+ A97963502328063700299006 /* table.cpp in Sources */,
+ A97966802328063800299006 /* validate_datarules.cpp in Sources */,
+ A97964582328063700299006 /* wrap_opkill.cpp in Sources */,
+ A979656A2328063700299006 /* decompose_initialized_variables_pass.cpp in Sources */,
+ A97965962328063800299006 /* loop_fusion.cpp in Sources */,
+ A97964D42328063700299006 /* loop_descriptor.cpp in Sources */,
+ A97965A42328063800299006 /* legalize_vector_shuffle_pass.cpp in Sources */,
+ A97963942328063700299006 /* remove_opname_instruction_reduction_opportunity_finder.cpp in Sources */,
+ A979654C2328063700299006 /* relax_float_ops_pass.cpp in Sources */,
+ A97964E22328063700299006 /* process_lines_pass.cpp in Sources */,
+ A97964122328063700299006 /* build_module.cpp in Sources */,
+ A979653A2328063700299006 /* amd_ext_to_khr.cpp in Sources */,
+ A979669E2328063800299006 /* validate_execution_limitations.cpp in Sources */,
+ A979652A2328063700299006 /* private_to_local_pass.cpp in Sources */,
+ A979666A2328063800299006 /* validate.cpp in Sources */,
+ A97966522328063800299006 /* validate_capability.cpp in Sources */,
+ A97964542328063700299006 /* eliminate_dead_constant_pass.cpp in Sources */,
+ A979647C2328063700299006 /* unify_const_pass.cpp in Sources */,
+ A97963982328063700299006 /* reducer.cpp in Sources */,
+ A97964022328063700299006 /* optimizer.cpp in Sources */,
+ A97963F82328063700299006 /* software_version.cpp in Sources */,
+ A97965622328063700299006 /* replace_invalid_opc.cpp in Sources */,
+ A97964402328063700299006 /* instrument_pass.cpp in Sources */,
+ A97965862328063700299006 /* basic_block.cpp in Sources */,
+ A979649A2328063700299006 /* vector_dce.cpp in Sources */,
+ A97963CE2328063700299006 /* spirv_fuzzer_options.cpp in Sources */,
+ A97964AE2328063700299006 /* strip_reflect_info_pass.cpp in Sources */,
+ A97965902328063700299006 /* graphics_robust_access_pass.cpp in Sources */,
+ A97964962328063700299006 /* split_invalid_unreachable_pass.cpp in Sources */,
+ A979637E2328063700299006 /* change_operand_reduction_opportunity.cpp in Sources */,
+ A979643C2328063700299006 /* inst_bindless_check_pass.cpp in Sources */,
+ A979668E2328063800299006 /* validate_logicals.cpp in Sources */,
+ A979668C2328063800299006 /* validate_memory_semantics.cpp in Sources */,
+ A97965682328063700299006 /* dominator_analysis.cpp in Sources */,
+ A97963FE2328063700299006 /* ext_inst.cpp in Sources */,
+ A979669A2328063800299006 /* validate_type.cpp in Sources */,
+ A97964922328063700299006 /* eliminate_dead_functions_pass.cpp in Sources */,
+ A97963202328063700299006 /* spirv_target_env.cpp in Sources */,
+ A97964602328063700299006 /* ssa_rewrite_pass.cpp in Sources */,
+ A97964562328063700299006 /* cfg_cleanup_pass.cpp in Sources */,
+ A97963542328063700299006 /* remove_selection_reduction_opportunity.cpp in Sources */,
+ A97964762328063700299006 /* module.cpp in Sources */,
+ A97966662328063800299006 /* validate_builtins.cpp in Sources */,
+ A97963402328063700299006 /* string_utils.cpp in Sources */,
+ A97966562328063800299006 /* validate_barriers.cpp in Sources */,
+ A97964702328063700299006 /* remove_duplicates_pass.cpp in Sources */,
+ A979649E2328063700299006 /* loop_unroller.cpp in Sources */,
+ A97965602328063700299006 /* inline_opaque_pass.cpp in Sources */,
+ A97964DE2328063700299006 /* composite.cpp in Sources */,
+ A97964342328063700299006 /* local_single_block_elim_pass.cpp in Sources */,
+ A97966382328063800299006 /* libspirv.cpp in Sources */,
+ A97963482328063700299006 /* parse_number.cpp in Sources */,
+ A979668A2328063800299006 /* validate_mode_setting.cpp in Sources */,
+ A97966762328063800299006 /* function.cpp in Sources */,
+ A97964FC2328063700299006 /* copy_prop_arrays.cpp in Sources */,
+ A97963BC2328063700299006 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp in Sources */,
+ A97966A42328063800299006 /* validate_function.cpp in Sources */,
+ A979645A2328063700299006 /* const_folding_rules.cpp in Sources */,
+ A979652E2328063700299006 /* propagator.cpp in Sources */,
+ A97963C62328063700299006 /* spirv_optimizer_options.cpp in Sources */,
+ A97963B62328063700299006 /* remove_block_reduction_opportunity_finder.cpp in Sources */,
+ A97963602328063700299006 /* reduction_util.cpp in Sources */,
+ A97966582328063800299006 /* validate_non_uniform.cpp in Sources */,
+ A979648C2328063700299006 /* ir_loader.cpp in Sources */,
+ A97965A82328063800299006 /* compact_ids_pass.cpp in Sources */,
+ A97964CA2328063700299006 /* folding_rules.cpp in Sources */,
+ A97964C02328063700299006 /* eliminate_dead_functions_util.cpp in Sources */,
+ A97964082328063700299006 /* loop_utils.cpp in Sources */,
+ A97964322328063700299006 /* decoration_manager.cpp in Sources */,
+ A979666E2328063800299006 /* validate_constants.cpp in Sources */,
+ A97965182328063700299006 /* block_merge_pass.cpp in Sources */,
+ A97965142328063700299006 /* scalar_analysis.cpp in Sources */,
+ A979664A2328063800299006 /* text_handler.cpp in Sources */,
+ A97966502328063800299006 /* validate_cfg.cpp in Sources */,
+ A97963D22328063700299006 /* spirv_validator_options.cpp in Sources */,
+ A97965482328063700299006 /* workaround1209.cpp in Sources */,
+ A97963742328063700299006 /* simple_conditional_branch_to_branch_opportunity_finder.cpp in Sources */,
+ A97963A82328063700299006 /* change_operand_to_undef_reduction_opportunity.cpp in Sources */,
+ A97965262328063700299006 /* local_single_store_elim_pass.cpp in Sources */,
+ A979665A2328063800299006 /* validate_scopes.cpp in Sources */,
+ A97964DC2328063700299006 /* instruction_list.cpp in Sources */,
+ A97964A82328063700299006 /* inst_buff_addr_check_pass.cpp in Sources */,
+ A97964A22328063700299006 /* constants.cpp in Sources */,
+ A97966342328063800299006 /* diagnostic.cpp in Sources */,
+ A97964F42328063700299006 /* strength_reduction_pass.cpp in Sources */,
+ A97964CE2328063700299006 /* ir_context.cpp in Sources */,
+ A97963A42328063700299006 /* reduction_opportunity.cpp in Sources */,
+ A97964302328063700299006 /* strip_atomic_counter_memory_pass.cpp in Sources */,
+ A97963962328063700299006 /* pch_source_reduce.cpp in Sources */,
+ A97964882328063700299006 /* inline_pass.cpp in Sources */,
+ A979632A2328063700299006 /* assembly_grammar.cpp in Sources */,
+ A97966882328063800299006 /* validate_arithmetics.cpp in Sources */,
+ A97964B82328063700299006 /* pch_source_opt.cpp in Sources */,
+ A97963BE2328063700299006 /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */,
+ A97964E02328063700299006 /* convert_to_half_pass.cpp in Sources */,
+ A979655C2328063700299006 /* value_number_table.cpp in Sources */,
+ A97965982328063800299006 /* upgrade_memory_model.cpp in Sources */,
+ A97965102328063700299006 /* dead_insert_elim_pass.cpp in Sources */,
+ A97966742328063800299006 /* construct.cpp in Sources */,
+ A979634A2328063700299006 /* bit_vector.cpp in Sources */,
+ A97966902328063800299006 /* validate_derivatives.cpp in Sources */,
+ A97964622328063700299006 /* loop_dependence.cpp in Sources */,
+ A97964BE2328063700299006 /* aggressive_dead_code_elim_pass.cpp in Sources */,
+ A97964AA2328063700299006 /* def_use_manager.cpp in Sources */,
+ A97966622328063800299006 /* validate_decorations.cpp in Sources */,
+ A97965442328063700299006 /* redundancy_elimination.cpp in Sources */,
+ A979636E2328063700299006 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp in Sources */,
+ A979647A2328063700299006 /* loop_unswitch_pass.cpp in Sources */,
+ A97963862328063700299006 /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp in Sources */,
+ A97963EE2328063700299006 /* parsed_operand.cpp in Sources */,
+ A979653E2328063700299006 /* scalar_replacement_pass.cpp in Sources */,
+ A979632E2328063700299006 /* extensions.cpp in Sources */,
+ A97966922328063800299006 /* validate_memory.cpp in Sources */,
+ A97963F42328063700299006 /* name_mapper.cpp in Sources */,
+ A97963DA2328063700299006 /* spirv_endian.cpp in Sources */,
+ A97966642328063800299006 /* validate_debug.cpp in Sources */,
+ A979643E2328063700299006 /* local_redundancy_elimination.cpp in Sources */,
+ A97964462328063700299006 /* feature_manager.cpp in Sources */,
+ A97964802328063700299006 /* generate_webgpu_initializers_pass.cpp in Sources */,
+ A97963782328063700299006 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp in Sources */,
+ A97965342328063700299006 /* set_spec_constant_default_value_pass.cpp in Sources */,
+ A97966702328063800299006 /* validate_bitwise.cpp in Sources */,
+ A979645E2328063700299006 /* strip_debug_info_pass.cpp in Sources */,
+ A97965382328063700299006 /* fold.cpp in Sources */,
+ A979646C2328063700299006 /* mem_pass.cpp in Sources */,
+ A97964282328063700299006 /* types.cpp in Sources */,
+ A97963E42328063700299006 /* enum_string_mapping.cpp in Sources */,
+ A97965562328063700299006 /* reduce_load_size.cpp in Sources */,
+ A97963D42328063700299006 /* print.cpp in Sources */,
+ A97965AA2328063800299006 /* loop_peeling.cpp in Sources */,
+ A979635A2328063700299006 /* reduction_pass.cpp in Sources */,
+ A97964C62328063700299006 /* flatten_decoration_pass.cpp in Sources */,
+ A979667A2328063800299006 /* validate_adjacency.cpp in Sources */,
+ A97966402328063800299006 /* operand.cpp in Sources */,
+ A97964EC2328063700299006 /* if_conversion.cpp in Sources */,
+ A979664C2328063800299006 /* validate_annotation.cpp in Sources */,
+ A97966842328063800299006 /* validate_id.cpp in Sources */,
+ A979644C2328063700299006 /* dominator_tree.cpp in Sources */,
+ A97964902328063700299006 /* licm_pass.cpp in Sources */,
+ A97966942328063800299006 /* validate_image.cpp in Sources */,
+ A97964062328063700299006 /* register_pressure.cpp in Sources */,
+ A97966682328063800299006 /* validate_interfaces.cpp in Sources */,
+ A97964F22328063700299006 /* eliminate_dead_members_pass.cpp in Sources */,
+ A97963F62328063700299006 /* linker.cpp in Sources */,
+ A97963C02328063700299006 /* remove_block_reduction_opportunity.cpp in Sources */,
+ A97965002328063700299006 /* inline_exhaustive_pass.cpp in Sources */,
+ A97964C22328063700299006 /* simplification_pass.cpp in Sources */,
+ A979659E2328063800299006 /* scalar_analysis_simplification.cpp in Sources */,
+ A97966AC2328063800299006 /* validate_primitives.cpp in Sources */,
+ A97966462328063800299006 /* disassemble.cpp in Sources */,
+ A97965322328063700299006 /* loop_dependence_helpers.cpp in Sources */,
+ A979647E2328063700299006 /* type_manager.cpp in Sources */,
+ A979667C2328063800299006 /* validate_conversion.cpp in Sources */,
+ A979633C2328063700299006 /* timer.cpp in Sources */,
+ A97963762328063700299006 /* remove_selection_reduction_opportunity_finder.cpp in Sources */,
+ A97964102328063700299006 /* combine_access_chains.cpp in Sources */,
+ A97966602328063800299006 /* validate_instruction.cpp in Sources */,
+ A97964F82328063700299006 /* block_merge_util.cpp in Sources */,
+ A97963702328063700299006 /* remove_function_reduction_opportunity.cpp in Sources */,
+ A979635C2328063700299006 /* operand_to_const_reduction_opportunity_finder.cpp in Sources */,
+ A97964D62328063700299006 /* local_ssa_elim_pass.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -3843,7 +3939,7 @@
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
@@ -3890,7 +3986,7 @@
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = fast;
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
diff --git a/ExternalRevisions/SPIRV-Cross_repo_revision b/ExternalRevisions/SPIRV-Cross_repo_revision
index 337aa79..999ffa7 100644
--- a/ExternalRevisions/SPIRV-Cross_repo_revision
+++ b/ExternalRevisions/SPIRV-Cross_repo_revision
@@ -1 +1 @@
-07bb1a53e0cb86cfb9b116623493df974ad9ccee
+2082e7e80189843a52d9a79bc17787af93b517de
diff --git a/ExternalRevisions/Vulkan-Headers_repo_revision b/ExternalRevisions/Vulkan-Headers_repo_revision
index ddbb6f5..7761e26 100644
--- a/ExternalRevisions/Vulkan-Headers_repo_revision
+++ b/ExternalRevisions/Vulkan-Headers_repo_revision
@@ -1 +1 @@
-e3f96a9ccab9397481eb81c4d9bce4ea7590dc33
+5671d014bc1792a116d374792f8a6cfba2e6f512
diff --git a/ExternalRevisions/Vulkan-Tools_repo_revision b/ExternalRevisions/Vulkan-Tools_repo_revision
index b6a15de..ada8321 100644
--- a/ExternalRevisions/Vulkan-Tools_repo_revision
+++ b/ExternalRevisions/Vulkan-Tools_repo_revision
@@ -1 +1 @@
-fb1fd1d63eb20cc6f922228f04d8b96cec452b46
+bcabc204a27a93d6b686920a6d46c17f9aaa3ce0
diff --git a/ExternalRevisions/VulkanSamples_repo_revision b/ExternalRevisions/VulkanSamples_repo_revision
index 1f3f4e1..a82fe2b 100644
--- a/ExternalRevisions/VulkanSamples_repo_revision
+++ b/ExternalRevisions/VulkanSamples_repo_revision
@@ -1 +1 @@
-5a52ebd648b5baf94f2346819b5cf3fdc14b4127
+2403b94ed6463062acff8cfff563ad7ec5cf2b58
diff --git a/ExternalRevisions/glslang_repo_revision b/ExternalRevisions/glslang_repo_revision
index 1c370c0..07c5cad 100644
--- a/ExternalRevisions/glslang_repo_revision
+++ b/ExternalRevisions/glslang_repo_revision
@@ -1 +1 @@
-333d1c95792692205472c457d7bec915a94c8000
+34953810a62c5230cc059cfdf42dc44c5aab2246
diff --git a/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h b/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h
index 7a09f83..4d0699d 100644
--- a/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h
+++ b/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h
@@ -50,12 +50,12 @@
*/
#define MVK_VERSION_MAJOR 1
#define MVK_VERSION_MINOR 0
-#define MVK_VERSION_PATCH 36
+#define MVK_VERSION_PATCH 37
#define MVK_MAKE_VERSION(major, minor, patch) (((major) * 10000) + ((minor) * 100) + (patch))
#define MVK_VERSION MVK_MAKE_VERSION(MVK_VERSION_MAJOR, MVK_VERSION_MINOR, MVK_VERSION_PATCH)
-#define VK_MVK_MOLTENVK_SPEC_VERSION 21
+#define VK_MVK_MOLTENVK_SPEC_VERSION 22
#define VK_MVK_MOLTENVK_EXTENSION_NAME "VK_MVK_moltenvk"
/**
@@ -102,8 +102,8 @@
* 2: Log errors and informational messages.
* If neither is set, errors and informational messages are logged.
*
- * 2. Setting the MVK_CONFIG_TRACE_VULKAN_CALLS runtime environment variable or MoltenVK compile-time build
- * setting will cause MoltenVK to log the name of each Vulkan call made by the application. The logging
+ * 2. The MVK_CONFIG_TRACE_VULKAN_CALLS runtime environment variable or MoltenVK compile-time build
+ * setting causes MoltenVK to log the name of each Vulkan call made by the application. The logging
* format options can be controlled by setting the value of MVK_CONFIG_TRACE_VULKAN_CALLS as follows:
* 0: No Vulkan call logging.
* 1: Log the name of each Vulkan call when the call is entered.
@@ -114,9 +114,23 @@
* 3. Setting the MVK_CONFIG_FORCE_LOW_POWER_GPU runtime environment variable or MoltenVK compile-time
* build setting to 1 will force MoltenVK to use a low-power GPU, if one is availble on the device.
*
- * 4. Setting the MVK_ALLOW_METAL_EVENTS runtime environment variable or MoltenVK compile-time build
- * setting to 1 will cause MoltenVK to use Metal events, if they are available on the device, for
- * Vulkan sychronization components such as VkSemaphore. This is disabled by default.
+ * 4. Setting the MVK_ALLOW_METAL_FENCES or MVK_ALLOW_METAL_EVENTS runtime environment variable
+ * or MoltenVK compile-time build setting to 1 will cause MoltenVK to use MTLFence or MTLEvent
+ * if they are available on the device, for VkSemaphore sychronization behaviour.
+ * If both variables are set, MVK_ALLOW_METAL_FENCES takes priority over MVK_ALLOW_METAL_EVENTS.
+ * Both options are disabled by default.
+ *
+ * 5. The MVK_CONFIG_AUTO_GPU_CAPTURE_SCOPE runtime environment variable or MoltenVK compile-time
+ * build setting controls whether Xcode should run an automatic GPU capture without the user
+ * having to trigger it manually via the Xcode user interface, and controls the scope under
+ * which that GPU capture will occur. This is useful when trying to capture a one-shot GPU
+ * trace, such as when running a Vulkan CTS test case. For the automatic GPU capture to occur,
+ * the Xcode scheme under which the app is run must have the Metal GPU capture option turned on.
+ * MVK_CONFIG_AUTO_GPU_CAPTURE_SCOPE should not be set to manually trigger a GPU capture via the
+ * Xcode user interface.
+ * 0: No automatic GPU capture.
+ * 1: Capture all GPU commands issued during the lifetime of the VkDevice.
+ * If none of these is set, no automatic GPU capture will occur.
*/
typedef struct {
@@ -167,7 +181,10 @@
* The initial value or this parameter is set by the
* MVK_CONFIG_SYNCHRONOUS_QUEUE_SUBMITS
* runtime environment variable or MoltenVK compile-time build setting.
- * If neither is set, the value of this parameter defaults to true.
+ * If neither is set, the value of this parameter defaults to true for macOS 10.14
+ * and above or iOS 12 and above, and false otherwise. The reason for this distinction
+ * is that this feature should be disabled when emulation is required to support VkEvents
+ * because native support for events (MTLEvent) is not available.
*/
VkBool32 synchronousQueueSubmits;
@@ -191,7 +208,7 @@
* buffers (VK_COMMAND_BUFFER_LEVEL_SECONDARY), or for primary command buffers that are intended
* to be submitted to multiple queues concurrently (VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT).
*
- * When enabling this features, be aware that one Metal command buffer is required for each Vulkan
+ * When enabling this feature, be aware that one Metal command buffer is required for each Vulkan
* command buffer. Depending on the number of command buffers that you use, you may also need to
* change the value of the maxActiveMetalCommandBuffersPerQueue setting.
*
@@ -251,18 +268,7 @@
*/
VkBool32 supportLargeQueryPools;
- /**
- * If enabled, each surface presentation is scheduled using a command buffer. Enabling this
- * setting may improve rendering frame synchronization, but may result in reduced frame rates.
- *
- * The value of this parameter may be changed at any time during application runtime,
- * and the changed value will immediately effect subsequent MoltenVK behaviour.
- *
- * The initial value or this parameter is set by the
- * MVK_CONFIG_PRESENT_WITH_COMMAND_BUFFER
- * runtime environment variable or MoltenVK compile-time build setting.
- * If neither is set, the value of this parameter defaults to true.
- */
+ /** Obsolete, ignored, and deprecated. All surface presentations are performed with a command buffer. */
VkBool32 presentWithCommandBuffer;
/**
@@ -534,12 +540,14 @@
VkBool32 arrayOfSamplers; /**< If true, arrays of texture samplers is supported. */
MTLLanguageVersion mslVersionEnum; /**< The version of the Metal Shading Language available on this device, as a Metal enumeration. */
VkBool32 depthSampleCompare; /**< If true, depth texture samplers support the comparison of the pixel value against a reference value. */
- VkBool32 events; /**< If true, Metal synchronization events are supported. */
+ VkBool32 events; /**< If true, Metal synchronization events (MTLEvent) are supported. */
VkBool32 memoryBarriers; /**< If true, full memory barriers within Metal render passes are supported. */
VkBool32 multisampleLayeredRendering; /**< If true, layered rendering to multiple multi-sampled cube or texture array layers is supported. */
VkBool32 stencilFeedback; /**< If true, fragment shaders that write to [[stencil]] outputs are supported. */
VkBool32 textureBuffers; /**< If true, textures of type MTLTextureTypeBuffer are supported. */
VkBool32 postDepthCoverage; /**< If true, coverage masks in fragment shaders post-depth-test are supported. */
+ VkBool32 fences; /**< If true, Metal synchronization fences (MTLFence) are supported. */
+ VkBool32 rasterOrderGroups; /**< If true, Raster order groups in fragment shaders are supported. */
VkBool32 native3DCompressedTextures; /**< If true, 3D compressed images are supported natively, without manual decompression. */
VkBool32 nativeTextureSwizzle; /**< If true, component swizzle is supported natively, without manual swizzling in shaders. */
VkBool32 placementHeaps; /**< If true, MTLHeap objects support placement of resources. */
diff --git a/MoltenVK/MoltenVK/Commands/MVKCmdDebug.h b/MoltenVK/MoltenVK/Commands/MVKCmdDebug.h
index dac03b9..67199a2 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCmdDebug.h
+++ b/MoltenVK/MoltenVK/Commands/MVKCmdDebug.h
@@ -95,3 +95,11 @@
void mvkCmdInsertDebugUtilsLabel(MVKCommandBuffer* cmdBuff, const VkDebugUtilsLabelEXT* pLabelInfo);
+
+#pragma mark -
+#pragma mark Support functions
+
+void mvkPushDebugGroup(id<MTLCommandBuffer> mtlCmdBuffer, NSString* name);
+
+void mvkPopDebugGroup(id<MTLCommandBuffer> mtlCmdBuffer);
+
diff --git a/MoltenVK/MoltenVK/Commands/MVKCmdDebug.mm b/MoltenVK/MoltenVK/Commands/MVKCmdDebug.mm
index 3e15659..803a744 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCmdDebug.mm
+++ b/MoltenVK/MoltenVK/Commands/MVKCmdDebug.mm
@@ -47,7 +47,7 @@
if (mtlCmdEnc) {
[mtlCmdEnc pushDebugGroup: _markerName];
} else {
- [cmdEncoder->_mtlCmdBuffer pushDebugGroup: _markerName];
+ mvkPushDebugGroup(cmdEncoder->_mtlCmdBuffer, _markerName);
}
}
@@ -65,7 +65,7 @@
if (mtlCmdEnc) {
[mtlCmdEnc popDebugGroup];
} else {
- [cmdEncoder->_mtlCmdBuffer popDebugGroup];
+ mvkPopDebugGroup(cmdEncoder->_mtlCmdBuffer);
}
}
@@ -121,3 +121,18 @@
cmdBuff->addCommand(cmd);
}
+
+#pragma mark -
+#pragma mark Support functions
+
+void mvkPushDebugGroup(id<MTLCommandBuffer> mtlCmdBuffer, NSString* name) {
+ if ([mtlCmdBuffer respondsToSelector: @selector(pushDebugGroup:)]) {
+ [mtlCmdBuffer pushDebugGroup: name];
+ }
+}
+
+void mvkPopDebugGroup(id<MTLCommandBuffer> mtlCmdBuffer) {
+ if ([mtlCmdBuffer respondsToSelector: @selector(popDebugGroup)]) {
+ [mtlCmdBuffer popDebugGroup];
+ }
+}
diff --git a/MoltenVK/MoltenVK/Commands/MVKCmdDispatch.h b/MoltenVK/MoltenVK/Commands/MVKCmdDispatch.h
index 9213901..d6b45fa 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCmdDispatch.h
+++ b/MoltenVK/MoltenVK/Commands/MVKCmdDispatch.h
@@ -20,7 +20,6 @@
#include "MVKCommand.h"
#include "MVKMTLResourceBindings.h"
-#include <vector>
#import <Metal/Metal.h>
@@ -32,14 +31,15 @@
class MVKCmdDispatch : public MVKCommand {
public:
- void setContent(uint32_t x, uint32_t y, uint32_t z);
+ void setContent(uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ,
+ uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
void encode(MVKCommandEncoder* cmdEncoder) override;
MVKCmdDispatch(MVKCommandTypePool<MVKCmdDispatch>* pool);
protected:
- MTLSize _mtlThreadgroupCount;
+ MTLRegion _mtlThreadgroupCount;
};
@@ -71,3 +71,6 @@
/** Adds an indirect compute threadgroup dispatch command to the specified command buffer. */
void mvkCmdDispatchIndirect(MVKCommandBuffer* cmdBuff, VkBuffer buffer, VkDeviceSize offset);
+/** Adds a compute threadgroup dispatch command to the specified command buffer, with thread IDs starting from the given base. */
+void mvkCmdDispatchBase(MVKCommandBuffer* cmdBuff, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
+
diff --git a/MoltenVK/MoltenVK/Commands/MVKCmdDispatch.mm b/MoltenVK/MoltenVK/Commands/MVKCmdDispatch.mm
index d52d36a..f1f4e55 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCmdDispatch.mm
+++ b/MoltenVK/MoltenVK/Commands/MVKCmdDispatch.mm
@@ -20,6 +20,7 @@
#include "MVKCommandBuffer.h"
#include "MVKCommandPool.h"
#include "MVKBuffer.h"
+#include "MVKPipeline.h"
#include "MVKFoundation.h"
#include "mvk_datatypes.hpp"
@@ -27,18 +28,30 @@
#pragma mark -
#pragma mark MVKCmdDispatch
-void MVKCmdDispatch::setContent(uint32_t x, uint32_t y, uint32_t z) {
- _mtlThreadgroupCount.width = x;
- _mtlThreadgroupCount.height = y;
- _mtlThreadgroupCount.depth = z;
+void MVKCmdDispatch::setContent(uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ,
+ uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) {
+ _mtlThreadgroupCount = MTLRegionMake3D(baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
}
void MVKCmdDispatch::encode(MVKCommandEncoder* cmdEncoder) {
// MVKLogDebug("vkCmdDispatch() dispatching (%d, %d, %d) threadgroups.", _x, _y, _z);
cmdEncoder->finalizeDispatchState(); // Ensure all updated state has been submitted to Metal
- [cmdEncoder->getMTLComputeEncoder(kMVKCommandUseDispatch) dispatchThreadgroups: _mtlThreadgroupCount
- threadsPerThreadgroup: cmdEncoder->_mtlThreadgroupSize];
+ id<MTLComputeCommandEncoder> mtlEncoder = cmdEncoder->getMTLComputeEncoder(kMVKCommandUseDispatch);
+ auto* pipeline = (MVKComputePipeline*)cmdEncoder->_computePipelineState.getPipeline();
+ if (pipeline->allowsDispatchBase()) {
+ if ([mtlEncoder respondsToSelector: @selector(setStageInRegion:)]) {
+ // We'll use the stage-input region to pass the base along to the shader.
+ // Hopefully Metal won't complain that we didn't set up a stage-input descriptor.
+ [mtlEncoder setStageInRegion: _mtlThreadgroupCount];
+ } else {
+ // We have to pass the base group in a buffer.
+ unsigned int base[3] = {(uint32_t)_mtlThreadgroupCount.origin.x, (uint32_t)_mtlThreadgroupCount.origin.y, (uint32_t)_mtlThreadgroupCount.origin.z};
+ cmdEncoder->setComputeBytes(mtlEncoder, base, sizeof(base), pipeline->getIndirectParamsIndex().stages[kMVKShaderStageCompute]);
+ }
+ }
+ [mtlEncoder dispatchThreadgroups: _mtlThreadgroupCount.size
+ threadsPerThreadgroup: cmdEncoder->_mtlThreadgroupSize];
}
MVKCmdDispatch::MVKCmdDispatch(MVKCommandTypePool<MVKCmdDispatch>* pool)
@@ -75,7 +88,7 @@
void mvkCmdDispatch(MVKCommandBuffer* cmdBuff, uint32_t x, uint32_t y, uint32_t z) {
MVKCmdDispatch* cmd = cmdBuff->_commandPool->_cmdDispatchPool.acquireObject();
- cmd->setContent(x, y, z);
+ cmd->setContent(0, 0, 0, x, y, z);
cmdBuff->addCommand(cmd);
}
@@ -85,4 +98,11 @@
cmdBuff->addCommand(cmd);
}
+void mvkCmdDispatchBase(MVKCommandBuffer* cmdBuff, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ,
+ uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) {
+ MVKCmdDispatch* cmd = cmdBuff->_commandPool->_cmdDispatchPool.acquireObject();
+ cmd->setContent(baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
+ cmdBuff->addCommand(cmd);
+}
+
diff --git a/MoltenVK/MoltenVK/Commands/MVKCmdPipeline.h b/MoltenVK/MoltenVK/Commands/MVKCmdPipeline.h
index d5bf3dd..3812739 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCmdPipeline.h
+++ b/MoltenVK/MoltenVK/Commands/MVKCmdPipeline.h
@@ -20,7 +20,6 @@
#include "MVKCommand.h"
#include "MVKVector.h"
-#include <vector>
class MVKCommandBuffer;
class MVKPipeline;
@@ -54,9 +53,9 @@
VkPipelineStageFlags _srcStageMask;
VkPipelineStageFlags _dstStageMask;
VkDependencyFlags _dependencyFlags;
- std::vector<VkMemoryBarrier> _memoryBarriers;
- std::vector<VkBufferMemoryBarrier> _bufferMemoryBarriers;
- std::vector<VkImageMemoryBarrier> _imageMemoryBarriers;
+ MVKVectorInline<VkMemoryBarrier, 4> _memoryBarriers;
+ MVKVectorInline<VkBufferMemoryBarrier, 4> _bufferMemoryBarriers;
+ MVKVectorInline<VkImageMemoryBarrier, 4> _imageMemoryBarriers;
};
@@ -191,6 +190,54 @@
#pragma mark -
+#pragma mark MVKCmdSetResetEvent
+
+/** Vulkan command to set or reset an event. */
+class MVKCmdSetResetEvent : public MVKCommand {
+
+public:
+ void setContent(VkEvent event, VkPipelineStageFlags stageMask, bool status);
+
+ void encode(MVKCommandEncoder* cmdEncoder) override;
+
+ MVKCmdSetResetEvent(MVKCommandTypePool<MVKCmdSetResetEvent>* pool);
+
+private:
+ MVKEvent* _mvkEvent;
+ bool _status;
+
+};
+
+
+#pragma mark -
+#pragma mark MVKCmdWaitEvents
+
+/** Vulkan command to wait for an event to be signaled. */
+class MVKCmdWaitEvents : public MVKCommand {
+
+public:
+ void setContent(uint32_t eventCount,
+ const VkEvent* pEvents,
+ VkPipelineStageFlags srcStageMask,
+ VkPipelineStageFlags dstStageMask,
+ uint32_t memoryBarrierCount,
+ const VkMemoryBarrier* pMemoryBarriers,
+ uint32_t bufferMemoryBarrierCount,
+ const VkBufferMemoryBarrier* pBufferMemoryBarriers,
+ uint32_t imageMemoryBarrierCount,
+ const VkImageMemoryBarrier* pImageMemoryBarriers);
+
+ void encode(MVKCommandEncoder* cmdEncoder) override;
+
+ MVKCmdWaitEvents(MVKCommandTypePool<MVKCmdWaitEvents>* pool);
+
+private:
+ MVKVectorInline<MVKEvent*, 4> _mvkEvents;
+
+};
+
+
+#pragma mark -
#pragma mark Command creation functions
/** Adds commands to the specified command buffer that insert the specified pipeline barriers. */
@@ -242,3 +289,30 @@
VkPipelineLayout layout,
uint32_t set,
const void* pData);
+
+/** Adds a set event command to the specified command buffer. */
+void mvkCmdSetEvent(MVKCommandBuffer* cmdBuff,
+ VkEvent event,
+ VkPipelineStageFlags stageMask);
+
+/** Adds a reset event command to the specified command buffer. */
+void mvkCmdResetEvent(MVKCommandBuffer* cmdBuff,
+ VkEvent event,
+ VkPipelineStageFlags stageMask);
+
+
+/** Adds a wait events command to the specified command buffer. */
+void mvkCmdWaitEvents(MVKCommandBuffer* cmdBuff,
+ uint32_t eventCount,
+ const VkEvent* pEvents,
+ VkPipelineStageFlags srcStageMask,
+ VkPipelineStageFlags dstStageMask,
+ uint32_t memoryBarrierCount,
+ const VkMemoryBarrier* pMemoryBarriers,
+ uint32_t bufferMemoryBarrierCount,
+ const VkBufferMemoryBarrier* pBufferMemoryBarriers,
+ uint32_t imageMemoryBarrierCount,
+ const VkImageMemoryBarrier* pImageMemoryBarriers);
+
+/** Indicates that following commands are to be recorded only for the devices in the given device mask. */
+void mvkCmdSetDeviceMask(MVKCommandBuffer* cmdBuff, uint32_t deviceMask);
diff --git a/MoltenVK/MoltenVK/Commands/MVKCmdPipeline.mm b/MoltenVK/MoltenVK/Commands/MVKCmdPipeline.mm
index 18fe127..afab76a 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCmdPipeline.mm
+++ b/MoltenVK/MoltenVK/Commands/MVKCmdPipeline.mm
@@ -77,7 +77,7 @@
afterStages: srcStages
beforeStages: dstStages];
}
- std::vector<id<MTLResource>> resources;
+ MVKVectorInline<id<MTLResource>, 16> resources;
resources.reserve(_bufferMemoryBarriers.size() + _imageMemoryBarriers.size());
for (auto& mb : _bufferMemoryBarriers) {
auto* mvkBuff = (MVKBuffer*)mb.buffer;
@@ -347,6 +347,54 @@
#pragma mark -
+#pragma mark MVKCmdSetResetEvent
+
+void MVKCmdSetResetEvent::setContent(VkEvent event, VkPipelineStageFlags stageMask, bool status) {
+ _mvkEvent = (MVKEvent*)event;
+ _status = status;
+}
+
+void MVKCmdSetResetEvent::encode(MVKCommandEncoder* cmdEncoder) {
+ cmdEncoder->signalEvent(_mvkEvent, _status);
+}
+
+MVKCmdSetResetEvent::MVKCmdSetResetEvent(MVKCommandTypePool<MVKCmdSetResetEvent>* pool)
+ : MVKCommand::MVKCommand((MVKCommandTypePool<MVKCommand>*)pool) {}
+
+
+#pragma mark -
+#pragma mark MVKCmdWaitEvents
+
+void MVKCmdWaitEvents::setContent(uint32_t eventCount,
+ const VkEvent* pEvents,
+ VkPipelineStageFlags srcStageMask,
+ VkPipelineStageFlags dstStageMask,
+ uint32_t memoryBarrierCount,
+ const VkMemoryBarrier* pMemoryBarriers,
+ uint32_t bufferMemoryBarrierCount,
+ const VkBufferMemoryBarrier* pBufferMemoryBarriers,
+ uint32_t imageMemoryBarrierCount,
+ const VkImageMemoryBarrier* pImageMemoryBarriers) {
+
+ _mvkEvents.clear(); // Clear for reuse
+ _mvkEvents.reserve(eventCount);
+ for (uint32_t i = 0; i < eventCount; i++) {
+ _mvkEvents.push_back((MVKEvent*)pEvents[i]);
+ }
+
+}
+
+void MVKCmdWaitEvents::encode(MVKCommandEncoder* cmdEncoder) {
+ for (MVKEvent* mvkEvt : _mvkEvents) {
+ mvkEvt->encodeWait(cmdEncoder->_mtlCmdBuffer);
+ }
+}
+
+MVKCmdWaitEvents::MVKCmdWaitEvents(MVKCommandTypePool<MVKCmdWaitEvents>* pool)
+ : MVKCommand::MVKCommand((MVKCommandTypePool<MVKCommand>*)pool) {}
+
+
+#pragma mark -
#pragma mark Command creation functions
void mvkCmdPipelineBarrier(MVKCommandBuffer* cmdBuff,
@@ -420,3 +468,43 @@
cmd->setContent(descUpdateTemplate, layout, set, pData);
cmdBuff->addCommand(cmd);
}
+
+void mvkCmdSetEvent(MVKCommandBuffer* cmdBuff,
+ VkEvent event,
+ VkPipelineStageFlags stageMask) {
+ MVKCmdSetResetEvent* cmd = cmdBuff->_commandPool->_cmdSetResetEventPool.acquireObject();
+ cmd->setContent(event, stageMask, true);
+ cmdBuff->addCommand(cmd);
+}
+
+void mvkCmdResetEvent(MVKCommandBuffer* cmdBuff,
+ VkEvent event,
+ VkPipelineStageFlags stageMask) {
+ MVKCmdSetResetEvent* cmd = cmdBuff->_commandPool->_cmdSetResetEventPool.acquireObject();
+ cmd->setContent(event, stageMask, false);
+ cmdBuff->addCommand(cmd);
+}
+
+void mvkCmdWaitEvents(MVKCommandBuffer* cmdBuff,
+ uint32_t eventCount,
+ const VkEvent* pEvents,
+ VkPipelineStageFlags srcStageMask,
+ VkPipelineStageFlags dstStageMask,
+ uint32_t memoryBarrierCount,
+ const VkMemoryBarrier* pMemoryBarriers,
+ uint32_t bufferMemoryBarrierCount,
+ const VkBufferMemoryBarrier* pBufferMemoryBarriers,
+ uint32_t imageMemoryBarrierCount,
+ const VkImageMemoryBarrier* pImageMemoryBarriers) {
+ MVKCmdWaitEvents* cmd = cmdBuff->_commandPool->_cmdWaitEventsPool.acquireObject();
+ cmd->setContent(eventCount, pEvents,
+ srcStageMask, dstStageMask,
+ memoryBarrierCount, pMemoryBarriers,
+ bufferMemoryBarrierCount, pBufferMemoryBarriers,
+ imageMemoryBarrierCount, pImageMemoryBarriers);
+ cmdBuff->addCommand(cmd);
+}
+
+void mvkCmdSetDeviceMask(MVKCommandBuffer* cmdBuff, uint32_t deviceMask) {
+ // No-op for now...
+}
diff --git a/MoltenVK/MoltenVK/Commands/MVKCmdRenderPass.h b/MoltenVK/MoltenVK/Commands/MVKCmdRenderPass.h
index 2658c0f..0f84ff0 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCmdRenderPass.h
+++ b/MoltenVK/MoltenVK/Commands/MVKCmdRenderPass.h
@@ -20,7 +20,6 @@
#include "MVKCommand.h"
#include "MVKVector.h"
-#include <vector>
#import <Metal/Metal.h>
@@ -85,7 +84,7 @@
#pragma mark -
#pragma mark MVKCmdExecuteCommands
-/** Vulkan command to end the current render pass. */
+/** Vulkan command to execute secondary command buffers. */
class MVKCmdExecuteCommands : public MVKCommand {
public:
@@ -96,7 +95,7 @@
MVKCmdExecuteCommands(MVKCommandTypePool<MVKCmdExecuteCommands>* pool);
private:
- std::vector<MVKCommandBuffer*> _secondaryCommandBuffers;
+ MVKVectorInline<MVKCommandBuffer*, 64> _secondaryCommandBuffers;
};
#pragma mark -
diff --git a/MoltenVK/MoltenVK/Commands/MVKCmdTransfer.h b/MoltenVK/MoltenVK/Commands/MVKCmdTransfer.h
index 231924a..eaea4c9 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCmdTransfer.h
+++ b/MoltenVK/MoltenVK/Commands/MVKCmdTransfer.h
@@ -22,7 +22,7 @@
#include "MVKMTLBufferAllocation.h"
#include "MVKCommandResourceFactory.h"
#include "MVKFoundation.h"
-#include <vector>
+#include "MVKVector.h"
#import <Metal/Metal.h>
@@ -52,7 +52,8 @@
protected:
void setContent(VkImage srcImage, VkImageLayout srcImageLayout,
- VkImage dstImage, VkImageLayout dstImageLayout, MVKCommandUse commandUse);
+ VkImage dstImage, VkImageLayout dstImageLayout,
+ bool formatsMustMatch, MVKCommandUse commandUse);
void addImageCopyRegion(const VkImageCopy& region);
void addTempBufferImageCopyRegion(const VkImageCopy& region);
@@ -68,9 +69,9 @@
bool _isDstCompressed;
bool _canCopyFormats;
bool _useTempBuffer;
- std::vector<VkImageCopy> _imageCopyRegions;
- std::vector<VkBufferImageCopy> _srcTmpBuffImgCopies;
- std::vector<VkBufferImageCopy> _dstTmpBuffImgCopies;
+ MVKVectorInline<VkImageCopy, 4> _imageCopyRegions;
+ MVKVectorInline<VkBufferImageCopy, 4> _srcTmpBuffImgCopies;
+ MVKVectorInline<VkBufferImageCopy, 4> _dstTmpBuffImgCopies;
size_t _tmpBuffSize;
MVKCommandUse _commandUse;
};
@@ -117,7 +118,7 @@
MTLRenderPassDescriptor* _mtlRenderPassDescriptor;
MTLSamplerMinMagFilter _mtlFilter;
MVKRPSKeyBlitImg _blitKey;
- std::vector<MVKImageBlitRender> _mvkImageBlitRenders;
+ MVKVectorInline<MVKImageBlitRender, 4> _mvkImageBlitRenders;
};
@@ -157,11 +158,11 @@
VkImageLayout _srcLayout;
MVKImage* _dstImage;
VkImageLayout _dstLayout;
- std::vector<VkImageBlit> _expansionRegions;
- std::vector<VkImageCopy> _copyRegions;
MVKImageDescriptorData _transferImageData;
MTLRenderPassDescriptor* _mtlRenderPassDescriptor;
- std::vector<MVKMetalResolveSlice> _mtlResolveSlices;
+ MVKVectorInline<VkImageBlit, 4> _expansionRegions;
+ MVKVectorInline<VkImageCopy, 4> _copyRegions;
+ MVKVectorInline<MVKMetalResolveSlice, 4> _mtlResolveSlices;
};
@@ -186,7 +187,7 @@
MVKBuffer* _srcBuffer;
MVKBuffer* _dstBuffer;
- std::vector<VkBufferCopy> _mtlBuffCopyRegions;
+ MVKVectorInline<VkBufferCopy, 4> _mtlBuffCopyRegions;
};
@@ -215,7 +216,7 @@
MVKBuffer* _buffer;
MVKImage* _image;
VkImageLayout _imageLayout;
- std::vector<VkBufferImageCopy> _bufferImageCopyRegions;
+ MVKVectorInline<VkBufferImageCopy, 4> _bufferImageCopyRegions;
bool _toImage = false;
};
@@ -241,8 +242,8 @@
void populateVertices(float attWidth, float attHeight);
void populateVertices(VkClearRect& clearRect, float attWidth, float attHeight);
- std::vector<VkClearRect> _clearRects;
- std::vector<simd::float4> _vertices;
+ MVKVectorInline<VkClearRect, 4> _clearRects;
+ MVKVectorInline<simd::float4, (4 * 6)> _vertices;
simd::float4 _clearColors[kMVKClearAttachmentCount];
VkClearValue _vkClearValues[kMVKClearAttachmentCount];
MVKRPSKeyClearAtt _rpsKey;
@@ -278,7 +279,7 @@
MVKImage* _image;
VkImageLayout _imgLayout;
- std::vector<VkImageSubresourceRange> _subresourceRanges;
+ MVKVectorInline<VkImageSubresourceRange, 4> _subresourceRanges;
MTLClearColor _mtlColorClearValue;
double _mtlDepthClearValue;
uint32_t _mtlStencilClearValue;
@@ -303,7 +304,7 @@
protected:
MVKBuffer* _dstBuffer;
VkDeviceSize _dstOffset;
- VkDeviceSize _size;
+ uint32_t _wordCount;
uint32_t _dataValue;
};
@@ -330,7 +331,7 @@
MVKBuffer* _dstBuffer;
VkDeviceSize _dstOffset;
VkDeviceSize _dataSize;
- std::vector<uint8_t> _srcDataCache;
+ MVKVectorDefault<uint8_t> _srcDataCache;
};
diff --git a/MoltenVK/MoltenVK/Commands/MVKCmdTransfer.mm b/MoltenVK/MoltenVK/Commands/MVKCmdTransfer.mm
index ee13273..71b5fb6 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCmdTransfer.mm
+++ b/MoltenVK/MoltenVK/Commands/MVKCmdTransfer.mm
@@ -41,7 +41,7 @@
const VkImageCopy* pRegions,
MVKCommandUse commandUse) {
- setContent(srcImage, srcImageLayout, dstImage, dstImageLayout, commandUse);
+ setContent(srcImage, srcImageLayout, dstImage, dstImageLayout, false, commandUse);
for (uint32_t i = 0; i < regionCount; i++) {
addImageCopyRegion(pRegions[i]);
@@ -56,11 +56,12 @@
}
}
-// Sets basic content for use by this class and subclasses
+// Sets common content for use by this class and subclasses
void MVKCmdCopyImage::setContent(VkImage srcImage,
VkImageLayout srcImageLayout,
VkImage dstImage,
VkImageLayout dstImageLayout,
+ bool formatsMustMatch,
MVKCommandUse commandUse) {
_srcImage = (MVKImage*)srcImage;
_srcLayout = srcImageLayout;
@@ -76,7 +77,10 @@
_isDstCompressed = _dstImage->getIsCompressed();
uint32_t dstBytesPerBlock = mvkMTLPixelFormatBytesPerBlock(_dstMTLPixFmt);
- _canCopyFormats = (srcBytesPerBlock == dstBytesPerBlock) && (_srcSampleCount == _dstSampleCount);
+ _canCopyFormats = (_dstSampleCount == _srcSampleCount) && (formatsMustMatch
+ ? (_dstMTLPixFmt == _srcMTLPixFmt)
+ : (dstBytesPerBlock == srcBytesPerBlock));
+
_useTempBuffer = (_srcMTLPixFmt != _dstMTLPixFmt) && (_isSrcCompressed || _isDstCompressed); // Different formats and at least one is compressed
_commandUse = commandUse;
@@ -214,7 +218,7 @@
VkFilter filter,
MVKCommandUse commandUse) {
- MVKCmdCopyImage::setContent(srcImage, srcImageLayout, dstImage, dstImageLayout, commandUse);
+ MVKCmdCopyImage::setContent(srcImage, srcImageLayout, dstImage, dstImageLayout, true, commandUse);
_mtlFilter = mvkMTLSamplerMinMagFilterFromVkFilter(filter);
@@ -1056,7 +1060,11 @@
}
// Validate
- if ( !_image->getSupportsAllFormatFeatures(VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT) ) {
+ if (_image->getImageType() == VK_IMAGE_TYPE_1D) {
+ setConfigurationResult(reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCmdClearImage(): 1D images cannot be cleared on this device."));
+ }
+ if ((_isDepthStencilClear && !_image->getSupportsAllFormatFeatures(VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT)) ||
+ (!_isDepthStencilClear && !_image->getSupportsAllFormatFeatures(VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT))) {
setConfigurationResult(reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCmdClearImage(): Format %s cannot be cleared on this device.", mvkVkFormatName(_image->getVkFormat())));
}
}
@@ -1144,43 +1152,62 @@
#pragma mark -
#pragma mark MVKCmdFillBuffer
-// Matches shader struct
-typedef struct {
- uint32_t size;
- uint32_t data;
-} MVKCmdFillBufferInfo;
-
void MVKCmdFillBuffer::setContent(VkBuffer dstBuffer,
VkDeviceSize dstOffset,
VkDeviceSize size,
uint32_t data) {
_dstBuffer = (MVKBuffer*)dstBuffer;
_dstOffset = dstOffset;
- _size = size;
_dataValue = data;
+
+ // Round up in case of VK_WHOLE_SIZE on a buffer size which is not aligned to 4 bytes.
+ VkDeviceSize byteCnt = (size == VK_WHOLE_SIZE) ? (_dstBuffer->getByteCount() - _dstOffset) : size;
+ VkDeviceSize wdCnt = (byteCnt + 3) >> 2;
+ if (mvkFits<uint32_t>(wdCnt)) {
+ _wordCount = (uint32_t)wdCnt;
+ } else {
+ setConfigurationResult(reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCmdFillBuffer(): Buffer fill size must fit into a 32-bit unsigned integer. Fill size %llu is too large.", wdCnt));
+ _wordCount = std::numeric_limits<uint32_t>::max();
+ }
}
void MVKCmdFillBuffer::encode(MVKCommandEncoder* cmdEncoder) {
- id<MTLBuffer> dstMTLBuff = _dstBuffer->getMTLBuffer();
- VkDeviceSize dstMTLBuffOffset = _dstBuffer->getMTLBufferOffset();
- VkDeviceSize byteCnt = (_size == VK_WHOLE_SIZE) ? (_dstBuffer->getByteCount() - _dstOffset) : _size;
+ if (_wordCount == 0) { return; }
- // Round up in case of VK_WHOLE_SIZE on a buffer size which is not aligned to 4 bytes.
- VkDeviceSize wordCnt = (byteCnt + 3) >> 2;
+ id<MTLBuffer> dstMTLBuff = _dstBuffer->getMTLBuffer();
+ NSUInteger dstMTLBuffOffset = _dstBuffer->getMTLBufferOffset() + _dstOffset;
- MVKAssert(mvkFits<uint32_t>(wordCnt),
- "Buffer fill size must fit into a 32-bit unsigned integer.");
+ // Determine the number of full threadgroups we can dispatch to cover the buffer content efficiently.
+ // Some GPU's report different values for max threadgroup width between the pipeline state and device,
+ // so conservatively use the minimum of these two reported values.
+ id<MTLComputePipelineState> cps = getCommandEncodingPool()->getCmdFillBufferMTLComputePipelineState();
+ NSUInteger tgWidth = std::min(cps.maxTotalThreadsPerThreadgroup, getMTLDevice().maxThreadsPerThreadgroup.width);
+ NSUInteger tgCount = _wordCount / tgWidth;
- MVKCmdFillBufferInfo fillInfo;
- fillInfo.size = (uint32_t)wordCnt;
- fillInfo.data = _dataValue;
-
- id<MTLComputeCommandEncoder> mtlComputeEnc = cmdEncoder->getMTLComputeEncoder(kMVKCommandUseCopyBuffer);
+ id<MTLComputeCommandEncoder> mtlComputeEnc = cmdEncoder->getMTLComputeEncoder(kMVKCommandUseFillBuffer);
[mtlComputeEnc pushDebugGroup: @"vkCmdFillBuffer"];
- [mtlComputeEnc setComputePipelineState: getCommandEncodingPool()->getCmdFillBufferMTLComputePipelineState()];
- [mtlComputeEnc setBuffer: dstMTLBuff offset: dstMTLBuffOffset+_dstOffset atIndex: 0];
- [mtlComputeEnc setBytes: &fillInfo length: sizeof(fillInfo) atIndex: 1];
- [mtlComputeEnc dispatchThreadgroups: MTLSizeMake(1, 1, 1) threadsPerThreadgroup: MTLSizeMake(1, 1, 1)];
+ [mtlComputeEnc setComputePipelineState: cps];
+ [mtlComputeEnc setBytes: &_dataValue length: sizeof(_dataValue) atIndex: 1];
+ [mtlComputeEnc setBuffer: dstMTLBuff offset: dstMTLBuffOffset atIndex: 0];
+
+ // Run as many full threadgroups as will fit into the buffer content.
+ if (tgCount > 0) {
+ [mtlComputeEnc dispatchThreadgroups: MTLSizeMake(tgCount, 1, 1)
+ threadsPerThreadgroup: MTLSizeMake(tgWidth, 1, 1)];
+ }
+
+ // If there is left-over buffer content after running full threadgroups, or if the buffer content
+ // fits within a single threadgroup, run a single partial threadgroup of the appropriate size.
+ uint32_t remainderWordCount = _wordCount % tgWidth;
+ if (remainderWordCount > 0) {
+ if (tgCount > 0) { // If we've already written full threadgroups, skip ahead to unwritten content
+ dstMTLBuffOffset += tgCount * tgWidth * sizeof(_dataValue);
+ [mtlComputeEnc setBufferOffset: dstMTLBuffOffset atIndex: 0];
+ }
+ [mtlComputeEnc dispatchThreadgroups: MTLSizeMake(1, 1, 1)
+ threadsPerThreadgroup: MTLSizeMake(remainderWordCount, 1, 1)];
+ }
+
[mtlComputeEnc popDebugGroup];
}
diff --git a/MoltenVK/MoltenVK/Commands/MVKCommand.h b/MoltenVK/MoltenVK/Commands/MVKCommand.h
index ce32b91..4d71165 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCommand.h
+++ b/MoltenVK/MoltenVK/Commands/MVKCommand.h
@@ -33,7 +33,7 @@
#pragma mark MVKCommand
/** Abstract class that represents a Vulkan command. */
-class MVKCommand : public MVKConfigurableObject {
+class MVKCommand : public MVKConfigurableObject, public MVKLinkableMixin<MVKCommand> {
public:
@@ -50,7 +50,7 @@
virtual void encode(MVKCommandEncoder* cmdEncoder) = 0;
/**
- * Returns this object back to the pool that created it. This will reset the value of _next member.
+ * Returns this object back to the pool that created it.
*
* This method is not thread-safe. Vulkan Command Pools are externally synchronized.
* For a particular MVKCommandTypePool instance, all calls to pool->aquireObject(),
@@ -78,13 +78,6 @@
/** Returns the underlying Metal device. */
id<MTLDevice> getMTLDevice();
- /**
- * Instances of this class can participate in a linked list or pool. When so participating,
- * this is a reference to the next instance in the list or pool. This value should only be
- * managed and set by the list or pool.
- */
- MVKCommand* _next = nullptr;
-
protected:
MVKCommandTypePool<MVKCommand>* _pool;
MVKCommandBuffer* _commandBuffer = nullptr;
diff --git a/MoltenVK/MoltenVK/Commands/MVKCommandBuffer.h b/MoltenVK/MoltenVK/Commands/MVKCommandBuffer.h
index 2a6289a..bbff428 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCommandBuffer.h
+++ b/MoltenVK/MoltenVK/Commands/MVKCommandBuffer.h
@@ -23,8 +23,8 @@
#include "MVKCommandEncoderState.h"
#include "MVKMTLBufferAllocation.h"
#include "MVKCmdPipeline.h"
+#include "MVKQueryPool.h"
#include "MVKVector.h"
-#include <vector>
#include <unordered_map>
class MVKCommandPool;
@@ -50,8 +50,9 @@
#pragma mark MVKCommandBuffer
/** Represents a Vulkan command pool. */
-class MVKCommandBuffer : public MVKDispatchableVulkanAPIObject, public MVKDeviceTrackingMixin {
-
+class MVKCommandBuffer : public MVKDispatchableVulkanAPIObject,
+ public MVKDeviceTrackingMixin,
+ public MVKLinkableMixin<MVKCommandBuffer> {
public:
/** Returns the Vulkan type of this object. */
@@ -96,13 +97,6 @@
*/
id<MTLBuffer> _initialVisibilityResultMTLBuffer;
- /**
- * Instances of this class can participate in a linked list or pool. When so participating,
- * this is a reference to the next instance in the list or pool. This value should only be
- * managed and set by the list or pool.
- */
- MVKCommandBuffer* _next;
-
#pragma mark Constituent render pass management
/** Preps metadata for recording render pass */
@@ -246,7 +240,7 @@
/*** Holds a collection of active queries for each query pool. */
-typedef std::unordered_map<MVKQueryPool*, std::vector<uint32_t>> MVKActivatedQueries;
+typedef std::unordered_map<MVKQueryPool*, MVKVectorInline<uint32_t, kMVKDefaultQueryCount>> MVKActivatedQueries;
/**
* MVKCommandEncoder uses a visitor design pattern iterate the commands in a MVKCommandBuffer,
@@ -289,6 +283,9 @@
/** Binds a pipeline to a bind point. */
void bindPipeline(VkPipelineBindPoint pipelineBindPoint, MVKPipeline* pipeline);
+ /** Encodes an operation to signal an event to a status. */
+ void signalEvent(MVKEvent* mvkEvent, bool status);
+
/**
* If a pipeline is currently bound, returns whether the current pipeline permits dynamic
* setting of the specified state. If no pipeline is currently bound, returns true.
diff --git a/MoltenVK/MoltenVK/Commands/MVKCommandBuffer.mm b/MoltenVK/MoltenVK/Commands/MVKCommandBuffer.mm
index 40dfbd9..c8fbbdd 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCommandBuffer.mm
+++ b/MoltenVK/MoltenVK/Commands/MVKCommandBuffer.mm
@@ -359,6 +359,11 @@
}
}
+void MVKCommandEncoder::signalEvent(MVKEvent* mvkEvent, bool status) {
+ endCurrentMetalEncoding();
+ mvkEvent->encodeSignal(_mtlCmdBuffer, status);
+}
+
bool MVKCommandEncoder::supportsDynamicState(VkDynamicState state) {
MVKGraphicsPipeline* gpl = (MVKGraphicsPipeline*)_graphicsPipelineState.getPipeline();
return !gpl || gpl->supportsDynamicState(state);
@@ -398,7 +403,7 @@
// Clears the render area of the framebuffer attachments.
void MVKCommandEncoder::clearRenderArea() {
- vector<VkClearAttachment> clearAtts;
+ MVKVectorInline<VkClearAttachment, kMVKDefaultAttachmentCount> clearAtts;
getSubpass()->populateClearAttachments(clearAtts, _clearValues);
uint32_t clearAttCnt = (uint32_t)clearAtts.size();
diff --git a/MoltenVK/MoltenVK/Commands/MVKCommandEncoderState.h b/MoltenVK/MoltenVK/Commands/MVKCommandEncoderState.h
index 901f457..7fd30e8 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCommandEncoderState.h
+++ b/MoltenVK/MoltenVK/Commands/MVKCommandEncoderState.h
@@ -62,7 +62,7 @@
* will be encoded to Metal, otherwise it is marked as clean, so the contents will NOT
* be encoded. Default state can be left unencoded on a new Metal encoder.
*/
- void beginMetalRenderPass() { if (_isModified) { markDirty(); } }
+ virtual void beginMetalRenderPass() { if (_isModified) { markDirty(); } }
/**
* If the content of this instance is dirty, marks this instance as no longer dirty
@@ -237,6 +237,8 @@
*/
void setStencilWriteMask(VkStencilFaceFlags faceMask, uint32_t stencilWriteMask);
+ void beginMetalRenderPass() override;
+
/** Constructs this instance for the specified command encoder. */
MVKDepthStencilCommandEncoderState(MVKCommandEncoder* cmdEncoder)
: MVKCommandEncoderState(cmdEncoder) {}
@@ -248,7 +250,9 @@
const VkStencilOpState& vkStencil,
bool enabled);
- MVKMTLDepthStencilDescriptorData _depthStencilData;
+ MVKMTLDepthStencilDescriptorData _depthStencilData = kMVKMTLDepthStencilDescriptorDataDefault;
+ bool _hasDepthAttachment = false;
+ bool _hasStencilAttachment = false;
};
@@ -519,11 +523,11 @@
void resetImpl() override;
void markDirty() override;
- MVKVectorDefault<MVKMTLBufferBinding> _bufferBindings;
- MVKVectorDefault<MVKMTLTextureBinding> _textureBindings;
- MVKVectorDefault<MVKMTLSamplerStateBinding> _samplerStateBindings;
- MVKVectorDefault<uint32_t> _swizzleConstants;
- MVKVectorDefault<uint32_t> _bufferSizes;
+ MVKVectorInline<MVKMTLBufferBinding, 4> _bufferBindings;
+ MVKVectorInline<MVKMTLTextureBinding, 4> _textureBindings;
+ MVKVectorInline<MVKMTLSamplerStateBinding, 4> _samplerStateBindings;
+ MVKVectorInline<uint32_t, 4> _swizzleConstants;
+ MVKVectorInline<uint32_t, 4> _bufferSizes;
MVKMTLBufferBinding _swizzleBufferBinding;
MVKMTLBufferBinding _bufferSizeBufferBinding;
diff --git a/MoltenVK/MoltenVK/Commands/MVKCommandEncoderState.mm b/MoltenVK/MoltenVK/Commands/MVKCommandEncoderState.mm
index b6aa2e0..42ff1a1 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCommandEncoderState.mm
+++ b/MoltenVK/MoltenVK/Commands/MVKCommandEncoderState.mm
@@ -312,26 +312,43 @@
markDirty();
}
+void MVKDepthStencilCommandEncoderState::beginMetalRenderPass() {
+ MVKRenderSubpass* mvkSubpass = _cmdEncoder->getSubpass();
+ MTLPixelFormat mtlDSFormat = _cmdEncoder->getMTLPixelFormatFromVkFormat(mvkSubpass->getDepthStencilFormat());
+
+ bool prevHasDepthAttachment = _hasDepthAttachment;
+ _hasDepthAttachment = mvkMTLPixelFormatIsDepthFormat(mtlDSFormat);
+ if (_hasDepthAttachment != prevHasDepthAttachment) { markDirty(); }
+
+ bool prevHasStencilAttachment = _hasStencilAttachment;
+ _hasStencilAttachment = mvkMTLPixelFormatIsStencilFormat(mtlDSFormat);
+ if (_hasStencilAttachment != prevHasStencilAttachment) { markDirty(); }
+}
+
void MVKDepthStencilCommandEncoderState::encodeImpl(uint32_t stage) {
- if (stage != kMVKGraphicsStageRasterization && stage != kMVKGraphicsStageVertex) { return; }
- MVKRenderSubpass *subpass = _cmdEncoder->getSubpass();
- id<MTLDepthStencilState> mtlDSS = nil;
- if (stage != kMVKGraphicsStageVertex && subpass->getDepthStencilFormat() != VK_FORMAT_UNDEFINED) {
- mtlDSS = _cmdEncoder->getCommandEncodingPool()->getMTLDepthStencilState(_depthStencilData);
- } else {
- // If there is no depth attachment but the depth/stencil state contains a non-always depth
- // test, Metal Validation will give the following error:
- // "validateDepthStencilState:3657: failed assertion `MTLDepthStencilDescriptor sets
- // depth test but MTLRenderPassDescriptor has a nil depthAttachment texture'"
- // Check the subpass to see if there is a depth/stencil attachment, and if not use
- // a depth/stencil state with depth test always, depth write disabled, and no stencil state.
- mtlDSS = _cmdEncoder->getCommandEncodingPool()->getMTLDepthStencilState(false, false);
- }
- [_cmdEncoder->_mtlRenderEncoder setDepthStencilState: mtlDSS];
+ auto cmdEncPool = _cmdEncoder->getCommandEncodingPool();
+ switch (stage) {
+ case kMVKGraphicsStageRasterization: {
+ // If renderpass does not have a depth or a stencil attachment, disable corresponding test
+ MVKMTLDepthStencilDescriptorData adjustedDSData = _depthStencilData;
+ adjustedDSData.disable(!_hasDepthAttachment, !_hasStencilAttachment);
+ [_cmdEncoder->_mtlRenderEncoder setDepthStencilState: cmdEncPool->getMTLDepthStencilState(adjustedDSData)];
+ break;
+ }
+ case kMVKGraphicsStageVertex: {
+ // Vertex stage of tessellation pipeline requires depth/stencil testing be disabled
+ [_cmdEncoder->_mtlRenderEncoder setDepthStencilState: cmdEncPool->getMTLDepthStencilState(false, false)];
+ break;
+ }
+ default: // Do nothing on other stages
+ break;
+ }
}
void MVKDepthStencilCommandEncoderState::resetImpl() {
_depthStencilData = kMVKMTLDepthStencilDescriptorDataDefault;
+ _hasDepthAttachment = false;
+ _hasStencilAttachment = false;
}
diff --git a/MoltenVK/MoltenVK/Commands/MVKCommandPipelineStateFactoryShaderSource.h b/MoltenVK/MoltenVK/Commands/MVKCommandPipelineStateFactoryShaderSource.h
index 6726212..4e5065d 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCommandPipelineStateFactoryShaderSource.h
+++ b/MoltenVK/MoltenVK/Commands/MVKCommandPipelineStateFactoryShaderSource.h
@@ -93,16 +93,10 @@
} \n\
}; \n\
\n\
-typedef struct { \n\
- uint32_t size; \n\
- uint32_t data; \n\
-} FillInfo; \n\
- \n\
kernel void cmdFillBuffer(device uint32_t* dst [[ buffer(0) ]], \n\
- constant FillInfo& info [[ buffer(1) ]]) { \n\
- for (uint32_t i = 0; i < info.size; i++) { \n\
- dst[i] = info.data; \n\
- } \n\
+ constant uint32_t& fillValue [[ buffer(1) ]], \n\
+ uint pos [[thread_position_in_grid]]) { \n\
+ dst[pos] = fillValue; \n\
}; \n\
\n\
typedef struct { \n\
diff --git a/MoltenVK/MoltenVK/Commands/MVKCommandPool.h b/MoltenVK/MoltenVK/Commands/MVKCommandPool.h
index 45cc0a6..e65989e 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCommandPool.h
+++ b/MoltenVK/MoltenVK/Commands/MVKCommandPool.h
@@ -149,6 +149,10 @@
MVKCommandTypePool<MVKCmdDebugMarkerInsert> _cmdDebugMarkerInsertPool;
+ MVKCommandTypePool<MVKCmdSetResetEvent> _cmdSetResetEventPool;
+
+ MVKCommandTypePool<MVKCmdWaitEvents> _cmdWaitEventsPool;
+
#pragma mark Command resources
diff --git a/MoltenVK/MoltenVK/Commands/MVKCommandPool.mm b/MoltenVK/MoltenVK/Commands/MVKCommandPool.mm
index 1c5d51e..6c95e70 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCommandPool.mm
+++ b/MoltenVK/MoltenVK/Commands/MVKCommandPool.mm
@@ -123,6 +123,11 @@
_cmdDispatchIndirectPool.clear();
_cmdPushDescriptorSetPool.clear();
_cmdPushSetWithTemplatePool.clear();
+ _cmdDebugMarkerBeginPool.clear();
+ _cmdDebugMarkerEndPool.clear();
+ _cmdDebugMarkerInsertPool.clear();
+ _cmdSetResetEventPool.clear();
+ _cmdWaitEventsPool.clear();
}
@@ -131,9 +136,9 @@
MVKCommandPool::MVKCommandPool(MVKDevice* device,
const VkCommandPoolCreateInfo* pCreateInfo) :
MVKVulkanAPIDeviceObject(device),
+ _queueFamilyIndex(pCreateInfo->queueFamilyIndex),
_commandBufferPool(device),
_commandEncodingPool(this),
- _queueFamilyIndex(pCreateInfo->queueFamilyIndex),
_cmdPipelineBarrierPool(this),
_cmdBindPipelinePool(this),
_cmdBeginRenderPassPool(this),
@@ -143,13 +148,13 @@
_cmdBindDescriptorSetsPool(this),
_cmdSetViewportPool(this),
_cmdSetScissorPool(this),
- _cmdSetLineWidthPool(this),
- _cmdSetDepthBiasPool(this),
- _cmdSetBlendConstantsPool(this),
- _cmdSetDepthBoundsPool(this),
- _cmdSetStencilCompareMaskPool(this),
- _cmdSetStencilWriteMaskPool(this),
- _cmdSetStencilReferencePool(this),
+ _cmdSetLineWidthPool(this),
+ _cmdSetDepthBiasPool(this),
+ _cmdSetBlendConstantsPool(this),
+ _cmdSetDepthBoundsPool(this),
+ _cmdSetStencilCompareMaskPool(this),
+ _cmdSetStencilWriteMaskPool(this),
+ _cmdSetStencilReferencePool(this),
_cmdBindVertexBuffersPool(this),
_cmdBindIndexBufferPool(this),
_cmdDrawPool(this),
@@ -158,26 +163,29 @@
_cmdDrawIndexedIndirectPool(this),
_cmdCopyImagePool(this),
_cmdBlitImagePool(this),
- _cmdResolveImagePool(this),
- _cmdFillBufferPool(this),
- _cmdUpdateBufferPool(this),
+ _cmdResolveImagePool(this),
+ _cmdFillBufferPool(this),
+ _cmdUpdateBufferPool(this),
_cmdCopyBufferPool(this),
- _cmdBufferImageCopyPool(this),
+ _cmdBufferImageCopyPool(this),
_cmdClearAttachmentsPool(this),
_cmdClearImagePool(this),
- _cmdBeginQueryPool(this),
- _cmdEndQueryPool(this),
+ _cmdBeginQueryPool(this),
+ _cmdEndQueryPool(this),
_cmdWriteTimestampPool(this),
- _cmdResetQueryPoolPool(this),
- _cmdCopyQueryPoolResultsPool(this),
+ _cmdResetQueryPoolPool(this),
+ _cmdCopyQueryPoolResultsPool(this),
_cmdPushConstantsPool(this),
- _cmdDispatchPool(this),
- _cmdDispatchIndirectPool(this),
- _cmdPushDescriptorSetPool(this),
- _cmdPushSetWithTemplatePool(this),
+ _cmdDispatchPool(this),
+ _cmdDispatchIndirectPool(this),
+ _cmdPushDescriptorSetPool(this),
+ _cmdPushSetWithTemplatePool(this),
_cmdDebugMarkerBeginPool(this),
_cmdDebugMarkerEndPool(this),
- _cmdDebugMarkerInsertPool(this)
+ _cmdDebugMarkerInsertPool(this),
+ _cmdSetResetEventPool(this),
+ _cmdWaitEventsPool(this)
+// when extending be sure to add to trim() as well
{}
MVKCommandPool::~MVKCommandPool() {
diff --git a/MoltenVK/MoltenVK/Commands/MVKCommandResourceFactory.h b/MoltenVK/MoltenVK/Commands/MVKCommandResourceFactory.h
index a14e2de..46e0fb5 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCommandResourceFactory.h
+++ b/MoltenVK/MoltenVK/Commands/MVKCommandResourceFactory.h
@@ -207,18 +207,24 @@
return mvkHash((uint64_t*)this, sizeof(*this) / sizeof(uint64_t));
}
- MVKMTLDepthStencilDescriptorData_t() {
+ /** Disable depth and/or stencil testing. */
+ void disable(bool disableDepth, bool disableStencil) {
+ if (disableDepth) {
+ depthCompareFunction = MTLCompareFunctionAlways;
+ depthWriteEnabled = false;
+ }
+ if (disableStencil) {
+ frontFaceStencilData = kMVKMTLStencilDescriptorDataDefault;
+ backFaceStencilData = kMVKMTLStencilDescriptorDataDefault;
+ }
+ }
- // Start with all zeros to ensure memory comparisons will work,
- // even if the structure contains alignment gaps.
- memset(this, 0, sizeof(*this));
-
- depthCompareFunction = MTLCompareFunctionAlways;
- depthWriteEnabled = false;
-
- frontFaceStencilData = kMVKMTLStencilDescriptorDataDefault;
- backFaceStencilData = kMVKMTLStencilDescriptorDataDefault;
- }
+ MVKMTLDepthStencilDescriptorData_t() {
+ // Start with all zeros to ensure memory comparisons will work,
+ // even if the structure contains alignment gaps.
+ memset(this, 0, sizeof(*this));
+ disable(true, true);
+ }
} __attribute__((aligned(sizeof(uint64_t)))) MVKMTLDepthStencilDescriptorData;
@@ -345,10 +351,7 @@
id<MTLRenderPipelineState> newCmdClearMTLRenderPipelineState(MVKRPSKeyClearAtt& attKey,
MVKVulkanAPIDeviceObject* owner);
- /**
- * Returns a new MTLDepthStencilState dedicated to rendering to several
- * attachments to support clearing regions of those attachments.
- */
+ /** Returns a new MTLDepthStencilState that always writes to the depth and/or stencil attachments. */
id<MTLDepthStencilState> newMTLDepthStencilState(bool useDepth, bool useStencil);
/**
diff --git a/MoltenVK/MoltenVK/Commands/MVKMTLBufferAllocation.h b/MoltenVK/MoltenVK/Commands/MVKMTLBufferAllocation.h
index 822dac8..c5ff171 100644
--- a/MoltenVK/MoltenVK/Commands/MVKMTLBufferAllocation.h
+++ b/MoltenVK/MoltenVK/Commands/MVKMTLBufferAllocation.h
@@ -22,7 +22,7 @@
#include "MVKFoundation.h"
#include "MVKObjectPool.h"
#include "MVKDevice.h"
-#include <vector>
+#include "MVKVector.h"
class MVKMTLBufferAllocationPool;
@@ -31,7 +31,7 @@
#pragma mark MVKMTLBufferAllocation
/** Defines a contiguous region of bytes within a MTLBuffer. */
-class MVKMTLBufferAllocation : public MVKBaseObject {
+class MVKMTLBufferAllocation : public MVKBaseObject, public MVKLinkableMixin<MVKMTLBufferAllocation> {
public:
id<MTLBuffer> _mtlBuffer;
@@ -50,7 +50,7 @@
/** Returns the pool whence this object was created. */
MVKMTLBufferAllocationPool* getPool() const { return _pool; }
- /** Returns this object back to the pool that created it. This will reset the value of _next member. */
+ /** Returns this object back to the pool that created it. */
void returnToPool();
/** Constructs this instance with the specified pool as its origin. */
@@ -59,13 +59,6 @@
NSUInteger offset,
NSUInteger length) : _pool(pool), _mtlBuffer(mtlBuffer), _offset(offset), _length(length) {}
- /**
- * Instances of this class can participate in a linked list or pool. When so participating,
- * this is a reference to the next instance in the list or pool. This value should only be
- * managed and set by the list or pool.
- */
- MVKMTLBufferAllocation* _next = nullptr;
-
protected:
MVKMTLBufferAllocationPool* _pool;
@@ -104,7 +97,7 @@
NSUInteger _nextOffset;
NSUInteger _allocationLength;
NSUInteger _mtlBufferLength;
- std::vector<id<MTLBuffer>> _mtlBuffers;
+ MVKVectorInline<id<MTLBuffer>, 64> _mtlBuffers;
MVKDevice* _device;
};
@@ -149,7 +142,7 @@
~MVKMTLBufferAllocator() override;
protected:
- std::vector<MVKMTLBufferAllocationPool*> _regionPools;
+ MVKVectorInline<MVKMTLBufferAllocationPool*, 32> _regionPools;
NSUInteger _maxAllocationLength;
bool _makeThreadSafe;
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKBuffer.mm b/MoltenVK/MoltenVK/GPUObjects/MVKBuffer.mm
index bf1be23..b2d18e3 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKBuffer.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKBuffer.mm
@@ -117,10 +117,8 @@
#endif
}
-/**
- * Returns whether the specified buffer memory barrier requires a sync between this
- * buffer and host memory for the purpose of the host reading texture memory.
- */
+// Returns whether the specified buffer memory barrier requires a sync between this
+// buffer and host memory for the purpose of the host reading texture memory.
bool MVKBuffer::needsHostReadSync(VkPipelineStageFlags srcStageMask,
VkPipelineStageFlags dstStageMask,
VkBufferMemoryBarrier* pBufferMemoryBarrier) {
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.h b/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.h
index 6bd5ae8..9b80795 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.h
@@ -24,7 +24,6 @@
#include <MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.h>
#include <unordered_set>
#include <unordered_map>
-#include <vector>
class MVKDescriptorPool;
class MVKDescriptorBinding;
@@ -118,7 +117,7 @@
MVKDescriptorSetLayout* _layout;
VkDescriptorSetLayoutBinding _info;
- std::vector<MVKSampler*> _immutableSamplers;
+ MVKVectorInline<MVKSampler*, 16> _immutableSamplers;
MVKShaderResourceBinding _mtlResourceIndexOffsets;
bool _applyToStage[kMVKShaderStageMax];
};
@@ -272,13 +271,13 @@
MVKDescriptorSet* _pDescSet;
MVKDescriptorSetLayoutBinding* _pBindingLayout;
- std::vector<VkDescriptorImageInfo> _imageBindings;
- std::vector<VkDescriptorBufferInfo> _bufferBindings;
- std::vector<VkBufferView> _texelBufferBindings;
- std::vector<id<MTLBuffer>> _mtlBuffers;
- std::vector<NSUInteger> _mtlBufferOffsets;
- std::vector<id<MTLTexture>> _mtlTextures;
- std::vector<id<MTLSamplerState>> _mtlSamplers;
+ MVKVectorInline<VkDescriptorImageInfo, 1> _imageBindings;
+ MVKVectorInline<VkDescriptorBufferInfo, 1> _bufferBindings;
+ MVKVectorInline<VkBufferView, 1> _texelBufferBindings;
+ MVKVectorInline<id<MTLBuffer>, 1> _mtlBuffers;
+ MVKVectorInline<NSUInteger, 1> _mtlBufferOffsets;
+ MVKVectorInline<id<MTLTexture>, 1> _mtlTextures;
+ MVKVectorInline<id<MTLSamplerState>, 1> _mtlSamplers;
bool _hasDynamicSamplers;
};
@@ -287,7 +286,7 @@
#pragma mark MVKDescriptorSet
/** Represents a Vulkan descriptor set. */
-class MVKDescriptorSet : public MVKVulkanAPIDeviceObject {
+class MVKDescriptorSet : public MVKVulkanAPIDeviceObject, public MVKLinkableMixin<MVKDescriptorSet> {
public:
@@ -313,13 +312,6 @@
VkDescriptorBufferInfo* pBufferInfo,
VkBufferView* pTexelBufferView);
- /**
- * Instances of this class can participate in a linked list or pool. When so participating,
- * this is a reference to the next instance in the list or pool. This value should only be
- * managed and set by the list or pool.
- */
- MVKDescriptorSet* _next;
-
MVKDescriptorSet(MVKDevice* device) : MVKVulkanAPIDeviceObject(device) {}
protected:
@@ -331,7 +323,7 @@
MVKDescriptorBinding* getBinding(uint32_t binding);
MVKDescriptorSetLayout* _pLayout = nullptr;
- std::vector<MVKDescriptorBinding> _bindings;
+ MVKVectorInline<MVKDescriptorBinding, 8> _bindings;
};
@@ -415,7 +407,7 @@
void propogateDebugName() override {}
VkDescriptorUpdateTemplateTypeKHR _type;
- std::vector<VkDescriptorUpdateTemplateEntryKHR> _entries;
+ MVKVectorInline<VkDescriptorUpdateTemplateEntryKHR, 4> _entries;
};
#pragma mark -
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.h b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.h
index ce9e2f1..800d5c1 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.h
@@ -22,9 +22,9 @@
#include "MVKVulkanAPIObject.h"
#include "MVKLayers.h"
#include "MVKObjectPool.h"
+#include "MVKVector.h"
#include "mvk_datatypes.hpp"
#include "vk_mvk_moltenvk.h"
-#include <vector>
#include <string>
#include <mutex>
@@ -47,6 +47,7 @@
class MVKDeviceMemory;
class MVKFence;
class MVKSemaphore;
+class MVKEvent;
class MVKQueryPool;
class MVKShaderModule;
class MVKPipelineCache;
@@ -67,6 +68,10 @@
const static uint32_t kMVKVertexContentBufferIndex = 0;
// Parameters to define the sizing of inline collections
+const static uint32_t kMVKQueueFamilyCount = 4;
+const static uint32_t kMVKQueueCountPerQueueFamily = 1; // Must be 1. See comments in MVKPhysicalDevice::getQueueFamilies()
+const static uint32_t kMVKMinSwapchainImageCount = 2;
+const static uint32_t kMVKMaxSwapchainImageCount = 3;
const static uint32_t kMVKCachedViewportScissorCount = 16;
const static uint32_t kMVKCachedColorAttachmentCount = 8;
@@ -337,8 +342,7 @@
uint64_t getRecommendedMaxWorkingSetSize();
uint64_t getCurrentAllocatedSize();
void initExtensions();
- MVKExtensionList* getSupportedExtensions(const char* pLayerName = nullptr);
- std::vector<MVKQueueFamily*>& getQueueFamilies();
+ MVKVector<MVKQueueFamily*>& getQueueFamilies();
void initPipelineCacheUUID();
uint32_t getHighestMTLFeatureSet();
uint64_t getSpirvCrossRevision();
@@ -347,13 +351,13 @@
id<MTLDevice> _mtlDevice;
MVKInstance* _mvkInstance;
- MVKExtensionList _supportedExtensions;
+ const MVKExtensionList _supportedExtensions;
VkPhysicalDeviceFeatures _features;
MVKPhysicalDeviceMetalFeatures _metalFeatures;
VkPhysicalDeviceProperties _properties;
VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT _texelBuffAlignProperties;
VkPhysicalDeviceMemoryProperties _memoryProperties;
- std::vector<MVKQueueFamily*> _queueFamilies;
+ MVKVectorInline<MVKQueueFamily*, kMVKQueueFamilyCount> _queueFamilies;
uint32_t _allMemoryTypes;
uint32_t _hostVisibleMemoryTypes;
uint32_t _hostCoherentMemoryTypes;
@@ -365,6 +369,11 @@
#pragma mark -
#pragma mark MVKDevice
+typedef struct {
+ id<MTLBlitCommandEncoder> mtlBlitEncoder = nil;
+ id<MTLCommandBuffer> mtlCmdBuffer = nil;
+} MVKMTLBlitEncoder;
+
/** Represents a Vulkan logical GPU device, associated with a physical device. */
class MVKDevice : public MVKDispatchableVulkanAPIObject {
@@ -392,7 +401,7 @@
PFN_vkVoidFunction getProcAddr(const char* pName);
/** Retrieves a queue at the specified index within the specified family. */
- MVKQueue* getQueue(uint32_t queueFamilyIndex, uint32_t queueIndex);
+ MVKQueue* getQueue(uint32_t queueFamilyIndex = 0, uint32_t queueIndex = 0);
/** Block the current thread until all queues in this device are idle. */
VkResult waitIdle();
@@ -407,6 +416,9 @@
/** Populates the device group surface presentation modes. */
VkResult getDeviceGroupSurfacePresentModes(MVKSurface* surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
+ /** Populates the device group peer memory features. */
+ void getPeerMemoryFeatures(uint32_t heapIndex, uint32_t localDevice, uint32_t remoteDevice, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
+
#pragma mark Object lifecycle
@@ -451,6 +463,11 @@
void destroySemaphore(MVKSemaphore* mvkSem4,
const VkAllocationCallbacks* pAllocator);
+ MVKEvent* createEvent(const VkEventCreateInfo* pCreateInfo,
+ const VkAllocationCallbacks* pAllocator);
+ void destroyEvent(MVKEvent* mvkEvent,
+ const VkAllocationCallbacks* pAllocator);
+
MVKQueryPool* createQueryPool(const VkQueryPoolCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator);
void destroyQueryPool(MVKQueryPool* mvkQP,
@@ -525,6 +542,9 @@
void freeMemory(MVKDeviceMemory* mvkDevMem,
const VkAllocationCallbacks* pAllocator);
+
+#pragma mark Operations
+
/** Applies the specified global memory barrier to all resource issued by this device. */
void applyMemoryBarrier(VkPipelineStageFlags srcStageMask,
VkPipelineStageFlags dstStageMask,
@@ -562,6 +582,9 @@
/** Populates the specified statistics structure from the current activity performance statistics. */
void getPerformanceStatistics(MVKPerformanceStatistics* pPerf);
+ /** Invalidates the memory regions. */
+ VkResult invalidateMappedMemoryRanges(uint32_t memRangeCount, const VkMappedMemoryRange* pMemRanges);
+
#pragma mark Metal
@@ -625,6 +648,7 @@
const VkPhysicalDeviceFloat16Int8FeaturesKHR _enabledF16I8Features;
const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR _enabledUBOLayoutFeatures;
const VkPhysicalDeviceVariablePointerFeatures _enabledVarPtrFeatures;
+ const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT _enabledInterlockFeatures;
const VkPhysicalDeviceHostQueryResetFeaturesEXT _enabledHostQryResetFeatures;
const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT _enabledScalarLayoutFeatures;
const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT _enabledTexelBuffAlignFeatures;
@@ -646,6 +670,16 @@
/** Performance statistics. */
MVKPerformanceStatistics _performanceStatistics;
+ // Indicates whether semaphores should use a MTLFence if available.
+ // Set by the MVK_ALLOW_METAL_FENCES environment variable if MTLFences are available.
+ // This should be a temporary fix after some repair to semaphore handling.
+ bool _useMTLFenceForSemaphores;
+
+ // Indicates whether semaphores should use a MTLEvent if available.
+ // Set by the MVK_ALLOW_METAL_EVENTS environment variable if MTLEvents are available.
+ // This should be a temporary fix after some repair to semaphore handling.
+ bool _useMTLEventForSemaphores;
+
#pragma mark Construction
@@ -687,8 +721,8 @@
MVKPhysicalDevice* _physicalDevice;
MVKCommandResourceFactory* _commandResourceFactory;
MTLCompileOptions* _mtlCompileOptions;
- std::vector<std::vector<MVKQueue*>> _queuesByQueueFamilyIndex;
- std::vector<MVKResource*> _resources;
+ MVKVectorInline<MVKVectorInline<MVKQueue*, kMVKQueueCountPerQueueFamily>, kMVKQueueFamilyCount> _queuesByQueueFamilyIndex;
+ MVKVectorInline<MVKResource*, 256> _resources;
std::mutex _rezLock;
std::mutex _perfLock;
id<MTLBuffer> _globalVisibilityResultMTLBuffer;
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
index 331b01c..fe98677 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
@@ -56,8 +56,7 @@
#pragma mark MVKPhysicalDevice
VkResult MVKPhysicalDevice::getExtensionProperties(const char* pLayerName, uint32_t* pCount, VkExtensionProperties* pProperties) {
- MVKExtensionList* extensions = getSupportedExtensions(pLayerName);
- return extensions->getProperties(pCount, pProperties);
+ return _supportedExtensions.getProperties(pCount, pProperties);
}
void MVKPhysicalDevice::getFeatures(VkPhysicalDeviceFeatures* features) {
@@ -102,6 +101,13 @@
varPtrFeatures->variablePointers = true;
break;
}
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: {
+ auto* interlockFeatures = (VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT*)next;
+ interlockFeatures->fragmentShaderSampleInterlock = _metalFeatures.rasterOrderGroups;
+ interlockFeatures->fragmentShaderPixelInterlock = _metalFeatures.rasterOrderGroups;
+ interlockFeatures->fragmentShaderShadingRateInterlock = false; // Requires variable rate shading; not supported yet in Metal
+ break;
+ }
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT: {
auto* hostQueryResetFeatures = (VkPhysicalDeviceHostQueryResetFeaturesEXT*)next;
hostQueryResetFeatures->hostQueryReset = true;
@@ -127,13 +133,13 @@
auto* portabilityFeatures = (VkPhysicalDevicePortabilitySubsetFeaturesEXTX*)next;
portabilityFeatures->triangleFans = false;
portabilityFeatures->separateStencilMaskRef = true;
- portabilityFeatures->events = false;
+ portabilityFeatures->events = true;
portabilityFeatures->standardImageViews = _mvkInstance->getMoltenVKConfiguration()->fullImageViewSwizzle || _metalFeatures.nativeTextureSwizzle;
portabilityFeatures->samplerMipLodBias = false;
break;
}
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS2_FEATURES_INTEL: {
- auto* shaderIntFuncsFeatures = (VkPhysicalDeviceShaderIntegerFunctions2INTEL*)next;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: {
+ auto* shaderIntFuncsFeatures = (VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL*)next;
shaderIntFuncsFeatures->shaderIntegerFunctions2 = true;
break;
}
@@ -241,7 +247,8 @@
if ( !pImageFormatProperties ) { return VK_SUCCESS; }
// Metal does not support creating uncompressed views of compressed formats.
- if (mvkIsAnyFlagEnabled(flags, VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT)) {
+ // Metal does not support split-instance images.
+ if (mvkIsAnyFlagEnabled(flags, VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT | VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT)) {
return VK_ERROR_FORMAT_NOT_SUPPORTED;
}
@@ -456,8 +463,8 @@
pSurfaceCapabilities->supportedTransforms = (VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR);
pSurfaceCapabilities->currentTransform = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR;
pSurfaceCapabilities->supportedCompositeAlpha = (VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR |
- VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR |
- VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR);
+ VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR |
+ VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR);
pSurfaceCapabilities->supportedUsageFlags = (VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT |
VK_IMAGE_USAGE_STORAGE_BIT |
VK_IMAGE_USAGE_TRANSFER_SRC_BIT |
@@ -635,16 +642,19 @@
// Metal does not distinguish functionality between queues, which would normally lead us
// to create only only one general-purpose queue family. However, Vulkan associates command
// buffers with a queue family, whereas Metal associates command buffers with a Metal queue.
-// In order to allow a Metal command buffer to be prefilled before is is formally submitted to
+// In order to allow a Metal command buffer to be prefilled before it is formally submitted to
// a Vulkan queue, we need to enforce that each Vulkan queue family can have only one Metal queue.
// In order to provide parallel queue operations, we therefore provide multiple queue families.
-vector<MVKQueueFamily*>& MVKPhysicalDevice::getQueueFamilies() {
+// In addition, Metal queues are always general purpose, so the default behaviour is for all
+// queue families to support graphics + compute + transfer, unless the app indicates it
+// requires queue family specialization.
+MVKVector<MVKQueueFamily*>& MVKPhysicalDevice::getQueueFamilies() {
if (_queueFamilies.empty()) {
VkQueueFamilyProperties qfProps;
bool specialize = _mvkInstance->getMoltenVKConfiguration()->specializedQueueFamilies;
uint32_t qfIdx = 0;
- qfProps.queueCount = 1; // Each queue family must have a single Metal queue (see above)
+ qfProps.queueCount = kMVKQueueCountPerQueueFamily;
qfProps.timestampValidBits = 64;
qfProps.minImageTransferGranularity = { 1, 1, 1};
@@ -663,6 +673,8 @@
// Dedicated transfer queue family...or another general-purpose queue family.
if (specialize) { qfProps.queueFlags = VK_QUEUE_TRANSFER_BIT; }
_queueFamilies.push_back(new MVKQueueFamily(this, qfIdx++, &qfProps));
+
+ MVKAssert(kMVKQueueFamilyCount >= _queueFamilies.size(), "Adjust value of kMVKQueueFamilyCount.");
}
return _queueFamilies;
}
@@ -670,7 +682,7 @@
VkResult MVKPhysicalDevice::getQueueFamilyProperties(uint32_t* pCount,
VkQueueFamilyProperties* pQueueFamilyProperties) {
- vector<MVKQueueFamily*> qFams = getQueueFamilies();
+ auto& qFams = getQueueFamilies();
uint32_t qfCnt = uint32_t(qFams.size());
// If properties aren't actually being requested yet, simply update the returned count
@@ -778,8 +790,8 @@
_metalFeatures.ioSurfaces = MVK_SUPPORT_IOSURFACE_BOOL;
// Metal supports 2 or 3 concurrent CAMetalLayer drawables.
- _metalFeatures.minSwapchainImageCount = 2;
- _metalFeatures.maxSwapchainImageCount = 3;
+ _metalFeatures.minSwapchainImageCount = kMVKMinSwapchainImageCount;
+ _metalFeatures.maxSwapchainImageCount = kMVKMaxSwapchainImageCount;
#if MVK_IOS
_metalFeatures.mslVersionEnum = MTLLanguageVersion1_0;
@@ -799,6 +811,7 @@
_metalFeatures.mslVersionEnum = MTLLanguageVersion1_2;
_metalFeatures.shaderSpecialization = true;
_metalFeatures.stencilViews = true;
+ _metalFeatures.fences = true;
}
if ( [_mtlDevice supportsFeatureSet: MTLFeatureSet_iOS_GPUFamily1_v4] ) {
@@ -807,7 +820,7 @@
if ( [_mtlDevice supportsFeatureSet: MTLFeatureSet_iOS_GPUFamily1_v5] ) {
_metalFeatures.mslVersionEnum = MTLLanguageVersion2_1;
- MVK_SET_FROM_ENV_OR_BUILD_BOOL(_metalFeatures.events, MVK_ALLOW_METAL_EVENTS);
+ _metalFeatures.events = true;
_metalFeatures.textureBuffers = true;
}
@@ -873,12 +886,13 @@
_metalFeatures.arrayOfTextures = true;
_metalFeatures.arrayOfSamplers = true;
_metalFeatures.presentModeImmediate = true;
+ _metalFeatures.fences = true;
}
if ( [_mtlDevice supportsFeatureSet: MTLFeatureSet_macOS_GPUFamily1_v4] ) {
_metalFeatures.mslVersionEnum = MTLLanguageVersion2_1;
_metalFeatures.multisampleArrayTextures = true;
- MVK_SET_FROM_ENV_OR_BUILD_BOOL(_metalFeatures.events, MVK_ALLOW_METAL_EVENTS);
+ _metalFeatures.events = true;
_metalFeatures.memoryBarriers = true;
_metalFeatures.textureBuffers = true;
}
@@ -899,6 +913,11 @@
#endif
+ // Note the selector name, which is different from the property name.
+ if ( [_mtlDevice respondsToSelector: @selector(areRasterOrderGroupsSupported)] ) {
+ _metalFeatures.rasterOrderGroups = _mtlDevice.rasterOrderGroupsSupported;
+ }
+
if ( [_mtlDevice respondsToSelector: @selector(maxBufferLength)] ) {
_metalFeatures.maxMTLBufferSize = _mtlDevice.maxBufferLength;
}
@@ -1185,7 +1204,12 @@
} else {
_properties.limits.maxTexelBufferElements = _properties.limits.maxImageDimension2D * _properties.limits.maxImageDimension2D;
}
+#if MVK_MACOS
+ _properties.limits.maxUniformBufferRange = (64 * KIBI);
+#endif
+#if MVK_IOS
_properties.limits.maxUniformBufferRange = (uint32_t)_metalFeatures.maxMTLBufferSize;
+#endif
_properties.limits.maxStorageBufferRange = (uint32_t)_metalFeatures.maxMTLBufferSize;
_properties.limits.maxPushConstantsSize = (4 * KIBI);
@@ -1196,18 +1220,20 @@
_properties.limits.nonCoherentAtomSize = _metalFeatures.mtlBufferAlignment;
if ([_mtlDevice respondsToSelector: @selector(minimumLinearTextureAlignmentForPixelFormat:)]) {
- // Figure out the greatest alignment required by all supported formats, and
- // whether or not they only require alignment to a single texel. We'll use this
- // information to fill out the VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT
- // struct.
+ // Figure out the greatest alignment required by all supported formats, and whether
+ // or not they only require alignment to a single texel. We'll use this information
+ // to fill out the VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT struct.
uint32_t maxStorage = 0, maxUniform = 0;
bool singleTexelStorage = true, singleTexelUniform = true;
mvkEnumerateSupportedFormats({0, 0, VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT | VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT}, true, [&](VkFormat vk) {
+ MTLPixelFormat mtlFmt = mvkMTLPixelFormatFromVkFormat(vk);
+ if ( !mtlFmt ) { return false; } // If format is invalid, avoid validation errors on MTLDevice format alignment calls
+
NSUInteger alignment;
if ([_mtlDevice respondsToSelector: @selector(minimumTextureBufferAlignmentForPixelFormat:)]) {
- alignment = [_mtlDevice minimumTextureBufferAlignmentForPixelFormat: mvkMTLPixelFormatFromVkFormat(vk)];
+ alignment = [_mtlDevice minimumTextureBufferAlignmentForPixelFormat: mtlFmt];
} else {
- alignment = [_mtlDevice minimumLinearTextureAlignmentForPixelFormat: mvkMTLPixelFormatFromVkFormat(vk)];
+ alignment = [_mtlDevice minimumLinearTextureAlignmentForPixelFormat: mtlFmt];
}
VkFormatProperties props = mvkVkFormatProperties(vk, getFormatIsSupported(vk));
// For uncompressed formats, this is the size of a single texel.
@@ -1868,20 +1894,20 @@
}
void MVKPhysicalDevice::initExtensions() {
+ MVKExtensionList* pWritableExtns = (MVKExtensionList*)&_supportedExtensions;
+ pWritableExtns->disableAllButEnabledDeviceExtensions();
+
+ if (!_metalFeatures.rasterOrderGroups) {
+ pWritableExtns->vk_EXT_fragment_shader_interlock.enabled = false;
+ }
if (!_metalFeatures.postDepthCoverage) {
- _supportedExtensions.vk_EXT_post_depth_coverage.enabled = false;
+ pWritableExtns->vk_EXT_post_depth_coverage.enabled = false;
}
if (!_metalFeatures.stencilFeedback) {
- _supportedExtensions.vk_EXT_shader_stencil_export.enabled = false;
+ pWritableExtns->vk_EXT_shader_stencil_export.enabled = false;
}
}
-// Return all extensions supported by this physical device.
-MVKExtensionList* MVKPhysicalDevice::getSupportedExtensions(const char* pLayerName) {
- if (!pLayerName || strcmp(pLayerName, "MoltenVK") == 0) { return &_supportedExtensions; }
- return getInstance()->getLayerManager()->getLayerNamed(pLayerName)->getSupportedExtensions();
-}
-
void MVKPhysicalDevice::logGPUInfo() {
string devTypeStr;
switch (_properties.deviceType) {
@@ -1924,10 +1950,10 @@
if (getSupportsGPUFamily(MTLGPUFamilyCommon2)) { logMsg += "\n\t\tGPU Family Common 2"; }
if (getSupportsGPUFamily(MTLGPUFamilyCommon1)) { logMsg += "\n\t\tGPU Family Common 1"; }
+#if MVK_IOS
if (getSupportsGPUFamily(MTLGPUFamilyiOSMac2)) { logMsg += "\n\t\tGPU Family iOS-Mac 2"; }
if (getSupportsGPUFamily(MTLGPUFamilyiOSMac1)) { logMsg += "\n\t\tGPU Family iOS-Mac 1"; }
-#if MVK_IOS
if ( [_mtlDevice supportsFeatureSet: MTLFeatureSet_iOS_GPUFamily5_v1] ) { logMsg += "\n\t\tiOS GPU Family 5 v1"; }
if ( [_mtlDevice supportsFeatureSet: MTLFeatureSet_iOS_GPUFamily4_v2] ) { logMsg += "\n\t\tiOS GPU Family 4 v2"; }
@@ -1952,6 +1978,9 @@
#endif
#if MVK_MACOS
+ if (getSupportsGPUFamily(MTLGPUFamilyMacCatalyst2)) { logMsg += "\n\t\tGPU Family Mac Catalyst 2"; }
+ if (getSupportsGPUFamily(MTLGPUFamilyMacCatalyst1)) { logMsg += "\n\t\tGPU Family Mac Catalyst 1"; }
+
if ( [_mtlDevice supportsFeatureSet: MTLFeatureSet_macOS_GPUFamily2_v1] ) { logMsg += "\n\t\tmacOS GPU Family 2 v1"; }
if ( [_mtlDevice supportsFeatureSet: MTLFeatureSet_macOS_GPUFamily1_v4] ) { logMsg += "\n\t\tmacOS GPU Family 1 v4"; }
@@ -2030,6 +2059,10 @@
return VK_SUCCESS;
}
+void MVKDevice::getPeerMemoryFeatures(uint32_t heapIndex, uint32_t localDevice, uint32_t remoteDevice, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) {
+ *pPeerMemoryFeatures = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT | VK_PEER_MEMORY_FEATURE_COPY_DST_BIT;
+}
+
#pragma mark Object lifecycle
@@ -2087,6 +2120,20 @@
MVKImage* MVKDevice::createImage(const VkImageCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator) {
+ // If there's a VkImageSwapchainCreateInfoKHR, then we need to create a swapchain image.
+ const VkImageSwapchainCreateInfoKHR* swapchainInfo = nullptr;
+ for (const auto* next = (const VkBaseInStructure*)pCreateInfo->pNext; next; next = next->pNext) {
+ switch (next->sType) {
+ case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR:
+ swapchainInfo = (const VkImageSwapchainCreateInfoKHR*)next;
+ break;
+ default:
+ break;
+ }
+ }
+ if (swapchainInfo) {
+ return (MVKImage*)addResource(new MVKSwapchainImage(this, pCreateInfo, (MVKSwapchain*)swapchainInfo->swapchain));
+ }
return (MVKImage*)addResource(new MVKImage(this, pCreateInfo));
}
@@ -2141,7 +2188,13 @@
MVKSemaphore* MVKDevice::createSemaphore(const VkSemaphoreCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator) {
- return new MVKSemaphore(this, pCreateInfo);
+ if (_useMTLFenceForSemaphores) {
+ return new MVKSemaphoreMTLFence(this, pCreateInfo);
+ } else if (_useMTLEventForSemaphores) {
+ return new MVKSemaphoreMTLEvent(this, pCreateInfo);
+ } else {
+ return new MVKSemaphoreEmulated(this, pCreateInfo);
+ }
}
void MVKDevice::destroySemaphore(MVKSemaphore* mvkSem4,
@@ -2149,6 +2202,19 @@
mvkSem4->destroy();
}
+MVKEvent* MVKDevice::createEvent(const VkEventCreateInfo* pCreateInfo,
+ const VkAllocationCallbacks* pAllocator) {
+ if (_pMetalFeatures->events) {
+ return new MVKEventNative(this, pCreateInfo);
+ } else {
+ return new MVKEventEmulated(this, pCreateInfo);
+ }
+}
+
+void MVKDevice::destroyEvent(MVKEvent* mvkEvent, const VkAllocationCallbacks* pAllocator) {
+ mvkEvent->destroy();
+}
+
MVKQueryPool* MVKDevice::createQueryPool(const VkQueryPoolCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator) {
switch (pCreateInfo->queryType) {
@@ -2340,14 +2406,17 @@
mvkDevMem->destroy();
}
-/** Adds the specified resource for tracking, and returns the added resource. */
+
+#pragma mark Operations
+
+// Adds the specified resource for tracking, and returns the added resource.
MVKResource* MVKDevice::addResource(MVKResource* rez) {
lock_guard<mutex> lock(_rezLock);
_resources.push_back(rez);
return rez;
}
-/** Removes the specified resource for tracking and returns the removed resource. */
+// Removes the specified resource for tracking and returns the removed resource.
MVKResource* MVKDevice::removeResource(MVKResource* rez) {
lock_guard<mutex> lock(_rezLock);
mvkRemoveFirstOccurance(_resources, rez);
@@ -2415,6 +2484,25 @@
if (pPerf) { *pPerf = _performanceStatistics; }
}
+VkResult MVKDevice::invalidateMappedMemoryRanges(uint32_t memRangeCount, const VkMappedMemoryRange* pMemRanges) {
+ @autoreleasepool {
+ VkResult rslt = VK_SUCCESS;
+ MVKMTLBlitEncoder mvkBlitEnc;
+ for (uint32_t i = 0; i < memRangeCount; i++) {
+ const VkMappedMemoryRange* pMem = &pMemRanges[i];
+ MVKDeviceMemory* mvkMem = (MVKDeviceMemory*)pMem->memory;
+ VkResult r = mvkMem->pullFromDevice(pMem->offset, pMem->size, false, &mvkBlitEnc);
+ if (rslt == VK_SUCCESS) { rslt = r; }
+ }
+ if (mvkBlitEnc.mtlBlitEncoder) { [mvkBlitEnc.mtlBlitEncoder endEncoding]; }
+ if (mvkBlitEnc.mtlCmdBuffer) {
+ [mvkBlitEnc.mtlCmdBuffer commit];
+ [mvkBlitEnc.mtlCmdBuffer waitUntilCompleted];
+ }
+ return rslt;
+ }
+}
+
#pragma mark Metal
@@ -2479,6 +2567,7 @@
_enabledF16I8Features(),
_enabledUBOLayoutFeatures(),
_enabledVarPtrFeatures(),
+ _enabledInterlockFeatures(),
_enabledHostQryResetFeatures(),
_enabledScalarLayoutFeatures(),
_enabledTexelBuffAlignFeatures(),
@@ -2501,6 +2590,10 @@
initQueues(pCreateInfo);
+ if (getInstance()->_autoGPUCaptureScope == MVK_CONFIG_AUTO_GPU_CAPTURE_SCOPE_DEVICE) {
+ [[MTLCaptureManager sharedCaptureManager] startCaptureWithDevice: getMTLDevice()];
+ }
+
MVKLogInfo("Created VkDevice to run on GPU %s with the following %d Vulkan extensions enabled:%s",
_pProperties->deviceName,
_enabledExtensions.getEnabledCount(),
@@ -2555,6 +2648,16 @@
_pProperties = &_physicalDevice->_properties;
_pMemoryProperties = &_physicalDevice->_memoryProperties;
+ _useMTLFenceForSemaphores = false;
+ if (_pMetalFeatures->fences) {
+ MVK_SET_FROM_ENV_OR_BUILD_BOOL(_useMTLFenceForSemaphores, MVK_ALLOW_METAL_FENCES);
+ }
+ _useMTLEventForSemaphores = false;
+ if (_pMetalFeatures->events) {
+ MVK_SET_FROM_ENV_OR_BUILD_BOOL(_useMTLEventForSemaphores, MVK_ALLOW_METAL_EVENTS);
+ }
+ MVKLogInfo("Using %s for semaphores.", _useMTLFenceForSemaphores ? "MTLFence" : (_useMTLEventForSemaphores ? "MTLEvent" : "emulation"));
+
#if MVK_MACOS
// If we have selected a high-power GPU and want to force the window system
// to use it, force the window system to use a high-power GPU by calling the
@@ -2579,6 +2682,7 @@
memset((void*)&_enabledF16I8Features, 0, sizeof(_enabledF16I8Features));
memset((void*)&_enabledUBOLayoutFeatures, 0, sizeof(_enabledUBOLayoutFeatures));
memset((void*)&_enabledVarPtrFeatures, 0, sizeof(_enabledVarPtrFeatures));
+ memset((void*)&_enabledInterlockFeatures, 0, sizeof(_enabledInterlockFeatures));
memset((void*)&_enabledHostQryResetFeatures, 0, sizeof(_enabledHostQryResetFeatures));
memset((void*)&_enabledScalarLayoutFeatures, 0, sizeof(_enabledScalarLayoutFeatures));
memset((void*)&_enabledTexelBuffAlignFeatures, 0, sizeof(_enabledTexelBuffAlignFeatures));
@@ -2606,9 +2710,13 @@
pdHostQryResetFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT;
pdHostQryResetFeatures.pNext = &pdScalarLayoutFeatures;
+ VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT pdInterlockFeatures;
+ pdInterlockFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT;
+ pdInterlockFeatures.pNext = &pdHostQryResetFeatures;
+
VkPhysicalDeviceVariablePointerFeatures pdVarPtrFeatures;
pdVarPtrFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES;
- pdVarPtrFeatures.pNext = &pdHostQryResetFeatures;
+ pdVarPtrFeatures.pNext = &pdInterlockFeatures;
VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR pdUBOLayoutFeatures;
pdUBOLayoutFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR;
@@ -2684,6 +2792,13 @@
&pdVarPtrFeatures.variablePointersStorageBuffer, 2);
break;
}
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: {
+ auto* requestedFeatures = (VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT*)next;
+ enableFeatures(&_enabledInterlockFeatures.fragmentShaderSampleInterlock,
+ &requestedFeatures->fragmentShaderSampleInterlock,
+ &pdInterlockFeatures.fragmentShaderSampleInterlock, 3);
+ break;
+ }
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT: {
auto* requestedFeatures = (VkPhysicalDeviceHostQueryResetFeaturesEXT*)next;
enableFeatures(&_enabledHostQryResetFeatures.hostQueryReset,
@@ -2739,12 +2854,12 @@
MVKExtensionList* pWritableExtns = (MVKExtensionList*)&_enabledExtensions;
setConfigurationResult(pWritableExtns->enable(pCreateInfo->enabledExtensionCount,
pCreateInfo->ppEnabledExtensionNames,
- getPhysicalDevice()->getSupportedExtensions()));
+ &_physicalDevice->_supportedExtensions));
}
// Create the command queues
void MVKDevice::initQueues(const VkDeviceCreateInfo* pCreateInfo) {
- vector<MVKQueueFamily*> qFams = _physicalDevice->getQueueFamilies();
+ auto& qFams = _physicalDevice->getQueueFamilies();
uint32_t qrCnt = pCreateInfo->queueCreateInfoCount;
for (uint32_t qrIdx = 0; qrIdx < qrCnt; qrIdx++) {
const VkDeviceQueueCreateInfo* pQFInfo = &pCreateInfo->pQueueCreateInfos[qrIdx];
@@ -2753,7 +2868,11 @@
VkQueueFamilyProperties qfProps;
qFam->getProperties(&qfProps);
- _queuesByQueueFamilyIndex.resize(qfIdx + 1); // Ensure an entry for this queue family exists
+ // Ensure an entry for this queue family exists
+ uint32_t qfCntMin = qfIdx + 1;
+ if (_queuesByQueueFamilyIndex.size() < qfCntMin) {
+ _queuesByQueueFamilyIndex.resize(qfCntMin);
+ }
auto& queues = _queuesByQueueFamilyIndex[qfIdx];
uint32_t qCnt = min(pQFInfo->queueCount, qfProps.queueCount);
for (uint32_t qIdx = 0; qIdx < qCnt; qIdx++) {
@@ -2775,6 +2894,10 @@
[_mtlCompileOptions release];
[_globalVisibilityResultMTLBuffer release];
+
+ if (getInstance()->_autoGPUCaptureScope == MVK_CONFIG_AUTO_GPU_CAPTURE_SCOPE_DEVICE) {
+ [[MTLCaptureManager sharedCaptureManager] stopCapture];
+ }
}
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDeviceMemory.h b/MoltenVK/MoltenVK/GPUObjects/MVKDeviceMemory.h
index bd15e52..d2ba33f 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDeviceMemory.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDeviceMemory.h
@@ -19,7 +19,7 @@
#pragma once
#include "MVKDevice.h"
-#include <vector>
+#include "MVKVector.h"
#include <mutex>
#import <Metal/Metal.h>
@@ -85,8 +85,18 @@
* If this memory is host-visible, pulls the specified memory range from the device.
* Normally, pulling will only occur if the device memory is non-coherent, but pulling
* to coherent memory can be forced by setting evenIfCoherent to true.
+ *
+ * If pBlitEnc is not null, it points to a holder for a MTLBlitCommandEncoder and its
+ * assocated MTLCommandBuffer. If this instance has a MTLBuffer using managed memory,
+ * this function may call synchronizeResource: on the MTLBlitCommandEncoder to
+ * synchronize the GPU contents to the CPU. If the contents of the pBlitEnc do not
+ * include a MTLBlitCommandEncoder and MTLCommandBuffer, this function will create
+ * them and populate the contents into the MVKMTLBlitEncoder struct.
*/
- VkResult pullFromDevice(VkDeviceSize offset, VkDeviceSize size, bool evenIfCoherent = false);
+ VkResult pullFromDevice(VkDeviceSize offset,
+ VkDeviceSize size,
+ bool evenIfCoherent = false,
+ MVKMTLBlitEncoder* pBlitEnc = nullptr);
#pragma mark Metal
@@ -132,8 +142,8 @@
void freeHostMemory();
MVKResource* getDedicatedResource();
- std::vector<MVKBuffer*> _buffers;
- std::vector<MVKImage*> _images;
+ MVKVectorInline<MVKBuffer*, 4> _buffers;
+ MVKVectorInline<MVKImage*, 4> _images;
std::mutex _rezLock;
VkDeviceSize _allocationSize = 0;
VkDeviceSize _mapOffset = 0;
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDeviceMemory.mm b/MoltenVK/MoltenVK/GPUObjects/MVKDeviceMemory.mm
index c25500c..c191737 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDeviceMemory.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDeviceMemory.mm
@@ -19,6 +19,7 @@
#include "MVKDeviceMemory.h"
#include "MVKBuffer.h"
#include "MVKImage.h"
+#include "MVKQueue.h"
#include "MVKEnvironment.h"
#include "mvk_datatypes.hpp"
#include "MVKFoundation.h"
@@ -97,12 +98,24 @@
return VK_SUCCESS;
}
-VkResult MVKDeviceMemory::pullFromDevice(VkDeviceSize offset, VkDeviceSize size, bool evenIfCoherent) {
+VkResult MVKDeviceMemory::pullFromDevice(VkDeviceSize offset,
+ VkDeviceSize size,
+ bool evenIfCoherent,
+ MVKMTLBlitEncoder* pBlitEnc) {
// Coherent memory is flushed on unmap(), so it is only flushed if forced
VkDeviceSize memSize = adjustMemorySize(size, offset);
if (memSize > 0 && isMemoryHostAccessible() && (evenIfCoherent || !isMemoryHostCoherent()) && !_mtlHeap) {
lock_guard<mutex> lock(_rezLock);
for (auto& img : _images) { img->pullFromDevice(offset, memSize); }
+
+#if MVK_MACOS
+ if (pBlitEnc && _mtlBuffer && _mtlStorageMode == MTLStorageModeManaged) {
+ if ( !pBlitEnc->mtlCmdBuffer) { pBlitEnc->mtlCmdBuffer = [_device->getQueue()->getMTLCommandQueue() commandBufferWithUnretainedReferences]; }
+ if ( !pBlitEnc->mtlBlitEncoder) { pBlitEnc->mtlBlitEncoder = [pBlitEnc->mtlCmdBuffer blitCommandEncoder]; }
+ [pBlitEnc->mtlBlitEncoder synchronizeResource: _mtlBuffer];
+ }
+#endif
+
}
return VK_SUCCESS;
}
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKFramebuffer.h b/MoltenVK/MoltenVK/GPUObjects/MVKFramebuffer.h
index 9fd9ef3..e7a0852 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKFramebuffer.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKFramebuffer.h
@@ -20,7 +20,7 @@
#include "MVKDevice.h"
#include "MVKImage.h"
-#include <vector>
+#include "MVKVector.h"
#pragma mark MVKFramebuffer
@@ -56,6 +56,6 @@
VkExtent2D _extent;
uint32_t _layerCount;
- std::vector<MVKImageView*> _attachments;
+ MVKVectorInline<MVKImageView*, 8> _attachments;
};
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKImage.h b/MoltenVK/MoltenVK/GPUObjects/MVKImage.h
index dfbde55..9ac30d9 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKImage.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKImage.h
@@ -257,7 +257,7 @@
VkPipelineStageFlags dstStageMask,
VkImageMemoryBarrier* pImageMemoryBarrier);
- std::vector<MVKImageSubresource> _subresources;
+ MVKVectorInline<MVKImageSubresource, 4> _subresources;
std::unordered_map<NSUInteger, id<MTLTexture>> _mtlTextureViews;
VkExtent3D _extent;
uint32_t _mipLevels;
@@ -394,9 +394,6 @@
#pragma mark -
#pragma mark MVKSwapchainImage
-/** Tracks a semaphore and fence for later signaling. */
-typedef std::pair<MVKSemaphore*, MVKFence*> MVKSwapchainSignaler;
-
/** Indicates the relative availability of each image in the swapchain. */
typedef struct MVKSwapchainImageAvailability_t {
uint64_t acquisitionID; /**< When this image was last made available, relative to the other images in the swapchain. Smaller value is earlier. */
@@ -406,33 +403,24 @@
bool operator< (const MVKSwapchainImageAvailability_t& rhs) const;
} MVKSwapchainImageAvailability;
+
/** Represents a Vulkan image used as a rendering destination within a swapchain. */
class MVKSwapchainImage : public MVKImage {
public:
- /** Returns the encompassing swapchain. */
- inline MVKSwapchain* getSwapchain() { return _swapchain; }
+ /** Binds this resource to the specified offset within the specified memory allocation. */
+ VkResult bindDeviceMemory(MVKDeviceMemory* mvkMem, VkDeviceSize memOffset) override;
- /** Returns the index of this image within the encompassing swapchain. */
- inline uint32_t getSwapchainIndex() { return _swapchainIndex; }
-
- /**
- * Registers a semaphore and/or fence that will be signaled when this image becomes available.
- * This function accepts both a semaphore and a fence, and either none, one, or both may be provided.
- * If this image is available already, the semaphore and fence are immediately signaled.
- */
- void signalWhenAvailable(MVKSemaphore* semaphore, MVKFence* fence);
-
- /** Returns the availability status of this image, relative to other images in the swapchain. */
- const MVKSwapchainImageAvailability* getAvailability();
+ /** Binds this resource according to the specified bind information. */
+ VkResult bindDeviceMemory2(const void* pBindInfo) override;
#pragma mark Metal
/**
* Presents the contained drawable to the OS, releases the Metal drawable and its
- * texture back to the Metal layer's pool, and makes this image available for new use.
+ * texture back to the Metal layer's pool, and makes the image memory available for new use.
*
* If mtlCmdBuff is not nil, the contained drawable is scheduled for presentation using
* the presentDrawable: method of the command buffer. If mtlCmdBuff is nil, the contained
@@ -449,25 +437,18 @@
MVKSwapchain* swapchain,
uint32_t swapchainIndex);
- ~MVKSwapchainImage() override;
+ /** Constructs an instance for the specified device and swapchain, without binding to a particular swapchain image index. */
+ MVKSwapchainImage(MVKDevice* device,
+ const VkImageCreateInfo* pCreateInfo,
+ MVKSwapchain* swapchain);
protected:
id<MTLTexture> newMTLTexture() override;
id<CAMetalDrawable> getCAMetalDrawable();
- void resetCAMetalDrawable();
void resetMetalSurface();
- void signal(MVKSwapchainSignaler& signaler);
- void markAsTracked(MVKSwapchainSignaler& signaler);
- void unmarkAsTracked(MVKSwapchainSignaler& signaler);
- void makeAvailable();
void renderWatermark(id<MTLCommandBuffer> mtlCmdBuff);
MVKSwapchain* _swapchain;
uint32_t _swapchainIndex;
- id<CAMetalDrawable> _mtlDrawable;
- std::mutex _availabilityLock;
- MVKVectorInline<MVKSwapchainSignaler, 4> _availabilitySignalers;
- MVKSwapchainSignaler _preSignaled;
- MVKSwapchainImageAvailability _availability;
};
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm b/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
index bf51f65..827754a 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
@@ -20,6 +20,7 @@
#include "MVKQueue.h"
#include "MVKSwapchain.h"
#include "MVKCommandBuffer.h"
+#include "MVKCmdDebug.h"
#include "mvk_datatypes.hpp"
#include "MVKFoundation.h"
#include "MVKLogging.h"
@@ -677,6 +678,9 @@
if (mvkIsAnyFlagEnabled(pCreateInfo->flags, VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT)) {
setConfigurationResult(reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCreateImage() : Metal does not allow uncompressed views of compressed images."));
}
+ if (mvkIsAnyFlagEnabled(pCreateInfo->flags, VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT)) {
+ setConfigurationResult(reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCreateImage() : Metal does not support split-instance memory binding."));
+ }
}
VkSampleCountFlagBits MVKImage::validateSamples(const VkImageCreateInfo* pCreateInfo, bool isAttachment) {
@@ -1255,101 +1259,28 @@
#pragma mark -
#pragma mark MVKSwapchainImage
-bool MVKSwapchainImageAvailability_t::operator< (const MVKSwapchainImageAvailability_t& rhs) const {
- if ( isAvailable && !rhs.isAvailable) { return true; }
- if ( !isAvailable && rhs.isAvailable) { return false; }
-
- if (waitCount < rhs.waitCount) { return true; }
- if (waitCount > rhs.waitCount) { return false; }
-
- return acquisitionID < rhs.acquisitionID;
+VkResult MVKSwapchainImage::bindDeviceMemory(MVKDeviceMemory*, VkDeviceSize) {
+ return VK_ERROR_OUT_OF_DEVICE_MEMORY;
}
-// Makes this image available for acquisition by the app.
-// If any semaphores are waiting to be signaled when this image becomes available, the
-// earliest semaphore is signaled, and this image remains unavailable for other uses.
-void MVKSwapchainImage::makeAvailable() {
- lock_guard<mutex> lock(_availabilityLock);
-
- // Mark when this event happened, relative to that of other images
- _availability.acquisitionID = _swapchain->getNextAcquisitionID();
-
- // Mark this image as available if no semaphores or fences are waiting to be signaled.
- _availability.isAvailable = _availabilitySignalers.empty();
-
- MVKSwapchainSignaler signaler;
- if (_availability.isAvailable) {
- // If this image is now available, signal the semaphore and fence that were associated
- // with the last time this image was acquired while available. This is a workaround for
- // when an app uses a single semaphore or fence for more than one swapchain image.
- // Becuase the semaphore or fence will be signaled by more than one image, it will
- // get out of sync, and the final use of the image would not be signaled as a result.
-
- signaler = _preSignaled;
- } else {
- // If this image is not yet available, extract and signal the first semaphore and fence.
-
- signaler = _availabilitySignalers.front();
- _availabilitySignalers.erase( _availabilitySignalers.begin() );
- }
-
- // Signal the semaphore and fence, and let them know they are no longer being tracked.
- signal(signaler);
- unmarkAsTracked(signaler);
-
-// MVKLogDebug("Signaling%s swapchain image %p semaphore %p from present, with %lu remaining semaphores.", (_availability.isAvailable ? " pre-signaled" : ""), this, signaler.first, _availabilitySignalers.size());
-}
-
-void MVKSwapchainImage::signalWhenAvailable(MVKSemaphore* semaphore, MVKFence* fence) {
- lock_guard<mutex> lock(_availabilityLock);
- auto signaler = make_pair(semaphore, fence);
- if (_availability.isAvailable) {
- _availability.isAvailable = false;
- signal(signaler);
- if (_device->_pMetalFeatures->events) {
- // Unfortunately, we can't assume we have an MTLSharedEvent here.
- // This means we need to execute a command on the device to signal
- // the semaphore. Alternatively, we could always use an MTLSharedEvent,
- // but that might impose unacceptable performance costs just to handle
- // this one case.
- MVKQueue* queue = _device->getQueue(0, 0);
- id<MTLCommandQueue> mtlQ = queue->getMTLCommandQueue();
- id<MTLCommandBuffer> mtlCmdBuff = [mtlQ commandBufferWithUnretainedReferences];
- [mtlCmdBuff enqueue];
- signaler.first->encodeSignal(mtlCmdBuff);
- [mtlCmdBuff commit];
+VkResult MVKSwapchainImage::bindDeviceMemory2(const void* pBindInfo) {
+ const auto* imageInfo = (const VkBindImageMemoryInfo*)pBindInfo;
+ const VkBindImageMemorySwapchainInfoKHR* swapchainInfo = nullptr;
+ for (const auto* next = (const VkBaseInStructure*)imageInfo->pNext; next; next = next->pNext) {
+ switch (next->sType) {
+ case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR:
+ swapchainInfo = (const VkBindImageMemorySwapchainInfoKHR*)next;
+ break;
+ default:
+ break;
}
- _preSignaled = signaler;
- } else {
- _availabilitySignalers.push_back(signaler);
+ if (swapchainInfo) { break; }
}
- markAsTracked(signaler);
-
-// MVKLogDebug("%s swapchain image %p semaphore %p in acquire with %lu other semaphores.", (_availability.isAvailable ? "Signaling" : "Tracking"), this, semaphore, _availabilitySignalers.size());
-}
-
-// Signal either or both of the semaphore and fence in the specified tracker pair.
-void MVKSwapchainImage::signal(MVKSwapchainSignaler& signaler) {
- if (signaler.first && !_device->_pMetalFeatures->events) { signaler.first->signal(); }
- if (signaler.second) { signaler.second->signal(); }
-}
-
-// Tell the semaphore and fence that they are being tracked for future signaling.
-void MVKSwapchainImage::markAsTracked(MVKSwapchainSignaler& signaler) {
- if (signaler.first) { signaler.first->retain(); }
- if (signaler.second) { signaler.second->retain(); }
-}
-
-// Tell the semaphore and fence that they are no longer being tracked for future signaling.
-void MVKSwapchainImage::unmarkAsTracked(MVKSwapchainSignaler& signaler) {
- if (signaler.first) { signaler.first->release(); }
- if (signaler.second) { signaler.second->release(); }
-}
-
-const MVKSwapchainImageAvailability* MVKSwapchainImage::getAvailability() {
- lock_guard<mutex> lock(_availabilityLock);
- _availability.waitCount = (uint32_t)_availabilitySignalers.size();
- return &_availability;
+ if (!swapchainInfo) {
+ return VK_ERROR_OUT_OF_DEVICE_MEMORY;
+ }
+ _swapchainIndex = swapchainInfo->imageIndex;
+ return VK_SUCCESS;
}
@@ -1362,58 +1293,34 @@
}
id<CAMetalDrawable> MVKSwapchainImage::getCAMetalDrawable() {
- if ( !_mtlDrawable ) {
- @autoreleasepool { // Allow auto-released drawable object to be reclaimed before end of loop
- _mtlDrawable = [_swapchain->getNextCAMetalDrawable() retain]; // retained
- }
- MVKAssert(_mtlDrawable, "Could not aquire an available CAMetalDrawable from the CAMetalLayer in MVKSwapchain image: %p.", this);
- }
- return _mtlDrawable;
+ id<CAMetalDrawable> mtlDrawable = _swapchain->getCAMetalDrawable(_swapchainIndex);
+ MVKAssert(mtlDrawable, "Could not acquire an available CAMetalDrawable from the CAMetalLayer in MVKSwapchain image: %p.", this);
+ return mtlDrawable;
}
+// Present the drawable and make myself available only once the command buffer has completed.
void MVKSwapchainImage::presentCAMetalDrawable(id<MTLCommandBuffer> mtlCmdBuff) {
-// MVKLogDebug("Presenting swapchain image %p from present.", this);
+ _swapchain->willPresentSurface(getMTLTexture(), mtlCmdBuff);
- id<CAMetalDrawable> mtlDrawable = getCAMetalDrawable();
- _swapchain->willPresentSurface(getMTLTexture(), mtlCmdBuff);
+ NSString* scName = _swapchain->getDebugName();
+ if (scName) { mvkPushDebugGroup(mtlCmdBuff, scName); }
+ [mtlCmdBuff presentDrawable: getCAMetalDrawable()];
+ if (scName) { mvkPopDebugGroup(mtlCmdBuff); }
- // If using a command buffer, present the drawable through it,
- // and make myself available only once the command buffer has completed.
- // Otherwise, immediately present the drawable and make myself available.
- if (mtlCmdBuff) {
- NSString* scName = _swapchain->getDebugName();
- if (scName) { [mtlCmdBuff pushDebugGroup: scName]; }
- [mtlCmdBuff presentDrawable: mtlDrawable];
- if (scName) { [mtlCmdBuff popDebugGroup]; }
+ resetMetalSurface();
+ _swapchain->signalPresentationSemaphore(_swapchainIndex, mtlCmdBuff);
- resetMetalSurface();
- if (_device->_pMetalFeatures->events && !_availabilitySignalers.empty()) {
- // Signal the semaphore device-side.
- _availabilitySignalers.front().first->encodeSignal(mtlCmdBuff);
- }
-
- retain(); // Ensure this image is not destroyed while awaiting MTLCommandBuffer completion
- [mtlCmdBuff addCompletedHandler: ^(id<MTLCommandBuffer> mcb) {
- makeAvailable();
- release();
- }];
- } else {
- [mtlDrawable present];
- resetMetalSurface();
- makeAvailable();
- }
-}
-
-// Removes and releases the Metal drawable object, so that it can be lazily created by getCAMetalDrawable().
-void MVKSwapchainImage::resetCAMetalDrawable() {
- [_mtlDrawable release];
- _mtlDrawable = nil;
+ retain(); // Ensure this image is not destroyed while awaiting MTLCommandBuffer completion
+ [mtlCmdBuff addCompletedHandler: ^(id<MTLCommandBuffer> mcb) {
+ _swapchain->makeAvailable(_swapchainIndex);
+ release();
+ }];
}
// Resets the MTLTexture and CAMetalDrawable underlying this image.
void MVKSwapchainImage::resetMetalSurface() {
resetMTLTexture(); // Release texture first so drawable will be last to release it
- resetCAMetalDrawable();
+ _swapchain->resetCAMetalDrawable(_swapchainIndex);
}
@@ -1425,14 +1332,13 @@
uint32_t swapchainIndex) : MVKImage(device, pCreateInfo) {
_swapchain = swapchain;
_swapchainIndex = swapchainIndex;
- _availability.acquisitionID = _swapchain->getNextAcquisitionID();
- _availability.isAvailable = true;
- _preSignaled = make_pair(nullptr, nullptr);
- _mtlDrawable = nil;
}
-MVKSwapchainImage::~MVKSwapchainImage() {
- resetCAMetalDrawable();
+MVKSwapchainImage::MVKSwapchainImage(MVKDevice* device,
+ const VkImageCreateInfo* pCreateInfo,
+ MVKSwapchain* swapchain) : MVKImage(device, pCreateInfo) {
+ _swapchain = swapchain;
+ _swapchainIndex = uint32_t(-1);
}
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKInstance.h b/MoltenVK/MoltenVK/GPUObjects/MVKInstance.h
index 5771fe6..301a4f0 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKInstance.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKInstance.h
@@ -21,8 +21,8 @@
#include "MVKEnvironment.h"
#include "MVKLayers.h"
#include "MVKVulkanAPIObject.h"
+#include "MVKVector.h"
#include "vk_mvk_moltenvk.h"
-#include <vector>
#include <unordered_map>
#include <string>
#include <mutex>
@@ -100,7 +100,7 @@
VkResult getPhysicalDeviceGroups(uint32_t* pCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProps);
/** Returns the driver layer. */
- MVKLayer* getDriverLayer() { return MVKLayerManager::globalManager()->getDriverLayer(); }
+ MVKLayer* getDriverLayer() { return getLayerManager()->getDriverLayer(); }
MVKSurface* createSurface(const VkMetalSurfaceCreateInfoEXT* pCreateInfo,
const VkAllocationCallbacks* pAllocator);
@@ -187,15 +187,16 @@
MVKConfiguration _mvkConfig;
VkApplicationInfo _appInfo;
- std::vector<MVKPhysicalDevice*> _physicalDevices;
+ MVKVectorInline<MVKPhysicalDevice*, 4> _physicalDevices;
+ MVKVectorInline<MVKDebugReportCallback*, 4> _debugReportCallbacks;
+ MVKVectorInline<MVKDebugUtilsMessenger*, 4> _debugUtilMessengers;
std::unordered_map<std::string, MVKEntryPoint> _entryPoints;
- std::vector<MVKDebugReportCallback*> _debugReportCallbacks;
- std::vector<MVKDebugUtilsMessenger*> _debugUtilMessengers;
std::mutex _dcbLock;
bool _hasDebugReportCallbacks;
bool _hasDebugUtilsMessengers;
bool _useCreationCallbacks;
const char* _debugReportCallbackLayerPrefix;
+ int32_t _autoGPUCaptureScope;
};
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKInstance.mm b/MoltenVK/MoltenVK/GPUObjects/MVKInstance.mm
index 51e2615..8c0a9b9 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKInstance.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKInstance.mm
@@ -348,7 +348,7 @@
MVKExtensionList* pWritableExtns = (MVKExtensionList*)&_enabledExtensions;
setConfigurationResult(pWritableExtns->enable(pCreateInfo->enabledExtensionCount,
pCreateInfo->ppEnabledExtensionNames,
- getDriverLayer()->getSupportedExtensions()));
+ getDriverLayer()->getSupportedInstanceExtensions()));
logVersions(); // Log the MoltenVK and Vulkan versions
if (MVK_VULKAN_API_VERSION_CONFORM(MVK_VULKAN_API_VERSION) <
@@ -609,6 +609,9 @@
ADD_DVC_EXT_ENTRY_POINT(vkCreateDescriptorUpdateTemplateKHR, KHR_DESCRIPTOR_UPDATE_TEMPLATE);
ADD_DVC_EXT_ENTRY_POINT(vkDestroyDescriptorUpdateTemplateKHR, KHR_DESCRIPTOR_UPDATE_TEMPLATE);
ADD_DVC_EXT_ENTRY_POINT(vkUpdateDescriptorSetWithTemplateKHR, KHR_DESCRIPTOR_UPDATE_TEMPLATE);
+ ADD_DVC_EXT_ENTRY_POINT(vkGetDeviceGroupPeerMemoryFeaturesKHR, KHR_DEVICE_GROUP);
+ ADD_DVC_EXT_ENTRY_POINT(vkCmdSetDeviceMaskKHR, KHR_DEVICE_GROUP);
+ ADD_DVC_EXT_ENTRY_POINT(vkCmdDispatchBaseKHR, KHR_DEVICE_GROUP);
ADD_DVC_EXT_ENTRY_POINT(vkGetBufferMemoryRequirements2KHR, KHR_GET_MEMORY_REQUIREMENTS_2);
ADD_DVC_EXT_ENTRY_POINT(vkGetImageMemoryRequirements2KHR, KHR_GET_MEMORY_REQUIREMENTS_2);
ADD_DVC_EXT_ENTRY_POINT(vkGetImageSparseMemoryRequirements2KHR, KHR_GET_MEMORY_REQUIREMENTS_2);
@@ -636,15 +639,30 @@
}
void MVKInstance::logVersions() {
- MVKExtensionList* pExtns = getDriverLayer()->getSupportedExtensions();
+ MVKExtensionList allExtns(this, true);
MVKLogInfo("MoltenVK version %s. Vulkan version %s.\n\tThe following %d Vulkan extensions are supported:%s",
mvkGetMoltenVKVersionString(MVK_VERSION).c_str(),
mvkGetVulkanVersionString(MVK_VULKAN_API_VERSION).c_str(),
- pExtns->getEnabledCount(),
- pExtns->enabledNamesString("\n\t\t", true).c_str());
+ allExtns.getEnabledCount(),
+ allExtns.enabledNamesString("\n\t\t", true).c_str());
}
void MVKInstance::initConfig() {
+
+// The default value for MVK_CONFIG_SYNCHRONOUS_QUEUE_SUBMITS actually depends on whether
+// MTLEvents are supported, becuase if MTLEvents are not supported, then synchronous queues
+// should be turned off by default to ensure , whereas if MTLEvents are supported, we want
+// sychronous queues for better behaviour. The app can of course still override this default
+// behaviour by setting the env var, or the config directly.
+#undef MVK_CONFIG_SYNCHRONOUS_QUEUE_SUBMITS
+#define MVK_CONFIG_SYNCHRONOUS_QUEUE_SUBMITS syncQueueSubmits
+#if MVK_MACOS
+ bool syncQueueSubmits = mvkOSVersion() >= 10.14; // Support for MTLEvents
+#endif
+#if MVK_IOS
+ bool syncQueueSubmits = mvkOSVersion() >= 12.0; // Support for MTLEvents
+#endif
+
MVK_SET_FROM_ENV_OR_BUILD_BOOL( _mvkConfig.debugMode, MVK_DEBUG);
MVK_SET_FROM_ENV_OR_BUILD_BOOL( _mvkConfig.shaderConversionFlipVertexY, MVK_CONFIG_SHADER_CONVERSION_FLIP_VERTEX_Y);
MVK_SET_FROM_ENV_OR_BUILD_BOOL( _mvkConfig.synchronousQueueSubmits, MVK_CONFIG_SYNCHRONOUS_QUEUE_SUBMITS);
@@ -662,12 +680,14 @@
MVK_SET_FROM_ENV_OR_BUILD_BOOL( _mvkConfig.fullImageViewSwizzle, MVK_CONFIG_FULL_IMAGE_VIEW_SWIZZLE);
MVK_SET_FROM_ENV_OR_BUILD_BOOL( _mvkConfig.defaultGPUCaptureScopeQueueFamilyIndex, MVK_CONFIG_DEFAULT_GPU_CAPTURE_SCOPE_QUEUE_FAMILY_INDEX);
MVK_SET_FROM_ENV_OR_BUILD_BOOL( _mvkConfig.defaultGPUCaptureScopeQueueIndex, MVK_CONFIG_DEFAULT_GPU_CAPTURE_SCOPE_QUEUE_INDEX);
+
+ MVK_SET_FROM_ENV_OR_BUILD_INT32(_autoGPUCaptureScope, MVK_CONFIG_AUTO_GPU_CAPTURE_SCOPE);
}
VkResult MVKInstance::verifyLayers(uint32_t count, const char* const* names) {
VkResult result = VK_SUCCESS;
for (uint32_t i = 0; i < count; i++) {
- if ( !MVKLayerManager::globalManager()->getLayerNamed(names[i]) ) {
+ if ( !getLayerManager()->getLayerNamed(names[i]) ) {
result = reportError(VK_ERROR_LAYER_NOT_PRESENT, "Vulkan layer %s is not supported.", names[i]);
}
}
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.h b/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.h
index 99bb888..020af29 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.h
@@ -102,10 +102,12 @@
/** Constructs an instance for the specified device. */
MVKPipelineLayout(MVKDevice* device, const VkPipelineLayoutCreateInfo* pCreateInfo);
+ ~MVKPipelineLayout() override;
+
protected:
void propogateDebugName() override {}
- MVKVectorInline<MVKDescriptorSetLayout, 8> _descriptorSetLayouts;
+ MVKVectorInline<MVKDescriptorSetLayout*, 8> _descriptorSetLayouts;
MVKVectorInline<MVKShaderResourceBinding, 8> _dslMTLResourceIndexOffsets;
MVKVectorInline<VkPushConstantRange, 8> _pushConstants;
MVKShaderResourceBinding _pushConstantsMTLResourceIndexes;
@@ -156,6 +158,9 @@
/** Returns the current buffer size buffer bindings. */
const MVKShaderImplicitRezBinding& getBufferSizeBufferIndex() { return _bufferSizeBufferIndex; }
+ /** Returns the current indirect parameter buffer bindings. */
+ const MVKShaderImplicitRezBinding& getIndirectParamsIndex() { return _indirectParamsIndex; }
+
/** Returns whether or not full image view swizzling is enabled for this pipeline. */
bool fullImageViewSwizzle() const { return _fullImageViewSwizzle; }
@@ -171,6 +176,7 @@
MVKPipelineCache* _pipelineCache;
MVKShaderImplicitRezBinding _swizzleBufferIndex;
MVKShaderImplicitRezBinding _bufferSizeBufferIndex;
+ MVKShaderImplicitRezBinding _indirectParamsIndex;
MVKShaderResourceBinding _pushConstantsMTLResourceIndexes;
bool _fullImageViewSwizzle;
bool _hasValidMTLPipelineStates = true;
@@ -204,9 +210,6 @@
/** Returns the number of output tessellation patch control points. */
uint32_t getOutputControlPointCount() { return _outputControlPointCount; }
- /** Returns the current indirect parameter buffer bindings. */
- const MVKShaderImplicitRezBinding& getIndirectParamsIndex() { return _indirectParamsIndex; }
-
/** Returns the current captured output buffer bindings. */
const MVKShaderImplicitRezBinding& getOutputBufferIndex() { return _outputBufferIndex; }
@@ -281,7 +284,6 @@
float _blendConstants[4] = { 0.0, 0.0, 0.0, 1.0 };
uint32_t _outputControlPointCount;
- MVKShaderImplicitRezBinding _indirectParamsIndex;
MVKShaderImplicitRezBinding _outputBufferIndex;
uint32_t _tessCtlPatchOutputBufferIndex = 0;
uint32_t _tessCtlLevelBufferIndex = 0;
@@ -317,6 +319,9 @@
/** Binds this pipeline to the specified command encoder. */
void encode(MVKCommandEncoder* cmdEncoder, uint32_t = 0) override;
+ /** Returns if this pipeline allows non-zero dispatch bases in vkCmdDispatchBase(). */
+ bool allowsDispatchBase() { return _allowsDispatchBase; }
+
/** Constructs an instance for the device and parent (which may be NULL). */
MVKComputePipeline(MVKDevice* device,
MVKPipelineCache* pipelineCache,
@@ -332,6 +337,8 @@
MTLSize _mtlThreadgroupSize;
bool _needsSwizzleBuffer = false;
bool _needsBufferSizeBuffer = false;
+ bool _needsDispatchBaseBuffer = false;
+ bool _allowsDispatchBase = false;
};
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm b/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm
index 04a2b37..cd0a2dc 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm
@@ -47,11 +47,11 @@
for (uint32_t dsIdx = 0; dsIdx < dsCnt; dsIdx++) {
MVKDescriptorSet* descSet = descriptorSets[dsIdx];
uint32_t dslIdx = firstSet + dsIdx;
- auto& dsl = _descriptorSetLayouts[dslIdx];
- dsl.bindDescriptorSet(cmdEncoder, descSet,
- _dslMTLResourceIndexOffsets[dslIdx],
- dynamicOffsets, &pDynamicOffsetIndex);
- setConfigurationResult(dsl.getConfigurationResult());
+ MVKDescriptorSetLayout* dsl = _descriptorSetLayouts[dslIdx];
+ dsl->bindDescriptorSet(cmdEncoder, descSet,
+ _dslMTLResourceIndexOffsets[dslIdx],
+ dynamicOffsets, &pDynamicOffsetIndex);
+ setConfigurationResult(dsl->getConfigurationResult());
}
}
@@ -60,9 +60,9 @@
MVKVector<VkWriteDescriptorSet>& descriptorWrites,
uint32_t set) {
clearConfigurationResult();
- auto& dsl = _descriptorSetLayouts[set];
- dsl.pushDescriptorSet(cmdEncoder, descriptorWrites, _dslMTLResourceIndexOffsets[set]);
- setConfigurationResult(dsl.getConfigurationResult());
+ MVKDescriptorSetLayout* dsl = _descriptorSetLayouts[set];
+ dsl->pushDescriptorSet(cmdEncoder, descriptorWrites, _dslMTLResourceIndexOffsets[set]);
+ setConfigurationResult(dsl->getConfigurationResult());
}
// A null cmdEncoder can be passed to perform a validation pass
@@ -71,9 +71,9 @@
uint32_t set,
const void* pData) {
clearConfigurationResult();
- auto& dsl = _descriptorSetLayouts[set];
- dsl.pushDescriptorSet(cmdEncoder, descUpdateTemplate, pData, _dslMTLResourceIndexOffsets[set]);
- setConfigurationResult(dsl.getConfigurationResult());
+ MVKDescriptorSetLayout* dsl = _descriptorSetLayouts[set];
+ dsl->pushDescriptorSet(cmdEncoder, descUpdateTemplate, pData, _dslMTLResourceIndexOffsets[set]);
+ setConfigurationResult(dsl->getConfigurationResult());
}
void MVKPipelineLayout::populateShaderConverterContext(SPIRVToMSLConversionConfiguration& context) {
@@ -82,9 +82,9 @@
// Add resource bindings defined in the descriptor set layouts
uint32_t dslCnt = (uint32_t)_descriptorSetLayouts.size();
for (uint32_t dslIdx = 0; dslIdx < dslCnt; dslIdx++) {
- _descriptorSetLayouts[dslIdx].populateShaderConverterContext(context,
- _dslMTLResourceIndexOffsets[dslIdx],
- dslIdx);
+ _descriptorSetLayouts[dslIdx]->populateShaderConverterContext(context,
+ _dslMTLResourceIndexOffsets[dslIdx],
+ dslIdx);
}
// Add any resource bindings used by push-constants
@@ -113,16 +113,16 @@
// with each DSL as it is added. The final accumulation of resource index offsets
// becomes the resource index offsets that will be used for push contants.
- // According to the Vulkan spec, VkDescriptorSetLayout is intended to be consumed when
- // passed to any Vulkan function, and may be safely destroyed by app immediately after.
- // In order for this pipeline layout to retain the content of a VkDescriptorSetLayout,
- // this pipeline holds onto copies of the MVKDescriptorSetLayout instances, so that the
- // originals created by the app can be safely destroyed.
+ // According to the Vulkan spec, VkDescriptorSetLayout is intended to be consumed when passed
+ // to any Vulkan function, and may be safely destroyed by app immediately after. In order for
+ // this pipeline layout to retain the VkDescriptorSetLayout, the MVKDescriptorSetLayout
+ // instance is retained, so that it will live on here after it has been destroyed by the API.
_descriptorSetLayouts.reserve(pCreateInfo->setLayoutCount);
for (uint32_t i = 0; i < pCreateInfo->setLayoutCount; i++) {
MVKDescriptorSetLayout* pDescSetLayout = (MVKDescriptorSetLayout*)pCreateInfo->pSetLayouts[i];
- _descriptorSetLayouts.push_back(*pDescSetLayout);
+ pDescSetLayout->retain();
+ _descriptorSetLayouts.push_back(pDescSetLayout);
_dslMTLResourceIndexOffsets.push_back(_pushConstantsMTLResourceIndexes);
_pushConstantsMTLResourceIndexes += pDescSetLayout->_mtlResourceCounts;
}
@@ -150,6 +150,10 @@
}
}
+MVKPipelineLayout::~MVKPipelineLayout() {
+ for (auto dsl : _descriptorSetLayouts) { dsl->release(); }
+}
+
#pragma mark -
#pragma mark MVKPipeline
@@ -1294,6 +1298,8 @@
const VkComputePipelineCreateInfo* pCreateInfo) :
MVKPipeline(device, pipelineCache, (MVKPipelineLayout*)pCreateInfo->layout, parent) {
+ _allowsDispatchBase = mvkAreAllFlagsEnabled(pCreateInfo->flags, VK_PIPELINE_CREATE_DISPATCH_BASE); // sic; drafters forgot the 'BIT' suffix
+
MVKMTLFunction func = getMTLFunction(pCreateInfo);
_mtlThreadgroupSize = func.threadGroupSize;
_mtlPipelineState = nil;
@@ -1324,6 +1330,9 @@
if (_needsBufferSizeBuffer && _bufferSizeBufferIndex.stages[kMVKShaderStageCompute] > _device->_pMetalFeatures->maxPerStageBufferCount) {
setConfigurationResult(reportError(VK_ERROR_INVALID_SHADER_NV, "Compute shader requires buffer size buffer, but there is no free slot to pass it."));
}
+ if (_needsDispatchBaseBuffer && _indirectParamsIndex.stages[kMVKShaderStageCompute] > _device->_pMetalFeatures->maxPerStageBufferCount) {
+ setConfigurationResult(reportError(VK_ERROR_INVALID_SHADER_NV, "Compute shader requires dispatch base buffer, but there is no free slot to pass it."));
+ }
}
// Returns a MTLFunction to use when creating the MTLComputePipelineState.
@@ -1339,6 +1348,7 @@
shaderContext.options.mslOptions.texel_buffer_texture_width = _device->_pMetalFeatures->maxTextureDimension;
shaderContext.options.mslOptions.swizzle_texture_samples = _fullImageViewSwizzle && !getDevice()->_pMetalFeatures->nativeTextureSwizzle;
shaderContext.options.mslOptions.texture_buffer_native = _device->_pMetalFeatures->textureBuffers;
+ shaderContext.options.mslOptions.dispatch_base = _allowsDispatchBase;
MVKPipelineLayout* layout = (MVKPipelineLayout*)pCreateInfo->layout;
layout->populateShaderConverterContext(shaderContext);
@@ -1346,12 +1356,14 @@
_bufferSizeBufferIndex = layout->getBufferSizeBufferIndex();
shaderContext.options.mslOptions.swizzle_buffer_index = _swizzleBufferIndex.stages[kMVKShaderStageCompute];
shaderContext.options.mslOptions.buffer_size_buffer_index = _bufferSizeBufferIndex.stages[kMVKShaderStageCompute];
+ shaderContext.options.mslOptions.indirect_params_buffer_index = _indirectParamsIndex.stages[kMVKShaderStageCompute];
MVKMTLFunction func = ((MVKShaderModule*)pSS->module)->getMTLFunction(&shaderContext, pSS->pSpecializationInfo, _pipelineCache);
auto& funcRslts = func.shaderConversionResults;
_needsSwizzleBuffer = funcRslts.needsSwizzleBuffer;
_needsBufferSizeBuffer = funcRslts.needsBufferSizeBuffer;
+ _needsDispatchBaseBuffer = funcRslts.needsDispatchBaseBuffer;
return func;
}
@@ -1710,7 +1722,8 @@
scr.needsOutputBuffer,
scr.needsPatchOutputBuffer,
scr.needsBufferSizeBuffer,
- scr.needsInputThreadgroupMem);
+ scr.needsInputThreadgroupMem,
+ scr.needsDispatchBaseBuffer);
}
}
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKQueryPool.h b/MoltenVK/MoltenVK/GPUObjects/MVKQueryPool.h
index 23bdb68..90d86f1 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKQueryPool.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKQueryPool.h
@@ -20,7 +20,6 @@
#include "MVKDevice.h"
#include "MVKVector.h"
-#include <vector>
#include <mutex>
#include <condition_variable>
@@ -29,7 +28,8 @@
class MVKCommandEncoder;
// The size of one query slot in bytes
-#define kMVKQuerySlotSizeInBytes sizeof(uint64_t)
+#define kMVKQuerySlotSizeInBytes sizeof(uint64_t)
+#define kMVKDefaultQueryCount 64
#pragma mark -
@@ -57,7 +57,7 @@
virtual void endQuery(uint32_t query, MVKCommandEncoder* cmdEncoder);
/** Finishes the specified queries and marks them as available. */
- virtual void finishQueries(std::vector<uint32_t>& queries);
+ virtual void finishQueries(MVKVector<uint32_t>& queries);
/** Resets the results and availability status of the specified queries. */
virtual void resetResults(uint32_t firstQuery, uint32_t queryCount, MVKCommandEncoder* cmdEncoder);
@@ -101,7 +101,7 @@
MVKQueryPool(MVKDevice* device,
const VkQueryPoolCreateInfo* pCreateInfo,
const uint32_t queryElementCount) : MVKVulkanAPIDeviceObject(device),
- _availability(pCreateInfo->queryCount),
+ _availability(pCreateInfo->queryCount, Initial),
_queryElementCount(queryElementCount) {}
protected:
@@ -127,12 +127,12 @@
Available /**< Query is available to the host. */
};
- std::vector<Status> _availability;
+ MVKVectorInline<Status, kMVKDefaultQueryCount> _availability;
+ MVKVectorInline<DeferredCopy, 4> _deferredCopies;
uint32_t _queryElementCount;
std::mutex _availabilityLock;
std::condition_variable _availabilityBlocker;
std::mutex _deferredCopiesLock;
- MVKVectorInline<DeferredCopy, 2> _deferredCopies;
};
@@ -143,7 +143,7 @@
class MVKTimestampQueryPool : public MVKQueryPool {
public:
- void finishQueries(std::vector<uint32_t>& queries) override;
+ void finishQueries(MVKVector<uint32_t>& queries) override;
#pragma mark Construction
@@ -156,7 +156,7 @@
id<MTLBuffer> getResultBuffer(MVKCommandEncoder* cmdEncoder, uint32_t firstQuery, uint32_t queryCount, NSUInteger& offset) override;
void encodeSetResultBuffer(MVKCommandEncoder* cmdEncoder, uint32_t firstQuery, uint32_t queryCount, uint32_t index) override;
- std::vector<uint64_t> _timestamps;
+ MVKVectorInline<uint64_t, kMVKDefaultQueryCount> _timestamps;
};
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKQueryPool.mm b/MoltenVK/MoltenVK/GPUObjects/MVKQueryPool.mm
index 0090244..b174d07 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKQueryPool.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKQueryPool.mm
@@ -47,7 +47,7 @@
}
// Mark queries as available
-void MVKQueryPool::finishQueries(vector<uint32_t>& queries) {
+void MVKQueryPool::finishQueries(MVKVector<uint32_t>& queries) {
lock_guard<mutex> lock(_availabilityLock);
for (uint32_t qry : queries) { _availability[qry] = Available; }
_availabilityBlocker.notify_all(); // Predicate of each wait() call will check whether all required queries are available
@@ -184,7 +184,7 @@
#pragma mark MVKTimestampQueryPool
// Update timestamp values, then mark queries as available
-void MVKTimestampQueryPool::finishQueries(vector<uint32_t>& queries) {
+void MVKTimestampQueryPool::finishQueries(MVKVector<uint32_t>& queries) {
uint64_t ts = mvkGetTimestamp();
for (uint32_t qry : queries) { _timestamps[qry] = ts; }
@@ -215,7 +215,8 @@
#pragma mark Construction
MVKTimestampQueryPool::MVKTimestampQueryPool(MVKDevice* device,
- const VkQueryPoolCreateInfo* pCreateInfo) : MVKQueryPool(device, pCreateInfo, 1), _timestamps(pCreateInfo->queryCount) {
+ const VkQueryPoolCreateInfo* pCreateInfo) :
+ MVKQueryPool(device, pCreateInfo, 1), _timestamps(pCreateInfo->queryCount, 0) {
}
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKQueue.h b/MoltenVK/MoltenVK/GPUObjects/MVKQueue.h
index 7e326f6..2976527 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKQueue.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKQueue.h
@@ -23,7 +23,6 @@
#include "MVKImage.h"
#include "MVKSync.h"
#include "MVKVector.h"
-#include <vector>
#include <mutex>
#import <Metal/Metal.h>
@@ -65,7 +64,7 @@
MVKPhysicalDevice* _physicalDevice;
uint32_t _queueFamilyIndex;
VkQueueFamilyProperties _properties;
- std::vector<id<MTLCommandQueue>> _mtlQueues;
+ MVKVectorInline<id<MTLCommandQueue>, kMVKQueueCountPerQueueFamily> _mtlQueues;
std::mutex _qLock;
};
@@ -180,10 +179,7 @@
friend class MVKQueue;
MVKQueue* _queue;
- MVKQueueSubmission* _prev;
- MVKQueueSubmission* _next;
MVKVectorInline<MVKSemaphore*, 8> _waitSemaphores;
- bool _isAwaitingSemaphores;
bool _trackPerformance;
};
@@ -214,7 +210,6 @@
MVKVectorInline<MVKSemaphore*, 16> _signalSemaphores;
MVKFence* _fence;
id<MTLCommandBuffer> _activeMTLCommandBuffer;
- bool _isSignalingSemaphores;
};
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKQueue.mm b/MoltenVK/MoltenVK/GPUObjects/MVKQueue.mm
index 6a8647d..9a4dba4 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKQueue.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKQueue.mm
@@ -202,11 +202,8 @@
uint32_t waitSemaphoreCount,
const VkSemaphore* pWaitSemaphores) {
_queue = queue;
- _prev = nullptr;
- _next = nullptr;
_trackPerformance = _queue->_device->_pMVKConfig->performanceTracking;
- _isAwaitingSemaphores = waitSemaphoreCount > 0;
_waitSemaphores.reserve(waitSemaphoreCount);
for (uint32_t i = 0; i < waitSemaphoreCount; i++) {
_waitSemaphores.push_back((MVKSemaphore*)pWaitSemaphores[i]);
@@ -223,30 +220,14 @@
_queue->_submissionCaptureScope->beginScope();
- MVKDevice* mvkDev = _queue->getDevice();
-
- // If the device supports it, wait for any semaphores on the device.
- if (mvkDev->_pMetalFeatures->events && _isAwaitingSemaphores) {
- _isAwaitingSemaphores = false;
- for (auto* ws : _waitSemaphores) {
- ws->encodeWait(getActiveMTLCommandBuffer());
- }
- }
+ // If using encoded semaphore waiting, do so now.
+ for (auto* ws : _waitSemaphores) { ws->encodeWait(getActiveMTLCommandBuffer()); }
// Submit each command buffer.
for (auto& cb : _cmdBuffers) { cb->submit(this); }
- // If a fence or semaphores were provided, ensure that a MTLCommandBuffer
- // is available to trigger them, in case no command buffers were provided.
- if (_fence || _isSignalingSemaphores) { getActiveMTLCommandBuffer(); }
-
- // If the device supports it, signal all semaphores on the device.
- if (mvkDev->_pMetalFeatures->events && _isSignalingSemaphores) {
- _isSignalingSemaphores = false;
- for (auto* ss : _signalSemaphores) {
- ss->encodeSignal(getActiveMTLCommandBuffer());
- }
- }
+ // If using encoded semaphore signaling, do so now.
+ for (auto* ss : _signalSemaphores) { ss->encodeSignal(getActiveMTLCommandBuffer()); }
// Commit the last MTLCommandBuffer.
// Nothing after this because callback might destroy this instance before this function ends.
@@ -276,16 +257,16 @@
// allow as much filling of the MTLCommandBuffer as possible before forcing a wait.
void MVKQueueCommandBufferSubmission::commitActiveMTLCommandBuffer(bool signalCompletion) {
- if (_isAwaitingSemaphores) {
- _isAwaitingSemaphores = false;
- for (auto& ws : _waitSemaphores) { ws->wait(); }
- }
+ // If using inline semaphore waiting, do so now.
+ for (auto& ws : _waitSemaphores) { ws->encodeWait(nil); }
MVKDevice* mkvDev = _queue->_device;
uint64_t startTime = mkvDev->getPerformanceTimestamp();
+ // Use getActiveMTLCommandBuffer() to ensure at least one MTLCommandBuffer is used,
+ // otherwise if this instance has no content, it will not finish() and be destroyed.
if (signalCompletion || _trackPerformance) {
- [_activeMTLCommandBuffer addCompletedHandler: ^(id<MTLCommandBuffer> mtlCmdBuff) {
+ [getActiveMTLCommandBuffer() addCompletedHandler: ^(id<MTLCommandBuffer> mtlCmdBuff) {
_queue->_device->addActivityPerformance(mkvDev->_performanceStatistics.queue.mtlCommandBufferCompletion, startTime);
if (signalCompletion) { this->finish(); }
}];
@@ -305,15 +286,13 @@
// immediately after a waitIdle() is cleared by fence below, taking the capture scope with it.
_queue->_submissionCaptureScope->endScope();
- // Signal each of the signal semaphores.
- if (_isSignalingSemaphores) {
- for (auto& ss : _signalSemaphores) { ss->signal(); }
- }
+ // If using inline semaphore signaling, do so now.
+ for (auto& ss : _signalSemaphores) { ss->encodeSignal(nil); }
// If a fence exists, signal it.
if (_fence) { _fence->signal(); }
- this->destroy();
+ this->destroy();
}
MVKQueueCommandBufferSubmission::MVKQueueCommandBufferSubmission(MVKQueue* queue,
@@ -334,7 +313,6 @@
}
uint32_t ssCnt = pSubmit->signalSemaphoreCount;
- _isSignalingSemaphores = ssCnt > 0;
_signalSemaphores.reserve(ssCnt);
for (uint32_t i = 0; i < ssCnt; i++) {
_signalSemaphores.push_back((MVKSemaphore*)pSubmit->pSignalSemaphores[i]);
@@ -353,37 +331,21 @@
#pragma mark MVKQueuePresentSurfaceSubmission
void MVKQueuePresentSurfaceSubmission::execute() {
- // If there are semaphores and this device supports MTLEvent, we must present
- // with a command buffer in order to synchronize with the semaphores.
- MVKDevice* mvkDev = _queue->getDevice();
- if (mvkDev->_pMetalFeatures->events && !_waitSemaphores.empty()) {
- // Create a command buffer, have it wait for the semaphores, then present
- // surfaces via the command buffer.
- id<MTLCommandBuffer> mtlCmdBuff = getMTLCommandBuffer();
- for (auto& ws : _waitSemaphores) { ws->encodeWait(mtlCmdBuff); }
- for (auto& si : _surfaceImages) { si->presentCAMetalDrawable(mtlCmdBuff); }
+ // If the semaphores are encodable, wait on them by encoding them on the MTLCommandBuffer before presenting.
+ // If the semaphores are not encodable, wait on them inline after presenting.
+ // The semaphores know what to do.
+ id<MTLCommandBuffer> mtlCmdBuff = getMTLCommandBuffer();
+ for (auto& ws : _waitSemaphores) { ws->encodeWait(mtlCmdBuff); }
+ for (auto& si : _surfaceImages) { si->presentCAMetalDrawable(mtlCmdBuff); }
+ for (auto& ws : _waitSemaphores) { ws->encodeWait(nil); }
+ [mtlCmdBuff commit];
- [mtlCmdBuff commit];
- } else if (mvkDev->_pMVKConfig->presentWithCommandBuffer || mvkDev->_pMVKConfig->displayWatermark) {
- // Create a command buffer, present surfaces via the command buffer,
- // then wait on the semaphores before committing.
- id<MTLCommandBuffer> mtlCmdBuff = getMTLCommandBuffer();
- for (auto& si : _surfaceImages) { si->presentCAMetalDrawable(mtlCmdBuff); }
- for (auto& ws : _waitSemaphores) { ws->wait(); }
-
- [mtlCmdBuff commit];
- } else {
- // Wait on semaphores, then present directly.
- for (auto& ws : _waitSemaphores) { ws->wait(); }
- for (auto& si : _surfaceImages) { si->presentCAMetalDrawable(nil); }
- }
-
- // Let Xcode know the current frame is done, then start a new frame
+ // Let Xcode know the current frame is done, then start a new frame
auto cs = _queue->_presentationCaptureScope;
cs->endScope();
cs->beginScope();
- this->destroy();
+ this->destroy();
}
id<MTLCommandBuffer> MVKQueuePresentSurfaceSubmission::getMTLCommandBuffer() {
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKRenderPass.h b/MoltenVK/MoltenVK/GPUObjects/MVKRenderPass.h
index a93dba6..253f367 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKRenderPass.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKRenderPass.h
@@ -20,7 +20,6 @@
#include "MVKDevice.h"
#include "MVKVector.h"
-#include <vector>
#import <Metal/Metal.h>
@@ -28,6 +27,10 @@
class MVKFramebuffer;
+// Parameters to define the sizing of inline collections
+const static uint32_t kMVKDefaultAttachmentCount = 8;
+
+
#pragma mark -
#pragma mark MVKRenderSubpass
@@ -70,7 +73,7 @@
* Populates the specified vector with the attachments that need to be cleared
* when the render area is smaller than the full framebuffer size.
*/
- void populateClearAttachments(std::vector<VkClearAttachment>& clearAtts,
+ void populateClearAttachments(MVKVector<VkClearAttachment>& clearAtts,
MVKVector<VkClearValue>& clearValues);
/** Constructs an instance for the specified parent renderpass. */
@@ -85,10 +88,10 @@
MVKRenderPass* _renderPass;
uint32_t _subpassIndex;
- std::vector<VkAttachmentReference> _inputAttachments;
- std::vector<VkAttachmentReference> _colorAttachments;
- std::vector<VkAttachmentReference> _resolveAttachments;
- std::vector<uint32_t> _preserveAttachments;
+ MVKVectorInline<VkAttachmentReference, kMVKDefaultAttachmentCount> _inputAttachments;
+ MVKVectorInline<VkAttachmentReference, kMVKDefaultAttachmentCount> _colorAttachments;
+ MVKVectorInline<VkAttachmentReference, kMVKDefaultAttachmentCount> _resolveAttachments;
+ MVKVectorInline<uint32_t, kMVKDefaultAttachmentCount> _preserveAttachments;
VkAttachmentReference _depthStencilAttachment;
id<MTLTexture> _mtlDummyTex = nil;
};
@@ -131,6 +134,8 @@
const VkAttachmentDescription* pCreateInfo);
protected:
+ VkAttachmentDescription validate(const VkAttachmentDescription* pCreateInfo);
+
VkAttachmentDescription _info;
MVKRenderPass* _renderPass;
uint32_t _attachmentIndex;
@@ -168,9 +173,9 @@
void propogateDebugName() override {}
- std::vector<MVKRenderSubpass> _subpasses;
- std::vector<MVKRenderPassAttachment> _attachments;
- std::vector<VkSubpassDependency> _subpassDependencies;
+ MVKVectorInline<MVKRenderPassAttachment, kMVKDefaultAttachmentCount> _attachments;
+ MVKVectorInline<MVKRenderSubpass, 4> _subpasses;
+ MVKVectorInline<VkSubpassDependency, 4 * 2> _subpassDependencies;
};
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKRenderPass.mm b/MoltenVK/MoltenVK/GPUObjects/MVKRenderPass.mm
index 52609af..42b499b 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKRenderPass.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKRenderPass.mm
@@ -165,7 +165,7 @@
}
}
-void MVKRenderSubpass::populateClearAttachments(vector<VkClearAttachment>& clearAtts,
+void MVKRenderSubpass::populateClearAttachments(MVKVector<VkClearAttachment>& clearAtts,
MVKVector<VkClearValue>& clearValues) {
VkClearAttachment cAtt;
@@ -321,9 +321,19 @@
}
}
- _info = *pCreateInfo;
+ _info = validate(pCreateInfo);
}
+// Validate and potentially modify the create info
+VkAttachmentDescription MVKRenderPassAttachment::validate(const VkAttachmentDescription* pCreateInfo) {
+ VkAttachmentDescription info = *pCreateInfo;
+
+ if ( !_renderPass->getMTLPixelFormatFromVkFormat(info.format) ) {
+ _renderPass->setConfigurationResult(reportError(VK_ERROR_FORMAT_NOT_SUPPORTED, "vkCreateRenderPass(): Attachment format %s is not supported on this device.", mvkVkFormatName(info.format)));
+ }
+
+ return info;
+}
#pragma mark -
#pragma mark MVKRenderPass
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKShaderModule.h b/MoltenVK/MoltenVK/GPUObjects/MVKShaderModule.h
index d9a8f84..4ef1dfb 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKShaderModule.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKShaderModule.h
@@ -20,9 +20,9 @@
#include "MVKDevice.h"
#include "MVKSync.h"
+#include "MVKVector.h"
#include <MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.h>
#include <MoltenVKGLSLToSPIRVConverter/GLSLToSPIRVConverter.h>
-#include <vector>
#include <mutex>
#import <Metal/Metal.h>
@@ -151,7 +151,7 @@
void merge(MVKShaderLibraryCache* other);
MVKVulkanAPIDeviceObject* _owner;
- std::vector<std::pair<SPIRVToMSLConversionConfiguration, MVKShaderLibrary*>> _shaderLibraries;
+ MVKVectorInline<std::pair<SPIRVToMSLConversionConfiguration, MVKShaderLibrary*>, 4> _shaderLibraries;
};
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKSurface.mm b/MoltenVK/MoltenVK/GPUObjects/MVKSurface.mm
index 3dd8118..616b8b2 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKSurface.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKSurface.mm
@@ -43,7 +43,7 @@
const Vk_PLATFORM_SurfaceCreateInfoMVK* pCreateInfo,
const VkAllocationCallbacks* pAllocator) : _mvkInstance(mvkInstance) {
- MVKLogInfo("%s(): This function is obsolete. Consider using the vkCreateMetalSurfaceEXT() function from the VK_EXT_metal_surface extension instead.", STR(vkCreate_PLATFORM_SurfaceMVK));
+// MVKLogInfo("%s(): This function is obsolete. Consider using the vkCreateMetalSurfaceEXT() function from the VK_EXT_metal_surface extension instead.", STR(vkCreate_PLATFORM_SurfaceMVK));
// Get the platform object contained in pView
id<NSObject> obj = (id<NSObject>)pCreateInfo->pView;
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.h b/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.h
index d2ca10b..2346699 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.h
@@ -19,9 +19,9 @@
#pragma once
#include "MVKDevice.h"
-#include <vector>
+#include "MVKImage.h"
+#include "MVKVector.h"
-class MVKSwapchainImage;
class MVKWatermark;
@class MVKBlockObserver;
@@ -29,6 +29,9 @@
#pragma mark MVKSwapchain
+/** Tracks a semaphore and fence for later signaling. */
+typedef std::pair<MVKSemaphore*, MVKFence*> MVKSwapchainSignaler;
+
/** Represents a Vulkan swapchain. */
class MVKSwapchain : public MVKVulkanAPIDeviceObject {
@@ -80,17 +83,25 @@
/** Adds HDR metadata to this swapchain. */
void setHDRMetadataEXT(const VkHdrMetadataEXT& metadata);
+ /**
+ * Registers a semaphore and/or fence that will be signaled when the image at the given index becomes available.
+ * This function accepts both a semaphore and a fence, and either none, one, or both may be provided.
+ * If this image is available already, the semaphore and fence are immediately signaled.
+ */
+ void signalWhenAvailable(uint32_t imageIndex, MVKSemaphore* semaphore, MVKFence* fence);
+
#pragma mark Metal
/**
- * Returns the next Metal drawable available to provide backing for
- * an image in this swapchain. The returned object is autoreleased.
+ * Returns the Metal drawable providing backing for the image at the given
+ * index in this swapchain. If none is established, the next available
+ * drawable is acquired and returned.
*
* This function may block until the next drawable is available,
* and may return nil if no drawable is available at all.
*/
- id<CAMetalDrawable> getNextCAMetalDrawable();
+ id<CAMetalDrawable> getCAMetalDrawable(uint32_t imgIdx);
#pragma mark Construction
@@ -102,6 +113,12 @@
protected:
friend class MVKSwapchainImage;
+ struct Availability {
+ MVKSwapchainImageAvailability status;
+ MVKVectorInline<MVKSwapchainSignaler, 4> signalers;
+ MVKSwapchainSignaler preSignaled;
+ };
+
void propogateDebugName() override;
void initCAMetalLayer(const VkSwapchainCreateInfoKHR* pCreateInfo, uint32_t imgCnt);
void initSurfaceImages(const VkSwapchainCreateInfoKHR* pCreateInfo, uint32_t imgCnt);
@@ -111,10 +128,19 @@
void willPresentSurface(id<MTLTexture> mtlTexture, id<MTLCommandBuffer> mtlCmdBuff);
void renderWatermark(id<MTLTexture> mtlTexture, id<MTLCommandBuffer> mtlCmdBuff);
void markFrameInterval();
+ void resetCAMetalDrawable(uint32_t imgIdx);
+ void signal(MVKSwapchainSignaler& signaler, id<MTLCommandBuffer> mtlCmdBuff);
+ void signalPresentationSemaphore(uint32_t imgIdx, id<MTLCommandBuffer> mtlCmdBuff);
+ static void markAsTracked(MVKSwapchainSignaler& signaler);
+ static void unmarkAsTracked(MVKSwapchainSignaler& signaler);
+ void makeAvailable(uint32_t imgIdx);
CAMetalLayer* _mtlLayer;
MVKWatermark* _licenseWatermark;
- std::vector<MVKSwapchainImage*> _surfaceImages;
+ MVKVectorInline<MVKSwapchainImage*, kMVKMaxSwapchainImageCount> _surfaceImages;
+ MVKVectorInline<id<CAMetalDrawable>, kMVKMaxSwapchainImageCount> _mtlDrawables;
+ MVKVectorInline<Availability, kMVKMaxSwapchainImageCount> _imageAvailability;
+ std::mutex _availabilityLock;
std::atomic<uint64_t> _currentAcquisitionID;
CGSize _mtlLayerOrigDrawSize;
MVKSwapchainPerformance _performanceStatistics;
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm b/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm
index ca26e35..0c396e3 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm
@@ -19,6 +19,7 @@
#include "MVKSurface.h"
#include "MVKSwapchain.h"
#include "MVKImage.h"
+#include "MVKQueue.h"
#include "MVKFoundation.h"
#include "MVKOSExtensions.h"
#include "MVKWatermark.h"
@@ -36,6 +37,16 @@
#pragma mark MVKSwapchain
+bool MVKSwapchainImageAvailability_t::operator< (const MVKSwapchainImageAvailability_t& rhs) const {
+ if ( isAvailable && !rhs.isAvailable) { return true; }
+ if ( !isAvailable && rhs.isAvailable) { return false; }
+
+ if (waitCount < rhs.waitCount) { return true; }
+ if (waitCount > rhs.waitCount) { return false; }
+
+ return acquisitionID < rhs.acquisitionID;
+}
+
void MVKSwapchain::propogateDebugName() {
if (_debugName) {
size_t imgCnt = _surfaceImages.size();
@@ -47,7 +58,7 @@
}
}
-uint32_t MVKSwapchain::getImageCount() { return (uint32_t)_surfaceImages.size(); }
+uint32_t MVKSwapchain::getImageCount() { return (uint32_t)_imageAvailability.size(); }
MVKSwapchainImage* MVKSwapchain::getImage(uint32_t index) { return _surfaceImages[index]; }
@@ -87,16 +98,16 @@
MVKSwapchainImageAvailability minAvailability = { .acquisitionID = kMVKUndefinedLargeUInt64,
.waitCount = kMVKUndefinedLargeUInt32,
.isAvailable = false };
- for (MVKSwapchainImage* mvkSCImg : _surfaceImages) {
- const MVKSwapchainImageAvailability* currAvailability = mvkSCImg->getAvailability();
- if (*currAvailability < minAvailability) {
- minAvailability = *currAvailability;
- minWaitIndex = mvkSCImg->getSwapchainIndex();
+ for (uint32_t imgIdx = 0; imgIdx < _imageAvailability.size(); imgIdx++) {
+ const Availability& avail = _imageAvailability[imgIdx];
+ if (avail.status < minAvailability) {
+ minAvailability = avail.status;
+ minWaitIndex = imgIdx;
}
}
*pImageIndex = minWaitIndex; // Return the index of the image with the shortest wait
- _surfaceImages[minWaitIndex]->signalWhenAvailable((MVKSemaphore*)semaphore, (MVKFence*)fence);
+ signalWhenAvailable(minWaitIndex, (MVKSemaphore*)semaphore, (MVKFence*)fence);
return getHasSurfaceSizeChanged() ? VK_ERROR_OUT_OF_DATE_KHR : VK_SUCCESS;
}
@@ -112,6 +123,98 @@
*/
void MVKSwapchain::releaseUndisplayedSurfaces() {}
+// Makes an image available for acquisition by the app.
+// If any semaphores are waiting to be signaled when this image becomes available, the
+// earliest semaphore is signaled, and this image remains unavailable for other uses.
+void MVKSwapchain::makeAvailable(uint32_t imgIdx) {
+ lock_guard<mutex> lock(_availabilityLock);
+ auto& availability = _imageAvailability[imgIdx].status;
+
+ // Mark when this event happened, relative to that of other images
+ availability.acquisitionID = getNextAcquisitionID();
+
+ // Mark this image as available if no semaphores or fences are waiting to be signaled.
+ availability.isAvailable = _imageAvailability[imgIdx].signalers.empty();
+
+ MVKSwapchainSignaler signaler;
+ if (availability.isAvailable) {
+ // If this image is available, signal the semaphore and fence that were associated
+ // with the last time this image was acquired while available. This is a workaround for
+ // when an app uses a single semaphore or fence for more than one swapchain image.
+ // Becuase the semaphore or fence will be signaled by more than one image, it will
+ // get out of sync, and the final use of the image would not be signaled as a result.
+ signaler = _imageAvailability[imgIdx].preSignaled;
+ } else {
+ // If this image is not yet available, extract and signal the first semaphore and fence.
+ auto& imgSignalers = _imageAvailability[imgIdx].signalers;
+ auto sigIter = imgSignalers.begin();
+ signaler = *sigIter;
+ imgSignalers.erase(sigIter);
+ }
+
+ // Signal the semaphore and fence, and let them know they are no longer being tracked.
+ signal(signaler, nil);
+ unmarkAsTracked(signaler);
+
+// MVKLogDebug("Signaling%s swapchain image %p semaphore %p from present, with %lu remaining semaphores.", (_availability.isAvailable ? " pre-signaled" : ""), this, signaler.first, _availabilitySignalers.size());
+}
+
+void MVKSwapchain::signalWhenAvailable(uint32_t imageIndex, MVKSemaphore* semaphore, MVKFence* fence) {
+ lock_guard<mutex> lock(_availabilityLock);
+ auto signaler = make_pair(semaphore, fence);
+ auto& availability = _imageAvailability[imageIndex].status;
+ if (availability.isAvailable) {
+ availability.isAvailable = false;
+
+ // If signalling through a MTLEvent, use an ephemeral MTLCommandBuffer.
+ // Another option would be to use MTLSharedEvent in MVKSemaphore, but that might
+ // impose unacceptable performance costs to handle this particular case.
+ @autoreleasepool {
+ MVKSemaphore* mvkSem = signaler.first;
+ id<MTLCommandBuffer> mtlCmdBuff = (mvkSem && mvkSem->isUsingCommandEncoding()
+ ? [_device->getQueue()->getMTLCommandQueue() commandBufferWithUnretainedReferences]
+ : nil);
+ signal(signaler, mtlCmdBuff);
+ [mtlCmdBuff commit];
+ }
+
+ _imageAvailability[imageIndex].preSignaled = signaler;
+ } else {
+ _imageAvailability[imageIndex].signalers.push_back(signaler);
+ }
+ markAsTracked(signaler);
+
+// MVKLogDebug("%s swapchain image %p semaphore %p in acquire with %lu other semaphores.", (_availability.isAvailable ? "Signaling" : "Tracking"), this, semaphore, _availabilitySignalers.size());
+}
+
+// Signal either or both of the semaphore and fence in the specified tracker pair.
+void MVKSwapchain::signal(MVKSwapchainSignaler& signaler, id<MTLCommandBuffer> mtlCmdBuff) {
+ if (signaler.first) { signaler.first->encodeSignal(mtlCmdBuff); }
+ if (signaler.second) { signaler.second->signal(); }
+}
+
+// If present, signal the semaphore for the first waiter for the given image.
+void MVKSwapchain::signalPresentationSemaphore(uint32_t imgIdx, id<MTLCommandBuffer> mtlCmdBuff) {
+ lock_guard<mutex> lock(_availabilityLock);
+ auto& imgSignalers = _imageAvailability[imgIdx].signalers;
+ if ( !imgSignalers.empty() ) {
+ MVKSemaphore* mvkSem = imgSignalers.front().first;
+ if (mvkSem) { mvkSem->encodeSignal(mtlCmdBuff); }
+ }
+}
+
+// Tell the semaphore and fence that they are being tracked for future signaling.
+void MVKSwapchain::markAsTracked(MVKSwapchainSignaler& signaler) {
+ if (signaler.first) { signaler.first->retain(); }
+ if (signaler.second) { signaler.second->retain(); }
+}
+
+// Tell the semaphore and fence that they are no longer being tracked for future signaling.
+void MVKSwapchain::unmarkAsTracked(MVKSwapchainSignaler& signaler) {
+ if (signaler.first) { signaler.first->release(); }
+ if (signaler.second) { signaler.second->release(); }
+}
+
#pragma mark Rendering
@@ -242,12 +345,22 @@
#pragma mark Metal
-id<CAMetalDrawable> MVKSwapchain::getNextCAMetalDrawable() {
- id<CAMetalDrawable> nextDrwbl = nil;
- while ( !(nextDrwbl = [_mtlLayer nextDrawable]) ) {
- MVKLogError("Drawable could not be retrieved! Elapsed time: %.6f ms.", mvkGetElapsedMilliseconds());
+id<CAMetalDrawable> MVKSwapchain::getCAMetalDrawable(uint32_t imageIndex) {
+ if ( _mtlDrawables[imageIndex] ) { return _mtlDrawables[imageIndex]; }
+ @autoreleasepool { // Allow auto-released drawable object to be reclaimed before end of loop
+ id<CAMetalDrawable> nextDrwbl = nil;
+ while ( !(nextDrwbl = [_mtlLayer nextDrawable]) ) {
+ MVKLogError("Drawable could not be retrieved! Elapsed time: %.6f ms.", mvkGetElapsedMilliseconds());
+ }
+ _mtlDrawables[imageIndex] = [nextDrwbl retain];
}
- return nextDrwbl;
+ return _mtlDrawables[imageIndex];
+}
+
+// Removes and releases a Metal drawable object, so that it can be lazily created by getCAMetalDrawable().
+void MVKSwapchain::resetCAMetalDrawable(uint32_t imgIdx) {
+ [_mtlDrawables[imgIdx] release];
+ _mtlDrawables[imgIdx] = nil;
}
@@ -292,6 +405,10 @@
VK_IMAGE_USAGE_TRANSFER_DST_BIT |
VK_IMAGE_USAGE_SAMPLED_BIT |
VK_IMAGE_USAGE_STORAGE_BIT));
+ if (pCreateInfo->compositeAlpha != VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR) {
+ _mtlLayer.opaque = pCreateInfo->compositeAlpha == VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR;
+ }
+
switch (pCreateInfo->imageColorSpace) {
case VK_COLOR_SPACE_SRGB_NONLINEAR_KHR:
_mtlLayer.colorspace = CGColorSpaceCreateWithName(kCGColorSpaceSRGB);
@@ -384,10 +501,20 @@
if (mvkAreAllFlagsEnabled(pCreateInfo->flags, VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR)) {
mvkEnableFlag(imgInfo.flags, VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT | VK_IMAGE_CREATE_EXTENDED_USAGE_BIT);
}
+ if (mvkAreAllFlagsEnabled(pCreateInfo->flags, VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR)) {
+ // We don't really support this, but set the flag anyway.
+ mvkEnableFlag(imgInfo.flags, VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT);
+ }
_surfaceImages.reserve(imgCnt);
+ _mtlDrawables.resize(imgCnt);
+ _imageAvailability.resize(imgCnt);
for (uint32_t imgIdx = 0; imgIdx < imgCnt; imgIdx++) {
_surfaceImages.push_back(_device->createSwapchainImage(&imgInfo, this, imgIdx, NULL));
+ _imageAvailability[imgIdx].status.acquisitionID = getNextAcquisitionID();
+ _imageAvailability[imgIdx].status.isAvailable = true;
+ _imageAvailability[imgIdx].preSignaled = make_pair(nullptr, nullptr);
+ _mtlDrawables[imgIdx] = nil;
}
MVKLogInfo("Created %d swapchain images with initial size (%d, %d).", imgCnt, imgExtent.width, imgExtent.height);
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKSync.h b/MoltenVK/MoltenVK/GPUObjects/MVKSync.h
index fa5f647..95c90c1 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKSync.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKSync.h
@@ -23,7 +23,6 @@
#include <mutex>
#include <condition_variable>
#include <unordered_set>
-#include <vector>
class MVKFenceSitter;
@@ -61,6 +60,9 @@
*/
bool release();
+ /** Returns whether this instance is in a reserved state. */
+ bool isReserved();
+
/**
* Blocks processing on the current thread until any or all (depending on configuration) outstanding
* reservations have been released, or until the specified timeout interval in nanoseconds expires.
@@ -82,7 +84,7 @@
*
* The waitAll parameter indicates whether a call to the release() function is required
* for each call to the reserve() function (waitAll = true), or whether a single call
- * to the release() function will release all outstanding reservations (waitAll = true).
+ * to the release() function will release all outstanding reservations (waitAll = false).
* This value defaults to true, indicating that each call to the reserve() function will
* require a separate call to the release() function to cause the semaphore to stop blocking.
*/
@@ -107,7 +109,7 @@
#pragma mark -
#pragma mark MVKSemaphore
-/** Represents a Vulkan semaphore. */
+/** Abstract class that represents a Vulkan semaphore. */
class MVKSemaphore : public MVKVulkanAPIDeviceObject {
public:
@@ -118,42 +120,110 @@
/** Returns the debug report object type of this object. */
VkDebugReportObjectTypeEXT getVkDebugReportObjectType() override { return VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT; }
- /**
- * Blocks processing on the current thread until this semaphore is
- * signaled, or until the specified timeout in nanoseconds expires.
+ /**
+ * Wait for this semaphore to be signaled.
*
- * If timeout is the special value UINT64_MAX the timeout is treated as infinite.
+ * If the subclass uses command encoding AND the mtlCmdBuff is not nil, a wait
+ * is encoded on the mtlCmdBuff, and this call returns immediately. Otherwise, if the
+ * subclass does NOT use command encoding, AND the mtlCmdBuff is nil, this call blocks
+ * indefinitely until this semaphore is signaled. Other combinations do nothing.
*
- * Returns true if this semaphore was signaled, or false if the timeout interval expired.
+ * This design allows this function to be blindly called twice, from different points in the
+ * code path, once with a mtlCmdBuff to support encoding a wait on the command buffer if the
+ * subclass supports command encoding, and once without a mtlCmdBuff, at the point in the
+ * code path where the code should block if the subclass does not support command encoding.
*/
- bool wait(uint64_t timeout = UINT64_MAX);
+ virtual void encodeWait(id<MTLCommandBuffer> mtlCmdBuff) = 0;
- /** Signals the semaphore. Unblocks all waiting threads to continue processing. */
- void signal();
+ /**
+ * Signals this semaphore.
+ *
+ * If the subclass uses command encoding AND the mtlCmdBuff is not nil, a signal is
+ * encoded on the mtlCmdBuff. Otherwise, if the subclass does NOT use command encoding,
+ * AND the mtlCmdBuff is nil, this call immediately signals any waiting calls.
+ * Either way, this call returns immediately. Other combinations do nothing.
+ *
+ * This design allows this function to be blindly called twice, from different points in the
+ * code path, once with a mtlCmdBuff to support encoding a wait on the command buffer if the
+ * subclass supports command encoding, and once without a mtlCmdBuff, at the point in the
+ * code path where the code should block if the subclass does not support command encoding.
+ */
+ virtual void encodeSignal(id<MTLCommandBuffer> mtlCmdBuff) = 0;
- /** Encodes an operation to block command buffer operation until this semaphore is signaled. */
- void encodeWait(id<MTLCommandBuffer> cmdBuff);
-
- /** Encodes an operation to signal the semaphore. */
- void encodeSignal(id<MTLCommandBuffer> cmdBuff);
+ /** Returns whether this semaphore uses command encoding. */
+ virtual bool isUsingCommandEncoding() = 0;
#pragma mark Construction
- MVKSemaphore(MVKDevice* device, const VkSemaphoreCreateInfo* pCreateInfo);
-
- ~MVKSemaphore() override;
+ MVKSemaphore(MVKDevice* device, const VkSemaphoreCreateInfo* pCreateInfo) : MVKVulkanAPIDeviceObject(device) {}
protected:
void propogateDebugName() override {}
- MVKSemaphoreImpl _blocker;
+};
+
+
+#pragma mark -
+#pragma mark MVKSemaphoreMTLFence
+
+/** An MVKSemaphore that uses MTLFence to provide synchronization. */
+class MVKSemaphoreMTLFence : public MVKSemaphore {
+
+public:
+ void encodeWait(id<MTLCommandBuffer> mtlCmdBuff) override;
+ void encodeSignal(id<MTLCommandBuffer> mtlCmdBuff) override;
+ bool isUsingCommandEncoding() override { return true; }
+
+ MVKSemaphoreMTLFence(MVKDevice* device, const VkSemaphoreCreateInfo* pCreateInfo);
+
+ ~MVKSemaphoreMTLFence() override;
+
+protected:
+ id<MTLFence> _mtlFence;
+};
+
+
+#pragma mark -
+#pragma mark MVKSemaphoreMTLEvent
+
+/** An MVKSemaphore that uses MTLEvent to provide synchronization. */
+class MVKSemaphoreMTLEvent : public MVKSemaphore {
+
+public:
+ void encodeWait(id<MTLCommandBuffer> mtlCmdBuff) override;
+ void encodeSignal(id<MTLCommandBuffer> mtlCmdBuff) override;
+ bool isUsingCommandEncoding() override { return true; }
+
+ MVKSemaphoreMTLEvent(MVKDevice* device, const VkSemaphoreCreateInfo* pCreateInfo);
+
+ ~MVKSemaphoreMTLEvent() override;
+
+protected:
id<MTLEvent> _mtlEvent;
std::atomic<uint64_t> _mtlEventValue;
};
#pragma mark -
+#pragma mark MVKSemaphoreEmulated
+
+/** An MVKSemaphore that uses CPU synchronization to provide synchronization functionality. */
+class MVKSemaphoreEmulated : public MVKSemaphore {
+
+public:
+ void encodeWait(id<MTLCommandBuffer> mtlCmdBuff) override;
+ void encodeSignal(id<MTLCommandBuffer> mtlCmdBuff) override;
+ bool isUsingCommandEncoding() override { return false; }
+
+ MVKSemaphoreEmulated(MVKDevice* device, const VkSemaphoreCreateInfo* pCreateInfo);
+
+protected:
+ MVKSemaphoreImpl _blocker;
+};
+
+
+#pragma mark -
#pragma mark MVKFence
/** Represents a Vulkan fence. */
@@ -248,6 +318,84 @@
#pragma mark -
+#pragma mark MVKEvent
+
+/** Abstract class that represents a Vulkan event. */
+class MVKEvent : public MVKVulkanAPIDeviceObject {
+
+public:
+
+ /** Returns the Vulkan type of this object. */
+ VkObjectType getVkObjectType() override { return VK_OBJECT_TYPE_EVENT; }
+
+ /** Returns the debug report object type of this object. */
+ VkDebugReportObjectTypeEXT getVkDebugReportObjectType() override { return VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT; }
+
+ /** Returns whether this event is set. */
+ virtual bool isSet() = 0;
+
+ /** Sets the signal status. */
+ virtual void signal(bool status) = 0;
+
+ /** Encodes an operation to signal the event with a status. */
+ virtual void e