Merge pull request #643 from billhollings/Metal-3.0

Sync Metal-3.0 with master
diff --git a/.travis.yml b/.travis.yml
index 9b3bd0a..32a4db1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,9 +4,10 @@
 osx_image: xcode11
 
 # Build dependencies
+# Travis has trouble with python3, which SPIRV-Tools requires,
+# so skip the SPIRV-Tools build, and use templeted headers instead.
 install:
-  - brew install python3
-  - ./fetchDependencies -v
+  - ./fetchDependencies -v --skip-spirv-tools-build
 
 # Cache built deps
 cache:
diff --git a/Docs/Whats_New.md b/Docs/Whats_New.md
index 611cbfc..fbca82f 100644
--- a/Docs/Whats_New.md
+++ b/Docs/Whats_New.md
@@ -13,11 +13,22 @@
 
 
 
-MoltenVK 1.0.35
+MoltenVK 1.0.36
 ---------------
 
 Released TBD
 
+- On iOS GPU family 2 and earlier, support immutable depth-compare samplers 
+  as constexpr samplers hardcoded in MSL.
+- Skip SPIRV-Tools build in Travis.
+
+
+
+MoltenVK 1.0.35
+---------------
+
+Released 2019/06/13
+
 - Add support for extensions:
 	- `VK_EXT_debug_report`
 	- `VK_EXT_debug_marker`
@@ -33,25 +44,61 @@
 	- Fix tessellated indirect draws using wrong kernels to map parameters.
 	- Work around potential Metal bug with stage-in indirect buffers.
 	- Fix zero local threadgroup size in indirect tessellated rendering.
+	- Fix [[attribute]] assignment for tessellation evaluation shaders.
 - `VkSemaphore` optionally uses `MTLEvent`, if available and 
   `MVK_ALLOW_METAL_EVENTS` environment variable is enabled.
+- Add `vkSetWorkgroupSizeMVK()` to set compute kernel workgroup size 
+  when using MSL source code or MSL compiled code.
+- Allow zero count of viewports and scissors.
+- Report image layer limits for attachments in `vkGetPhysicalDeviceImageFormatProperties()`.
 - Change log indication of error in logs from `[***MoltenVK ERROR***]` to 
-  `[mvk-error]`, for consistency with other log level indications. 
+  `[mvk-error]`, for consistency with other log level indications.
+- Allow `mvkMTLRenderStagesFromVkPipelineStageFlags()` to map to all Vulkan stages,
+  by indicating whether the pipeline barrier should come before or after the stages.
+- Automatically update `VkPhysicalDeviceProperties::pipelineCacheUUID` when SPIRV-Cross revision changes. 
 - Fix crash when clearing attachments using layered rendering on older macOS devices.
 - Fixes to Metal renderpass layered rendering settings.
+- `vkCmdClearAttachments()` returns encoder to previous pipeline, depth-stencil & resource state after execution.
+- Fix issue clearing stencil attachment via renderpass when depth attachment is not being cleared.
 - Fix sporadic crash on `vkDestroySwapchainKHR()`.
 - `MoltenVKShaderConverter` tool: Add MSL version and platform command-line options.
+- Fix crash on pipeline cache merge after `VkShaderModule` destroyed.
+- Fix case where viewport/scissor doesn't get set properly when mixing dynamic and 
+  static-configured pipelines in the same command buffer.
+- Fix a race condition between sync objects and queries.
+- Fix unused attachments terminating loop early.
+- Fix offset of buffer view relative to buffer offset within device memory.
 - Guard against missing Metal pipeline states when pipeline compilation fails.
+- MVKBuffer: Force managed storage for linear textures on shared buffers.
+- Use device address space when decompressing DXT image data.
+- Added missing `texelBufferTextureWidth` setting in `MVKComputePipeline::getMTLFunction()`.
+- Fixes and consolidation of external library header references.
 - Allow building external dependency libraries in `Debug` mode.
 - Enable AMD and NV GLSL extensions when building `glslang` for `MoltenVKGLSLToSPIRVConverter`.
 - Make external library header references consistent and add `MVK_EXCLUDE_SPIRV_TOOLS` option.
+- MVKVector improvements.
 - Update `VK_MVK_MOLTENVK_SPEC_VERSION` to 20.
 - Update to latest SPIRV-Cross version:
+	- MSL: Add support for subgroup operations.
+	- MSL: Support argument buffers and image swizzling.
+	- MSL: Add support for `OpArrayLength`.
 	- MSL: Only use constant address space for tessellation control shader.
 	- MSL: Support native texture_buffer type, throw error on atomics.
 	- MSL: Add native texture buffer support.
+	- MSL: Deal with texture swizzle on arrays of images.
+	- MSL: Fix complex type alias declaration order.
+	- MSL: Fix declaration of unused input variables.
+	- MSL: Use correct address space when passing array-of-buffers.
+	- MSL: Deal correctly with nonuniformEXT qualifier.
 	- MSL: Cast texture_buffer index to uint.
+	- MSL: Fix nonuniform test.
+	- MSL: Fix regression with Private parameter declaration.
+	- MSL: Support remapping constexpr samplers by set/binding.
+	- MSL: Support Invariant qualifier on position.
+	- MSL: Support stencil export.
+	- Deal with case where a block is somehow emitted in a duplicated fashion.
 	- Fix infinite loop when OpAtomic* temporaries are used in other blocks.
+	- Fix tests for device->constant address space change in MSL tessellation control shader generation.
 	- Accept SPIR-V 1.4 version.
 
 
diff --git a/ExternalDependencies.xcodeproj/project.pbxproj b/ExternalDependencies.xcodeproj/project.pbxproj
index b6ee941..d77a01a 100644
--- a/ExternalDependencies.xcodeproj/project.pbxproj
+++ b/ExternalDependencies.xcodeproj/project.pbxproj
@@ -54,752 +54,756 @@
 		450A4F66221C5A95007203D7 /* spirv_reflect.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 450A4F63221C5A95007203D7 /* spirv_reflect.hpp */; };
 		450A4F67221C5A95007203D7 /* spirv_reflect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 450A4F64221C5A95007203D7 /* spirv_reflect.cpp */; };
 		450A4F68221C5A95007203D7 /* spirv_reflect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 450A4F64221C5A95007203D7 /* spirv_reflect.cpp */; };
-		A943628F225FE724000DDF2C /* spirv_target_env.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943610A225FE723000DDF2C /* spirv_target_env.cpp */; };
-		A9436290225FE724000DDF2C /* spirv_target_env.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943610A225FE723000DDF2C /* spirv_target_env.cpp */; };
-		A9436291225FE724000DDF2C /* assembly_grammar.h in Headers */ = {isa = PBXBuildFile; fileRef = A943610C225FE723000DDF2C /* assembly_grammar.h */; };
-		A9436292225FE724000DDF2C /* assembly_grammar.h in Headers */ = {isa = PBXBuildFile; fileRef = A943610C225FE723000DDF2C /* assembly_grammar.h */; };
-		A9436293225FE724000DDF2C /* enum_set.h in Headers */ = {isa = PBXBuildFile; fileRef = A943610D225FE723000DDF2C /* enum_set.h */; };
-		A9436294225FE724000DDF2C /* enum_set.h in Headers */ = {isa = PBXBuildFile; fileRef = A943610D225FE723000DDF2C /* enum_set.h */; };
-		A9436295225FE724000DDF2C /* text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436110225FE723000DDF2C /* text.cpp */; };
-		A9436296225FE724000DDF2C /* text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436110225FE723000DDF2C /* text.cpp */; };
-		A9436297225FE724000DDF2C /* assembly_grammar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436111225FE723000DDF2C /* assembly_grammar.cpp */; };
-		A9436298225FE724000DDF2C /* assembly_grammar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436111225FE723000DDF2C /* assembly_grammar.cpp */; };
-		A9436299225FE724000DDF2C /* text.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436112225FE723000DDF2C /* text.h */; };
-		A943629A225FE724000DDF2C /* text.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436112225FE723000DDF2C /* text.h */; };
-		A943629B225FE724000DDF2C /* extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436113225FE723000DDF2C /* extensions.cpp */; };
-		A943629C225FE724000DDF2C /* extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436113225FE723000DDF2C /* extensions.cpp */; };
-		A943629D225FE724000DDF2C /* pch_source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436114225FE723000DDF2C /* pch_source.cpp */; };
-		A943629E225FE724000DDF2C /* pch_source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436114225FE723000DDF2C /* pch_source.cpp */; };
-		A943629F225FE724000DDF2C /* parse_number.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436116225FE723000DDF2C /* parse_number.h */; };
-		A94362A0225FE724000DDF2C /* parse_number.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436116225FE723000DDF2C /* parse_number.h */; };
-		A94362A1225FE724000DDF2C /* ilist_node.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436117225FE723000DDF2C /* ilist_node.h */; };
-		A94362A2225FE724000DDF2C /* ilist_node.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436117225FE723000DDF2C /* ilist_node.h */; };
-		A94362A3225FE724000DDF2C /* make_unique.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436118225FE723000DDF2C /* make_unique.h */; };
-		A94362A4225FE724000DDF2C /* make_unique.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436118225FE723000DDF2C /* make_unique.h */; };
-		A94362A5225FE724000DDF2C /* string_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436119225FE723000DDF2C /* string_utils.h */; };
-		A94362A6225FE724000DDF2C /* string_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436119225FE723000DDF2C /* string_utils.h */; };
-		A94362A7225FE724000DDF2C /* small_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A943611A225FE723000DDF2C /* small_vector.h */; };
-		A94362A8225FE724000DDF2C /* small_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A943611A225FE723000DDF2C /* small_vector.h */; };
-		A94362A9225FE724000DDF2C /* timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943611B225FE723000DDF2C /* timer.cpp */; };
-		A94362AA225FE724000DDF2C /* timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943611B225FE723000DDF2C /* timer.cpp */; };
-		A94362AB225FE724000DDF2C /* timer.h in Headers */ = {isa = PBXBuildFile; fileRef = A943611C225FE723000DDF2C /* timer.h */; };
-		A94362AC225FE724000DDF2C /* timer.h in Headers */ = {isa = PBXBuildFile; fileRef = A943611C225FE723000DDF2C /* timer.h */; };
-		A94362AD225FE724000DDF2C /* string_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943611D225FE723000DDF2C /* string_utils.cpp */; };
-		A94362AE225FE724000DDF2C /* string_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943611D225FE723000DDF2C /* string_utils.cpp */; };
-		A94362AF225FE724000DDF2C /* bit_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A943611E225FE723000DDF2C /* bit_vector.h */; };
-		A94362B0225FE724000DDF2C /* bit_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A943611E225FE723000DDF2C /* bit_vector.h */; };
-		A94362B1225FE724000DDF2C /* bitutils.h in Headers */ = {isa = PBXBuildFile; fileRef = A943611F225FE723000DDF2C /* bitutils.h */; };
-		A94362B2225FE724000DDF2C /* bitutils.h in Headers */ = {isa = PBXBuildFile; fileRef = A943611F225FE723000DDF2C /* bitutils.h */; };
-		A94362B3225FE724000DDF2C /* hex_float.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436120225FE723000DDF2C /* hex_float.h */; };
-		A94362B4225FE724000DDF2C /* hex_float.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436120225FE723000DDF2C /* hex_float.h */; };
-		A94362B5225FE724000DDF2C /* parse_number.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436121225FE723000DDF2C /* parse_number.cpp */; };
-		A94362B6225FE724000DDF2C /* parse_number.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436121225FE723000DDF2C /* parse_number.cpp */; };
-		A94362B7225FE724000DDF2C /* bit_vector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436122225FE723000DDF2C /* bit_vector.cpp */; };
-		A94362B8225FE724000DDF2C /* bit_vector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436122225FE723000DDF2C /* bit_vector.cpp */; };
-		A94362B9225FE724000DDF2C /* ilist.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436123225FE723000DDF2C /* ilist.h */; };
-		A94362BA225FE724000DDF2C /* ilist.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436123225FE723000DDF2C /* ilist.h */; };
-		A94362BB225FE724000DDF2C /* spirv_target_env.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436124225FE723000DDF2C /* spirv_target_env.h */; };
-		A94362BC225FE724000DDF2C /* spirv_target_env.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436124225FE723000DDF2C /* spirv_target_env.h */; };
-		A94362BD225FE724000DDF2C /* table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436125225FE723000DDF2C /* table.cpp */; };
-		A94362BE225FE724000DDF2C /* table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436125225FE723000DDF2C /* table.cpp */; };
-		A94362BF225FE724000DDF2C /* id_descriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436126225FE723000DDF2C /* id_descriptor.cpp */; };
-		A94362C0225FE724000DDF2C /* id_descriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436126225FE723000DDF2C /* id_descriptor.cpp */; };
-		A94362C1225FE724000DDF2C /* operand_to_undef_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436128225FE723000DDF2C /* operand_to_undef_reduction_opportunity_finder.h */; };
-		A94362C2225FE724000DDF2C /* operand_to_undef_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436128225FE723000DDF2C /* operand_to_undef_reduction_opportunity_finder.h */; };
-		A94362C3225FE724000DDF2C /* remove_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436129225FE723000DDF2C /* remove_selection_reduction_opportunity.cpp */; };
-		A94362C4225FE724000DDF2C /* remove_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436129225FE723000DDF2C /* remove_selection_reduction_opportunity.cpp */; };
-		A94362C5225FE724000DDF2C /* remove_block_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A943612A225FE723000DDF2C /* remove_block_reduction_opportunity.h */; };
-		A94362C6225FE724000DDF2C /* remove_block_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A943612A225FE723000DDF2C /* remove_block_reduction_opportunity.h */; };
-		A94362C7225FE724000DDF2C /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A943612B225FE723000DDF2C /* operand_to_dominating_id_reduction_opportunity_finder.h */; };
-		A94362C8225FE724000DDF2C /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A943612B225FE723000DDF2C /* operand_to_dominating_id_reduction_opportunity_finder.h */; };
-		A94362C9225FE724000DDF2C /* reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943612C225FE723000DDF2C /* reduction_pass.cpp */; };
-		A94362CA225FE724000DDF2C /* reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943612C225FE723000DDF2C /* reduction_pass.cpp */; };
-		A94362CB225FE724000DDF2C /* operand_to_const_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943612D225FE723000DDF2C /* operand_to_const_reduction_opportunity_finder.cpp */; };
-		A94362CC225FE724000DDF2C /* operand_to_const_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943612D225FE723000DDF2C /* operand_to_const_reduction_opportunity_finder.cpp */; };
-		A94362CD225FE724000DDF2C /* operand_to_const_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A943612E225FE723000DDF2C /* operand_to_const_reduction_opportunity_finder.h */; };
-		A94362CE225FE724000DDF2C /* operand_to_const_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A943612E225FE723000DDF2C /* operand_to_const_reduction_opportunity_finder.h */; };
-		A94362CF225FE724000DDF2C /* reduction_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436130225FE723000DDF2C /* reduction_util.cpp */; };
-		A94362D0225FE724000DDF2C /* reduction_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436130225FE723000DDF2C /* reduction_util.cpp */; };
-		A94362D1225FE724000DDF2C /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436131225FE723000DDF2C /* structured_loop_to_selection_reduction_opportunity_finder.cpp */; };
-		A94362D2225FE724000DDF2C /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436131225FE723000DDF2C /* structured_loop_to_selection_reduction_opportunity_finder.cpp */; };
-		A94362D3225FE724000DDF2C /* remove_function_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436132225FE723000DDF2C /* remove_function_reduction_opportunity_finder.cpp */; };
-		A94362D4225FE724000DDF2C /* remove_function_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436132225FE723000DDF2C /* remove_function_reduction_opportunity_finder.cpp */; };
-		A94362D5225FE724000DDF2C /* remove_instruction_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436133225FE723000DDF2C /* remove_instruction_reduction_opportunity.h */; };
-		A94362D6225FE724000DDF2C /* remove_instruction_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436133225FE723000DDF2C /* remove_instruction_reduction_opportunity.h */; };
-		A94362D7225FE724000DDF2C /* remove_function_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436134225FE723000DDF2C /* remove_function_reduction_opportunity.cpp */; };
-		A94362D8225FE724000DDF2C /* remove_function_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436134225FE723000DDF2C /* remove_function_reduction_opportunity.cpp */; };
-		A94362D9225FE724000DDF2C /* remove_opname_instruction_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436135225FE723000DDF2C /* remove_opname_instruction_reduction_opportunity_finder.h */; };
-		A94362DA225FE724000DDF2C /* remove_opname_instruction_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436135225FE723000DDF2C /* remove_opname_instruction_reduction_opportunity_finder.h */; };
-		A94362DB225FE724000DDF2C /* remove_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436136225FE723000DDF2C /* remove_selection_reduction_opportunity_finder.cpp */; };
-		A94362DC225FE724000DDF2C /* remove_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436136225FE723000DDF2C /* remove_selection_reduction_opportunity_finder.cpp */; };
-		A94362DD225FE724000DDF2C /* merge_blocks_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436137225FE723000DDF2C /* merge_blocks_reduction_opportunity.cpp */; };
-		A94362DE225FE724000DDF2C /* merge_blocks_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436137225FE723000DDF2C /* merge_blocks_reduction_opportunity.cpp */; };
-		A94362DF225FE724000DDF2C /* change_operand_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436138225FE723000DDF2C /* change_operand_reduction_opportunity.cpp */; };
-		A94362E0225FE724000DDF2C /* change_operand_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436138225FE723000DDF2C /* change_operand_reduction_opportunity.cpp */; };
-		A94362E1225FE724000DDF2C /* structured_loop_to_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436139225FE723000DDF2C /* structured_loop_to_selection_reduction_opportunity.h */; };
-		A94362E2225FE724000DDF2C /* structured_loop_to_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436139225FE723000DDF2C /* structured_loop_to_selection_reduction_opportunity.h */; };
-		A94362E3225FE724000DDF2C /* remove_function_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A943613A225FE723000DDF2C /* remove_function_reduction_opportunity.h */; };
-		A94362E4225FE724000DDF2C /* remove_function_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A943613A225FE723000DDF2C /* remove_function_reduction_opportunity.h */; };
-		A94362E5225FE724000DDF2C /* change_operand_to_undef_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A943613B225FE723000DDF2C /* change_operand_to_undef_reduction_opportunity.h */; };
-		A94362E6225FE724000DDF2C /* change_operand_to_undef_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A943613B225FE723000DDF2C /* change_operand_to_undef_reduction_opportunity.h */; };
-		A94362E7225FE724000DDF2C /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943613C225FE723000DDF2C /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp */; };
-		A94362E8225FE724000DDF2C /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943613C225FE723000DDF2C /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp */; };
-		A94362E9225FE724000DDF2C /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A943613D225FE723000DDF2C /* structured_loop_to_selection_reduction_opportunity_finder.h */; };
-		A94362EA225FE724000DDF2C /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A943613D225FE723000DDF2C /* structured_loop_to_selection_reduction_opportunity_finder.h */; };
-		A94362EB225FE724000DDF2C /* remove_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A943613E225FE723000DDF2C /* remove_selection_reduction_opportunity.h */; };
-		A94362EC225FE724000DDF2C /* remove_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A943613E225FE723000DDF2C /* remove_selection_reduction_opportunity.h */; };
-		A94362ED225FE724000DDF2C /* remove_instruction_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943613F225FE723000DDF2C /* remove_instruction_reduction_opportunity.cpp */; };
-		A94362EE225FE724000DDF2C /* remove_instruction_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943613F225FE723000DDF2C /* remove_instruction_reduction_opportunity.cpp */; };
-		A94362EF225FE724000DDF2C /* remove_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436140225FE723000DDF2C /* remove_selection_reduction_opportunity_finder.h */; };
-		A94362F0225FE724000DDF2C /* remove_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436140225FE723000DDF2C /* remove_selection_reduction_opportunity_finder.h */; };
-		A94362F1225FE724000DDF2C /* merge_blocks_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436141225FE723000DDF2C /* merge_blocks_reduction_opportunity_finder.h */; };
-		A94362F2225FE724000DDF2C /* merge_blocks_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436141225FE723000DDF2C /* merge_blocks_reduction_opportunity_finder.h */; };
-		A94362F3225FE724000DDF2C /* remove_opname_instruction_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436142225FE723000DDF2C /* remove_opname_instruction_reduction_opportunity_finder.cpp */; };
-		A94362F4225FE724000DDF2C /* remove_opname_instruction_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436142225FE723000DDF2C /* remove_opname_instruction_reduction_opportunity_finder.cpp */; };
-		A94362F5225FE724000DDF2C /* pch_source_reduce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436143225FE723000DDF2C /* pch_source_reduce.cpp */; };
-		A94362F6225FE724000DDF2C /* pch_source_reduce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436143225FE723000DDF2C /* pch_source_reduce.cpp */; };
-		A94362F7225FE724000DDF2C /* reducer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436144225FE723000DDF2C /* reducer.cpp */; };
-		A94362F8225FE724000DDF2C /* reducer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436144225FE723000DDF2C /* reducer.cpp */; };
-		A94362F9225FE724000DDF2C /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436145225FE723000DDF2C /* operand_to_undef_reduction_opportunity_finder.cpp */; };
-		A94362FA225FE724000DDF2C /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436145225FE723000DDF2C /* operand_to_undef_reduction_opportunity_finder.cpp */; };
-		A94362FB225FE724000DDF2C /* remove_function_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436146225FE723000DDF2C /* remove_function_reduction_opportunity_finder.h */; };
-		A94362FC225FE724000DDF2C /* remove_function_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436146225FE723000DDF2C /* remove_function_reduction_opportunity_finder.h */; };
-		A94362FD225FE724000DDF2C /* pch_source_reduce.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436147225FE723000DDF2C /* pch_source_reduce.h */; };
-		A94362FE225FE724000DDF2C /* pch_source_reduce.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436147225FE723000DDF2C /* pch_source_reduce.h */; };
-		A94362FF225FE724000DDF2C /* remove_unreferenced_instruction_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436148225FE723000DDF2C /* remove_unreferenced_instruction_reduction_opportunity_finder.h */; };
-		A9436300225FE724000DDF2C /* remove_unreferenced_instruction_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436148225FE723000DDF2C /* remove_unreferenced_instruction_reduction_opportunity_finder.h */; };
-		A9436301225FE724000DDF2C /* merge_blocks_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436149225FE723000DDF2C /* merge_blocks_reduction_opportunity_finder.cpp */; };
-		A9436302225FE724000DDF2C /* merge_blocks_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436149225FE723000DDF2C /* merge_blocks_reduction_opportunity_finder.cpp */; };
-		A9436303225FE724000DDF2C /* reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943614A225FE723000DDF2C /* reduction_opportunity.cpp */; };
-		A9436304225FE724000DDF2C /* reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943614A225FE723000DDF2C /* reduction_opportunity.cpp */; };
-		A9436305225FE724000DDF2C /* reducer.h in Headers */ = {isa = PBXBuildFile; fileRef = A943614B225FE723000DDF2C /* reducer.h */; };
-		A9436306225FE724000DDF2C /* reducer.h in Headers */ = {isa = PBXBuildFile; fileRef = A943614B225FE723000DDF2C /* reducer.h */; };
-		A9436307225FE724000DDF2C /* change_operand_to_undef_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943614C225FE723000DDF2C /* change_operand_to_undef_reduction_opportunity.cpp */; };
-		A9436308225FE724000DDF2C /* change_operand_to_undef_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943614C225FE723000DDF2C /* change_operand_to_undef_reduction_opportunity.cpp */; };
-		A9436309225FE724000DDF2C /* reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A943614D225FE723000DDF2C /* reduction_opportunity.h */; };
-		A943630A225FE724000DDF2C /* reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A943614D225FE723000DDF2C /* reduction_opportunity.h */; };
-		A943630B225FE724000DDF2C /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943614E225FE723000DDF2C /* operand_to_dominating_id_reduction_opportunity_finder.cpp */; };
-		A943630C225FE724000DDF2C /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943614E225FE723000DDF2C /* operand_to_dominating_id_reduction_opportunity_finder.cpp */; };
-		A943630D225FE724000DDF2C /* reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A943614F225FE723000DDF2C /* reduction_opportunity_finder.h */; };
-		A943630E225FE724000DDF2C /* reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A943614F225FE723000DDF2C /* reduction_opportunity_finder.h */; };
-		A943630F225FE724000DDF2C /* change_operand_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436150225FE723000DDF2C /* change_operand_reduction_opportunity.h */; };
-		A9436310225FE724000DDF2C /* change_operand_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436150225FE723000DDF2C /* change_operand_reduction_opportunity.h */; };
-		A9436311225FE724000DDF2C /* remove_block_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436151225FE723000DDF2C /* remove_block_reduction_opportunity_finder.h */; };
-		A9436312225FE724000DDF2C /* remove_block_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436151225FE723000DDF2C /* remove_block_reduction_opportunity_finder.h */; };
-		A9436313225FE724000DDF2C /* remove_block_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436152225FE723000DDF2C /* remove_block_reduction_opportunity_finder.cpp */; };
-		A9436314225FE724000DDF2C /* remove_block_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436152225FE723000DDF2C /* remove_block_reduction_opportunity_finder.cpp */; };
-		A9436315225FE724000DDF2C /* reduction_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436153225FE723000DDF2C /* reduction_util.h */; };
-		A9436316225FE724000DDF2C /* reduction_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436153225FE723000DDF2C /* reduction_util.h */; };
-		A9436317225FE724000DDF2C /* merge_blocks_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436154225FE723000DDF2C /* merge_blocks_reduction_opportunity.h */; };
-		A9436318225FE724000DDF2C /* merge_blocks_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436154225FE723000DDF2C /* merge_blocks_reduction_opportunity.h */; };
-		A9436319225FE724000DDF2C /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436155225FE723000DDF2C /* structured_loop_to_selection_reduction_opportunity.cpp */; };
-		A943631A225FE724000DDF2C /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436155225FE723000DDF2C /* structured_loop_to_selection_reduction_opportunity.cpp */; };
-		A943631B225FE724000DDF2C /* remove_block_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436156225FE723000DDF2C /* remove_block_reduction_opportunity.cpp */; };
-		A943631C225FE724000DDF2C /* remove_block_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436156225FE723000DDF2C /* remove_block_reduction_opportunity.cpp */; };
-		A943631D225FE724000DDF2C /* reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436157225FE723000DDF2C /* reduction_pass.h */; };
-		A943631E225FE724000DDF2C /* reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436157225FE723000DDF2C /* reduction_pass.h */; };
-		A943631F225FE724000DDF2C /* latest_version_opencl_std_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436158225FE723000DDF2C /* latest_version_opencl_std_header.h */; };
-		A9436320225FE724000DDF2C /* latest_version_opencl_std_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436158225FE723000DDF2C /* latest_version_opencl_std_header.h */; };
-		A9436321225FE724000DDF2C /* spirv_optimizer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436159225FE723000DDF2C /* spirv_optimizer_options.cpp */; };
-		A9436322225FE724000DDF2C /* spirv_optimizer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436159225FE723000DDF2C /* spirv_optimizer_options.cpp */; };
-		A9436323225FE724000DDF2C /* cfa.h in Headers */ = {isa = PBXBuildFile; fileRef = A943615A225FE723000DDF2C /* cfa.h */; };
-		A9436324225FE724000DDF2C /* cfa.h in Headers */ = {isa = PBXBuildFile; fileRef = A943615A225FE723000DDF2C /* cfa.h */; };
-		A9436325225FE724000DDF2C /* pch_source.h in Headers */ = {isa = PBXBuildFile; fileRef = A943615B225FE723000DDF2C /* pch_source.h */; };
-		A9436326225FE724000DDF2C /* pch_source.h in Headers */ = {isa = PBXBuildFile; fileRef = A943615B225FE723000DDF2C /* pch_source.h */; };
-		A9436327225FE724000DDF2C /* enum_string_mapping.h in Headers */ = {isa = PBXBuildFile; fileRef = A943615C225FE723000DDF2C /* enum_string_mapping.h */; };
-		A9436328225FE724000DDF2C /* enum_string_mapping.h in Headers */ = {isa = PBXBuildFile; fileRef = A943615C225FE723000DDF2C /* enum_string_mapping.h */; };
-		A9436329225FE724000DDF2C /* spirv_reducer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A943615D225FE723000DDF2C /* spirv_reducer_options.h */; };
-		A943632A225FE724000DDF2C /* spirv_reducer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A943615D225FE723000DDF2C /* spirv_reducer_options.h */; };
-		A943632B225FE724000DDF2C /* spirv_validator_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943615E225FE723000DDF2C /* spirv_validator_options.cpp */; };
-		A943632C225FE724000DDF2C /* spirv_validator_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943615E225FE723000DDF2C /* spirv_validator_options.cpp */; };
-		A943632D225FE724000DDF2C /* print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436160225FE723000DDF2C /* print.cpp */; };
-		A943632E225FE724000DDF2C /* print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436160225FE723000DDF2C /* print.cpp */; };
-		A943632F225FE724000DDF2C /* spirv_definition.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436161225FE723000DDF2C /* spirv_definition.h */; };
-		A9436330225FE724000DDF2C /* spirv_definition.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436161225FE723000DDF2C /* spirv_definition.h */; };
-		A9436331225FE724000DDF2C /* operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436162225FE723000DDF2C /* operand.h */; };
-		A9436332225FE724000DDF2C /* operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436162225FE723000DDF2C /* operand.h */; };
-		A9436333225FE724000DDF2C /* spirv_endian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436163225FE723000DDF2C /* spirv_endian.cpp */; };
-		A9436334225FE724000DDF2C /* spirv_endian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436163225FE723000DDF2C /* spirv_endian.cpp */; };
-		A9436335225FE724000DDF2C /* macro.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436164225FE723000DDF2C /* macro.h */; };
-		A9436336225FE724000DDF2C /* macro.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436164225FE723000DDF2C /* macro.h */; };
-		A9436337225FE724000DDF2C /* spirv_constant.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436165225FE723000DDF2C /* spirv_constant.h */; };
-		A9436338225FE724000DDF2C /* spirv_constant.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436165225FE723000DDF2C /* spirv_constant.h */; };
-		A9436339225FE724000DDF2C /* binary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436167225FE723000DDF2C /* binary.cpp */; };
-		A943633A225FE724000DDF2C /* binary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436167225FE723000DDF2C /* binary.cpp */; };
-		A943633B225FE724000DDF2C /* spirv_validator_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436168225FE723000DDF2C /* spirv_validator_options.h */; };
-		A943633C225FE724000DDF2C /* spirv_validator_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436168225FE723000DDF2C /* spirv_validator_options.h */; };
-		A943633D225FE724000DDF2C /* markv_codec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943616A225FE723000DDF2C /* markv_codec.cpp */; };
-		A943633E225FE724000DDF2C /* markv_codec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943616A225FE723000DDF2C /* markv_codec.cpp */; };
-		A943633F225FE724000DDF2C /* markv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943616B225FE723000DDF2C /* markv.cpp */; };
-		A9436340225FE724000DDF2C /* markv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943616B225FE723000DDF2C /* markv.cpp */; };
-		A9436341225FE724000DDF2C /* huffman_codec.h in Headers */ = {isa = PBXBuildFile; fileRef = A943616C225FE723000DDF2C /* huffman_codec.h */; };
-		A9436342225FE724000DDF2C /* huffman_codec.h in Headers */ = {isa = PBXBuildFile; fileRef = A943616C225FE723000DDF2C /* huffman_codec.h */; };
-		A9436343225FE724000DDF2C /* bit_stream.h in Headers */ = {isa = PBXBuildFile; fileRef = A943616E225FE723000DDF2C /* bit_stream.h */; };
-		A9436344225FE724000DDF2C /* bit_stream.h in Headers */ = {isa = PBXBuildFile; fileRef = A943616E225FE723000DDF2C /* bit_stream.h */; };
-		A9436345225FE724000DDF2C /* move_to_front.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943616F225FE723000DDF2C /* move_to_front.cpp */; };
-		A9436346225FE724000DDF2C /* move_to_front.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943616F225FE723000DDF2C /* move_to_front.cpp */; };
-		A9436347225FE724000DDF2C /* markv_encoder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436170225FE723000DDF2C /* markv_encoder.h */; };
-		A9436348225FE724000DDF2C /* markv_encoder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436170225FE723000DDF2C /* markv_encoder.h */; };
-		A9436349225FE724000DDF2C /* markv_decoder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436171225FE723000DDF2C /* markv_decoder.h */; };
-		A943634A225FE724000DDF2C /* markv_decoder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436171225FE723000DDF2C /* markv_decoder.h */; };
-		A943634B225FE724000DDF2C /* markv.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436172225FE723000DDF2C /* markv.h */; };
-		A943634C225FE724000DDF2C /* markv.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436172225FE723000DDF2C /* markv.h */; };
-		A943634D225FE724000DDF2C /* markv_model.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436173225FE723000DDF2C /* markv_model.h */; };
-		A943634E225FE724000DDF2C /* markv_model.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436173225FE723000DDF2C /* markv_model.h */; };
-		A943634F225FE724000DDF2C /* markv_decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436174225FE723000DDF2C /* markv_decoder.cpp */; };
-		A9436350225FE724000DDF2C /* markv_decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436174225FE723000DDF2C /* markv_decoder.cpp */; };
-		A9436351225FE724000DDF2C /* move_to_front.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436175225FE723000DDF2C /* move_to_front.h */; };
-		A9436352225FE724000DDF2C /* move_to_front.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436175225FE723000DDF2C /* move_to_front.h */; };
-		A9436353225FE724000DDF2C /* markv_codec.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436176225FE723000DDF2C /* markv_codec.h */; };
-		A9436354225FE724000DDF2C /* markv_codec.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436176225FE723000DDF2C /* markv_codec.h */; };
-		A9436355225FE724000DDF2C /* markv_logger.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436177225FE723000DDF2C /* markv_logger.h */; };
-		A9436356225FE724000DDF2C /* markv_logger.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436177225FE723000DDF2C /* markv_logger.h */; };
-		A9436357225FE724000DDF2C /* bit_stream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436178225FE723000DDF2C /* bit_stream.cpp */; };
-		A9436358225FE724000DDF2C /* bit_stream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436178225FE723000DDF2C /* bit_stream.cpp */; };
-		A9436359225FE724000DDF2C /* markv_encoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436179225FE723000DDF2C /* markv_encoder.cpp */; };
-		A943635A225FE724000DDF2C /* markv_encoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436179225FE723000DDF2C /* markv_encoder.cpp */; };
-		A943635B225FE724000DDF2C /* enum_string_mapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943617A225FE723000DDF2C /* enum_string_mapping.cpp */; };
-		A943635C225FE724000DDF2C /* enum_string_mapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943617A225FE723000DDF2C /* enum_string_mapping.cpp */; };
-		A943635D225FE724000DDF2C /* text_handler.h in Headers */ = {isa = PBXBuildFile; fileRef = A943617B225FE723000DDF2C /* text_handler.h */; };
-		A943635E225FE724000DDF2C /* text_handler.h in Headers */ = {isa = PBXBuildFile; fileRef = A943617B225FE723000DDF2C /* text_handler.h */; };
-		A943635F225FE724000DDF2C /* parsed_operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A943617C225FE723000DDF2C /* parsed_operand.h */; };
-		A9436360225FE724000DDF2C /* parsed_operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A943617C225FE723000DDF2C /* parsed_operand.h */; };
-		A9436361225FE724000DDF2C /* name_mapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A943617D225FE723000DDF2C /* name_mapper.h */; };
-		A9436362225FE724000DDF2C /* name_mapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A943617D225FE723000DDF2C /* name_mapper.h */; };
-		A9436363225FE724000DDF2C /* spirv_reducer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943617E225FE723000DDF2C /* spirv_reducer_options.cpp */; };
-		A9436364225FE724000DDF2C /* spirv_reducer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943617E225FE723000DDF2C /* spirv_reducer_options.cpp */; };
-		A9436365225FE724000DDF2C /* parsed_operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943617F225FE723000DDF2C /* parsed_operand.cpp */; };
-		A9436366225FE724000DDF2C /* parsed_operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943617F225FE723000DDF2C /* parsed_operand.cpp */; };
-		A9436367225FE724000DDF2C /* diagnostic.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436180225FE723000DDF2C /* diagnostic.h */; };
-		A9436368225FE724000DDF2C /* diagnostic.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436180225FE723000DDF2C /* diagnostic.h */; };
-		A9436369225FE724000DDF2C /* spirv_endian.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436181225FE723000DDF2C /* spirv_endian.h */; };
-		A943636A225FE724000DDF2C /* spirv_endian.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436181225FE723000DDF2C /* spirv_endian.h */; };
-		A943636B225FE724000DDF2C /* name_mapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436182225FE723000DDF2C /* name_mapper.cpp */; };
-		A943636C225FE724000DDF2C /* name_mapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436182225FE723000DDF2C /* name_mapper.cpp */; };
-		A943636D225FE724000DDF2C /* linker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436186225FE723000DDF2C /* linker.cpp */; };
-		A943636E225FE724000DDF2C /* linker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436186225FE723000DDF2C /* linker.cpp */; };
-		A943636F225FE724000DDF2C /* software_version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436187225FE723000DDF2C /* software_version.cpp */; };
-		A9436370225FE724000DDF2C /* software_version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436187225FE723000DDF2C /* software_version.cpp */; };
-		A9436371225FE724000DDF2C /* opcode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436188225FE723000DDF2C /* opcode.cpp */; };
-		A9436372225FE724000DDF2C /* opcode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436188225FE723000DDF2C /* opcode.cpp */; };
-		A9436373225FE724000DDF2C /* print.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436189225FE723000DDF2C /* print.h */; };
-		A9436374225FE724000DDF2C /* print.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436189225FE723000DDF2C /* print.h */; };
-		A9436375225FE724000DDF2C /* ext_inst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943618A225FE723000DDF2C /* ext_inst.cpp */; };
-		A9436376225FE724000DDF2C /* ext_inst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943618A225FE723000DDF2C /* ext_inst.cpp */; };
-		A9436377225FE724000DDF2C /* disassemble.h in Headers */ = {isa = PBXBuildFile; fileRef = A943618B225FE723000DDF2C /* disassemble.h */; };
-		A9436378225FE724000DDF2C /* disassemble.h in Headers */ = {isa = PBXBuildFile; fileRef = A943618B225FE723000DDF2C /* disassemble.h */; };
-		A9436379225FE724000DDF2C /* optimizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943618D225FE723000DDF2C /* optimizer.cpp */; };
-		A943637A225FE724000DDF2C /* optimizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943618D225FE723000DDF2C /* optimizer.cpp */; };
-		A943637B225FE724000DDF2C /* if_conversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A943618E225FE723000DDF2C /* if_conversion.h */; };
-		A943637C225FE724000DDF2C /* if_conversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A943618E225FE723000DDF2C /* if_conversion.h */; };
-		A943637D225FE724000DDF2C /* register_pressure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943618F225FE723000DDF2C /* register_pressure.cpp */; };
-		A943637E225FE724000DDF2C /* register_pressure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943618F225FE723000DDF2C /* register_pressure.cpp */; };
-		A943637F225FE724000DDF2C /* loop_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436190225FE723000DDF2C /* loop_utils.cpp */; };
-		A9436380225FE724000DDF2C /* loop_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436190225FE723000DDF2C /* loop_utils.cpp */; };
-		A9436381225FE724000DDF2C /* merge_return_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436191225FE723000DDF2C /* merge_return_pass.h */; };
-		A9436382225FE724000DDF2C /* merge_return_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436191225FE723000DDF2C /* merge_return_pass.h */; };
-		A9436383225FE724000DDF2C /* inline_opaque_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436192225FE723000DDF2C /* inline_opaque_pass.h */; };
-		A9436384225FE724000DDF2C /* inline_opaque_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436192225FE723000DDF2C /* inline_opaque_pass.h */; };
-		A9436385225FE724000DDF2C /* loop_fusion.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436193225FE723000DDF2C /* loop_fusion.h */; };
-		A9436386225FE724000DDF2C /* loop_fusion.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436193225FE723000DDF2C /* loop_fusion.h */; };
-		A9436387225FE724000DDF2C /* combine_access_chains.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436194225FE723000DDF2C /* combine_access_chains.cpp */; };
-		A9436388225FE724000DDF2C /* combine_access_chains.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436194225FE723000DDF2C /* combine_access_chains.cpp */; };
-		A9436389225FE724000DDF2C /* build_module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436195225FE723000DDF2C /* build_module.cpp */; };
-		A943638A225FE724000DDF2C /* build_module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436195225FE723000DDF2C /* build_module.cpp */; };
-		A943638B225FE724000DDF2C /* composite.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436196225FE723000DDF2C /* composite.h */; };
-		A943638C225FE724000DDF2C /* composite.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436196225FE723000DDF2C /* composite.h */; };
-		A943638D225FE724000DDF2C /* compact_ids_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436197225FE723000DDF2C /* compact_ids_pass.h */; };
-		A943638E225FE724000DDF2C /* compact_ids_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436197225FE723000DDF2C /* compact_ids_pass.h */; };
-		A943638F225FE724000DDF2C /* register_pressure.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436198225FE723000DDF2C /* register_pressure.h */; };
-		A9436390225FE724000DDF2C /* register_pressure.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436198225FE723000DDF2C /* register_pressure.h */; };
-		A9436391225FE724000DDF2C /* tree_iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436199225FE723000DDF2C /* tree_iterator.h */; };
-		A9436392225FE724000DDF2C /* tree_iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436199225FE723000DDF2C /* tree_iterator.h */; };
-		A9436393225FE724000DDF2C /* strip_atomic_counter_memory_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A943619A225FE723000DDF2C /* strip_atomic_counter_memory_pass.h */; };
-		A9436394225FE724000DDF2C /* strip_atomic_counter_memory_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A943619A225FE723000DDF2C /* strip_atomic_counter_memory_pass.h */; };
-		A9436395225FE724000DDF2C /* local_single_store_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A943619B225FE723000DDF2C /* local_single_store_elim_pass.h */; };
-		A9436396225FE724000DDF2C /* local_single_store_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A943619B225FE723000DDF2C /* local_single_store_elim_pass.h */; };
-		A9436397225FE724000DDF2C /* reduce_load_size.h in Headers */ = {isa = PBXBuildFile; fileRef = A943619C225FE723000DDF2C /* reduce_load_size.h */; };
-		A9436398225FE724000DDF2C /* reduce_load_size.h in Headers */ = {isa = PBXBuildFile; fileRef = A943619C225FE723000DDF2C /* reduce_load_size.h */; };
-		A9436399225FE724000DDF2C /* code_sink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943619D225FE723000DDF2C /* code_sink.cpp */; };
-		A943639A225FE724000DDF2C /* code_sink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943619D225FE723000DDF2C /* code_sink.cpp */; };
-		A943639B225FE724000DDF2C /* types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943619E225FE723000DDF2C /* types.cpp */; };
-		A943639C225FE724000DDF2C /* types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943619E225FE723000DDF2C /* types.cpp */; };
-		A943639D225FE724000DDF2C /* scalar_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A943619F225FE723000DDF2C /* scalar_analysis.h */; };
-		A943639E225FE724000DDF2C /* scalar_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A943619F225FE723000DDF2C /* scalar_analysis.h */; };
-		A943639F225FE724000DDF2C /* strip_debug_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361A0225FE723000DDF2C /* strip_debug_info_pass.h */; };
-		A94363A0225FE724000DDF2C /* strip_debug_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361A0225FE723000DDF2C /* strip_debug_info_pass.h */; };
-		A94363A1225FE724000DDF2C /* cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361A1225FE723000DDF2C /* cfg.cpp */; };
-		A94363A2225FE724000DDF2C /* cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361A1225FE723000DDF2C /* cfg.cpp */; };
-		A94363A3225FE724000DDF2C /* strip_atomic_counter_memory_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361A2225FE723000DDF2C /* strip_atomic_counter_memory_pass.cpp */; };
-		A94363A4225FE724000DDF2C /* strip_atomic_counter_memory_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361A2225FE723000DDF2C /* strip_atomic_counter_memory_pass.cpp */; };
-		A94363A5225FE724000DDF2C /* decoration_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361A3225FE723000DDF2C /* decoration_manager.cpp */; };
-		A94363A6225FE724000DDF2C /* decoration_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361A3225FE723000DDF2C /* decoration_manager.cpp */; };
-		A94363A7225FE724000DDF2C /* local_single_block_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361A4225FE723000DDF2C /* local_single_block_elim_pass.cpp */; };
-		A94363A8225FE724000DDF2C /* local_single_block_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361A4225FE723000DDF2C /* local_single_block_elim_pass.cpp */; };
-		A94363A9225FE724000DDF2C /* freeze_spec_constant_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361A5225FE723000DDF2C /* freeze_spec_constant_value_pass.cpp */; };
-		A94363AA225FE724000DDF2C /* freeze_spec_constant_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361A5225FE723000DDF2C /* freeze_spec_constant_value_pass.cpp */; };
-		A94363AB225FE724000DDF2C /* replace_invalid_opc.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361A6225FE723000DDF2C /* replace_invalid_opc.h */; };
-		A94363AC225FE724000DDF2C /* replace_invalid_opc.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361A6225FE723000DDF2C /* replace_invalid_opc.h */; };
-		A94363AD225FE724000DDF2C /* local_access_chain_convert_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361A7225FE723000DDF2C /* local_access_chain_convert_pass.h */; };
-		A94363AE225FE724000DDF2C /* local_access_chain_convert_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361A7225FE723000DDF2C /* local_access_chain_convert_pass.h */; };
-		A94363AF225FE724000DDF2C /* inst_bindless_check_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361A8225FE723000DDF2C /* inst_bindless_check_pass.cpp */; };
-		A94363B0225FE724000DDF2C /* inst_bindless_check_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361A8225FE723000DDF2C /* inst_bindless_check_pass.cpp */; };
-		A94363B1225FE724000DDF2C /* local_redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361A9225FE723000DDF2C /* local_redundancy_elimination.cpp */; };
-		A94363B2225FE724000DDF2C /* local_redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361A9225FE723000DDF2C /* local_redundancy_elimination.cpp */; };
-		A94363B3225FE724000DDF2C /* instrument_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361AB225FE723000DDF2C /* instrument_pass.cpp */; };
-		A94363B4225FE724000DDF2C /* instrument_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361AB225FE723000DDF2C /* instrument_pass.cpp */; };
-		A94363B5225FE724000DDF2C /* propagator.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361AC225FE723000DDF2C /* propagator.h */; };
-		A94363B6225FE724000DDF2C /* propagator.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361AC225FE723000DDF2C /* propagator.h */; };
-		A94363B7225FE724000DDF2C /* instruction_list.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361AD225FE723000DDF2C /* instruction_list.h */; };
-		A94363B8225FE724000DDF2C /* instruction_list.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361AD225FE723000DDF2C /* instruction_list.h */; };
-		A94363B9225FE724000DDF2C /* feature_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361AE225FE723000DDF2C /* feature_manager.cpp */; };
-		A94363BA225FE724000DDF2C /* feature_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361AE225FE723000DDF2C /* feature_manager.cpp */; };
-		A94363BB225FE724000DDF2C /* pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361AF225FE723000DDF2C /* pass.cpp */; };
-		A94363BC225FE724000DDF2C /* pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361AF225FE723000DDF2C /* pass.cpp */; };
-		A94363BD225FE724000DDF2C /* loop_fission.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361B0225FE723000DDF2C /* loop_fission.cpp */; };
-		A94363BE225FE724000DDF2C /* loop_fission.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361B0225FE723000DDF2C /* loop_fission.cpp */; };
-		A94363BF225FE724000DDF2C /* dominator_tree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361B1225FE723000DDF2C /* dominator_tree.cpp */; };
-		A94363C0225FE724000DDF2C /* dominator_tree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361B1225FE723000DDF2C /* dominator_tree.cpp */; };
-		A94363C1225FE724000DDF2C /* merge_return_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361B2225FE723000DDF2C /* merge_return_pass.cpp */; };
-		A94363C2225FE724000DDF2C /* merge_return_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361B2225FE723000DDF2C /* merge_return_pass.cpp */; };
-		A94363C3225FE724000DDF2C /* ir_context.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361B3225FE723000DDF2C /* ir_context.h */; };
-		A94363C4225FE724000DDF2C /* ir_context.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361B3225FE723000DDF2C /* ir_context.h */; };
-		A94363C5225FE724000DDF2C /* eliminate_dead_constant_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361B4225FE723000DDF2C /* eliminate_dead_constant_pass.cpp */; };
-		A94363C6225FE724000DDF2C /* eliminate_dead_constant_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361B4225FE723000DDF2C /* eliminate_dead_constant_pass.cpp */; };
-		A94363C7225FE724000DDF2C /* cfg_cleanup_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361B5225FE723000DDF2C /* cfg_cleanup_pass.cpp */; };
-		A94363C8225FE724000DDF2C /* cfg_cleanup_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361B5225FE723000DDF2C /* cfg_cleanup_pass.cpp */; };
-		A94363C9225FE724000DDF2C /* const_folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361B6225FE723000DDF2C /* const_folding_rules.cpp */; };
-		A94363CA225FE724000DDF2C /* const_folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361B6225FE723000DDF2C /* const_folding_rules.cpp */; };
-		A94363CB225FE724000DDF2C /* loop_unroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361B7225FE723000DDF2C /* loop_unroller.h */; };
-		A94363CC225FE724000DDF2C /* loop_unroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361B7225FE723000DDF2C /* loop_unroller.h */; };
-		A94363CD225FE724000DDF2C /* strip_debug_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361B8225FE723000DDF2C /* strip_debug_info_pass.cpp */; };
-		A94363CE225FE724000DDF2C /* strip_debug_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361B8225FE723000DDF2C /* strip_debug_info_pass.cpp */; };
-		A94363CF225FE724000DDF2C /* ssa_rewrite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361B9225FE723000DDF2C /* ssa_rewrite_pass.cpp */; };
-		A94363D0225FE724000DDF2C /* ssa_rewrite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361B9225FE723000DDF2C /* ssa_rewrite_pass.cpp */; };
-		A94363D1225FE724000DDF2C /* loop_dependence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361BA225FE723000DDF2C /* loop_dependence.cpp */; };
-		A94363D2225FE724000DDF2C /* loop_dependence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361BA225FE723000DDF2C /* loop_dependence.cpp */; };
-		A94363D3225FE724000DDF2C /* unify_const_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361BB225FE723000DDF2C /* unify_const_pass.h */; };
-		A94363D4225FE724000DDF2C /* unify_const_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361BB225FE723000DDF2C /* unify_const_pass.h */; };
-		A94363D5225FE724000DDF2C /* ir_loader.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361BC225FE723000DDF2C /* ir_loader.h */; };
-		A94363D6225FE724000DDF2C /* ir_loader.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361BC225FE723000DDF2C /* ir_loader.h */; };
-		A94363D7225FE724000DDF2C /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361BD225FE723000DDF2C /* types.h */; };
-		A94363D8225FE724000DDF2C /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361BD225FE723000DDF2C /* types.h */; };
-		A94363D9225FE724000DDF2C /* fold_spec_constant_op_and_composite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361BE225FE723000DDF2C /* fold_spec_constant_op_and_composite_pass.h */; };
-		A94363DA225FE724000DDF2C /* fold_spec_constant_op_and_composite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361BE225FE723000DDF2C /* fold_spec_constant_op_and_composite_pass.h */; };
-		A94363DB225FE724000DDF2C /* mem_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361BF225FE723000DDF2C /* mem_pass.cpp */; };
-		A94363DC225FE724000DDF2C /* mem_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361BF225FE723000DDF2C /* mem_pass.cpp */; };
-		A94363DD225FE724000DDF2C /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361C0225FE723000DDF2C /* basic_block.h */; };
-		A94363DE225FE724000DDF2C /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361C0225FE723000DDF2C /* basic_block.h */; };
-		A94363DF225FE724000DDF2C /* remove_duplicates_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361C1225FE723000DDF2C /* remove_duplicates_pass.cpp */; };
-		A94363E0225FE724000DDF2C /* remove_duplicates_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361C1225FE723000DDF2C /* remove_duplicates_pass.cpp */; };
-		A94363E1225FE724000DDF2C /* dead_variable_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361C2225FE723000DDF2C /* dead_variable_elimination.cpp */; };
-		A94363E2225FE724000DDF2C /* dead_variable_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361C2225FE723000DDF2C /* dead_variable_elimination.cpp */; };
-		A94363E3225FE724000DDF2C /* block_merge_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361C3225FE723000DDF2C /* block_merge_pass.h */; };
-		A94363E4225FE724000DDF2C /* block_merge_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361C3225FE723000DDF2C /* block_merge_pass.h */; };
-		A94363E5225FE724000DDF2C /* module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361C4225FE723000DDF2C /* module.cpp */; };
-		A94363E6225FE724000DDF2C /* module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361C4225FE723000DDF2C /* module.cpp */; };
-		A94363E7225FE724000DDF2C /* fold_spec_constant_op_and_composite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361C5225FE723000DDF2C /* fold_spec_constant_op_and_composite_pass.cpp */; };
-		A94363E8225FE724000DDF2C /* fold_spec_constant_op_and_composite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361C5225FE723000DDF2C /* fold_spec_constant_op_and_composite_pass.cpp */; };
-		A94363E9225FE724000DDF2C /* loop_unswitch_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361C6225FE723000DDF2C /* loop_unswitch_pass.cpp */; };
-		A94363EA225FE724000DDF2C /* loop_unswitch_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361C6225FE723000DDF2C /* loop_unswitch_pass.cpp */; };
-		A94363EB225FE724000DDF2C /* unify_const_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361C7225FE723000DDF2C /* unify_const_pass.cpp */; };
-		A94363EC225FE724000DDF2C /* unify_const_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361C7225FE723000DDF2C /* unify_const_pass.cpp */; };
-		A94363ED225FE724000DDF2C /* type_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361C8225FE723000DDF2C /* type_manager.cpp */; };
-		A94363EE225FE724000DDF2C /* type_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361C8225FE723000DDF2C /* type_manager.cpp */; };
-		A94363EF225FE724000DDF2C /* generate_webgpu_initializers_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361C9225FE723000DDF2C /* generate_webgpu_initializers_pass.cpp */; };
-		A94363F0225FE724000DDF2C /* generate_webgpu_initializers_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361C9225FE723000DDF2C /* generate_webgpu_initializers_pass.cpp */; };
-		A94363F1225FE724000DDF2C /* private_to_local_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361CA225FE723000DDF2C /* private_to_local_pass.h */; };
-		A94363F2225FE724000DDF2C /* private_to_local_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361CA225FE723000DDF2C /* private_to_local_pass.h */; };
-		A94363F3225FE724000DDF2C /* inline_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361CB225FE723000DDF2C /* inline_pass.cpp */; };
-		A94363F4225FE724000DDF2C /* inline_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361CB225FE723000DDF2C /* inline_pass.cpp */; };
-		A94363F5225FE724000DDF2C /* def_use_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361CC225FE723000DDF2C /* def_use_manager.h */; };
-		A94363F6225FE724000DDF2C /* def_use_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361CC225FE723000DDF2C /* def_use_manager.h */; };
-		A94363F7225FE724000DDF2C /* ir_loader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361CD225FE723000DDF2C /* ir_loader.cpp */; };
-		A94363F8225FE724000DDF2C /* ir_loader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361CD225FE723000DDF2C /* ir_loader.cpp */; };
-		A94363F9225FE724000DDF2C /* cfg_cleanup_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361CE225FE723000DDF2C /* cfg_cleanup_pass.h */; };
-		A94363FA225FE724000DDF2C /* cfg_cleanup_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361CE225FE723000DDF2C /* cfg_cleanup_pass.h */; };
-		A94363FB225FE724000DDF2C /* licm_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361CF225FE723000DDF2C /* licm_pass.cpp */; };
-		A94363FC225FE724000DDF2C /* licm_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361CF225FE723000DDF2C /* licm_pass.cpp */; };
-		A94363FD225FE724000DDF2C /* eliminate_dead_functions_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361D0225FE723000DDF2C /* eliminate_dead_functions_pass.cpp */; };
-		A94363FE225FE724000DDF2C /* eliminate_dead_functions_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361D0225FE723000DDF2C /* eliminate_dead_functions_pass.cpp */; };
-		A94363FF225FE724000DDF2C /* local_redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361D1225FE723000DDF2C /* local_redundancy_elimination.h */; };
-		A9436400225FE724000DDF2C /* local_redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361D1225FE723000DDF2C /* local_redundancy_elimination.h */; };
-		A9436401225FE724000DDF2C /* loop_peeling.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361D2225FE723000DDF2C /* loop_peeling.h */; };
-		A9436402225FE724000DDF2C /* loop_peeling.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361D2225FE723000DDF2C /* loop_peeling.h */; };
-		A9436403225FE724000DDF2C /* vector_dce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361D3225FE723000DDF2C /* vector_dce.cpp */; };
-		A9436404225FE724000DDF2C /* vector_dce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361D3225FE723000DDF2C /* vector_dce.cpp */; };
-		A9436405225FE724000DDF2C /* block_merge_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361D4225FE723000DDF2C /* block_merge_util.h */; };
-		A9436406225FE724000DDF2C /* block_merge_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361D4225FE723000DDF2C /* block_merge_util.h */; };
-		A9436407225FE724000DDF2C /* loop_unroller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361D5225FE723000DDF2C /* loop_unroller.cpp */; };
-		A9436408225FE724000DDF2C /* loop_unroller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361D5225FE723000DDF2C /* loop_unroller.cpp */; };
-		A9436409225FE724000DDF2C /* constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361D6225FE723000DDF2C /* constants.cpp */; };
-		A943640A225FE724000DDF2C /* constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361D6225FE723000DDF2C /* constants.cpp */; };
-		A943640B225FE724000DDF2C /* loop_fusion_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361D7225FE723000DDF2C /* loop_fusion_pass.h */; };
-		A943640C225FE724000DDF2C /* loop_fusion_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361D7225FE723000DDF2C /* loop_fusion_pass.h */; };
-		A943640D225FE724000DDF2C /* struct_cfg_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361D8225FE723000DDF2C /* struct_cfg_analysis.h */; };
-		A943640E225FE724000DDF2C /* struct_cfg_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361D8225FE723000DDF2C /* struct_cfg_analysis.h */; };
-		A943640F225FE724000DDF2C /* common_uniform_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361D9225FE723000DDF2C /* common_uniform_elim_pass.cpp */; };
-		A9436410225FE724000DDF2C /* common_uniform_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361D9225FE723000DDF2C /* common_uniform_elim_pass.cpp */; };
-		A9436411225FE724000DDF2C /* def_use_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361DA225FE723000DDF2C /* def_use_manager.cpp */; };
-		A9436412225FE724000DDF2C /* def_use_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361DA225FE723000DDF2C /* def_use_manager.cpp */; };
-		A9436413225FE724000DDF2C /* strip_reflect_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361DB225FE723000DDF2C /* strip_reflect_info_pass.cpp */; };
-		A9436414225FE724000DDF2C /* strip_reflect_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361DB225FE723000DDF2C /* strip_reflect_info_pass.cpp */; };
-		A9436415225FE724000DDF2C /* decoration_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361DC225FE723000DDF2C /* decoration_manager.h */; };
-		A9436416225FE724000DDF2C /* decoration_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361DC225FE723000DDF2C /* decoration_manager.h */; };
-		A9436417225FE724000DDF2C /* ccp_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361DD225FE723000DDF2C /* ccp_pass.cpp */; };
-		A9436418225FE724000DDF2C /* ccp_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361DD225FE723000DDF2C /* ccp_pass.cpp */; };
-		A9436419225FE724000DDF2C /* process_lines_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361DE225FE723000DDF2C /* process_lines_pass.h */; };
-		A943641A225FE724000DDF2C /* process_lines_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361DE225FE723000DDF2C /* process_lines_pass.h */; };
-		A943641B225FE724000DDF2C /* local_single_block_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361DF225FE723000DDF2C /* local_single_block_elim_pass.h */; };
-		A943641C225FE724000DDF2C /* local_single_block_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361DF225FE723000DDF2C /* local_single_block_elim_pass.h */; };
-		A943641D225FE724000DDF2C /* pch_source_opt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361E0225FE723000DDF2C /* pch_source_opt.cpp */; };
-		A943641E225FE724000DDF2C /* pch_source_opt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361E0225FE723000DDF2C /* pch_source_opt.cpp */; };
-		A943641F225FE724000DDF2C /* strength_reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361E1225FE723000DDF2C /* strength_reduction_pass.h */; };
-		A9436420225FE724000DDF2C /* strength_reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361E1225FE723000DDF2C /* strength_reduction_pass.h */; };
-		A9436421225FE724000DDF2C /* aggressive_dead_code_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361E2225FE723000DDF2C /* aggressive_dead_code_elim_pass.cpp */; };
-		A9436422225FE724000DDF2C /* aggressive_dead_code_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361E2225FE723000DDF2C /* aggressive_dead_code_elim_pass.cpp */; };
-		A9436423225FE724000DDF2C /* eliminate_dead_functions_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361E3225FE723000DDF2C /* eliminate_dead_functions_util.cpp */; };
-		A9436424225FE724000DDF2C /* eliminate_dead_functions_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361E3225FE723000DDF2C /* eliminate_dead_functions_util.cpp */; };
-		A9436425225FE724000DDF2C /* simplification_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361E4225FE723000DDF2C /* simplification_pass.cpp */; };
-		A9436426225FE724000DDF2C /* simplification_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361E4225FE723000DDF2C /* simplification_pass.cpp */; };
-		A9436427225FE724000DDF2C /* dead_branch_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361E5225FE723000DDF2C /* dead_branch_elim_pass.cpp */; };
-		A9436428225FE724000DDF2C /* dead_branch_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361E5225FE723000DDF2C /* dead_branch_elim_pass.cpp */; };
-		A9436429225FE724000DDF2C /* flatten_decoration_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361E6225FE723000DDF2C /* flatten_decoration_pass.cpp */; };
-		A943642A225FE724000DDF2C /* flatten_decoration_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361E6225FE723000DDF2C /* flatten_decoration_pass.cpp */; };
-		A943642B225FE724000DDF2C /* dead_insert_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361E7225FE723000DDF2C /* dead_insert_elim_pass.h */; };
-		A943642C225FE724000DDF2C /* dead_insert_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361E7225FE723000DDF2C /* dead_insert_elim_pass.h */; };
-		A943642D225FE724000DDF2C /* folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361E8225FE723000DDF2C /* folding_rules.cpp */; };
-		A943642E225FE724000DDF2C /* folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361E8225FE723000DDF2C /* folding_rules.cpp */; };
-		A943642F225FE724000DDF2C /* freeze_spec_constant_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361E9225FE723000DDF2C /* freeze_spec_constant_value_pass.h */; };
-		A9436430225FE724000DDF2C /* freeze_spec_constant_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361E9225FE723000DDF2C /* freeze_spec_constant_value_pass.h */; };
-		A9436431225FE724000DDF2C /* ir_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361EA225FE723000DDF2C /* ir_context.cpp */; };
-		A9436432225FE724000DDF2C /* ir_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361EA225FE723000DDF2C /* ir_context.cpp */; };
-		A9436433225FE724000DDF2C /* instrument_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361EB225FE723000DDF2C /* instrument_pass.h */; };
-		A9436434225FE724000DDF2C /* instrument_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361EB225FE723000DDF2C /* instrument_pass.h */; };
-		A9436435225FE724000DDF2C /* mem_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361EC225FE723000DDF2C /* mem_pass.h */; };
-		A9436436225FE724000DDF2C /* mem_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361EC225FE723000DDF2C /* mem_pass.h */; };
-		A9436437225FE724000DDF2C /* loop_descriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361ED225FE723000DDF2C /* loop_descriptor.cpp */; };
-		A9436438225FE724000DDF2C /* loop_descriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361ED225FE723000DDF2C /* loop_descriptor.cpp */; };
-		A9436439225FE724000DDF2C /* local_ssa_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361EE225FE723000DDF2C /* local_ssa_elim_pass.cpp */; };
-		A943643A225FE724000DDF2C /* local_ssa_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361EE225FE723000DDF2C /* local_ssa_elim_pass.cpp */; };
-		A943643B225FE724000DDF2C /* eliminate_dead_members_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361EF225FE723000DDF2C /* eliminate_dead_members_pass.h */; };
-		A943643C225FE724000DDF2C /* eliminate_dead_members_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361EF225FE723000DDF2C /* eliminate_dead_members_pass.h */; };
-		A943643D225FE724000DDF2C /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361F0225FE723000DDF2C /* function.cpp */; };
-		A943643E225FE724000DDF2C /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361F0225FE723000DDF2C /* function.cpp */; };
-		A943643F225FE724000DDF2C /* instruction_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361F1225FE723000DDF2C /* instruction_list.cpp */; };
-		A9436440225FE724000DDF2C /* instruction_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361F1225FE723000DDF2C /* instruction_list.cpp */; };
-		A9436441225FE724000DDF2C /* composite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361F2225FE723000DDF2C /* composite.cpp */; };
-		A9436442225FE724000DDF2C /* composite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361F2225FE723000DDF2C /* composite.cpp */; };
-		A9436443225FE724000DDF2C /* process_lines_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361F3225FE723000DDF2C /* process_lines_pass.cpp */; };
-		A9436444225FE724000DDF2C /* process_lines_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361F3225FE723000DDF2C /* process_lines_pass.cpp */; };
-		A9436445225FE724000DDF2C /* inline_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361F4225FE723000DDF2C /* inline_pass.h */; };
-		A9436446225FE724000DDF2C /* inline_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361F4225FE723000DDF2C /* inline_pass.h */; };
-		A9436447225FE724000DDF2C /* loop_dependence.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361F5225FE723000DDF2C /* loop_dependence.h */; };
-		A9436448225FE724000DDF2C /* loop_dependence.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361F5225FE723000DDF2C /* loop_dependence.h */; };
-		A9436449225FE724000DDF2C /* value_number_table.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361F6225FE723000DDF2C /* value_number_table.h */; };
-		A943644A225FE724000DDF2C /* value_number_table.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361F6225FE723000DDF2C /* value_number_table.h */; };
-		A943644B225FE724000DDF2C /* flatten_decoration_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361F7225FE723000DDF2C /* flatten_decoration_pass.h */; };
-		A943644C225FE724000DDF2C /* flatten_decoration_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361F7225FE723000DDF2C /* flatten_decoration_pass.h */; };
-		A943644D225FE724000DDF2C /* if_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361F8225FE723000DDF2C /* if_conversion.cpp */; };
-		A943644E225FE724000DDF2C /* if_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361F8225FE723000DDF2C /* if_conversion.cpp */; };
-		A943644F225FE724000DDF2C /* inline_exhaustive_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361F9225FE723000DDF2C /* inline_exhaustive_pass.h */; };
-		A9436450225FE724000DDF2C /* inline_exhaustive_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361F9225FE723000DDF2C /* inline_exhaustive_pass.h */; };
-		A9436451225FE724000DDF2C /* constants.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361FA225FE723000DDF2C /* constants.h */; };
-		A9436452225FE724000DDF2C /* constants.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361FA225FE723000DDF2C /* constants.h */; };
-		A9436453225FE724000DDF2C /* eliminate_dead_members_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361FB225FE723000DDF2C /* eliminate_dead_members_pass.cpp */; };
-		A9436454225FE724000DDF2C /* eliminate_dead_members_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361FB225FE723000DDF2C /* eliminate_dead_members_pass.cpp */; };
-		A9436455225FE724000DDF2C /* strength_reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361FC225FE723000DDF2C /* strength_reduction_pass.cpp */; };
-		A9436456225FE724000DDF2C /* strength_reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361FC225FE723000DDF2C /* strength_reduction_pass.cpp */; };
-		A9436457225FE724000DDF2C /* block_merge_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361FD225FE723000DDF2C /* block_merge_util.cpp */; };
-		A9436458225FE724000DDF2C /* block_merge_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361FD225FE723000DDF2C /* block_merge_util.cpp */; };
-		A9436459225FE724000DDF2C /* upgrade_memory_model.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361FE225FE723000DDF2C /* upgrade_memory_model.h */; };
-		A943645A225FE724000DDF2C /* upgrade_memory_model.h in Headers */ = {isa = PBXBuildFile; fileRef = A94361FE225FE723000DDF2C /* upgrade_memory_model.h */; };
-		A943645B225FE724000DDF2C /* copy_prop_arrays.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361FF225FE723000DDF2C /* copy_prop_arrays.cpp */; };
-		A943645C225FE724000DDF2C /* copy_prop_arrays.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94361FF225FE723000DDF2C /* copy_prop_arrays.cpp */; };
-		A943645D225FE724000DDF2C /* pass_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436200225FE723000DDF2C /* pass_manager.cpp */; };
-		A943645E225FE724000DDF2C /* pass_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436200225FE723000DDF2C /* pass_manager.cpp */; };
-		A943645F225FE724000DDF2C /* inline_exhaustive_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436201225FE723000DDF2C /* inline_exhaustive_pass.cpp */; };
-		A9436460225FE724000DDF2C /* inline_exhaustive_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436201225FE723000DDF2C /* inline_exhaustive_pass.cpp */; };
-		A9436461225FE724000DDF2C /* loop_fission.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436202225FE723000DDF2C /* loop_fission.h */; };
-		A9436462225FE724000DDF2C /* loop_fission.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436202225FE723000DDF2C /* loop_fission.h */; };
-		A9436463225FE724000DDF2C /* workaround1209.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436203225FE723000DDF2C /* workaround1209.h */; };
-		A9436464225FE724000DDF2C /* workaround1209.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436203225FE723000DDF2C /* workaround1209.h */; };
-		A9436465225FE724000DDF2C /* loop_fusion_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436204225FE723000DDF2C /* loop_fusion_pass.cpp */; };
-		A9436466225FE724000DDF2C /* loop_fusion_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436204225FE723000DDF2C /* loop_fusion_pass.cpp */; };
-		A9436467225FE724000DDF2C /* log.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436205225FE723000DDF2C /* log.h */; };
-		A9436468225FE724000DDF2C /* log.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436205225FE723000DDF2C /* log.h */; };
-		A9436469225FE724000DDF2C /* copy_prop_arrays.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436206225FE723000DDF2C /* copy_prop_arrays.h */; };
-		A943646A225FE724000DDF2C /* copy_prop_arrays.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436206225FE723000DDF2C /* copy_prop_arrays.h */; };
-		A943646B225FE724000DDF2C /* eliminate_dead_constant_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436207225FE723000DDF2C /* eliminate_dead_constant_pass.h */; };
-		A943646C225FE724000DDF2C /* eliminate_dead_constant_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436207225FE723000DDF2C /* eliminate_dead_constant_pass.h */; };
-		A943646D225FE724000DDF2C /* dead_insert_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436208225FE723000DDF2C /* dead_insert_elim_pass.cpp */; };
-		A943646E225FE724000DDF2C /* dead_insert_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436208225FE723000DDF2C /* dead_insert_elim_pass.cpp */; };
-		A943646F225FE724000DDF2C /* ssa_rewrite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436209225FE723000DDF2C /* ssa_rewrite_pass.h */; };
-		A9436470225FE724000DDF2C /* ssa_rewrite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436209225FE723000DDF2C /* ssa_rewrite_pass.h */; };
-		A9436471225FE724000DDF2C /* scalar_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943620A225FE723000DDF2C /* scalar_analysis.cpp */; };
-		A9436472225FE724000DDF2C /* scalar_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943620A225FE723000DDF2C /* scalar_analysis.cpp */; };
-		A9436473225FE724000DDF2C /* dead_variable_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A943620B225FE723000DDF2C /* dead_variable_elimination.h */; };
-		A9436474225FE724000DDF2C /* dead_variable_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A943620B225FE723000DDF2C /* dead_variable_elimination.h */; };
-		A9436475225FE724000DDF2C /* block_merge_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943620C225FE723000DDF2C /* block_merge_pass.cpp */; };
-		A9436476225FE724000DDF2C /* block_merge_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943620C225FE723000DDF2C /* block_merge_pass.cpp */; };
-		A9436477225FE724000DDF2C /* dominator_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A943620D225FE723000DDF2C /* dominator_analysis.h */; };
-		A9436478225FE724000DDF2C /* dominator_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A943620D225FE723000DDF2C /* dominator_analysis.h */; };
-		A9436479225FE724000DDF2C /* pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A943620E225FE723000DDF2C /* pass.h */; };
-		A943647A225FE724000DDF2C /* pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A943620E225FE723000DDF2C /* pass.h */; };
-		A943647B225FE724000DDF2C /* folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A943620F225FE723000DDF2C /* folding_rules.h */; };
-		A943647C225FE724000DDF2C /* folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A943620F225FE723000DDF2C /* folding_rules.h */; };
-		A943647D225FE724000DDF2C /* eliminate_dead_functions_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436210225FE723000DDF2C /* eliminate_dead_functions_pass.h */; };
-		A943647E225FE724000DDF2C /* eliminate_dead_functions_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436210225FE723000DDF2C /* eliminate_dead_functions_pass.h */; };
-		A943647F225FE724000DDF2C /* common_uniform_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436211225FE723000DDF2C /* common_uniform_elim_pass.h */; };
-		A9436480225FE724000DDF2C /* common_uniform_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436211225FE723000DDF2C /* common_uniform_elim_pass.h */; };
-		A9436481225FE724000DDF2C /* eliminate_dead_functions_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436212225FE723000DDF2C /* eliminate_dead_functions_util.h */; };
-		A9436482225FE724000DDF2C /* eliminate_dead_functions_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436212225FE723000DDF2C /* eliminate_dead_functions_util.h */; };
-		A9436483225FE724000DDF2C /* fold.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436213225FE723000DDF2C /* fold.h */; };
-		A9436484225FE724000DDF2C /* fold.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436213225FE723000DDF2C /* fold.h */; };
-		A9436485225FE724000DDF2C /* local_single_store_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436214225FE723000DDF2C /* local_single_store_elim_pass.cpp */; };
-		A9436486225FE724000DDF2C /* local_single_store_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436214225FE723000DDF2C /* local_single_store_elim_pass.cpp */; };
-		A9436487225FE724000DDF2C /* dead_branch_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436215225FE723000DDF2C /* dead_branch_elim_pass.h */; };
-		A9436488225FE724000DDF2C /* dead_branch_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436215225FE723000DDF2C /* dead_branch_elim_pass.h */; };
-		A9436489225FE724000DDF2C /* private_to_local_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436216225FE723000DDF2C /* private_to_local_pass.cpp */; };
-		A943648A225FE724000DDF2C /* private_to_local_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436216225FE723000DDF2C /* private_to_local_pass.cpp */; };
-		A943648B225FE724000DDF2C /* scalar_analysis_nodes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436217225FE723000DDF2C /* scalar_analysis_nodes.h */; };
-		A943648C225FE724000DDF2C /* scalar_analysis_nodes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436217225FE723000DDF2C /* scalar_analysis_nodes.h */; };
-		A943648D225FE724000DDF2C /* propagator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436218225FE723000DDF2C /* propagator.cpp */; };
-		A943648E225FE724000DDF2C /* propagator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436218225FE723000DDF2C /* propagator.cpp */; };
-		A943648F225FE724000DDF2C /* loop_dependence_helpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436219225FE723000DDF2C /* loop_dependence_helpers.cpp */; };
-		A9436490225FE724000DDF2C /* loop_dependence_helpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436219225FE723000DDF2C /* loop_dependence_helpers.cpp */; };
-		A9436491225FE724000DDF2C /* set_spec_constant_default_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943621A225FE723000DDF2C /* set_spec_constant_default_value_pass.cpp */; };
-		A9436492225FE724000DDF2C /* set_spec_constant_default_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943621A225FE723000DDF2C /* set_spec_constant_default_value_pass.cpp */; };
-		A9436493225FE724000DDF2C /* passes.h in Headers */ = {isa = PBXBuildFile; fileRef = A943621B225FE723000DDF2C /* passes.h */; };
-		A9436494225FE724000DDF2C /* passes.h in Headers */ = {isa = PBXBuildFile; fileRef = A943621B225FE723000DDF2C /* passes.h */; };
-		A9436495225FE724000DDF2C /* fold.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943621C225FE723000DDF2C /* fold.cpp */; };
-		A9436496225FE724000DDF2C /* fold.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943621C225FE723000DDF2C /* fold.cpp */; };
-		A9436497225FE724000DDF2C /* strip_reflect_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A943621D225FE723000DDF2C /* strip_reflect_info_pass.h */; };
-		A9436498225FE724000DDF2C /* strip_reflect_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A943621D225FE723000DDF2C /* strip_reflect_info_pass.h */; };
-		A9436499225FE724000DDF2C /* scalar_replacement_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943621E225FE723000DDF2C /* scalar_replacement_pass.cpp */; };
-		A943649A225FE724000DDF2C /* scalar_replacement_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943621E225FE723000DDF2C /* scalar_replacement_pass.cpp */; };
-		A943649B225FE724000DDF2C /* simplification_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A943621F225FE723000DDF2C /* simplification_pass.h */; };
-		A943649C225FE724000DDF2C /* simplification_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A943621F225FE723000DDF2C /* simplification_pass.h */; };
-		A943649D225FE724000DDF2C /* remove_duplicates_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436220225FE723000DDF2C /* remove_duplicates_pass.h */; };
-		A943649E225FE724000DDF2C /* remove_duplicates_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436220225FE723000DDF2C /* remove_duplicates_pass.h */; };
-		A943649F225FE724000DDF2C /* redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436221225FE723000DDF2C /* redundancy_elimination.cpp */; };
-		A94364A0225FE724000DDF2C /* redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436221225FE723000DDF2C /* redundancy_elimination.cpp */; };
-		A94364A1225FE724000DDF2C /* reflect.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436222225FE723000DDF2C /* reflect.h */; };
-		A94364A2225FE724000DDF2C /* reflect.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436222225FE723000DDF2C /* reflect.h */; };
-		A94364A3225FE724000DDF2C /* workaround1209.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436223225FE723000DDF2C /* workaround1209.cpp */; };
-		A94364A4225FE724000DDF2C /* workaround1209.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436223225FE723000DDF2C /* workaround1209.cpp */; };
-		A94364A5225FE724000DDF2C /* null_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436224225FE723000DDF2C /* null_pass.h */; };
-		A94364A6225FE724000DDF2C /* null_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436224225FE723000DDF2C /* null_pass.h */; };
-		A94364A7225FE724000DDF2C /* const_folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436225225FE723000DDF2C /* const_folding_rules.h */; };
-		A94364A8225FE724000DDF2C /* const_folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436225225FE723000DDF2C /* const_folding_rules.h */; };
-		A94364A9225FE724000DDF2C /* scalar_replacement_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436226225FE723000DDF2C /* scalar_replacement_pass.h */; };
-		A94364AA225FE724000DDF2C /* scalar_replacement_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436226225FE723000DDF2C /* scalar_replacement_pass.h */; };
-		A94364AB225FE724000DDF2C /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436227225FE723000DDF2C /* instruction.cpp */; };
-		A94364AC225FE724000DDF2C /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436227225FE723000DDF2C /* instruction.cpp */; };
-		A94364AD225FE724000DDF2C /* pch_source_opt.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436228225FE723000DDF2C /* pch_source_opt.h */; };
-		A94364AE225FE724000DDF2C /* pch_source_opt.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436228225FE723000DDF2C /* pch_source_opt.h */; };
-		A94364AF225FE724000DDF2C /* reduce_load_size.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436229225FE723000DDF2C /* reduce_load_size.cpp */; };
-		A94364B0225FE724000DDF2C /* reduce_load_size.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436229225FE723000DDF2C /* reduce_load_size.cpp */; };
-		A94364B1225FE724000DDF2C /* redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A943622A225FE723000DDF2C /* redundancy_elimination.h */; };
-		A94364B2225FE724000DDF2C /* redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A943622A225FE723000DDF2C /* redundancy_elimination.h */; };
-		A94364B3225FE724000DDF2C /* value_number_table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943622B225FE723000DDF2C /* value_number_table.cpp */; };
-		A94364B4225FE724000DDF2C /* value_number_table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943622B225FE723000DDF2C /* value_number_table.cpp */; };
-		A94364B5225FE724000DDF2C /* local_ssa_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A943622C225FE723000DDF2C /* local_ssa_elim_pass.h */; };
-		A94364B6225FE724000DDF2C /* local_ssa_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A943622C225FE723000DDF2C /* local_ssa_elim_pass.h */; };
-		A94364B7225FE724000DDF2C /* inline_opaque_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943622D225FE723000DDF2C /* inline_opaque_pass.cpp */; };
-		A94364B8225FE724000DDF2C /* inline_opaque_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943622D225FE723000DDF2C /* inline_opaque_pass.cpp */; };
-		A94364B9225FE724000DDF2C /* replace_invalid_opc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943622E225FE723000DDF2C /* replace_invalid_opc.cpp */; };
-		A94364BA225FE724000DDF2C /* replace_invalid_opc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943622E225FE723000DDF2C /* replace_invalid_opc.cpp */; };
-		A94364BB225FE724000DDF2C /* loop_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A943622F225FE723000DDF2C /* loop_utils.h */; };
-		A94364BC225FE724000DDF2C /* loop_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A943622F225FE723000DDF2C /* loop_utils.h */; };
-		A94364BD225FE724000DDF2C /* module.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436230225FE723000DDF2C /* module.h */; };
-		A94364BE225FE724000DDF2C /* module.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436230225FE723000DDF2C /* module.h */; };
-		A94364BF225FE724000DDF2C /* dominator_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436231225FE723000DDF2C /* dominator_analysis.cpp */; };
-		A94364C0225FE724000DDF2C /* dominator_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436231225FE723000DDF2C /* dominator_analysis.cpp */; };
-		A94364C1225FE724000DDF2C /* ir_builder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436232225FE723000DDF2C /* ir_builder.h */; };
-		A94364C2225FE724000DDF2C /* ir_builder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436232225FE723000DDF2C /* ir_builder.h */; };
-		A94364C3225FE724000DDF2C /* loop_unswitch_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436233225FE723000DDF2C /* loop_unswitch_pass.h */; };
-		A94364C4225FE724000DDF2C /* loop_unswitch_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436233225FE723000DDF2C /* loop_unswitch_pass.h */; };
-		A94364C5225FE724000DDF2C /* cfg.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436234225FE723000DDF2C /* cfg.h */; };
-		A94364C6225FE724000DDF2C /* cfg.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436234225FE723000DDF2C /* cfg.h */; };
-		A94364C7225FE724000DDF2C /* code_sink.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436235225FE723000DDF2C /* code_sink.h */; };
-		A94364C8225FE724000DDF2C /* code_sink.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436235225FE723000DDF2C /* code_sink.h */; };
-		A94364C9225FE724000DDF2C /* loop_descriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436236225FE723000DDF2C /* loop_descriptor.h */; };
-		A94364CA225FE724000DDF2C /* loop_descriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436236225FE723000DDF2C /* loop_descriptor.h */; };
-		A94364CB225FE724000DDF2C /* generate_webgpu_initializers_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436237225FE723000DDF2C /* generate_webgpu_initializers_pass.h */; };
-		A94364CC225FE724000DDF2C /* generate_webgpu_initializers_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436237225FE723000DDF2C /* generate_webgpu_initializers_pass.h */; };
-		A94364CD225FE724000DDF2C /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436238225FE723000DDF2C /* instruction.h */; };
-		A94364CE225FE724000DDF2C /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436238225FE723000DDF2C /* instruction.h */; };
-		A94364CF225FE724000DDF2C /* aggressive_dead_code_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436239225FE723000DDF2C /* aggressive_dead_code_elim_pass.h */; };
-		A94364D0225FE724000DDF2C /* aggressive_dead_code_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436239225FE723000DDF2C /* aggressive_dead_code_elim_pass.h */; };
-		A94364D1225FE724000DDF2C /* struct_cfg_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943623A225FE723000DDF2C /* struct_cfg_analysis.cpp */; };
-		A94364D2225FE724000DDF2C /* struct_cfg_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943623A225FE723000DDF2C /* struct_cfg_analysis.cpp */; };
-		A94364D3225FE724000DDF2C /* vector_dce.h in Headers */ = {isa = PBXBuildFile; fileRef = A943623B225FE723000DDF2C /* vector_dce.h */; };
-		A94364D4225FE724000DDF2C /* vector_dce.h in Headers */ = {isa = PBXBuildFile; fileRef = A943623B225FE723000DDF2C /* vector_dce.h */; };
-		A94364D5225FE724000DDF2C /* combine_access_chains.h in Headers */ = {isa = PBXBuildFile; fileRef = A943623C225FE723000DDF2C /* combine_access_chains.h */; };
-		A94364D6225FE724000DDF2C /* combine_access_chains.h in Headers */ = {isa = PBXBuildFile; fileRef = A943623C225FE723000DDF2C /* combine_access_chains.h */; };
-		A94364D7225FE724000DDF2C /* pass_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A943623D225FE723000DDF2C /* pass_manager.h */; };
-		A94364D8225FE724000DDF2C /* pass_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A943623D225FE723000DDF2C /* pass_manager.h */; };
-		A94364D9225FE724000DDF2C /* local_access_chain_convert_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943623E225FE723000DDF2C /* local_access_chain_convert_pass.cpp */; };
-		A94364DA225FE724000DDF2C /* local_access_chain_convert_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943623E225FE723000DDF2C /* local_access_chain_convert_pass.cpp */; };
-		A94364DB225FE724000DDF2C /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943623F225FE723000DDF2C /* basic_block.cpp */; };
-		A94364DC225FE724000DDF2C /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943623F225FE723000DDF2C /* basic_block.cpp */; };
-		A94364DD225FE724000DDF2C /* iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436240225FE723000DDF2C /* iterator.h */; };
-		A94364DE225FE724000DDF2C /* iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436240225FE723000DDF2C /* iterator.h */; };
-		A94364DF225FE724000DDF2C /* licm_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436241225FE723000DDF2C /* licm_pass.h */; };
-		A94364E0225FE724000DDF2C /* licm_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436241225FE723000DDF2C /* licm_pass.h */; };
-		A94364E1225FE724000DDF2C /* build_module.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436242225FE723000DDF2C /* build_module.h */; };
-		A94364E2225FE724000DDF2C /* build_module.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436242225FE723000DDF2C /* build_module.h */; };
-		A94364E3225FE724000DDF2C /* ccp_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436243225FE723000DDF2C /* ccp_pass.h */; };
-		A94364E4225FE724000DDF2C /* ccp_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436243225FE723000DDF2C /* ccp_pass.h */; };
-		A94364E5225FE724000DDF2C /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436244225FE723000DDF2C /* function.h */; };
-		A94364E6225FE724000DDF2C /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436244225FE723000DDF2C /* function.h */; };
-		A94364E7225FE724000DDF2C /* loop_fusion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436245225FE723000DDF2C /* loop_fusion.cpp */; };
-		A94364E8225FE724000DDF2C /* loop_fusion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436245225FE723000DDF2C /* loop_fusion.cpp */; };
-		A94364E9225FE724000DDF2C /* upgrade_memory_model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436246225FE723000DDF2C /* upgrade_memory_model.cpp */; };
-		A94364EA225FE724000DDF2C /* upgrade_memory_model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436246225FE723000DDF2C /* upgrade_memory_model.cpp */; };
-		A94364EB225FE724000DDF2C /* feature_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436247225FE723000DDF2C /* feature_manager.h */; };
-		A94364EC225FE724000DDF2C /* feature_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436247225FE723000DDF2C /* feature_manager.h */; };
-		A94364ED225FE724000DDF2C /* inst_bindless_check_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436248225FE723000DDF2C /* inst_bindless_check_pass.h */; };
-		A94364EE225FE724000DDF2C /* inst_bindless_check_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436248225FE723000DDF2C /* inst_bindless_check_pass.h */; };
-		A94364EF225FE724000DDF2C /* scalar_analysis_simplification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436249225FE723000DDF2C /* scalar_analysis_simplification.cpp */; };
-		A94364F0225FE724000DDF2C /* scalar_analysis_simplification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436249225FE723000DDF2C /* scalar_analysis_simplification.cpp */; };
-		A94364F1225FE724000DDF2C /* set_spec_constant_default_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A943624A225FE723000DDF2C /* set_spec_constant_default_value_pass.h */; };
-		A94364F2225FE724000DDF2C /* set_spec_constant_default_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A943624A225FE723000DDF2C /* set_spec_constant_default_value_pass.h */; };
-		A94364F3225FE724000DDF2C /* dominator_tree.h in Headers */ = {isa = PBXBuildFile; fileRef = A943624B225FE723000DDF2C /* dominator_tree.h */; };
-		A94364F4225FE724000DDF2C /* dominator_tree.h in Headers */ = {isa = PBXBuildFile; fileRef = A943624B225FE723000DDF2C /* dominator_tree.h */; };
-		A94364F5225FE724000DDF2C /* type_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A943624C225FE723000DDF2C /* type_manager.h */; };
-		A94364F6225FE724000DDF2C /* type_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A943624C225FE723000DDF2C /* type_manager.h */; };
-		A94364F7225FE724000DDF2C /* compact_ids_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943624D225FE723000DDF2C /* compact_ids_pass.cpp */; };
-		A94364F8225FE724000DDF2C /* compact_ids_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943624D225FE723000DDF2C /* compact_ids_pass.cpp */; };
-		A94364F9225FE724000DDF2C /* loop_peeling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943624E225FE723000DDF2C /* loop_peeling.cpp */; };
-		A94364FA225FE724000DDF2C /* loop_peeling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943624E225FE723000DDF2C /* loop_peeling.cpp */; };
-		A94364FB225FE724000DDF2C /* table.h in Headers */ = {isa = PBXBuildFile; fileRef = A943624F225FE723000DDF2C /* table.h */; };
-		A94364FC225FE724000DDF2C /* table.h in Headers */ = {isa = PBXBuildFile; fileRef = A943624F225FE723000DDF2C /* table.h */; };
-		A94364FD225FE724000DDF2C /* ext_inst.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436250225FE723000DDF2C /* ext_inst.h */; };
-		A94364FE225FE724000DDF2C /* ext_inst.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436250225FE723000DDF2C /* ext_inst.h */; };
-		A94364FF225FE724000DDF2C /* diagnostic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436251225FE723000DDF2C /* diagnostic.cpp */; };
-		A9436500225FE724000DDF2C /* diagnostic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436251225FE723000DDF2C /* diagnostic.cpp */; };
-		A9436501225FE724000DDF2C /* latest_version_spirv_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436252225FE723000DDF2C /* latest_version_spirv_header.h */; };
-		A9436502225FE724000DDF2C /* latest_version_spirv_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436252225FE723000DDF2C /* latest_version_spirv_header.h */; };
-		A9436503225FE724000DDF2C /* libspirv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436253225FE723000DDF2C /* libspirv.cpp */; };
-		A9436504225FE724000DDF2C /* libspirv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436253225FE723000DDF2C /* libspirv.cpp */; };
-		A9436505225FE724000DDF2C /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436254225FE723000DDF2C /* instruction.h */; };
-		A9436506225FE724000DDF2C /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436254225FE723000DDF2C /* instruction.h */; };
-		A9436507225FE724000DDF2C /* id_descriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436255225FE723000DDF2C /* id_descriptor.h */; };
-		A9436508225FE724000DDF2C /* id_descriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436255225FE723000DDF2C /* id_descriptor.h */; };
-		A9436509225FE724000DDF2C /* spirv_optimizer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436256225FE723000DDF2C /* spirv_optimizer_options.h */; };
-		A943650A225FE724000DDF2C /* spirv_optimizer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436256225FE723000DDF2C /* spirv_optimizer_options.h */; };
-		A943650B225FE724000DDF2C /* opcode.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436257225FE723000DDF2C /* opcode.h */; };
-		A943650C225FE724000DDF2C /* opcode.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436257225FE723000DDF2C /* opcode.h */; };
-		A943650D225FE724000DDF2C /* operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436258225FE723000DDF2C /* operand.cpp */; };
-		A943650E225FE724000DDF2C /* operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436258225FE723000DDF2C /* operand.cpp */; };
-		A943650F225FE724000DDF2C /* latest_version_glsl_std_450_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436259225FE723000DDF2C /* latest_version_glsl_std_450_header.h */; };
-		A9436510225FE724000DDF2C /* latest_version_glsl_std_450_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436259225FE723000DDF2C /* latest_version_glsl_std_450_header.h */; };
-		A9436511225FE724000DDF2C /* extensions.h in Headers */ = {isa = PBXBuildFile; fileRef = A943625A225FE723000DDF2C /* extensions.h */; };
-		A9436512225FE724000DDF2C /* extensions.h in Headers */ = {isa = PBXBuildFile; fileRef = A943625A225FE723000DDF2C /* extensions.h */; };
-		A9436513225FE724000DDF2C /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943625B225FE723000DDF2C /* disassemble.cpp */; };
-		A9436514225FE724000DDF2C /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943625B225FE723000DDF2C /* disassemble.cpp */; };
-		A9436515225FE724000DDF2C /* binary.h in Headers */ = {isa = PBXBuildFile; fileRef = A943625C225FE723000DDF2C /* binary.h */; };
-		A9436516225FE724000DDF2C /* binary.h in Headers */ = {isa = PBXBuildFile; fileRef = A943625C225FE723000DDF2C /* binary.h */; };
-		A9436517225FE724000DDF2C /* text_handler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943625D225FE723000DDF2C /* text_handler.cpp */; };
-		A9436518225FE724000DDF2C /* text_handler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943625D225FE723000DDF2C /* text_handler.cpp */; };
-		A9436519225FE724000DDF2C /* validate_annotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943625F225FE723000DDF2C /* validate_annotation.cpp */; };
-		A943651A225FE724000DDF2C /* validate_annotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943625F225FE723000DDF2C /* validate_annotation.cpp */; };
-		A943651B225FE724000DDF2C /* validate_cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436260225FE723000DDF2C /* validate_cfg.cpp */; };
-		A943651C225FE724000DDF2C /* validate_cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436260225FE723000DDF2C /* validate_cfg.cpp */; };
-		A943651D225FE724000DDF2C /* validate_capability.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436261225FE723000DDF2C /* validate_capability.cpp */; };
-		A943651E225FE724000DDF2C /* validate_capability.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436261225FE723000DDF2C /* validate_capability.cpp */; };
-		A943651F225FE724000DDF2C /* construct.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436262225FE723000DDF2C /* construct.h */; };
-		A9436520225FE724000DDF2C /* construct.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436262225FE723000DDF2C /* construct.h */; };
-		A9436521225FE724000DDF2C /* validate_barriers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436263225FE723000DDF2C /* validate_barriers.cpp */; };
-		A9436522225FE724000DDF2C /* validate_barriers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436263225FE723000DDF2C /* validate_barriers.cpp */; };
-		A9436523225FE724000DDF2C /* validate_non_uniform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436264225FE723000DDF2C /* validate_non_uniform.cpp */; };
-		A9436524225FE724000DDF2C /* validate_non_uniform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436264225FE723000DDF2C /* validate_non_uniform.cpp */; };
-		A9436525225FE724000DDF2C /* validate_scopes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436265225FE723000DDF2C /* validate_scopes.cpp */; };
-		A9436526225FE724000DDF2C /* validate_scopes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436265225FE723000DDF2C /* validate_scopes.cpp */; };
-		A9436527225FE724000DDF2C /* validate_atomics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436266225FE723000DDF2C /* validate_atomics.cpp */; };
-		A9436528225FE724000DDF2C /* validate_atomics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436266225FE723000DDF2C /* validate_atomics.cpp */; };
-		A9436529225FE724000DDF2C /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436267225FE723000DDF2C /* basic_block.h */; };
-		A943652A225FE724000DDF2C /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436267225FE723000DDF2C /* basic_block.h */; };
-		A943652B225FE724000DDF2C /* validate_instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436268225FE723000DDF2C /* validate_instruction.cpp */; };
-		A943652C225FE724000DDF2C /* validate_instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436268225FE723000DDF2C /* validate_instruction.cpp */; };
-		A943652D225FE724000DDF2C /* validate_decorations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436269225FE723000DDF2C /* validate_decorations.cpp */; };
-		A943652E225FE724000DDF2C /* validate_decorations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436269225FE723000DDF2C /* validate_decorations.cpp */; };
-		A943652F225FE724000DDF2C /* validate_debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943626A225FE723000DDF2C /* validate_debug.cpp */; };
-		A9436530225FE724000DDF2C /* validate_debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943626A225FE723000DDF2C /* validate_debug.cpp */; };
-		A9436531225FE724000DDF2C /* validate_builtins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943626B225FE723000DDF2C /* validate_builtins.cpp */; };
-		A9436532225FE724000DDF2C /* validate_builtins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943626B225FE723000DDF2C /* validate_builtins.cpp */; };
-		A9436533225FE724000DDF2C /* validate_interfaces.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943626C225FE723000DDF2C /* validate_interfaces.cpp */; };
-		A9436534225FE724000DDF2C /* validate_interfaces.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943626C225FE723000DDF2C /* validate_interfaces.cpp */; };
-		A9436535225FE724000DDF2C /* validate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943626D225FE723000DDF2C /* validate.cpp */; };
-		A9436536225FE724000DDF2C /* validate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943626D225FE723000DDF2C /* validate.cpp */; };
-		A9436537225FE724000DDF2C /* validation_state.h in Headers */ = {isa = PBXBuildFile; fileRef = A943626E225FE723000DDF2C /* validation_state.h */; };
-		A9436538225FE724000DDF2C /* validation_state.h in Headers */ = {isa = PBXBuildFile; fileRef = A943626E225FE723000DDF2C /* validation_state.h */; };
-		A9436539225FE724000DDF2C /* validate_constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943626F225FE723000DDF2C /* validate_constants.cpp */; };
-		A943653A225FE724000DDF2C /* validate_constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943626F225FE723000DDF2C /* validate_constants.cpp */; };
-		A943653B225FE724000DDF2C /* validate_bitwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436270225FE723000DDF2C /* validate_bitwise.cpp */; };
-		A943653C225FE724000DDF2C /* validate_bitwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436270225FE723000DDF2C /* validate_bitwise.cpp */; };
-		A943653D225FE724000DDF2C /* validate_extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436271225FE723000DDF2C /* validate_extensions.cpp */; };
-		A943653E225FE724000DDF2C /* validate_extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436271225FE723000DDF2C /* validate_extensions.cpp */; };
-		A943653F225FE724000DDF2C /* construct.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436272225FE723000DDF2C /* construct.cpp */; };
-		A9436540225FE724000DDF2C /* construct.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436272225FE723000DDF2C /* construct.cpp */; };
-		A9436541225FE724000DDF2C /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436273225FE723000DDF2C /* function.cpp */; };
-		A9436542225FE724000DDF2C /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436273225FE723000DDF2C /* function.cpp */; };
-		A9436543225FE724000DDF2C /* validate.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436274225FE723000DDF2C /* validate.h */; };
-		A9436544225FE724000DDF2C /* validate.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436274225FE723000DDF2C /* validate.h */; };
-		A9436545225FE724000DDF2C /* validate_adjacency.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436275225FE723000DDF2C /* validate_adjacency.cpp */; };
-		A9436546225FE724000DDF2C /* validate_adjacency.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436275225FE723000DDF2C /* validate_adjacency.cpp */; };
-		A9436547225FE724000DDF2C /* validate_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436276225FE723000DDF2C /* validate_conversion.cpp */; };
-		A9436548225FE724000DDF2C /* validate_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436276225FE723000DDF2C /* validate_conversion.cpp */; };
-		A9436549225FE724000DDF2C /* validate_datarules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436277225FE723000DDF2C /* validate_datarules.cpp */; };
-		A943654A225FE724000DDF2C /* validate_datarules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436277225FE723000DDF2C /* validate_datarules.cpp */; };
-		A943654B225FE724000DDF2C /* validate_scopes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436278225FE723000DDF2C /* validate_scopes.h */; };
-		A943654C225FE724000DDF2C /* validate_scopes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436278225FE723000DDF2C /* validate_scopes.h */; };
-		A943654D225FE724000DDF2C /* validate_id.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436279225FE723000DDF2C /* validate_id.cpp */; };
-		A943654E225FE724000DDF2C /* validate_id.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436279225FE723000DDF2C /* validate_id.cpp */; };
-		A943654F225FE724000DDF2C /* validate_memory_semantics.h in Headers */ = {isa = PBXBuildFile; fileRef = A943627A225FE723000DDF2C /* validate_memory_semantics.h */; };
-		A9436550225FE724000DDF2C /* validate_memory_semantics.h in Headers */ = {isa = PBXBuildFile; fileRef = A943627A225FE723000DDF2C /* validate_memory_semantics.h */; };
-		A9436551225FE724000DDF2C /* validate_arithmetics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943627B225FE723000DDF2C /* validate_arithmetics.cpp */; };
-		A9436552225FE724000DDF2C /* validate_arithmetics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943627B225FE723000DDF2C /* validate_arithmetics.cpp */; };
-		A9436553225FE724000DDF2C /* validate_mode_setting.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943627C225FE723000DDF2C /* validate_mode_setting.cpp */; };
-		A9436554225FE724000DDF2C /* validate_mode_setting.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943627C225FE723000DDF2C /* validate_mode_setting.cpp */; };
-		A9436555225FE724000DDF2C /* validate_memory_semantics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943627D225FE723000DDF2C /* validate_memory_semantics.cpp */; };
-		A9436556225FE724000DDF2C /* validate_memory_semantics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943627D225FE723000DDF2C /* validate_memory_semantics.cpp */; };
-		A9436557225FE724000DDF2C /* validate_logicals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943627E225FE723000DDF2C /* validate_logicals.cpp */; };
-		A9436558225FE724000DDF2C /* validate_logicals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943627E225FE723000DDF2C /* validate_logicals.cpp */; };
-		A9436559225FE724000DDF2C /* validate_derivatives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943627F225FE723000DDF2C /* validate_derivatives.cpp */; };
-		A943655A225FE724000DDF2C /* validate_derivatives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943627F225FE723000DDF2C /* validate_derivatives.cpp */; };
-		A943655B225FE724000DDF2C /* validate_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436280225FE723000DDF2C /* validate_memory.cpp */; };
-		A943655C225FE724000DDF2C /* validate_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436280225FE723000DDF2C /* validate_memory.cpp */; };
-		A943655D225FE724000DDF2C /* validate_image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436281225FE723000DDF2C /* validate_image.cpp */; };
-		A943655E225FE724000DDF2C /* validate_image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436281225FE723000DDF2C /* validate_image.cpp */; };
-		A943655F225FE724000DDF2C /* validate_literals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436282225FE724000DDF2C /* validate_literals.cpp */; };
-		A9436560225FE724000DDF2C /* validate_literals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436282225FE724000DDF2C /* validate_literals.cpp */; };
-		A9436561225FE724000DDF2C /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436283225FE724000DDF2C /* instruction.cpp */; };
-		A9436562225FE724000DDF2C /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436283225FE724000DDF2C /* instruction.cpp */; };
-		A9436563225FE724000DDF2C /* validate_type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436284225FE724000DDF2C /* validate_type.cpp */; };
-		A9436564225FE724000DDF2C /* validate_type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436284225FE724000DDF2C /* validate_type.cpp */; };
-		A9436565225FE724000DDF2C /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436285225FE724000DDF2C /* instruction.h */; };
-		A9436566225FE724000DDF2C /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9436285225FE724000DDF2C /* instruction.h */; };
-		A9436567225FE724000DDF2C /* validate_execution_limitations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436286225FE724000DDF2C /* validate_execution_limitations.cpp */; };
-		A9436568225FE724000DDF2C /* validate_execution_limitations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436286225FE724000DDF2C /* validate_execution_limitations.cpp */; };
-		A9436569225FE724000DDF2C /* validate_layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436287225FE724000DDF2C /* validate_layout.cpp */; };
-		A943656A225FE724000DDF2C /* validate_layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436287225FE724000DDF2C /* validate_layout.cpp */; };
-		A943656B225FE724000DDF2C /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436288225FE724000DDF2C /* basic_block.cpp */; };
-		A943656C225FE724000DDF2C /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436288225FE724000DDF2C /* basic_block.cpp */; };
-		A943656D225FE724000DDF2C /* validate_function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436289225FE724000DDF2C /* validate_function.cpp */; };
-		A943656E225FE724000DDF2C /* validate_function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9436289225FE724000DDF2C /* validate_function.cpp */; };
-		A943656F225FE724000DDF2C /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A943628A225FE724000DDF2C /* function.h */; };
-		A9436570225FE724000DDF2C /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A943628A225FE724000DDF2C /* function.h */; };
-		A9436571225FE724000DDF2C /* validate_composites.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943628B225FE724000DDF2C /* validate_composites.cpp */; };
-		A9436572225FE724000DDF2C /* validate_composites.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943628B225FE724000DDF2C /* validate_composites.cpp */; };
-		A9436573225FE724000DDF2C /* validation_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943628C225FE724000DDF2C /* validation_state.cpp */; };
-		A9436574225FE724000DDF2C /* validation_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943628C225FE724000DDF2C /* validation_state.cpp */; };
-		A9436575225FE724000DDF2C /* validate_primitives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943628D225FE724000DDF2C /* validate_primitives.cpp */; };
-		A9436576225FE724000DDF2C /* validate_primitives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A943628D225FE724000DDF2C /* validate_primitives.cpp */; };
-		A9436577225FE724000DDF2C /* decoration.h in Headers */ = {isa = PBXBuildFile; fileRef = A943628E225FE724000DDF2C /* decoration.h */; };
-		A9436578225FE724000DDF2C /* decoration.h in Headers */ = {isa = PBXBuildFile; fileRef = A943628E225FE724000DDF2C /* decoration.h */; };
+		A94A68EE22B17BBB00C661C6 /* spirv_target_env.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A673E22B17BBB00C661C6 /* spirv_target_env.cpp */; };
+		A94A68EF22B17BBB00C661C6 /* spirv_target_env.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A673E22B17BBB00C661C6 /* spirv_target_env.cpp */; };
+		A94A68F022B17BBB00C661C6 /* spirv_fuzzer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A674022B17BBB00C661C6 /* spirv_fuzzer_options.h */; };
+		A94A68F122B17BBB00C661C6 /* spirv_fuzzer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A674022B17BBB00C661C6 /* spirv_fuzzer_options.h */; };
+		A94A68F222B17BBB00C661C6 /* assembly_grammar.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A674122B17BBB00C661C6 /* assembly_grammar.h */; };
+		A94A68F322B17BBB00C661C6 /* assembly_grammar.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A674122B17BBB00C661C6 /* assembly_grammar.h */; };
+		A94A68F422B17BBB00C661C6 /* enum_set.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A674222B17BBB00C661C6 /* enum_set.h */; };
+		A94A68F522B17BBB00C661C6 /* enum_set.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A674222B17BBB00C661C6 /* enum_set.h */; };
+		A94A68F622B17BBB00C661C6 /* text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A674522B17BBB00C661C6 /* text.cpp */; };
+		A94A68F722B17BBB00C661C6 /* text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A674522B17BBB00C661C6 /* text.cpp */; };
+		A94A68F822B17BBB00C661C6 /* assembly_grammar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A674622B17BBB00C661C6 /* assembly_grammar.cpp */; };
+		A94A68F922B17BBB00C661C6 /* assembly_grammar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A674622B17BBB00C661C6 /* assembly_grammar.cpp */; };
+		A94A68FA22B17BBB00C661C6 /* text.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A674722B17BBB00C661C6 /* text.h */; };
+		A94A68FB22B17BBB00C661C6 /* text.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A674722B17BBB00C661C6 /* text.h */; };
+		A94A68FC22B17BBB00C661C6 /* extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A674822B17BBB00C661C6 /* extensions.cpp */; };
+		A94A68FD22B17BBB00C661C6 /* extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A674822B17BBB00C661C6 /* extensions.cpp */; };
+		A94A68FE22B17BBB00C661C6 /* pch_source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A674922B17BBB00C661C6 /* pch_source.cpp */; };
+		A94A68FF22B17BBB00C661C6 /* pch_source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A674922B17BBB00C661C6 /* pch_source.cpp */; };
+		A94A690022B17BBB00C661C6 /* parse_number.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A674B22B17BBB00C661C6 /* parse_number.h */; };
+		A94A690122B17BBB00C661C6 /* parse_number.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A674B22B17BBB00C661C6 /* parse_number.h */; };
+		A94A690222B17BBB00C661C6 /* ilist_node.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A674C22B17BBB00C661C6 /* ilist_node.h */; };
+		A94A690322B17BBB00C661C6 /* ilist_node.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A674C22B17BBB00C661C6 /* ilist_node.h */; };
+		A94A690422B17BBB00C661C6 /* make_unique.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A674D22B17BBB00C661C6 /* make_unique.h */; };
+		A94A690522B17BBB00C661C6 /* make_unique.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A674D22B17BBB00C661C6 /* make_unique.h */; };
+		A94A690622B17BBB00C661C6 /* string_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A674E22B17BBB00C661C6 /* string_utils.h */; };
+		A94A690722B17BBB00C661C6 /* string_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A674E22B17BBB00C661C6 /* string_utils.h */; };
+		A94A690822B17BBB00C661C6 /* small_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A674F22B17BBB00C661C6 /* small_vector.h */; };
+		A94A690922B17BBB00C661C6 /* small_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A674F22B17BBB00C661C6 /* small_vector.h */; };
+		A94A690A22B17BBB00C661C6 /* timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A675022B17BBB00C661C6 /* timer.cpp */; };
+		A94A690B22B17BBB00C661C6 /* timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A675022B17BBB00C661C6 /* timer.cpp */; };
+		A94A690C22B17BBB00C661C6 /* timer.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A675122B17BBB00C661C6 /* timer.h */; };
+		A94A690D22B17BBB00C661C6 /* timer.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A675122B17BBB00C661C6 /* timer.h */; };
+		A94A690E22B17BBB00C661C6 /* string_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A675222B17BBB00C661C6 /* string_utils.cpp */; };
+		A94A690F22B17BBB00C661C6 /* string_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A675222B17BBB00C661C6 /* string_utils.cpp */; };
+		A94A691022B17BBB00C661C6 /* bit_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A675322B17BBB00C661C6 /* bit_vector.h */; };
+		A94A691122B17BBB00C661C6 /* bit_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A675322B17BBB00C661C6 /* bit_vector.h */; };
+		A94A691222B17BBB00C661C6 /* bitutils.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A675422B17BBB00C661C6 /* bitutils.h */; };
+		A94A691322B17BBB00C661C6 /* bitutils.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A675422B17BBB00C661C6 /* bitutils.h */; };
+		A94A691422B17BBB00C661C6 /* hex_float.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A675522B17BBB00C661C6 /* hex_float.h */; };
+		A94A691522B17BBB00C661C6 /* hex_float.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A675522B17BBB00C661C6 /* hex_float.h */; };
+		A94A691622B17BBB00C661C6 /* parse_number.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A675622B17BBB00C661C6 /* parse_number.cpp */; };
+		A94A691722B17BBB00C661C6 /* parse_number.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A675622B17BBB00C661C6 /* parse_number.cpp */; };
+		A94A691822B17BBB00C661C6 /* bit_vector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A675722B17BBB00C661C6 /* bit_vector.cpp */; };
+		A94A691922B17BBB00C661C6 /* bit_vector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A675722B17BBB00C661C6 /* bit_vector.cpp */; };
+		A94A691A22B17BBB00C661C6 /* ilist.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A675822B17BBB00C661C6 /* ilist.h */; };
+		A94A691B22B17BBB00C661C6 /* ilist.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A675822B17BBB00C661C6 /* ilist.h */; };
+		A94A691C22B17BBB00C661C6 /* spirv_target_env.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A675922B17BBB00C661C6 /* spirv_target_env.h */; };
+		A94A691D22B17BBB00C661C6 /* spirv_target_env.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A675922B17BBB00C661C6 /* spirv_target_env.h */; };
+		A94A691E22B17BBB00C661C6 /* table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A675A22B17BBB00C661C6 /* table.cpp */; };
+		A94A691F22B17BBB00C661C6 /* table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A675A22B17BBB00C661C6 /* table.cpp */; };
+		A94A692022B17BBB00C661C6 /* operand_to_undef_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A675C22B17BBB00C661C6 /* operand_to_undef_reduction_opportunity_finder.h */; };
+		A94A692122B17BBB00C661C6 /* operand_to_undef_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A675C22B17BBB00C661C6 /* operand_to_undef_reduction_opportunity_finder.h */; };
+		A94A692222B17BBB00C661C6 /* remove_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A675D22B17BBB00C661C6 /* remove_selection_reduction_opportunity.cpp */; };
+		A94A692322B17BBB00C661C6 /* remove_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A675D22B17BBB00C661C6 /* remove_selection_reduction_opportunity.cpp */; };
+		A94A692422B17BBB00C661C6 /* remove_block_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A675E22B17BBB00C661C6 /* remove_block_reduction_opportunity.h */; };
+		A94A692522B17BBB00C661C6 /* remove_block_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A675E22B17BBB00C661C6 /* remove_block_reduction_opportunity.h */; };
+		A94A692622B17BBB00C661C6 /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A675F22B17BBB00C661C6 /* operand_to_dominating_id_reduction_opportunity_finder.h */; };
+		A94A692722B17BBB00C661C6 /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A675F22B17BBB00C661C6 /* operand_to_dominating_id_reduction_opportunity_finder.h */; };
+		A94A692822B17BBB00C661C6 /* reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A676022B17BBB00C661C6 /* reduction_pass.cpp */; };
+		A94A692922B17BBB00C661C6 /* reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A676022B17BBB00C661C6 /* reduction_pass.cpp */; };
+		A94A692A22B17BBB00C661C6 /* operand_to_const_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A676122B17BBB00C661C6 /* operand_to_const_reduction_opportunity_finder.cpp */; };
+		A94A692B22B17BBB00C661C6 /* operand_to_const_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A676122B17BBB00C661C6 /* operand_to_const_reduction_opportunity_finder.cpp */; };
+		A94A692C22B17BBB00C661C6 /* operand_to_const_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A676222B17BBB00C661C6 /* operand_to_const_reduction_opportunity_finder.h */; };
+		A94A692D22B17BBB00C661C6 /* operand_to_const_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A676222B17BBB00C661C6 /* operand_to_const_reduction_opportunity_finder.h */; };
+		A94A692E22B17BBB00C661C6 /* reduction_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A676422B17BBB00C661C6 /* reduction_util.cpp */; };
+		A94A692F22B17BBB00C661C6 /* reduction_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A676422B17BBB00C661C6 /* reduction_util.cpp */; };
+		A94A693022B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A676522B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity_finder.cpp */; };
+		A94A693122B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A676522B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity_finder.cpp */; };
+		A94A693222B17BBB00C661C6 /* simple_conditional_branch_to_branch_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A676622B17BBB00C661C6 /* simple_conditional_branch_to_branch_reduction_opportunity.h */; };
+		A94A693322B17BBB00C661C6 /* simple_conditional_branch_to_branch_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A676622B17BBB00C661C6 /* simple_conditional_branch_to_branch_reduction_opportunity.h */; };
+		A94A693422B17BBB00C661C6 /* remove_function_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A676722B17BBB00C661C6 /* remove_function_reduction_opportunity_finder.cpp */; };
+		A94A693522B17BBB00C661C6 /* remove_function_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A676722B17BBB00C661C6 /* remove_function_reduction_opportunity_finder.cpp */; };
+		A94A693622B17BBB00C661C6 /* remove_instruction_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A676822B17BBB00C661C6 /* remove_instruction_reduction_opportunity.h */; };
+		A94A693722B17BBB00C661C6 /* remove_instruction_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A676822B17BBB00C661C6 /* remove_instruction_reduction_opportunity.h */; };
+		A94A693822B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A676922B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h */; };
+		A94A693922B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A676922B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h */; };
+		A94A693A22B17BBB00C661C6 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A676A22B17BBB00C661C6 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp */; };
+		A94A693B22B17BBB00C661C6 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A676A22B17BBB00C661C6 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp */; };
+		A94A693C22B17BBB00C661C6 /* remove_function_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A676B22B17BBB00C661C6 /* remove_function_reduction_opportunity.cpp */; };
+		A94A693D22B17BBB00C661C6 /* remove_function_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A676B22B17BBB00C661C6 /* remove_function_reduction_opportunity.cpp */; };
+		A94A693E22B17BBB00C661C6 /* remove_opname_instruction_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A676C22B17BBB00C661C6 /* remove_opname_instruction_reduction_opportunity_finder.h */; };
+		A94A693F22B17BBB00C661C6 /* remove_opname_instruction_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A676C22B17BBB00C661C6 /* remove_opname_instruction_reduction_opportunity_finder.h */; };
+		A94A694022B17BBB00C661C6 /* simple_conditional_branch_to_branch_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A676D22B17BBB00C661C6 /* simple_conditional_branch_to_branch_opportunity_finder.cpp */; };
+		A94A694122B17BBB00C661C6 /* simple_conditional_branch_to_branch_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A676D22B17BBB00C661C6 /* simple_conditional_branch_to_branch_opportunity_finder.cpp */; };
+		A94A694222B17BBB00C661C6 /* remove_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A676E22B17BBB00C661C6 /* remove_selection_reduction_opportunity_finder.cpp */; };
+		A94A694322B17BBB00C661C6 /* remove_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A676E22B17BBB00C661C6 /* remove_selection_reduction_opportunity_finder.cpp */; };
+		A94A694422B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A676F22B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp */; };
+		A94A694522B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A676F22B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp */; };
+		A94A694622B17BBB00C661C6 /* simple_conditional_branch_to_branch_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A677022B17BBB00C661C6 /* simple_conditional_branch_to_branch_opportunity_finder.h */; };
+		A94A694722B17BBB00C661C6 /* simple_conditional_branch_to_branch_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A677022B17BBB00C661C6 /* simple_conditional_branch_to_branch_opportunity_finder.h */; };
+		A94A694822B17BBB00C661C6 /* merge_blocks_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A677122B17BBB00C661C6 /* merge_blocks_reduction_opportunity.cpp */; };
+		A94A694922B17BBB00C661C6 /* merge_blocks_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A677122B17BBB00C661C6 /* merge_blocks_reduction_opportunity.cpp */; };
+		A94A694A22B17BBB00C661C6 /* change_operand_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A677222B17BBB00C661C6 /* change_operand_reduction_opportunity.cpp */; };
+		A94A694B22B17BBB00C661C6 /* change_operand_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A677222B17BBB00C661C6 /* change_operand_reduction_opportunity.cpp */; };
+		A94A694C22B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A677322B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity.h */; };
+		A94A694D22B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A677322B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity.h */; };
+		A94A694E22B17BBB00C661C6 /* remove_function_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A677422B17BBB00C661C6 /* remove_function_reduction_opportunity.h */; };
+		A94A694F22B17BBB00C661C6 /* remove_function_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A677422B17BBB00C661C6 /* remove_function_reduction_opportunity.h */; };
+		A94A695022B17BBB00C661C6 /* change_operand_to_undef_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A677522B17BBB00C661C6 /* change_operand_to_undef_reduction_opportunity.h */; };
+		A94A695122B17BBB00C661C6 /* change_operand_to_undef_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A677522B17BBB00C661C6 /* change_operand_to_undef_reduction_opportunity.h */; };
+		A94A695222B17BBB00C661C6 /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A677622B17BBB00C661C6 /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp */; };
+		A94A695322B17BBB00C661C6 /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A677622B17BBB00C661C6 /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp */; };
+		A94A695422B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A677722B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity_finder.h */; };
+		A94A695522B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A677722B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity_finder.h */; };
+		A94A695622B17BBB00C661C6 /* remove_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A677822B17BBB00C661C6 /* remove_selection_reduction_opportunity.h */; };
+		A94A695722B17BBB00C661C6 /* remove_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A677822B17BBB00C661C6 /* remove_selection_reduction_opportunity.h */; };
+		A94A695822B17BBB00C661C6 /* remove_instruction_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A677922B17BBB00C661C6 /* remove_instruction_reduction_opportunity.cpp */; };
+		A94A695922B17BBB00C661C6 /* remove_instruction_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A677922B17BBB00C661C6 /* remove_instruction_reduction_opportunity.cpp */; };
+		A94A695A22B17BBB00C661C6 /* remove_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A677A22B17BBB00C661C6 /* remove_selection_reduction_opportunity_finder.h */; };
+		A94A695B22B17BBB00C661C6 /* remove_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A677A22B17BBB00C661C6 /* remove_selection_reduction_opportunity_finder.h */; };
+		A94A695C22B17BBB00C661C6 /* merge_blocks_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A677B22B17BBB00C661C6 /* merge_blocks_reduction_opportunity_finder.h */; };
+		A94A695D22B17BBB00C661C6 /* merge_blocks_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A677B22B17BBB00C661C6 /* merge_blocks_reduction_opportunity_finder.h */; };
+		A94A695E22B17BBB00C661C6 /* remove_opname_instruction_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A677C22B17BBB00C661C6 /* remove_opname_instruction_reduction_opportunity_finder.cpp */; };
+		A94A695F22B17BBB00C661C6 /* remove_opname_instruction_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A677C22B17BBB00C661C6 /* remove_opname_instruction_reduction_opportunity_finder.cpp */; };
+		A94A696022B17BBB00C661C6 /* pch_source_reduce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A677D22B17BBB00C661C6 /* pch_source_reduce.cpp */; };
+		A94A696122B17BBB00C661C6 /* pch_source_reduce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A677D22B17BBB00C661C6 /* pch_source_reduce.cpp */; };
+		A94A696222B17BBB00C661C6 /* reducer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A677E22B17BBB00C661C6 /* reducer.cpp */; };
+		A94A696322B17BBB00C661C6 /* reducer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A677E22B17BBB00C661C6 /* reducer.cpp */; };
+		A94A696422B17BBB00C661C6 /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A677F22B17BBB00C661C6 /* operand_to_undef_reduction_opportunity_finder.cpp */; };
+		A94A696522B17BBB00C661C6 /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A677F22B17BBB00C661C6 /* operand_to_undef_reduction_opportunity_finder.cpp */; };
+		A94A696622B17BBB00C661C6 /* remove_function_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A678022B17BBB00C661C6 /* remove_function_reduction_opportunity_finder.h */; };
+		A94A696722B17BBB00C661C6 /* remove_function_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A678022B17BBB00C661C6 /* remove_function_reduction_opportunity_finder.h */; };
+		A94A696822B17BBB00C661C6 /* pch_source_reduce.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A678122B17BBB00C661C6 /* pch_source_reduce.h */; };
+		A94A696922B17BBB00C661C6 /* pch_source_reduce.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A678122B17BBB00C661C6 /* pch_source_reduce.h */; };
+		A94A696A22B17BBB00C661C6 /* remove_unreferenced_instruction_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A678222B17BBB00C661C6 /* remove_unreferenced_instruction_reduction_opportunity_finder.h */; };
+		A94A696B22B17BBB00C661C6 /* remove_unreferenced_instruction_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A678222B17BBB00C661C6 /* remove_unreferenced_instruction_reduction_opportunity_finder.h */; };
+		A94A696C22B17BBB00C661C6 /* merge_blocks_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A678322B17BBB00C661C6 /* merge_blocks_reduction_opportunity_finder.cpp */; };
+		A94A696D22B17BBB00C661C6 /* merge_blocks_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A678322B17BBB00C661C6 /* merge_blocks_reduction_opportunity_finder.cpp */; };
+		A94A696E22B17BBB00C661C6 /* reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A678422B17BBB00C661C6 /* reduction_opportunity.cpp */; };
+		A94A696F22B17BBB00C661C6 /* reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A678422B17BBB00C661C6 /* reduction_opportunity.cpp */; };
+		A94A697022B17BBB00C661C6 /* reducer.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A678522B17BBB00C661C6 /* reducer.h */; };
+		A94A697122B17BBB00C661C6 /* reducer.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A678522B17BBB00C661C6 /* reducer.h */; };
+		A94A697222B17BBB00C661C6 /* change_operand_to_undef_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A678622B17BBB00C661C6 /* change_operand_to_undef_reduction_opportunity.cpp */; };
+		A94A697322B17BBB00C661C6 /* change_operand_to_undef_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A678622B17BBB00C661C6 /* change_operand_to_undef_reduction_opportunity.cpp */; };
+		A94A697422B17BBB00C661C6 /* reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A678722B17BBB00C661C6 /* reduction_opportunity.h */; };
+		A94A697522B17BBB00C661C6 /* reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A678722B17BBB00C661C6 /* reduction_opportunity.h */; };
+		A94A697622B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A678822B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h */; };
+		A94A697722B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A678822B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h */; };
+		A94A697822B17BBB00C661C6 /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A678922B17BBB00C661C6 /* operand_to_dominating_id_reduction_opportunity_finder.cpp */; };
+		A94A697922B17BBB00C661C6 /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A678922B17BBB00C661C6 /* operand_to_dominating_id_reduction_opportunity_finder.cpp */; };
+		A94A697A22B17BBB00C661C6 /* reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A678A22B17BBB00C661C6 /* reduction_opportunity_finder.h */; };
+		A94A697B22B17BBB00C661C6 /* reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A678A22B17BBB00C661C6 /* reduction_opportunity_finder.h */; };
+		A94A697C22B17BBB00C661C6 /* change_operand_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A678B22B17BBB00C661C6 /* change_operand_reduction_opportunity.h */; };
+		A94A697D22B17BBB00C661C6 /* change_operand_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A678B22B17BBB00C661C6 /* change_operand_reduction_opportunity.h */; };
+		A94A697E22B17BBB00C661C6 /* remove_block_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A678C22B17BBB00C661C6 /* remove_block_reduction_opportunity_finder.h */; };
+		A94A697F22B17BBB00C661C6 /* remove_block_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A678C22B17BBB00C661C6 /* remove_block_reduction_opportunity_finder.h */; };
+		A94A698022B17BBB00C661C6 /* remove_block_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A678D22B17BBB00C661C6 /* remove_block_reduction_opportunity_finder.cpp */; };
+		A94A698122B17BBB00C661C6 /* remove_block_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A678D22B17BBB00C661C6 /* remove_block_reduction_opportunity_finder.cpp */; };
+		A94A698222B17BBB00C661C6 /* reduction_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A678E22B17BBB00C661C6 /* reduction_util.h */; };
+		A94A698322B17BBB00C661C6 /* reduction_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A678E22B17BBB00C661C6 /* reduction_util.h */; };
+		A94A698422B17BBB00C661C6 /* merge_blocks_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A678F22B17BBB00C661C6 /* merge_blocks_reduction_opportunity.h */; };
+		A94A698522B17BBB00C661C6 /* merge_blocks_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A678F22B17BBB00C661C6 /* merge_blocks_reduction_opportunity.h */; };
+		A94A698622B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A679022B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp */; };
+		A94A698722B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A679022B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp */; };
+		A94A698822B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A679122B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity.cpp */; };
+		A94A698922B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A679122B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity.cpp */; };
+		A94A698A22B17BBB00C661C6 /* remove_block_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A679222B17BBB00C661C6 /* remove_block_reduction_opportunity.cpp */; };
+		A94A698B22B17BBB00C661C6 /* remove_block_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A679222B17BBB00C661C6 /* remove_block_reduction_opportunity.cpp */; };
+		A94A698C22B17BBB00C661C6 /* reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A679322B17BBB00C661C6 /* reduction_pass.h */; };
+		A94A698D22B17BBB00C661C6 /* reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A679322B17BBB00C661C6 /* reduction_pass.h */; };
+		A94A698E22B17BBB00C661C6 /* latest_version_opencl_std_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A679422B17BBB00C661C6 /* latest_version_opencl_std_header.h */; };
+		A94A698F22B17BBB00C661C6 /* latest_version_opencl_std_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A679422B17BBB00C661C6 /* latest_version_opencl_std_header.h */; };
+		A94A699022B17BBB00C661C6 /* spirv_optimizer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A679522B17BBB00C661C6 /* spirv_optimizer_options.cpp */; };
+		A94A699122B17BBB00C661C6 /* spirv_optimizer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A679522B17BBB00C661C6 /* spirv_optimizer_options.cpp */; };
+		A94A699222B17BBB00C661C6 /* cfa.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A679622B17BBB00C661C6 /* cfa.h */; };
+		A94A699322B17BBB00C661C6 /* cfa.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A679622B17BBB00C661C6 /* cfa.h */; };
+		A94A699422B17BBB00C661C6 /* pch_source.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A679722B17BBB00C661C6 /* pch_source.h */; };
+		A94A699522B17BBB00C661C6 /* pch_source.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A679722B17BBB00C661C6 /* pch_source.h */; };
+		A94A699622B17BBB00C661C6 /* enum_string_mapping.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A679822B17BBB00C661C6 /* enum_string_mapping.h */; };
+		A94A699722B17BBB00C661C6 /* enum_string_mapping.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A679822B17BBB00C661C6 /* enum_string_mapping.h */; };
+		A94A699822B17BBB00C661C6 /* spirv_fuzzer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A679922B17BBB00C661C6 /* spirv_fuzzer_options.cpp */; };
+		A94A699922B17BBB00C661C6 /* spirv_fuzzer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A679922B17BBB00C661C6 /* spirv_fuzzer_options.cpp */; };
+		A94A699A22B17BBB00C661C6 /* spirv_reducer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A679A22B17BBB00C661C6 /* spirv_reducer_options.h */; };
+		A94A699B22B17BBB00C661C6 /* spirv_reducer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A679A22B17BBB00C661C6 /* spirv_reducer_options.h */; };
+		A94A699C22B17BBB00C661C6 /* spirv_validator_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A679B22B17BBB00C661C6 /* spirv_validator_options.cpp */; };
+		A94A699D22B17BBB00C661C6 /* spirv_validator_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A679B22B17BBB00C661C6 /* spirv_validator_options.cpp */; };
+		A94A699E22B17BBB00C661C6 /* print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A679D22B17BBB00C661C6 /* print.cpp */; };
+		A94A699F22B17BBB00C661C6 /* print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A679D22B17BBB00C661C6 /* print.cpp */; };
+		A94A69A022B17BBB00C661C6 /* spirv_definition.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A679E22B17BBB00C661C6 /* spirv_definition.h */; };
+		A94A69A122B17BBB00C661C6 /* spirv_definition.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A679E22B17BBB00C661C6 /* spirv_definition.h */; };
+		A94A69A222B17BBB00C661C6 /* operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A679F22B17BBB00C661C6 /* operand.h */; };
+		A94A69A322B17BBB00C661C6 /* operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A679F22B17BBB00C661C6 /* operand.h */; };
+		A94A69A422B17BBB00C661C6 /* spirv_endian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67A022B17BBB00C661C6 /* spirv_endian.cpp */; };
+		A94A69A522B17BBB00C661C6 /* spirv_endian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67A022B17BBB00C661C6 /* spirv_endian.cpp */; };
+		A94A69A622B17BBB00C661C6 /* macro.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67A122B17BBB00C661C6 /* macro.h */; };
+		A94A69A722B17BBB00C661C6 /* macro.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67A122B17BBB00C661C6 /* macro.h */; };
+		A94A69A822B17BBB00C661C6 /* spirv_constant.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67A222B17BBB00C661C6 /* spirv_constant.h */; };
+		A94A69A922B17BBB00C661C6 /* spirv_constant.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67A222B17BBB00C661C6 /* spirv_constant.h */; };
+		A94A69AA22B17BBB00C661C6 /* binary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67A422B17BBB00C661C6 /* binary.cpp */; };
+		A94A69AB22B17BBB00C661C6 /* binary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67A422B17BBB00C661C6 /* binary.cpp */; };
+		A94A69AC22B17BBB00C661C6 /* spirv_validator_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67A522B17BBB00C661C6 /* spirv_validator_options.h */; };
+		A94A69AD22B17BBB00C661C6 /* spirv_validator_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67A522B17BBB00C661C6 /* spirv_validator_options.h */; };
+		A94A69AE22B17BBB00C661C6 /* enum_string_mapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67A622B17BBB00C661C6 /* enum_string_mapping.cpp */; };
+		A94A69AF22B17BBB00C661C6 /* enum_string_mapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67A622B17BBB00C661C6 /* enum_string_mapping.cpp */; };
+		A94A69B022B17BBB00C661C6 /* text_handler.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67A722B17BBB00C661C6 /* text_handler.h */; };
+		A94A69B122B17BBB00C661C6 /* text_handler.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67A722B17BBB00C661C6 /* text_handler.h */; };
+		A94A69B222B17BBB00C661C6 /* parsed_operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67A822B17BBB00C661C6 /* parsed_operand.h */; };
+		A94A69B322B17BBB00C661C6 /* parsed_operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67A822B17BBB00C661C6 /* parsed_operand.h */; };
+		A94A69B422B17BBB00C661C6 /* name_mapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67A922B17BBB00C661C6 /* name_mapper.h */; };
+		A94A69B522B17BBB00C661C6 /* name_mapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67A922B17BBB00C661C6 /* name_mapper.h */; };
+		A94A69B622B17BBB00C661C6 /* spirv_reducer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67AA22B17BBB00C661C6 /* spirv_reducer_options.cpp */; };
+		A94A69B722B17BBB00C661C6 /* spirv_reducer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67AA22B17BBB00C661C6 /* spirv_reducer_options.cpp */; };
+		A94A69B822B17BBB00C661C6 /* parsed_operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67AB22B17BBB00C661C6 /* parsed_operand.cpp */; };
+		A94A69B922B17BBB00C661C6 /* parsed_operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67AB22B17BBB00C661C6 /* parsed_operand.cpp */; };
+		A94A69BA22B17BBB00C661C6 /* diagnostic.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67AC22B17BBB00C661C6 /* diagnostic.h */; };
+		A94A69BB22B17BBB00C661C6 /* diagnostic.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67AC22B17BBB00C661C6 /* diagnostic.h */; };
+		A94A69BC22B17BBB00C661C6 /* spirv_endian.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67AD22B17BBB00C661C6 /* spirv_endian.h */; };
+		A94A69BD22B17BBB00C661C6 /* spirv_endian.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67AD22B17BBB00C661C6 /* spirv_endian.h */; };
+		A94A69BE22B17BBB00C661C6 /* name_mapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67AE22B17BBB00C661C6 /* name_mapper.cpp */; };
+		A94A69BF22B17BBB00C661C6 /* name_mapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67AE22B17BBB00C661C6 /* name_mapper.cpp */; };
+		A94A69C022B17BBB00C661C6 /* linker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67B222B17BBB00C661C6 /* linker.cpp */; };
+		A94A69C122B17BBB00C661C6 /* linker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67B222B17BBB00C661C6 /* linker.cpp */; };
+		A94A69C222B17BBC00C661C6 /* software_version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67B322B17BBB00C661C6 /* software_version.cpp */; };
+		A94A69C322B17BBC00C661C6 /* software_version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67B322B17BBB00C661C6 /* software_version.cpp */; };
+		A94A69C422B17BBC00C661C6 /* opcode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67B422B17BBB00C661C6 /* opcode.cpp */; };
+		A94A69C522B17BBC00C661C6 /* opcode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67B422B17BBB00C661C6 /* opcode.cpp */; };
+		A94A69C622B17BBC00C661C6 /* print.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67B522B17BBB00C661C6 /* print.h */; };
+		A94A69C722B17BBC00C661C6 /* print.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67B522B17BBB00C661C6 /* print.h */; };
+		A94A69C822B17BBC00C661C6 /* ext_inst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67B622B17BBB00C661C6 /* ext_inst.cpp */; };
+		A94A69C922B17BBC00C661C6 /* ext_inst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67B622B17BBB00C661C6 /* ext_inst.cpp */; };
+		A94A69CA22B17BBC00C661C6 /* disassemble.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67B722B17BBB00C661C6 /* disassemble.h */; };
+		A94A69CB22B17BBC00C661C6 /* disassemble.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67B722B17BBB00C661C6 /* disassemble.h */; };
+		A94A69CC22B17BBC00C661C6 /* optimizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67B922B17BBB00C661C6 /* optimizer.cpp */; };
+		A94A69CD22B17BBC00C661C6 /* optimizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67B922B17BBB00C661C6 /* optimizer.cpp */; };
+		A94A69CE22B17BBC00C661C6 /* if_conversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67BA22B17BBB00C661C6 /* if_conversion.h */; };
+		A94A69CF22B17BBC00C661C6 /* if_conversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67BA22B17BBB00C661C6 /* if_conversion.h */; };
+		A94A69D022B17BBC00C661C6 /* register_pressure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67BB22B17BBB00C661C6 /* register_pressure.cpp */; };
+		A94A69D122B17BBC00C661C6 /* register_pressure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67BB22B17BBB00C661C6 /* register_pressure.cpp */; };
+		A94A69D222B17BBC00C661C6 /* loop_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67BC22B17BBB00C661C6 /* loop_utils.cpp */; };
+		A94A69D322B17BBC00C661C6 /* loop_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67BC22B17BBB00C661C6 /* loop_utils.cpp */; };
+		A94A69D422B17BBC00C661C6 /* merge_return_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67BD22B17BBB00C661C6 /* merge_return_pass.h */; };
+		A94A69D522B17BBC00C661C6 /* merge_return_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67BD22B17BBB00C661C6 /* merge_return_pass.h */; };
+		A94A69D622B17BBC00C661C6 /* inline_opaque_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67BE22B17BBB00C661C6 /* inline_opaque_pass.h */; };
+		A94A69D722B17BBC00C661C6 /* inline_opaque_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67BE22B17BBB00C661C6 /* inline_opaque_pass.h */; };
+		A94A69D822B17BBC00C661C6 /* loop_fusion.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67BF22B17BBB00C661C6 /* loop_fusion.h */; };
+		A94A69D922B17BBC00C661C6 /* loop_fusion.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67BF22B17BBB00C661C6 /* loop_fusion.h */; };
+		A94A69DA22B17BBC00C661C6 /* combine_access_chains.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67C022B17BBB00C661C6 /* combine_access_chains.cpp */; };
+		A94A69DB22B17BBC00C661C6 /* combine_access_chains.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67C022B17BBB00C661C6 /* combine_access_chains.cpp */; };
+		A94A69DC22B17BBC00C661C6 /* build_module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67C122B17BBB00C661C6 /* build_module.cpp */; };
+		A94A69DD22B17BBC00C661C6 /* build_module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67C122B17BBB00C661C6 /* build_module.cpp */; };
+		A94A69DE22B17BBC00C661C6 /* composite.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67C222B17BBB00C661C6 /* composite.h */; };
+		A94A69DF22B17BBC00C661C6 /* composite.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67C222B17BBB00C661C6 /* composite.h */; };
+		A94A69E022B17BBC00C661C6 /* compact_ids_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67C322B17BBB00C661C6 /* compact_ids_pass.h */; };
+		A94A69E122B17BBC00C661C6 /* compact_ids_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67C322B17BBB00C661C6 /* compact_ids_pass.h */; };
+		A94A69E222B17BBC00C661C6 /* register_pressure.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67C422B17BBB00C661C6 /* register_pressure.h */; };
+		A94A69E322B17BBC00C661C6 /* register_pressure.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67C422B17BBB00C661C6 /* register_pressure.h */; };
+		A94A69E422B17BBC00C661C6 /* tree_iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67C522B17BBB00C661C6 /* tree_iterator.h */; };
+		A94A69E522B17BBC00C661C6 /* tree_iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67C522B17BBB00C661C6 /* tree_iterator.h */; };
+		A94A69E622B17BBC00C661C6 /* strip_atomic_counter_memory_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67C622B17BBB00C661C6 /* strip_atomic_counter_memory_pass.h */; };
+		A94A69E722B17BBC00C661C6 /* strip_atomic_counter_memory_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67C622B17BBB00C661C6 /* strip_atomic_counter_memory_pass.h */; };
+		A94A69E822B17BBC00C661C6 /* legalize_vector_shuffle_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67C722B17BBB00C661C6 /* legalize_vector_shuffle_pass.h */; };
+		A94A69E922B17BBC00C661C6 /* legalize_vector_shuffle_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67C722B17BBB00C661C6 /* legalize_vector_shuffle_pass.h */; };
+		A94A69EA22B17BBC00C661C6 /* local_single_store_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67C822B17BBB00C661C6 /* local_single_store_elim_pass.h */; };
+		A94A69EB22B17BBC00C661C6 /* local_single_store_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67C822B17BBB00C661C6 /* local_single_store_elim_pass.h */; };
+		A94A69EC22B17BBC00C661C6 /* reduce_load_size.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67C922B17BBB00C661C6 /* reduce_load_size.h */; };
+		A94A69ED22B17BBC00C661C6 /* reduce_load_size.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67C922B17BBB00C661C6 /* reduce_load_size.h */; };
+		A94A69EE22B17BBC00C661C6 /* code_sink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67CA22B17BBB00C661C6 /* code_sink.cpp */; };
+		A94A69EF22B17BBC00C661C6 /* code_sink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67CA22B17BBB00C661C6 /* code_sink.cpp */; };
+		A94A69F022B17BBC00C661C6 /* types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67CB22B17BBB00C661C6 /* types.cpp */; };
+		A94A69F122B17BBC00C661C6 /* types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67CB22B17BBB00C661C6 /* types.cpp */; };
+		A94A69F222B17BBC00C661C6 /* scalar_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67CC22B17BBB00C661C6 /* scalar_analysis.h */; };
+		A94A69F322B17BBC00C661C6 /* scalar_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67CC22B17BBB00C661C6 /* scalar_analysis.h */; };
+		A94A69F422B17BBC00C661C6 /* strip_debug_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67CD22B17BBB00C661C6 /* strip_debug_info_pass.h */; };
+		A94A69F522B17BBC00C661C6 /* strip_debug_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67CD22B17BBB00C661C6 /* strip_debug_info_pass.h */; };
+		A94A69F622B17BBC00C661C6 /* cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67CE22B17BBB00C661C6 /* cfg.cpp */; };
+		A94A69F722B17BBC00C661C6 /* cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67CE22B17BBB00C661C6 /* cfg.cpp */; };
+		A94A69F822B17BBC00C661C6 /* strip_atomic_counter_memory_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67CF22B17BBB00C661C6 /* strip_atomic_counter_memory_pass.cpp */; };
+		A94A69F922B17BBC00C661C6 /* strip_atomic_counter_memory_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67CF22B17BBB00C661C6 /* strip_atomic_counter_memory_pass.cpp */; };
+		A94A69FA22B17BBC00C661C6 /* decoration_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67D022B17BBB00C661C6 /* decoration_manager.cpp */; };
+		A94A69FB22B17BBC00C661C6 /* decoration_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67D022B17BBB00C661C6 /* decoration_manager.cpp */; };
+		A94A69FC22B17BBC00C661C6 /* local_single_block_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67D122B17BBB00C661C6 /* local_single_block_elim_pass.cpp */; };
+		A94A69FD22B17BBC00C661C6 /* local_single_block_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67D122B17BBB00C661C6 /* local_single_block_elim_pass.cpp */; };
+		A94A69FE22B17BBC00C661C6 /* freeze_spec_constant_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67D222B17BBB00C661C6 /* freeze_spec_constant_value_pass.cpp */; };
+		A94A69FF22B17BBC00C661C6 /* freeze_spec_constant_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67D222B17BBB00C661C6 /* freeze_spec_constant_value_pass.cpp */; };
+		A94A6A0022B17BBC00C661C6 /* replace_invalid_opc.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67D322B17BBB00C661C6 /* replace_invalid_opc.h */; };
+		A94A6A0122B17BBC00C661C6 /* replace_invalid_opc.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67D322B17BBB00C661C6 /* replace_invalid_opc.h */; };
+		A94A6A0222B17BBC00C661C6 /* local_access_chain_convert_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67D422B17BBB00C661C6 /* local_access_chain_convert_pass.h */; };
+		A94A6A0322B17BBC00C661C6 /* local_access_chain_convert_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67D422B17BBB00C661C6 /* local_access_chain_convert_pass.h */; };
+		A94A6A0422B17BBC00C661C6 /* inst_bindless_check_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67D522B17BBB00C661C6 /* inst_bindless_check_pass.cpp */; };
+		A94A6A0522B17BBC00C661C6 /* inst_bindless_check_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67D522B17BBB00C661C6 /* inst_bindless_check_pass.cpp */; };
+		A94A6A0622B17BBC00C661C6 /* local_redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67D622B17BBB00C661C6 /* local_redundancy_elimination.cpp */; };
+		A94A6A0722B17BBC00C661C6 /* local_redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67D622B17BBB00C661C6 /* local_redundancy_elimination.cpp */; };
+		A94A6A0822B17BBC00C661C6 /* instrument_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67D822B17BBB00C661C6 /* instrument_pass.cpp */; };
+		A94A6A0922B17BBC00C661C6 /* instrument_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67D822B17BBB00C661C6 /* instrument_pass.cpp */; };
+		A94A6A0A22B17BBC00C661C6 /* propagator.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67D922B17BBB00C661C6 /* propagator.h */; };
+		A94A6A0B22B17BBC00C661C6 /* propagator.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67D922B17BBB00C661C6 /* propagator.h */; };
+		A94A6A0C22B17BBC00C661C6 /* instruction_list.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67DA22B17BBB00C661C6 /* instruction_list.h */; };
+		A94A6A0D22B17BBC00C661C6 /* instruction_list.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67DA22B17BBB00C661C6 /* instruction_list.h */; };
+		A94A6A0E22B17BBC00C661C6 /* feature_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67DB22B17BBB00C661C6 /* feature_manager.cpp */; };
+		A94A6A0F22B17BBC00C661C6 /* feature_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67DB22B17BBB00C661C6 /* feature_manager.cpp */; };
+		A94A6A1022B17BBC00C661C6 /* pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67DC22B17BBB00C661C6 /* pass.cpp */; };
+		A94A6A1122B17BBC00C661C6 /* pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67DC22B17BBB00C661C6 /* pass.cpp */; };
+		A94A6A1222B17BBC00C661C6 /* loop_fission.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67DD22B17BBB00C661C6 /* loop_fission.cpp */; };
+		A94A6A1322B17BBC00C661C6 /* loop_fission.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67DD22B17BBB00C661C6 /* loop_fission.cpp */; };
+		A94A6A1422B17BBC00C661C6 /* dominator_tree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67DE22B17BBB00C661C6 /* dominator_tree.cpp */; };
+		A94A6A1522B17BBC00C661C6 /* dominator_tree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67DE22B17BBB00C661C6 /* dominator_tree.cpp */; };
+		A94A6A1622B17BBC00C661C6 /* merge_return_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67DF22B17BBB00C661C6 /* merge_return_pass.cpp */; };
+		A94A6A1722B17BBC00C661C6 /* merge_return_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67DF22B17BBB00C661C6 /* merge_return_pass.cpp */; };
+		A94A6A1822B17BBC00C661C6 /* ir_context.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67E022B17BBB00C661C6 /* ir_context.h */; };
+		A94A6A1922B17BBC00C661C6 /* ir_context.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67E022B17BBB00C661C6 /* ir_context.h */; };
+		A94A6A1A22B17BBC00C661C6 /* eliminate_dead_constant_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67E122B17BBB00C661C6 /* eliminate_dead_constant_pass.cpp */; };
+		A94A6A1B22B17BBC00C661C6 /* eliminate_dead_constant_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67E122B17BBB00C661C6 /* eliminate_dead_constant_pass.cpp */; };
+		A94A6A1C22B17BBC00C661C6 /* cfg_cleanup_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67E222B17BBB00C661C6 /* cfg_cleanup_pass.cpp */; };
+		A94A6A1D22B17BBC00C661C6 /* cfg_cleanup_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67E222B17BBB00C661C6 /* cfg_cleanup_pass.cpp */; };
+		A94A6A1E22B17BBC00C661C6 /* const_folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67E322B17BBB00C661C6 /* const_folding_rules.cpp */; };
+		A94A6A1F22B17BBC00C661C6 /* const_folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67E322B17BBB00C661C6 /* const_folding_rules.cpp */; };
+		A94A6A2022B17BBC00C661C6 /* loop_unroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67E422B17BBB00C661C6 /* loop_unroller.h */; };
+		A94A6A2122B17BBC00C661C6 /* loop_unroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67E422B17BBB00C661C6 /* loop_unroller.h */; };
+		A94A6A2222B17BBC00C661C6 /* strip_debug_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67E522B17BBB00C661C6 /* strip_debug_info_pass.cpp */; };
+		A94A6A2322B17BBC00C661C6 /* strip_debug_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67E522B17BBB00C661C6 /* strip_debug_info_pass.cpp */; };
+		A94A6A2422B17BBC00C661C6 /* ssa_rewrite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67E622B17BBB00C661C6 /* ssa_rewrite_pass.cpp */; };
+		A94A6A2522B17BBC00C661C6 /* ssa_rewrite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67E622B17BBB00C661C6 /* ssa_rewrite_pass.cpp */; };
+		A94A6A2622B17BBC00C661C6 /* loop_dependence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67E722B17BBB00C661C6 /* loop_dependence.cpp */; };
+		A94A6A2722B17BBC00C661C6 /* loop_dependence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67E722B17BBB00C661C6 /* loop_dependence.cpp */; };
+		A94A6A2822B17BBC00C661C6 /* unify_const_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67E822B17BBB00C661C6 /* unify_const_pass.h */; };
+		A94A6A2922B17BBC00C661C6 /* unify_const_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67E822B17BBB00C661C6 /* unify_const_pass.h */; };
+		A94A6A2A22B17BBC00C661C6 /* ir_loader.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67E922B17BBB00C661C6 /* ir_loader.h */; };
+		A94A6A2B22B17BBC00C661C6 /* ir_loader.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67E922B17BBB00C661C6 /* ir_loader.h */; };
+		A94A6A2C22B17BBC00C661C6 /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67EA22B17BBB00C661C6 /* types.h */; };
+		A94A6A2D22B17BBC00C661C6 /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67EA22B17BBB00C661C6 /* types.h */; };
+		A94A6A2E22B17BBC00C661C6 /* fold_spec_constant_op_and_composite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67EB22B17BBB00C661C6 /* fold_spec_constant_op_and_composite_pass.h */; };
+		A94A6A2F22B17BBC00C661C6 /* fold_spec_constant_op_and_composite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67EB22B17BBB00C661C6 /* fold_spec_constant_op_and_composite_pass.h */; };
+		A94A6A3022B17BBC00C661C6 /* mem_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67EC22B17BBB00C661C6 /* mem_pass.cpp */; };
+		A94A6A3122B17BBC00C661C6 /* mem_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67EC22B17BBB00C661C6 /* mem_pass.cpp */; };
+		A94A6A3222B17BBC00C661C6 /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67ED22B17BBB00C661C6 /* basic_block.h */; };
+		A94A6A3322B17BBC00C661C6 /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67ED22B17BBB00C661C6 /* basic_block.h */; };
+		A94A6A3422B17BBC00C661C6 /* remove_duplicates_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67EE22B17BBB00C661C6 /* remove_duplicates_pass.cpp */; };
+		A94A6A3522B17BBC00C661C6 /* remove_duplicates_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67EE22B17BBB00C661C6 /* remove_duplicates_pass.cpp */; };
+		A94A6A3622B17BBC00C661C6 /* dead_variable_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67EF22B17BBB00C661C6 /* dead_variable_elimination.cpp */; };
+		A94A6A3722B17BBC00C661C6 /* dead_variable_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67EF22B17BBB00C661C6 /* dead_variable_elimination.cpp */; };
+		A94A6A3822B17BBC00C661C6 /* block_merge_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67F022B17BBB00C661C6 /* block_merge_pass.h */; };
+		A94A6A3922B17BBC00C661C6 /* block_merge_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67F022B17BBB00C661C6 /* block_merge_pass.h */; };
+		A94A6A3A22B17BBC00C661C6 /* module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67F122B17BBB00C661C6 /* module.cpp */; };
+		A94A6A3B22B17BBC00C661C6 /* module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67F122B17BBB00C661C6 /* module.cpp */; };
+		A94A6A3C22B17BBC00C661C6 /* fold_spec_constant_op_and_composite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67F222B17BBB00C661C6 /* fold_spec_constant_op_and_composite_pass.cpp */; };
+		A94A6A3D22B17BBC00C661C6 /* fold_spec_constant_op_and_composite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67F222B17BBB00C661C6 /* fold_spec_constant_op_and_composite_pass.cpp */; };
+		A94A6A3E22B17BBC00C661C6 /* loop_unswitch_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67F322B17BBB00C661C6 /* loop_unswitch_pass.cpp */; };
+		A94A6A3F22B17BBC00C661C6 /* loop_unswitch_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67F322B17BBB00C661C6 /* loop_unswitch_pass.cpp */; };
+		A94A6A4022B17BBC00C661C6 /* unify_const_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67F422B17BBB00C661C6 /* unify_const_pass.cpp */; };
+		A94A6A4122B17BBC00C661C6 /* unify_const_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67F422B17BBB00C661C6 /* unify_const_pass.cpp */; };
+		A94A6A4222B17BBC00C661C6 /* type_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67F522B17BBB00C661C6 /* type_manager.cpp */; };
+		A94A6A4322B17BBC00C661C6 /* type_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67F522B17BBB00C661C6 /* type_manager.cpp */; };
+		A94A6A4422B17BBC00C661C6 /* generate_webgpu_initializers_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67F622B17BBB00C661C6 /* generate_webgpu_initializers_pass.cpp */; };
+		A94A6A4522B17BBC00C661C6 /* generate_webgpu_initializers_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67F622B17BBB00C661C6 /* generate_webgpu_initializers_pass.cpp */; };
+		A94A6A4622B17BBC00C661C6 /* private_to_local_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67F722B17BBB00C661C6 /* private_to_local_pass.h */; };
+		A94A6A4722B17BBC00C661C6 /* private_to_local_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67F722B17BBB00C661C6 /* private_to_local_pass.h */; };
+		A94A6A4822B17BBC00C661C6 /* inline_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67F822B17BBB00C661C6 /* inline_pass.cpp */; };
+		A94A6A4922B17BBC00C661C6 /* inline_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67F822B17BBB00C661C6 /* inline_pass.cpp */; };
+		A94A6A4A22B17BBC00C661C6 /* def_use_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67F922B17BBB00C661C6 /* def_use_manager.h */; };
+		A94A6A4B22B17BBC00C661C6 /* def_use_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67F922B17BBB00C661C6 /* def_use_manager.h */; };
+		A94A6A4C22B17BBC00C661C6 /* ir_loader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67FA22B17BBB00C661C6 /* ir_loader.cpp */; };
+		A94A6A4D22B17BBC00C661C6 /* ir_loader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67FA22B17BBB00C661C6 /* ir_loader.cpp */; };
+		A94A6A4E22B17BBC00C661C6 /* cfg_cleanup_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67FB22B17BBB00C661C6 /* cfg_cleanup_pass.h */; };
+		A94A6A4F22B17BBC00C661C6 /* cfg_cleanup_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67FB22B17BBB00C661C6 /* cfg_cleanup_pass.h */; };
+		A94A6A5022B17BBC00C661C6 /* licm_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67FC22B17BBB00C661C6 /* licm_pass.cpp */; };
+		A94A6A5122B17BBC00C661C6 /* licm_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67FC22B17BBB00C661C6 /* licm_pass.cpp */; };
+		A94A6A5222B17BBC00C661C6 /* eliminate_dead_functions_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67FD22B17BBB00C661C6 /* eliminate_dead_functions_pass.cpp */; };
+		A94A6A5322B17BBC00C661C6 /* eliminate_dead_functions_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67FD22B17BBB00C661C6 /* eliminate_dead_functions_pass.cpp */; };
+		A94A6A5422B17BBC00C661C6 /* local_redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67FE22B17BBB00C661C6 /* local_redundancy_elimination.h */; };
+		A94A6A5522B17BBC00C661C6 /* local_redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A67FE22B17BBB00C661C6 /* local_redundancy_elimination.h */; };
+		A94A6A5622B17BBC00C661C6 /* split_invalid_unreachable_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67FF22B17BBB00C661C6 /* split_invalid_unreachable_pass.cpp */; };
+		A94A6A5722B17BBC00C661C6 /* split_invalid_unreachable_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A67FF22B17BBB00C661C6 /* split_invalid_unreachable_pass.cpp */; };
+		A94A6A5822B17BBC00C661C6 /* loop_peeling.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A680022B17BBB00C661C6 /* loop_peeling.h */; };
+		A94A6A5922B17BBC00C661C6 /* loop_peeling.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A680022B17BBB00C661C6 /* loop_peeling.h */; };
+		A94A6A5A22B17BBC00C661C6 /* vector_dce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A680122B17BBB00C661C6 /* vector_dce.cpp */; };
+		A94A6A5B22B17BBC00C661C6 /* vector_dce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A680122B17BBB00C661C6 /* vector_dce.cpp */; };
+		A94A6A5C22B17BBC00C661C6 /* block_merge_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A680222B17BBB00C661C6 /* block_merge_util.h */; };
+		A94A6A5D22B17BBC00C661C6 /* block_merge_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A680222B17BBB00C661C6 /* block_merge_util.h */; };
+		A94A6A5E22B17BBC00C661C6 /* loop_unroller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A680322B17BBB00C661C6 /* loop_unroller.cpp */; };
+		A94A6A5F22B17BBC00C661C6 /* loop_unroller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A680322B17BBB00C661C6 /* loop_unroller.cpp */; };
+		A94A6A6022B17BBC00C661C6 /* constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A680422B17BBB00C661C6 /* constants.cpp */; };
+		A94A6A6122B17BBC00C661C6 /* constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A680422B17BBB00C661C6 /* constants.cpp */; };
+		A94A6A6222B17BBC00C661C6 /* loop_fusion_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A680522B17BBB00C661C6 /* loop_fusion_pass.h */; };
+		A94A6A6322B17BBC00C661C6 /* loop_fusion_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A680522B17BBB00C661C6 /* loop_fusion_pass.h */; };
+		A94A6A6422B17BBC00C661C6 /* struct_cfg_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A680622B17BBB00C661C6 /* struct_cfg_analysis.h */; };
+		A94A6A6522B17BBC00C661C6 /* struct_cfg_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A680622B17BBB00C661C6 /* struct_cfg_analysis.h */; };
+		A94A6A6622B17BBC00C661C6 /* common_uniform_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A680722B17BBB00C661C6 /* common_uniform_elim_pass.cpp */; };
+		A94A6A6722B17BBC00C661C6 /* common_uniform_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A680722B17BBB00C661C6 /* common_uniform_elim_pass.cpp */; };
+		A94A6A6822B17BBC00C661C6 /* def_use_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A680822B17BBB00C661C6 /* def_use_manager.cpp */; };
+		A94A6A6922B17BBC00C661C6 /* def_use_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A680822B17BBB00C661C6 /* def_use_manager.cpp */; };
+		A94A6A6A22B17BBC00C661C6 /* strip_reflect_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A680922B17BBB00C661C6 /* strip_reflect_info_pass.cpp */; };
+		A94A6A6B22B17BBC00C661C6 /* strip_reflect_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A680922B17BBB00C661C6 /* strip_reflect_info_pass.cpp */; };
+		A94A6A6C22B17BBC00C661C6 /* decoration_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A680A22B17BBB00C661C6 /* decoration_manager.h */; };
+		A94A6A6D22B17BBC00C661C6 /* decoration_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A680A22B17BBB00C661C6 /* decoration_manager.h */; };
+		A94A6A6E22B17BBC00C661C6 /* ccp_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A680B22B17BBB00C661C6 /* ccp_pass.cpp */; };
+		A94A6A6F22B17BBC00C661C6 /* ccp_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A680B22B17BBB00C661C6 /* ccp_pass.cpp */; };
+		A94A6A7022B17BBC00C661C6 /* process_lines_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A680C22B17BBB00C661C6 /* process_lines_pass.h */; };
+		A94A6A7122B17BBC00C661C6 /* process_lines_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A680C22B17BBB00C661C6 /* process_lines_pass.h */; };
+		A94A6A7222B17BBC00C661C6 /* local_single_block_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A680D22B17BBB00C661C6 /* local_single_block_elim_pass.h */; };
+		A94A6A7322B17BBC00C661C6 /* local_single_block_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A680D22B17BBB00C661C6 /* local_single_block_elim_pass.h */; };
+		A94A6A7422B17BBC00C661C6 /* pch_source_opt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A680E22B17BBB00C661C6 /* pch_source_opt.cpp */; };
+		A94A6A7522B17BBC00C661C6 /* pch_source_opt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A680E22B17BBB00C661C6 /* pch_source_opt.cpp */; };
+		A94A6A7622B17BBC00C661C6 /* strength_reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A680F22B17BBB00C661C6 /* strength_reduction_pass.h */; };
+		A94A6A7722B17BBC00C661C6 /* strength_reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A680F22B17BBB00C661C6 /* strength_reduction_pass.h */; };
+		A94A6A7822B17BBC00C661C6 /* aggressive_dead_code_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A681022B17BBB00C661C6 /* aggressive_dead_code_elim_pass.cpp */; };
+		A94A6A7922B17BBC00C661C6 /* aggressive_dead_code_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A681022B17BBB00C661C6 /* aggressive_dead_code_elim_pass.cpp */; };
+		A94A6A7A22B17BBC00C661C6 /* eliminate_dead_functions_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A681122B17BBB00C661C6 /* eliminate_dead_functions_util.cpp */; };
+		A94A6A7B22B17BBC00C661C6 /* eliminate_dead_functions_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A681122B17BBB00C661C6 /* eliminate_dead_functions_util.cpp */; };
+		A94A6A7C22B17BBC00C661C6 /* simplification_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A681222B17BBB00C661C6 /* simplification_pass.cpp */; };
+		A94A6A7D22B17BBC00C661C6 /* simplification_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A681222B17BBB00C661C6 /* simplification_pass.cpp */; };
+		A94A6A7E22B17BBC00C661C6 /* dead_branch_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A681322B17BBB00C661C6 /* dead_branch_elim_pass.cpp */; };
+		A94A6A7F22B17BBC00C661C6 /* dead_branch_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A681322B17BBB00C661C6 /* dead_branch_elim_pass.cpp */; };
+		A94A6A8022B17BBC00C661C6 /* flatten_decoration_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A681422B17BBB00C661C6 /* flatten_decoration_pass.cpp */; };
+		A94A6A8122B17BBC00C661C6 /* flatten_decoration_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A681422B17BBB00C661C6 /* flatten_decoration_pass.cpp */; };
+		A94A6A8222B17BBC00C661C6 /* dead_insert_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A681522B17BBB00C661C6 /* dead_insert_elim_pass.h */; };
+		A94A6A8322B17BBC00C661C6 /* dead_insert_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A681522B17BBB00C661C6 /* dead_insert_elim_pass.h */; };
+		A94A6A8422B17BBC00C661C6 /* folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A681622B17BBB00C661C6 /* folding_rules.cpp */; };
+		A94A6A8522B17BBC00C661C6 /* folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A681622B17BBB00C661C6 /* folding_rules.cpp */; };
+		A94A6A8622B17BBC00C661C6 /* freeze_spec_constant_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A681722B17BBB00C661C6 /* freeze_spec_constant_value_pass.h */; };
+		A94A6A8722B17BBC00C661C6 /* freeze_spec_constant_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A681722B17BBB00C661C6 /* freeze_spec_constant_value_pass.h */; };
+		A94A6A8822B17BBC00C661C6 /* ir_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A681822B17BBB00C661C6 /* ir_context.cpp */; };
+		A94A6A8922B17BBC00C661C6 /* ir_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A681822B17BBB00C661C6 /* ir_context.cpp */; };
+		A94A6A8A22B17BBC00C661C6 /* instrument_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A681922B17BBB00C661C6 /* instrument_pass.h */; };
+		A94A6A8B22B17BBC00C661C6 /* instrument_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A681922B17BBB00C661C6 /* instrument_pass.h */; };
+		A94A6A8C22B17BBC00C661C6 /* mem_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A681A22B17BBB00C661C6 /* mem_pass.h */; };
+		A94A6A8D22B17BBC00C661C6 /* mem_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A681A22B17BBB00C661C6 /* mem_pass.h */; };
+		A94A6A8E22B17BBC00C661C6 /* loop_descriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A681B22B17BBB00C661C6 /* loop_descriptor.cpp */; };
+		A94A6A8F22B17BBC00C661C6 /* loop_descriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A681B22B17BBB00C661C6 /* loop_descriptor.cpp */; };
+		A94A6A9022B17BBC00C661C6 /* local_ssa_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A681C22B17BBB00C661C6 /* local_ssa_elim_pass.cpp */; };
+		A94A6A9122B17BBC00C661C6 /* local_ssa_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A681C22B17BBB00C661C6 /* local_ssa_elim_pass.cpp */; };
+		A94A6A9222B17BBC00C661C6 /* eliminate_dead_members_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A681D22B17BBB00C661C6 /* eliminate_dead_members_pass.h */; };
+		A94A6A9322B17BBC00C661C6 /* eliminate_dead_members_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A681D22B17BBB00C661C6 /* eliminate_dead_members_pass.h */; };
+		A94A6A9422B17BBC00C661C6 /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A681E22B17BBB00C661C6 /* function.cpp */; };
+		A94A6A9522B17BBC00C661C6 /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A681E22B17BBB00C661C6 /* function.cpp */; };
+		A94A6A9622B17BBC00C661C6 /* instruction_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A681F22B17BBB00C661C6 /* instruction_list.cpp */; };
+		A94A6A9722B17BBC00C661C6 /* instruction_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A681F22B17BBB00C661C6 /* instruction_list.cpp */; };
+		A94A6A9822B17BBC00C661C6 /* composite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A682022B17BBB00C661C6 /* composite.cpp */; };
+		A94A6A9922B17BBC00C661C6 /* composite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A682022B17BBB00C661C6 /* composite.cpp */; };
+		A94A6A9A22B17BBC00C661C6 /* process_lines_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A682122B17BBB00C661C6 /* process_lines_pass.cpp */; };
+		A94A6A9B22B17BBC00C661C6 /* process_lines_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A682122B17BBB00C661C6 /* process_lines_pass.cpp */; };
+		A94A6A9C22B17BBC00C661C6 /* inline_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A682222B17BBB00C661C6 /* inline_pass.h */; };
+		A94A6A9D22B17BBC00C661C6 /* inline_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A682222B17BBB00C661C6 /* inline_pass.h */; };
+		A94A6A9E22B17BBC00C661C6 /* loop_dependence.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A682322B17BBB00C661C6 /* loop_dependence.h */; };
+		A94A6A9F22B17BBC00C661C6 /* loop_dependence.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A682322B17BBB00C661C6 /* loop_dependence.h */; };
+		A94A6AA022B17BBC00C661C6 /* value_number_table.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A682422B17BBB00C661C6 /* value_number_table.h */; };
+		A94A6AA122B17BBC00C661C6 /* value_number_table.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A682422B17BBB00C661C6 /* value_number_table.h */; };
+		A94A6AA222B17BBC00C661C6 /* flatten_decoration_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A682522B17BBB00C661C6 /* flatten_decoration_pass.h */; };
+		A94A6AA322B17BBC00C661C6 /* flatten_decoration_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A682522B17BBB00C661C6 /* flatten_decoration_pass.h */; };
+		A94A6AA422B17BBC00C661C6 /* if_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A682622B17BBB00C661C6 /* if_conversion.cpp */; };
+		A94A6AA522B17BBC00C661C6 /* if_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A682622B17BBB00C661C6 /* if_conversion.cpp */; };
+		A94A6AA622B17BBC00C661C6 /* inline_exhaustive_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A682722B17BBB00C661C6 /* inline_exhaustive_pass.h */; };
+		A94A6AA722B17BBC00C661C6 /* inline_exhaustive_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A682722B17BBB00C661C6 /* inline_exhaustive_pass.h */; };
+		A94A6AA822B17BBC00C661C6 /* constants.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A682822B17BBB00C661C6 /* constants.h */; };
+		A94A6AA922B17BBC00C661C6 /* constants.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A682822B17BBB00C661C6 /* constants.h */; };
+		A94A6AAA22B17BBC00C661C6 /* eliminate_dead_members_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A682922B17BBB00C661C6 /* eliminate_dead_members_pass.cpp */; };
+		A94A6AAB22B17BBC00C661C6 /* eliminate_dead_members_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A682922B17BBB00C661C6 /* eliminate_dead_members_pass.cpp */; };
+		A94A6AAC22B17BBC00C661C6 /* strength_reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A682A22B17BBB00C661C6 /* strength_reduction_pass.cpp */; };
+		A94A6AAD22B17BBC00C661C6 /* strength_reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A682A22B17BBB00C661C6 /* strength_reduction_pass.cpp */; };
+		A94A6AAE22B17BBC00C661C6 /* block_merge_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A682B22B17BBB00C661C6 /* block_merge_util.cpp */; };
+		A94A6AAF22B17BBC00C661C6 /* block_merge_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A682B22B17BBB00C661C6 /* block_merge_util.cpp */; };
+		A94A6AB022B17BBC00C661C6 /* upgrade_memory_model.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A682C22B17BBB00C661C6 /* upgrade_memory_model.h */; };
+		A94A6AB122B17BBC00C661C6 /* upgrade_memory_model.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A682C22B17BBB00C661C6 /* upgrade_memory_model.h */; };
+		A94A6AB222B17BBC00C661C6 /* copy_prop_arrays.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A682D22B17BBB00C661C6 /* copy_prop_arrays.cpp */; };
+		A94A6AB322B17BBC00C661C6 /* copy_prop_arrays.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A682D22B17BBB00C661C6 /* copy_prop_arrays.cpp */; };
+		A94A6AB422B17BBC00C661C6 /* pass_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A682E22B17BBB00C661C6 /* pass_manager.cpp */; };
+		A94A6AB522B17BBC00C661C6 /* pass_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A682E22B17BBB00C661C6 /* pass_manager.cpp */; };
+		A94A6AB622B17BBC00C661C6 /* inline_exhaustive_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A682F22B17BBB00C661C6 /* inline_exhaustive_pass.cpp */; };
+		A94A6AB722B17BBC00C661C6 /* inline_exhaustive_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A682F22B17BBB00C661C6 /* inline_exhaustive_pass.cpp */; };
+		A94A6AB822B17BBC00C661C6 /* loop_fission.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A683022B17BBB00C661C6 /* loop_fission.h */; };
+		A94A6AB922B17BBC00C661C6 /* loop_fission.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A683022B17BBB00C661C6 /* loop_fission.h */; };
+		A94A6ABA22B17BBC00C661C6 /* workaround1209.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A683122B17BBB00C661C6 /* workaround1209.h */; };
+		A94A6ABB22B17BBC00C661C6 /* workaround1209.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A683122B17BBB00C661C6 /* workaround1209.h */; };
+		A94A6ABC22B17BBC00C661C6 /* loop_fusion_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A683222B17BBB00C661C6 /* loop_fusion_pass.cpp */; };
+		A94A6ABD22B17BBC00C661C6 /* loop_fusion_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A683222B17BBB00C661C6 /* loop_fusion_pass.cpp */; };
+		A94A6ABE22B17BBC00C661C6 /* log.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A683322B17BBB00C661C6 /* log.h */; };
+		A94A6ABF22B17BBC00C661C6 /* log.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A683322B17BBB00C661C6 /* log.h */; };
+		A94A6AC022B17BBC00C661C6 /* split_invalid_unreachable_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A683422B17BBB00C661C6 /* split_invalid_unreachable_pass.h */; };
+		A94A6AC122B17BBC00C661C6 /* split_invalid_unreachable_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A683422B17BBB00C661C6 /* split_invalid_unreachable_pass.h */; };
+		A94A6AC222B17BBC00C661C6 /* copy_prop_arrays.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A683522B17BBB00C661C6 /* copy_prop_arrays.h */; };
+		A94A6AC322B17BBC00C661C6 /* copy_prop_arrays.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A683522B17BBB00C661C6 /* copy_prop_arrays.h */; };
+		A94A6AC422B17BBC00C661C6 /* eliminate_dead_constant_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A683622B17BBB00C661C6 /* eliminate_dead_constant_pass.h */; };
+		A94A6AC522B17BBC00C661C6 /* eliminate_dead_constant_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A683622B17BBB00C661C6 /* eliminate_dead_constant_pass.h */; };
+		A94A6AC622B17BBC00C661C6 /* dead_insert_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A683722B17BBB00C661C6 /* dead_insert_elim_pass.cpp */; };
+		A94A6AC722B17BBC00C661C6 /* dead_insert_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A683722B17BBB00C661C6 /* dead_insert_elim_pass.cpp */; };
+		A94A6AC822B17BBC00C661C6 /* ssa_rewrite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A683822B17BBB00C661C6 /* ssa_rewrite_pass.h */; };
+		A94A6AC922B17BBC00C661C6 /* ssa_rewrite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A683822B17BBB00C661C6 /* ssa_rewrite_pass.h */; };
+		A94A6ACA22B17BBC00C661C6 /* scalar_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A683922B17BBB00C661C6 /* scalar_analysis.cpp */; };
+		A94A6ACB22B17BBC00C661C6 /* scalar_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A683922B17BBB00C661C6 /* scalar_analysis.cpp */; };
+		A94A6ACC22B17BBC00C661C6 /* dead_variable_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A683A22B17BBB00C661C6 /* dead_variable_elimination.h */; };
+		A94A6ACD22B17BBC00C661C6 /* dead_variable_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A683A22B17BBB00C661C6 /* dead_variable_elimination.h */; };
+		A94A6ACE22B17BBC00C661C6 /* block_merge_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A683B22B17BBB00C661C6 /* block_merge_pass.cpp */; };
+		A94A6ACF22B17BBC00C661C6 /* block_merge_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A683B22B17BBB00C661C6 /* block_merge_pass.cpp */; };
+		A94A6AD022B17BBC00C661C6 /* dominator_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A683C22B17BBB00C661C6 /* dominator_analysis.h */; };
+		A94A6AD122B17BBC00C661C6 /* dominator_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A683C22B17BBB00C661C6 /* dominator_analysis.h */; };
+		A94A6AD222B17BBC00C661C6 /* pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A683D22B17BBB00C661C6 /* pass.h */; };
+		A94A6AD322B17BBC00C661C6 /* pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A683D22B17BBB00C661C6 /* pass.h */; };
+		A94A6AD422B17BBC00C661C6 /* folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A683E22B17BBB00C661C6 /* folding_rules.h */; };
+		A94A6AD522B17BBC00C661C6 /* folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A683E22B17BBB00C661C6 /* folding_rules.h */; };
+		A94A6AD622B17BBC00C661C6 /* eliminate_dead_functions_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A683F22B17BBB00C661C6 /* eliminate_dead_functions_pass.h */; };
+		A94A6AD722B17BBC00C661C6 /* eliminate_dead_functions_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A683F22B17BBB00C661C6 /* eliminate_dead_functions_pass.h */; };
+		A94A6AD822B17BBC00C661C6 /* common_uniform_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A684022B17BBB00C661C6 /* common_uniform_elim_pass.h */; };
+		A94A6AD922B17BBC00C661C6 /* common_uniform_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A684022B17BBB00C661C6 /* common_uniform_elim_pass.h */; };
+		A94A6ADA22B17BBC00C661C6 /* eliminate_dead_functions_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A684122B17BBB00C661C6 /* eliminate_dead_functions_util.h */; };
+		A94A6ADB22B17BBC00C661C6 /* eliminate_dead_functions_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A684122B17BBB00C661C6 /* eliminate_dead_functions_util.h */; };
+		A94A6ADC22B17BBC00C661C6 /* fold.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A684222B17BBB00C661C6 /* fold.h */; };
+		A94A6ADD22B17BBC00C661C6 /* fold.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A684222B17BBB00C661C6 /* fold.h */; };
+		A94A6ADE22B17BBC00C661C6 /* local_single_store_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A684322B17BBB00C661C6 /* local_single_store_elim_pass.cpp */; };
+		A94A6ADF22B17BBC00C661C6 /* local_single_store_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A684322B17BBB00C661C6 /* local_single_store_elim_pass.cpp */; };
+		A94A6AE022B17BBC00C661C6 /* dead_branch_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A684422B17BBB00C661C6 /* dead_branch_elim_pass.h */; };
+		A94A6AE122B17BBC00C661C6 /* dead_branch_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A684422B17BBB00C661C6 /* dead_branch_elim_pass.h */; };
+		A94A6AE222B17BBC00C661C6 /* private_to_local_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A684522B17BBB00C661C6 /* private_to_local_pass.cpp */; };
+		A94A6AE322B17BBC00C661C6 /* private_to_local_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A684522B17BBB00C661C6 /* private_to_local_pass.cpp */; };
+		A94A6AE422B17BBC00C661C6 /* scalar_analysis_nodes.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A684622B17BBB00C661C6 /* scalar_analysis_nodes.h */; };
+		A94A6AE522B17BBC00C661C6 /* scalar_analysis_nodes.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A684622B17BBB00C661C6 /* scalar_analysis_nodes.h */; };
+		A94A6AE622B17BBC00C661C6 /* propagator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A684722B17BBB00C661C6 /* propagator.cpp */; };
+		A94A6AE722B17BBC00C661C6 /* propagator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A684722B17BBB00C661C6 /* propagator.cpp */; };
+		A94A6AE822B17BBC00C661C6 /* fix_storage_class.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A684822B17BBB00C661C6 /* fix_storage_class.h */; };
+		A94A6AE922B17BBC00C661C6 /* fix_storage_class.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A684822B17BBB00C661C6 /* fix_storage_class.h */; };
+		A94A6AEA22B17BBC00C661C6 /* loop_dependence_helpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A684922B17BBB00C661C6 /* loop_dependence_helpers.cpp */; };
+		A94A6AEB22B17BBC00C661C6 /* loop_dependence_helpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A684922B17BBB00C661C6 /* loop_dependence_helpers.cpp */; };
+		A94A6AEC22B17BBC00C661C6 /* set_spec_constant_default_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A684A22B17BBB00C661C6 /* set_spec_constant_default_value_pass.cpp */; };
+		A94A6AED22B17BBC00C661C6 /* set_spec_constant_default_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A684A22B17BBB00C661C6 /* set_spec_constant_default_value_pass.cpp */; };
+		A94A6AEE22B17BBC00C661C6 /* passes.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A684B22B17BBB00C661C6 /* passes.h */; };
+		A94A6AEF22B17BBC00C661C6 /* passes.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A684B22B17BBB00C661C6 /* passes.h */; };
+		A94A6AF022B17BBC00C661C6 /* fold.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A684C22B17BBB00C661C6 /* fold.cpp */; };
+		A94A6AF122B17BBC00C661C6 /* fold.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A684C22B17BBB00C661C6 /* fold.cpp */; };
+		A94A6AF222B17BBC00C661C6 /* strip_reflect_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A684D22B17BBB00C661C6 /* strip_reflect_info_pass.h */; };
+		A94A6AF322B17BBC00C661C6 /* strip_reflect_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A684D22B17BBB00C661C6 /* strip_reflect_info_pass.h */; };
+		A94A6AF422B17BBC00C661C6 /* scalar_replacement_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A684E22B17BBB00C661C6 /* scalar_replacement_pass.cpp */; };
+		A94A6AF522B17BBC00C661C6 /* scalar_replacement_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A684E22B17BBB00C661C6 /* scalar_replacement_pass.cpp */; };
+		A94A6AF622B17BBC00C661C6 /* simplification_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A684F22B17BBB00C661C6 /* simplification_pass.h */; };
+		A94A6AF722B17BBC00C661C6 /* simplification_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A684F22B17BBB00C661C6 /* simplification_pass.h */; };
+		A94A6AF822B17BBC00C661C6 /* remove_duplicates_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A685022B17BBB00C661C6 /* remove_duplicates_pass.h */; };
+		A94A6AF922B17BBC00C661C6 /* remove_duplicates_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A685022B17BBB00C661C6 /* remove_duplicates_pass.h */; };
+		A94A6AFA22B17BBC00C661C6 /* redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A685122B17BBB00C661C6 /* redundancy_elimination.cpp */; };
+		A94A6AFB22B17BBC00C661C6 /* redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A685122B17BBB00C661C6 /* redundancy_elimination.cpp */; };
+		A94A6AFC22B17BBC00C661C6 /* reflect.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A685222B17BBB00C661C6 /* reflect.h */; };
+		A94A6AFD22B17BBC00C661C6 /* reflect.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A685222B17BBB00C661C6 /* reflect.h */; };
+		A94A6AFE22B17BBC00C661C6 /* workaround1209.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A685322B17BBB00C661C6 /* workaround1209.cpp */; };
+		A94A6AFF22B17BBC00C661C6 /* workaround1209.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A685322B17BBB00C661C6 /* workaround1209.cpp */; };
+		A94A6B0022B17BBC00C661C6 /* null_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A685422B17BBB00C661C6 /* null_pass.h */; };
+		A94A6B0122B17BBC00C661C6 /* null_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A685422B17BBB00C661C6 /* null_pass.h */; };
+		A94A6B0222B17BBC00C661C6 /* const_folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A685522B17BBB00C661C6 /* const_folding_rules.h */; };
+		A94A6B0322B17BBC00C661C6 /* const_folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A685522B17BBB00C661C6 /* const_folding_rules.h */; };
+		A94A6B0422B17BBC00C661C6 /* scalar_replacement_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A685622B17BBB00C661C6 /* scalar_replacement_pass.h */; };
+		A94A6B0522B17BBC00C661C6 /* scalar_replacement_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A685622B17BBB00C661C6 /* scalar_replacement_pass.h */; };
+		A94A6B0622B17BBC00C661C6 /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A685722B17BBB00C661C6 /* instruction.cpp */; };
+		A94A6B0722B17BBC00C661C6 /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A685722B17BBB00C661C6 /* instruction.cpp */; };
+		A94A6B0822B17BBC00C661C6 /* pch_source_opt.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A685822B17BBB00C661C6 /* pch_source_opt.h */; };
+		A94A6B0922B17BBC00C661C6 /* pch_source_opt.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A685822B17BBB00C661C6 /* pch_source_opt.h */; };
+		A94A6B0A22B17BBC00C661C6 /* reduce_load_size.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A685922B17BBB00C661C6 /* reduce_load_size.cpp */; };
+		A94A6B0B22B17BBC00C661C6 /* reduce_load_size.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A685922B17BBB00C661C6 /* reduce_load_size.cpp */; };
+		A94A6B0C22B17BBC00C661C6 /* redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A685A22B17BBB00C661C6 /* redundancy_elimination.h */; };
+		A94A6B0D22B17BBC00C661C6 /* redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A685A22B17BBB00C661C6 /* redundancy_elimination.h */; };
+		A94A6B0E22B17BBC00C661C6 /* fix_storage_class.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A685B22B17BBB00C661C6 /* fix_storage_class.cpp */; };
+		A94A6B0F22B17BBC00C661C6 /* fix_storage_class.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A685B22B17BBB00C661C6 /* fix_storage_class.cpp */; };
+		A94A6B1022B17BBC00C661C6 /* value_number_table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A685C22B17BBB00C661C6 /* value_number_table.cpp */; };
+		A94A6B1122B17BBC00C661C6 /* value_number_table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A685C22B17BBB00C661C6 /* value_number_table.cpp */; };
+		A94A6B1222B17BBC00C661C6 /* local_ssa_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A685D22B17BBB00C661C6 /* local_ssa_elim_pass.h */; };
+		A94A6B1322B17BBC00C661C6 /* local_ssa_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A685D22B17BBB00C661C6 /* local_ssa_elim_pass.h */; };
+		A94A6B1422B17BBC00C661C6 /* inline_opaque_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A685E22B17BBB00C661C6 /* inline_opaque_pass.cpp */; };
+		A94A6B1522B17BBC00C661C6 /* inline_opaque_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A685E22B17BBB00C661C6 /* inline_opaque_pass.cpp */; };
+		A94A6B1622B17BBC00C661C6 /* replace_invalid_opc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A685F22B17BBB00C661C6 /* replace_invalid_opc.cpp */; };
+		A94A6B1722B17BBC00C661C6 /* replace_invalid_opc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A685F22B17BBB00C661C6 /* replace_invalid_opc.cpp */; };
+		A94A6B1822B17BBC00C661C6 /* loop_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686022B17BBB00C661C6 /* loop_utils.h */; };
+		A94A6B1922B17BBC00C661C6 /* loop_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686022B17BBB00C661C6 /* loop_utils.h */; };
+		A94A6B1A22B17BBC00C661C6 /* module.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686122B17BBB00C661C6 /* module.h */; };
+		A94A6B1B22B17BBC00C661C6 /* module.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686122B17BBB00C661C6 /* module.h */; };
+		A94A6B1C22B17BBC00C661C6 /* dominator_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A686222B17BBB00C661C6 /* dominator_analysis.cpp */; };
+		A94A6B1D22B17BBC00C661C6 /* dominator_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A686222B17BBB00C661C6 /* dominator_analysis.cpp */; };
+		A94A6B1E22B17BBC00C661C6 /* decompose_initialized_variables_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A686322B17BBB00C661C6 /* decompose_initialized_variables_pass.cpp */; };
+		A94A6B1F22B17BBC00C661C6 /* decompose_initialized_variables_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A686322B17BBB00C661C6 /* decompose_initialized_variables_pass.cpp */; };
+		A94A6B2022B17BBC00C661C6 /* ir_builder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686422B17BBB00C661C6 /* ir_builder.h */; };
+		A94A6B2122B17BBC00C661C6 /* ir_builder.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686422B17BBB00C661C6 /* ir_builder.h */; };
+		A94A6B2222B17BBC00C661C6 /* loop_unswitch_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686522B17BBB00C661C6 /* loop_unswitch_pass.h */; };
+		A94A6B2322B17BBC00C661C6 /* loop_unswitch_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686522B17BBB00C661C6 /* loop_unswitch_pass.h */; };
+		A94A6B2422B17BBC00C661C6 /* cfg.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686622B17BBB00C661C6 /* cfg.h */; };
+		A94A6B2522B17BBC00C661C6 /* cfg.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686622B17BBB00C661C6 /* cfg.h */; };
+		A94A6B2622B17BBC00C661C6 /* code_sink.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686722B17BBB00C661C6 /* code_sink.h */; };
+		A94A6B2722B17BBC00C661C6 /* code_sink.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686722B17BBB00C661C6 /* code_sink.h */; };
+		A94A6B2822B17BBC00C661C6 /* loop_descriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686822B17BBB00C661C6 /* loop_descriptor.h */; };
+		A94A6B2922B17BBC00C661C6 /* loop_descriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686822B17BBB00C661C6 /* loop_descriptor.h */; };
+		A94A6B2A22B17BBC00C661C6 /* generate_webgpu_initializers_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686922B17BBB00C661C6 /* generate_webgpu_initializers_pass.h */; };
+		A94A6B2B22B17BBC00C661C6 /* generate_webgpu_initializers_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686922B17BBB00C661C6 /* generate_webgpu_initializers_pass.h */; };
+		A94A6B2C22B17BBC00C661C6 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686A22B17BBB00C661C6 /* instruction.h */; };
+		A94A6B2D22B17BBC00C661C6 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686A22B17BBB00C661C6 /* instruction.h */; };
+		A94A6B2E22B17BBC00C661C6 /* aggressive_dead_code_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686B22B17BBB00C661C6 /* aggressive_dead_code_elim_pass.h */; };
+		A94A6B2F22B17BBC00C661C6 /* aggressive_dead_code_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686B22B17BBB00C661C6 /* aggressive_dead_code_elim_pass.h */; };
+		A94A6B3022B17BBC00C661C6 /* struct_cfg_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A686C22B17BBB00C661C6 /* struct_cfg_analysis.cpp */; };
+		A94A6B3122B17BBC00C661C6 /* struct_cfg_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A686C22B17BBB00C661C6 /* struct_cfg_analysis.cpp */; };
+		A94A6B3222B17BBC00C661C6 /* vector_dce.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686D22B17BBB00C661C6 /* vector_dce.h */; };
+		A94A6B3322B17BBC00C661C6 /* vector_dce.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686D22B17BBB00C661C6 /* vector_dce.h */; };
+		A94A6B3422B17BBC00C661C6 /* combine_access_chains.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686E22B17BBB00C661C6 /* combine_access_chains.h */; };
+		A94A6B3522B17BBC00C661C6 /* combine_access_chains.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686E22B17BBB00C661C6 /* combine_access_chains.h */; };
+		A94A6B3622B17BBC00C661C6 /* pass_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686F22B17BBB00C661C6 /* pass_manager.h */; };
+		A94A6B3722B17BBC00C661C6 /* pass_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A686F22B17BBB00C661C6 /* pass_manager.h */; };
+		A94A6B3822B17BBC00C661C6 /* local_access_chain_convert_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A687022B17BBB00C661C6 /* local_access_chain_convert_pass.cpp */; };
+		A94A6B3922B17BBC00C661C6 /* local_access_chain_convert_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A687022B17BBB00C661C6 /* local_access_chain_convert_pass.cpp */; };
+		A94A6B3A22B17BBC00C661C6 /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A687122B17BBB00C661C6 /* basic_block.cpp */; };
+		A94A6B3B22B17BBC00C661C6 /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A687122B17BBB00C661C6 /* basic_block.cpp */; };
+		A94A6B3C22B17BBC00C661C6 /* iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A687222B17BBB00C661C6 /* iterator.h */; };
+		A94A6B3D22B17BBC00C661C6 /* iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A687222B17BBB00C661C6 /* iterator.h */; };
+		A94A6B3E22B17BBC00C661C6 /* licm_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A687322B17BBB00C661C6 /* licm_pass.h */; };
+		A94A6B3F22B17BBC00C661C6 /* licm_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A687322B17BBB00C661C6 /* licm_pass.h */; };
+		A94A6B4022B17BBC00C661C6 /* build_module.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A687422B17BBB00C661C6 /* build_module.h */; };
+		A94A6B4122B17BBC00C661C6 /* build_module.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A687422B17BBB00C661C6 /* build_module.h */; };
+		A94A6B4222B17BBC00C661C6 /* ccp_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A687522B17BBB00C661C6 /* ccp_pass.h */; };
+		A94A6B4322B17BBC00C661C6 /* ccp_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A687522B17BBB00C661C6 /* ccp_pass.h */; };
+		A94A6B4422B17BBC00C661C6 /* decompose_initialized_variables_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A687622B17BBB00C661C6 /* decompose_initialized_variables_pass.h */; };
+		A94A6B4522B17BBC00C661C6 /* decompose_initialized_variables_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A687622B17BBB00C661C6 /* decompose_initialized_variables_pass.h */; };
+		A94A6B4622B17BBC00C661C6 /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A687722B17BBB00C661C6 /* function.h */; };
+		A94A6B4722B17BBC00C661C6 /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A687722B17BBB00C661C6 /* function.h */; };
+		A94A6B4822B17BBC00C661C6 /* loop_fusion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A687822B17BBB00C661C6 /* loop_fusion.cpp */; };
+		A94A6B4922B17BBC00C661C6 /* loop_fusion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A687822B17BBB00C661C6 /* loop_fusion.cpp */; };
+		A94A6B4A22B17BBC00C661C6 /* upgrade_memory_model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A687922B17BBB00C661C6 /* upgrade_memory_model.cpp */; };
+		A94A6B4B22B17BBC00C661C6 /* upgrade_memory_model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A687922B17BBB00C661C6 /* upgrade_memory_model.cpp */; };
+		A94A6B4C22B17BBC00C661C6 /* feature_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A687A22B17BBB00C661C6 /* feature_manager.h */; };
+		A94A6B4D22B17BBC00C661C6 /* feature_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A687A22B17BBB00C661C6 /* feature_manager.h */; };
+		A94A6B4E22B17BBC00C661C6 /* inst_bindless_check_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A687B22B17BBB00C661C6 /* inst_bindless_check_pass.h */; };
+		A94A6B4F22B17BBC00C661C6 /* inst_bindless_check_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A687B22B17BBB00C661C6 /* inst_bindless_check_pass.h */; };
+		A94A6B5022B17BBC00C661C6 /* scalar_analysis_simplification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A687C22B17BBB00C661C6 /* scalar_analysis_simplification.cpp */; };
+		A94A6B5122B17BBC00C661C6 /* scalar_analysis_simplification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A687C22B17BBB00C661C6 /* scalar_analysis_simplification.cpp */; };
+		A94A6B5222B17BBC00C661C6 /* set_spec_constant_default_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A687D22B17BBB00C661C6 /* set_spec_constant_default_value_pass.h */; };
+		A94A6B5322B17BBC00C661C6 /* set_spec_constant_default_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A687D22B17BBB00C661C6 /* set_spec_constant_default_value_pass.h */; };
+		A94A6B5422B17BBC00C661C6 /* dominator_tree.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A687E22B17BBB00C661C6 /* dominator_tree.h */; };
+		A94A6B5522B17BBC00C661C6 /* dominator_tree.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A687E22B17BBB00C661C6 /* dominator_tree.h */; };
+		A94A6B5622B17BBC00C661C6 /* legalize_vector_shuffle_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A687F22B17BBB00C661C6 /* legalize_vector_shuffle_pass.cpp */; };
+		A94A6B5722B17BBC00C661C6 /* legalize_vector_shuffle_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A687F22B17BBB00C661C6 /* legalize_vector_shuffle_pass.cpp */; };
+		A94A6B5822B17BBC00C661C6 /* type_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A688022B17BBB00C661C6 /* type_manager.h */; };
+		A94A6B5922B17BBC00C661C6 /* type_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A688022B17BBB00C661C6 /* type_manager.h */; };
+		A94A6B5A22B17BBC00C661C6 /* compact_ids_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A688122B17BBB00C661C6 /* compact_ids_pass.cpp */; };
+		A94A6B5B22B17BBC00C661C6 /* compact_ids_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A688122B17BBB00C661C6 /* compact_ids_pass.cpp */; };
+		A94A6B5C22B17BBC00C661C6 /* loop_peeling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A688222B17BBB00C661C6 /* loop_peeling.cpp */; };
+		A94A6B5D22B17BBC00C661C6 /* loop_peeling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A688222B17BBB00C661C6 /* loop_peeling.cpp */; };
+		A94A6B5E22B17BBC00C661C6 /* table.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A688322B17BBB00C661C6 /* table.h */; };
+		A94A6B5F22B17BBC00C661C6 /* table.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A688322B17BBB00C661C6 /* table.h */; };
+		A94A6BB022B17BBC00C661C6 /* ext_inst.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68AF22B17BBB00C661C6 /* ext_inst.h */; };
+		A94A6BB122B17BBC00C661C6 /* ext_inst.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68AF22B17BBB00C661C6 /* ext_inst.h */; };
+		A94A6BB222B17BBC00C661C6 /* diagnostic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68B022B17BBB00C661C6 /* diagnostic.cpp */; };
+		A94A6BB322B17BBC00C661C6 /* diagnostic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68B022B17BBB00C661C6 /* diagnostic.cpp */; };
+		A94A6BB422B17BBC00C661C6 /* latest_version_spirv_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68B122B17BBB00C661C6 /* latest_version_spirv_header.h */; };
+		A94A6BB522B17BBC00C661C6 /* latest_version_spirv_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68B122B17BBB00C661C6 /* latest_version_spirv_header.h */; };
+		A94A6BB622B17BBC00C661C6 /* libspirv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68B222B17BBB00C661C6 /* libspirv.cpp */; };
+		A94A6BB722B17BBC00C661C6 /* libspirv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68B222B17BBB00C661C6 /* libspirv.cpp */; };
+		A94A6BB822B17BBC00C661C6 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68B322B17BBB00C661C6 /* instruction.h */; };
+		A94A6BB922B17BBC00C661C6 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68B322B17BBB00C661C6 /* instruction.h */; };
+		A94A6BBA22B17BBC00C661C6 /* spirv_optimizer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68B422B17BBB00C661C6 /* spirv_optimizer_options.h */; };
+		A94A6BBB22B17BBC00C661C6 /* spirv_optimizer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68B422B17BBB00C661C6 /* spirv_optimizer_options.h */; };
+		A94A6BBC22B17BBC00C661C6 /* opcode.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68B522B17BBB00C661C6 /* opcode.h */; };
+		A94A6BBD22B17BBC00C661C6 /* opcode.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68B522B17BBB00C661C6 /* opcode.h */; };
+		A94A6BBE22B17BBC00C661C6 /* operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68B622B17BBB00C661C6 /* operand.cpp */; };
+		A94A6BBF22B17BBC00C661C6 /* operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68B622B17BBB00C661C6 /* operand.cpp */; };
+		A94A6BC022B17BBC00C661C6 /* latest_version_glsl_std_450_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68B722B17BBB00C661C6 /* latest_version_glsl_std_450_header.h */; };
+		A94A6BC122B17BBC00C661C6 /* latest_version_glsl_std_450_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68B722B17BBB00C661C6 /* latest_version_glsl_std_450_header.h */; };
+		A94A6BC222B17BBC00C661C6 /* extensions.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68B822B17BBB00C661C6 /* extensions.h */; };
+		A94A6BC322B17BBC00C661C6 /* extensions.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68B822B17BBB00C661C6 /* extensions.h */; };
+		A94A6BC422B17BBC00C661C6 /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68B922B17BBB00C661C6 /* disassemble.cpp */; };
+		A94A6BC522B17BBC00C661C6 /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68B922B17BBB00C661C6 /* disassemble.cpp */; };
+		A94A6BC622B17BBC00C661C6 /* binary.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68BA22B17BBB00C661C6 /* binary.h */; };
+		A94A6BC722B17BBC00C661C6 /* binary.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68BA22B17BBB00C661C6 /* binary.h */; };
+		A94A6BC822B17BBC00C661C6 /* text_handler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68BB22B17BBB00C661C6 /* text_handler.cpp */; };
+		A94A6BC922B17BBC00C661C6 /* text_handler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68BB22B17BBB00C661C6 /* text_handler.cpp */; };
+		A94A6BCA22B17BBC00C661C6 /* validate_annotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68BD22B17BBB00C661C6 /* validate_annotation.cpp */; };
+		A94A6BCB22B17BBC00C661C6 /* validate_annotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68BD22B17BBB00C661C6 /* validate_annotation.cpp */; };
+		A94A6BCC22B17BBC00C661C6 /* validate_misc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68BE22B17BBB00C661C6 /* validate_misc.cpp */; };
+		A94A6BCD22B17BBC00C661C6 /* validate_misc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68BE22B17BBB00C661C6 /* validate_misc.cpp */; };
+		A94A6BCE22B17BBC00C661C6 /* validate_cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68BF22B17BBB00C661C6 /* validate_cfg.cpp */; };
+		A94A6BCF22B17BBC00C661C6 /* validate_cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68BF22B17BBB00C661C6 /* validate_cfg.cpp */; };
+		A94A6BD022B17BBC00C661C6 /* validate_capability.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68C022B17BBB00C661C6 /* validate_capability.cpp */; };
+		A94A6BD122B17BBC00C661C6 /* validate_capability.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68C022B17BBB00C661C6 /* validate_capability.cpp */; };
+		A94A6BD222B17BBC00C661C6 /* construct.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68C122B17BBB00C661C6 /* construct.h */; };
+		A94A6BD322B17BBC00C661C6 /* construct.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68C122B17BBB00C661C6 /* construct.h */; };
+		A94A6BD422B17BBC00C661C6 /* validate_barriers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68C222B17BBB00C661C6 /* validate_barriers.cpp */; };
+		A94A6BD522B17BBC00C661C6 /* validate_barriers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68C222B17BBB00C661C6 /* validate_barriers.cpp */; };
+		A94A6BD622B17BBC00C661C6 /* validate_non_uniform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68C322B17BBB00C661C6 /* validate_non_uniform.cpp */; };
+		A94A6BD722B17BBC00C661C6 /* validate_non_uniform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68C322B17BBB00C661C6 /* validate_non_uniform.cpp */; };
+		A94A6BD822B17BBC00C661C6 /* validate_scopes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68C422B17BBB00C661C6 /* validate_scopes.cpp */; };
+		A94A6BD922B17BBC00C661C6 /* validate_scopes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68C422B17BBB00C661C6 /* validate_scopes.cpp */; };
+		A94A6BDA22B17BBC00C661C6 /* validate_atomics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68C522B17BBB00C661C6 /* validate_atomics.cpp */; };
+		A94A6BDB22B17BBC00C661C6 /* validate_atomics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68C522B17BBB00C661C6 /* validate_atomics.cpp */; };
+		A94A6BDC22B17BBC00C661C6 /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68C622B17BBB00C661C6 /* basic_block.h */; };
+		A94A6BDD22B17BBC00C661C6 /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68C622B17BBB00C661C6 /* basic_block.h */; };
+		A94A6BDE22B17BBC00C661C6 /* validate_instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68C722B17BBB00C661C6 /* validate_instruction.cpp */; };
+		A94A6BDF22B17BBC00C661C6 /* validate_instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68C722B17BBB00C661C6 /* validate_instruction.cpp */; };
+		A94A6BE022B17BBC00C661C6 /* validate_decorations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68C822B17BBB00C661C6 /* validate_decorations.cpp */; };
+		A94A6BE122B17BBC00C661C6 /* validate_decorations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68C822B17BBB00C661C6 /* validate_decorations.cpp */; };
+		A94A6BE222B17BBC00C661C6 /* validate_debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68C922B17BBB00C661C6 /* validate_debug.cpp */; };
+		A94A6BE322B17BBC00C661C6 /* validate_debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68C922B17BBB00C661C6 /* validate_debug.cpp */; };
+		A94A6BE422B17BBC00C661C6 /* validate_builtins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68CA22B17BBB00C661C6 /* validate_builtins.cpp */; };
+		A94A6BE522B17BBC00C661C6 /* validate_builtins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68CA22B17BBB00C661C6 /* validate_builtins.cpp */; };
+		A94A6BE622B17BBC00C661C6 /* validate_interfaces.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68CB22B17BBB00C661C6 /* validate_interfaces.cpp */; };
+		A94A6BE722B17BBC00C661C6 /* validate_interfaces.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68CB22B17BBB00C661C6 /* validate_interfaces.cpp */; };
+		A94A6BE822B17BBC00C661C6 /* validate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68CC22B17BBB00C661C6 /* validate.cpp */; };
+		A94A6BE922B17BBC00C661C6 /* validate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68CC22B17BBB00C661C6 /* validate.cpp */; };
+		A94A6BEA22B17BBC00C661C6 /* validation_state.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68CD22B17BBB00C661C6 /* validation_state.h */; };
+		A94A6BEB22B17BBC00C661C6 /* validation_state.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68CD22B17BBB00C661C6 /* validation_state.h */; };
+		A94A6BEC22B17BBD00C661C6 /* validate_constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68CE22B17BBB00C661C6 /* validate_constants.cpp */; };
+		A94A6BED22B17BBD00C661C6 /* validate_constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68CE22B17BBB00C661C6 /* validate_constants.cpp */; };
+		A94A6BEE22B17BBD00C661C6 /* validate_bitwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68CF22B17BBB00C661C6 /* validate_bitwise.cpp */; };
+		A94A6BEF22B17BBD00C661C6 /* validate_bitwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68CF22B17BBB00C661C6 /* validate_bitwise.cpp */; };
+		A94A6BF022B17BBD00C661C6 /* validate_extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68D022B17BBB00C661C6 /* validate_extensions.cpp */; };
+		A94A6BF122B17BBD00C661C6 /* validate_extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68D022B17BBB00C661C6 /* validate_extensions.cpp */; };
+		A94A6BF222B17BBD00C661C6 /* construct.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68D122B17BBB00C661C6 /* construct.cpp */; };
+		A94A6BF322B17BBD00C661C6 /* construct.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68D122B17BBB00C661C6 /* construct.cpp */; };
+		A94A6BF422B17BBD00C661C6 /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68D222B17BBB00C661C6 /* function.cpp */; };
+		A94A6BF522B17BBD00C661C6 /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68D222B17BBB00C661C6 /* function.cpp */; };
+		A94A6BF622B17BBD00C661C6 /* validate.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68D322B17BBB00C661C6 /* validate.h */; };
+		A94A6BF722B17BBD00C661C6 /* validate.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68D322B17BBB00C661C6 /* validate.h */; };
+		A94A6BF822B17BBD00C661C6 /* validate_adjacency.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68D422B17BBB00C661C6 /* validate_adjacency.cpp */; };
+		A94A6BF922B17BBD00C661C6 /* validate_adjacency.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68D422B17BBB00C661C6 /* validate_adjacency.cpp */; };
+		A94A6BFA22B17BBD00C661C6 /* validate_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68D522B17BBB00C661C6 /* validate_conversion.cpp */; };
+		A94A6BFB22B17BBD00C661C6 /* validate_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68D522B17BBB00C661C6 /* validate_conversion.cpp */; };
+		A94A6BFC22B17BBD00C661C6 /* validate_datarules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68D622B17BBB00C661C6 /* validate_datarules.cpp */; };
+		A94A6BFD22B17BBD00C661C6 /* validate_datarules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68D622B17BBB00C661C6 /* validate_datarules.cpp */; };
+		A94A6BFE22B17BBD00C661C6 /* validate_scopes.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68D722B17BBB00C661C6 /* validate_scopes.h */; };
+		A94A6BFF22B17BBD00C661C6 /* validate_scopes.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68D722B17BBB00C661C6 /* validate_scopes.h */; };
+		A94A6C0022B17BBD00C661C6 /* validate_id.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68D822B17BBB00C661C6 /* validate_id.cpp */; };
+		A94A6C0122B17BBD00C661C6 /* validate_id.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68D822B17BBB00C661C6 /* validate_id.cpp */; };
+		A94A6C0222B17BBD00C661C6 /* validate_memory_semantics.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68D922B17BBB00C661C6 /* validate_memory_semantics.h */; };
+		A94A6C0322B17BBD00C661C6 /* validate_memory_semantics.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68D922B17BBB00C661C6 /* validate_memory_semantics.h */; };
+		A94A6C0422B17BBD00C661C6 /* validate_arithmetics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68DA22B17BBB00C661C6 /* validate_arithmetics.cpp */; };
+		A94A6C0522B17BBD00C661C6 /* validate_arithmetics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68DA22B17BBB00C661C6 /* validate_arithmetics.cpp */; };
+		A94A6C0622B17BBD00C661C6 /* validate_mode_setting.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68DB22B17BBB00C661C6 /* validate_mode_setting.cpp */; };
+		A94A6C0722B17BBD00C661C6 /* validate_mode_setting.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68DB22B17BBB00C661C6 /* validate_mode_setting.cpp */; };
+		A94A6C0822B17BBD00C661C6 /* validate_memory_semantics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68DC22B17BBB00C661C6 /* validate_memory_semantics.cpp */; };
+		A94A6C0922B17BBD00C661C6 /* validate_memory_semantics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68DC22B17BBB00C661C6 /* validate_memory_semantics.cpp */; };
+		A94A6C0A22B17BBD00C661C6 /* validate_logicals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68DD22B17BBB00C661C6 /* validate_logicals.cpp */; };
+		A94A6C0B22B17BBD00C661C6 /* validate_logicals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68DD22B17BBB00C661C6 /* validate_logicals.cpp */; };
+		A94A6C0C22B17BBD00C661C6 /* validate_derivatives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68DE22B17BBB00C661C6 /* validate_derivatives.cpp */; };
+		A94A6C0D22B17BBD00C661C6 /* validate_derivatives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68DE22B17BBB00C661C6 /* validate_derivatives.cpp */; };
+		A94A6C0E22B17BBD00C661C6 /* validate_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68DF22B17BBB00C661C6 /* validate_memory.cpp */; };
+		A94A6C0F22B17BBD00C661C6 /* validate_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68DF22B17BBB00C661C6 /* validate_memory.cpp */; };
+		A94A6C1022B17BBD00C661C6 /* validate_image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68E022B17BBB00C661C6 /* validate_image.cpp */; };
+		A94A6C1122B17BBD00C661C6 /* validate_image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68E022B17BBB00C661C6 /* validate_image.cpp */; };
+		A94A6C1222B17BBD00C661C6 /* validate_literals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68E122B17BBB00C661C6 /* validate_literals.cpp */; };
+		A94A6C1322B17BBD00C661C6 /* validate_literals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68E122B17BBB00C661C6 /* validate_literals.cpp */; };
+		A94A6C1422B17BBD00C661C6 /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68E222B17BBB00C661C6 /* instruction.cpp */; };
+		A94A6C1522B17BBD00C661C6 /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68E222B17BBB00C661C6 /* instruction.cpp */; };
+		A94A6C1622B17BBD00C661C6 /* validate_type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68E322B17BBB00C661C6 /* validate_type.cpp */; };
+		A94A6C1722B17BBD00C661C6 /* validate_type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68E322B17BBB00C661C6 /* validate_type.cpp */; };
+		A94A6C1822B17BBD00C661C6 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68E422B17BBB00C661C6 /* instruction.h */; };
+		A94A6C1922B17BBD00C661C6 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68E422B17BBB00C661C6 /* instruction.h */; };
+		A94A6C1A22B17BBD00C661C6 /* validate_execution_limitations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68E522B17BBB00C661C6 /* validate_execution_limitations.cpp */; };
+		A94A6C1B22B17BBD00C661C6 /* validate_execution_limitations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68E522B17BBB00C661C6 /* validate_execution_limitations.cpp */; };
+		A94A6C1C22B17BBD00C661C6 /* validate_layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68E622B17BBB00C661C6 /* validate_layout.cpp */; };
+		A94A6C1D22B17BBD00C661C6 /* validate_layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68E622B17BBB00C661C6 /* validate_layout.cpp */; };
+		A94A6C1E22B17BBD00C661C6 /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68E722B17BBB00C661C6 /* basic_block.cpp */; };
+		A94A6C1F22B17BBD00C661C6 /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68E722B17BBB00C661C6 /* basic_block.cpp */; };
+		A94A6C2022B17BBD00C661C6 /* validate_function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68E822B17BBB00C661C6 /* validate_function.cpp */; };
+		A94A6C2122B17BBD00C661C6 /* validate_function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68E822B17BBB00C661C6 /* validate_function.cpp */; };
+		A94A6C2222B17BBD00C661C6 /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68E922B17BBB00C661C6 /* function.h */; };
+		A94A6C2322B17BBD00C661C6 /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68E922B17BBB00C661C6 /* function.h */; };
+		A94A6C2422B17BBD00C661C6 /* validate_composites.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68EA22B17BBB00C661C6 /* validate_composites.cpp */; };
+		A94A6C2522B17BBD00C661C6 /* validate_composites.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68EA22B17BBB00C661C6 /* validate_composites.cpp */; };
+		A94A6C2622B17BBD00C661C6 /* validation_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68EB22B17BBB00C661C6 /* validation_state.cpp */; };
+		A94A6C2722B17BBD00C661C6 /* validation_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68EB22B17BBB00C661C6 /* validation_state.cpp */; };
+		A94A6C2822B17BBD00C661C6 /* validate_primitives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68EC22B17BBB00C661C6 /* validate_primitives.cpp */; };
+		A94A6C2922B17BBD00C661C6 /* validate_primitives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94A68EC22B17BBB00C661C6 /* validate_primitives.cpp */; };
+		A94A6C2A22B17BBD00C661C6 /* decoration.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68ED22B17BBB00C661C6 /* decoration.h */; };
+		A94A6C2B22B17BBD00C661C6 /* decoration.h in Headers */ = {isa = PBXBuildFile; fileRef = A94A68ED22B17BBB00C661C6 /* decoration.h */; };
 		A972AC6521CED9060013AB25 /* InitializeDll.h in Headers */ = {isa = PBXBuildFile; fileRef = A972ABF721CED9060013AB25 /* InitializeDll.h */; };
 		A972AC6621CED9060013AB25 /* InitializeDll.h in Headers */ = {isa = PBXBuildFile; fileRef = A972ABF721CED9060013AB25 /* InitializeDll.h */; };
 		A972AC6721CED9060013AB25 /* InitializeDll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A972ABF821CED9060013AB25 /* InitializeDll.cpp */; };
@@ -1074,389 +1078,390 @@
 		450A4F64221C5A95007203D7 /* spirv_reflect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_reflect.cpp; sourceTree = "<group>"; };
 		A90FD89F21CC4EAB00B92BB2 /* libSPIRVCross.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSPIRVCross.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		A90FD9E421CC4EB900B92BB2 /* libSPIRVCross.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSPIRVCross.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		A943610A225FE723000DDF2C /* spirv_target_env.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_target_env.cpp; sourceTree = "<group>"; };
-		A943610B225FE723000DDF2C /* 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>"; };
-		A943610C225FE723000DDF2C /* assembly_grammar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = assembly_grammar.h; sourceTree = "<group>"; };
-		A943610D225FE723000DDF2C /* enum_set.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enum_set.h; sourceTree = "<group>"; };
-		A943610E225FE723000DDF2C /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
-		A943610F225FE723000DDF2C /* extinst.spv-amd-shader-ballot.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "extinst.spv-amd-shader-ballot.grammar.json"; sourceTree = "<group>"; };
-		A9436110225FE723000DDF2C /* text.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = text.cpp; sourceTree = "<group>"; };
-		A9436111225FE723000DDF2C /* assembly_grammar.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = assembly_grammar.cpp; sourceTree = "<group>"; };
-		A9436112225FE723000DDF2C /* text.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = text.h; sourceTree = "<group>"; };
-		A9436113225FE723000DDF2C /* extensions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = extensions.cpp; sourceTree = "<group>"; };
-		A9436114225FE723000DDF2C /* pch_source.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pch_source.cpp; sourceTree = "<group>"; };
-		A9436116225FE723000DDF2C /* parse_number.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = parse_number.h; sourceTree = "<group>"; };
-		A9436117225FE723000DDF2C /* ilist_node.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ilist_node.h; sourceTree = "<group>"; };
-		A9436118225FE723000DDF2C /* make_unique.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = make_unique.h; sourceTree = "<group>"; };
-		A9436119225FE723000DDF2C /* string_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = string_utils.h; sourceTree = "<group>"; };
-		A943611A225FE723000DDF2C /* small_vector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = small_vector.h; sourceTree = "<group>"; };
-		A943611B225FE723000DDF2C /* timer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = timer.cpp; sourceTree = "<group>"; };
-		A943611C225FE723000DDF2C /* timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = timer.h; sourceTree = "<group>"; };
-		A943611D225FE723000DDF2C /* string_utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = string_utils.cpp; sourceTree = "<group>"; };
-		A943611E225FE723000DDF2C /* bit_vector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bit_vector.h; sourceTree = "<group>"; };
-		A943611F225FE723000DDF2C /* bitutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bitutils.h; sourceTree = "<group>"; };
-		A9436120225FE723000DDF2C /* hex_float.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hex_float.h; sourceTree = "<group>"; };
-		A9436121225FE723000DDF2C /* parse_number.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parse_number.cpp; sourceTree = "<group>"; };
-		A9436122225FE723000DDF2C /* bit_vector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bit_vector.cpp; sourceTree = "<group>"; };
-		A9436123225FE723000DDF2C /* ilist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ilist.h; sourceTree = "<group>"; };
-		A9436124225FE723000DDF2C /* spirv_target_env.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_target_env.h; sourceTree = "<group>"; };
-		A9436125225FE723000DDF2C /* table.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = table.cpp; sourceTree = "<group>"; };
-		A9436126225FE723000DDF2C /* id_descriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = id_descriptor.cpp; sourceTree = "<group>"; };
-		A9436128225FE723000DDF2C /* 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>"; };
-		A9436129225FE723000DDF2C /* remove_selection_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_selection_reduction_opportunity.cpp; sourceTree = "<group>"; };
-		A943612A225FE723000DDF2C /* remove_block_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_block_reduction_opportunity.h; sourceTree = "<group>"; };
-		A943612B225FE723000DDF2C /* 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>"; };
-		A943612C225FE723000DDF2C /* reduction_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduction_pass.cpp; sourceTree = "<group>"; };
-		A943612D225FE723000DDF2C /* 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>"; };
-		A943612E225FE723000DDF2C /* 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>"; };
-		A943612F225FE723000DDF2C /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
-		A9436130225FE723000DDF2C /* reduction_util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduction_util.cpp; sourceTree = "<group>"; };
-		A9436131225FE723000DDF2C /* 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>"; };
-		A9436132225FE723000DDF2C /* remove_function_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_function_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
-		A9436133225FE723000DDF2C /* remove_instruction_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_instruction_reduction_opportunity.h; sourceTree = "<group>"; };
-		A9436134225FE723000DDF2C /* remove_function_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_function_reduction_opportunity.cpp; sourceTree = "<group>"; };
-		A9436135225FE723000DDF2C /* 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>"; };
-		A9436136225FE723000DDF2C /* remove_selection_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_selection_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
-		A9436137225FE723000DDF2C /* merge_blocks_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = merge_blocks_reduction_opportunity.cpp; sourceTree = "<group>"; };
-		A9436138225FE723000DDF2C /* change_operand_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = change_operand_reduction_opportunity.cpp; sourceTree = "<group>"; };
-		A9436139225FE723000DDF2C /* 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>"; };
-		A943613A225FE723000DDF2C /* remove_function_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_function_reduction_opportunity.h; sourceTree = "<group>"; };
-		A943613B225FE723000DDF2C /* 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>"; };
-		A943613C225FE723000DDF2C /* 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>"; };
-		A943613D225FE723000DDF2C /* 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>"; };
-		A943613E225FE723000DDF2C /* remove_selection_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_selection_reduction_opportunity.h; sourceTree = "<group>"; };
-		A943613F225FE723000DDF2C /* remove_instruction_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_instruction_reduction_opportunity.cpp; sourceTree = "<group>"; };
-		A9436140225FE723000DDF2C /* remove_selection_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_selection_reduction_opportunity_finder.h; sourceTree = "<group>"; };
-		A9436141225FE723000DDF2C /* merge_blocks_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = merge_blocks_reduction_opportunity_finder.h; sourceTree = "<group>"; };
-		A9436142225FE723000DDF2C /* 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>"; };
-		A9436143225FE723000DDF2C /* pch_source_reduce.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pch_source_reduce.cpp; sourceTree = "<group>"; };
-		A9436144225FE723000DDF2C /* reducer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reducer.cpp; sourceTree = "<group>"; };
-		A9436145225FE723000DDF2C /* 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>"; };
-		A9436146225FE723000DDF2C /* remove_function_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_function_reduction_opportunity_finder.h; sourceTree = "<group>"; };
-		A9436147225FE723000DDF2C /* pch_source_reduce.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pch_source_reduce.h; sourceTree = "<group>"; };
-		A9436148225FE723000DDF2C /* 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>"; };
-		A9436149225FE723000DDF2C /* merge_blocks_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = merge_blocks_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
-		A943614A225FE723000DDF2C /* reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduction_opportunity.cpp; sourceTree = "<group>"; };
-		A943614B225FE723000DDF2C /* reducer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reducer.h; sourceTree = "<group>"; };
-		A943614C225FE723000DDF2C /* 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>"; };
-		A943614D225FE723000DDF2C /* reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduction_opportunity.h; sourceTree = "<group>"; };
-		A943614E225FE723000DDF2C /* 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>"; };
-		A943614F225FE723000DDF2C /* reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduction_opportunity_finder.h; sourceTree = "<group>"; };
-		A9436150225FE723000DDF2C /* change_operand_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = change_operand_reduction_opportunity.h; sourceTree = "<group>"; };
-		A9436151225FE723000DDF2C /* remove_block_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_block_reduction_opportunity_finder.h; sourceTree = "<group>"; };
-		A9436152225FE723000DDF2C /* remove_block_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_block_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
-		A9436153225FE723000DDF2C /* reduction_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduction_util.h; sourceTree = "<group>"; };
-		A9436154225FE723000DDF2C /* merge_blocks_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = merge_blocks_reduction_opportunity.h; sourceTree = "<group>"; };
-		A9436155225FE723000DDF2C /* 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>"; };
-		A9436156225FE723000DDF2C /* remove_block_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_block_reduction_opportunity.cpp; sourceTree = "<group>"; };
-		A9436157225FE723000DDF2C /* reduction_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduction_pass.h; sourceTree = "<group>"; };
-		A9436158225FE723000DDF2C /* latest_version_opencl_std_header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = latest_version_opencl_std_header.h; sourceTree = "<group>"; };
-		A9436159225FE723000DDF2C /* spirv_optimizer_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_optimizer_options.cpp; sourceTree = "<group>"; };
-		A943615A225FE723000DDF2C /* cfa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfa.h; sourceTree = "<group>"; };
-		A943615B225FE723000DDF2C /* pch_source.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pch_source.h; sourceTree = "<group>"; };
-		A943615C225FE723000DDF2C /* enum_string_mapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enum_string_mapping.h; sourceTree = "<group>"; };
-		A943615D225FE723000DDF2C /* spirv_reducer_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_reducer_options.h; sourceTree = "<group>"; };
-		A943615E225FE723000DDF2C /* spirv_validator_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_validator_options.cpp; sourceTree = "<group>"; };
-		A943615F225FE723000DDF2C /* 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>"; };
-		A9436160225FE723000DDF2C /* print.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = print.cpp; sourceTree = "<group>"; };
-		A9436161225FE723000DDF2C /* spirv_definition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_definition.h; sourceTree = "<group>"; };
-		A9436162225FE723000DDF2C /* operand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = operand.h; sourceTree = "<group>"; };
-		A9436163225FE723000DDF2C /* spirv_endian.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_endian.cpp; sourceTree = "<group>"; };
-		A9436164225FE723000DDF2C /* macro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = macro.h; sourceTree = "<group>"; };
-		A9436165225FE723000DDF2C /* spirv_constant.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_constant.h; sourceTree = "<group>"; };
-		A9436166225FE723000DDF2C /* extinst.spv-amd-gcn-shader.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "extinst.spv-amd-gcn-shader.grammar.json"; sourceTree = "<group>"; };
-		A9436167225FE723000DDF2C /* binary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = binary.cpp; sourceTree = "<group>"; };
-		A9436168225FE723000DDF2C /* spirv_validator_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_validator_options.h; sourceTree = "<group>"; };
-		A943616A225FE723000DDF2C /* markv_codec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = markv_codec.cpp; sourceTree = "<group>"; };
-		A943616B225FE723000DDF2C /* markv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = markv.cpp; sourceTree = "<group>"; };
-		A943616C225FE723000DDF2C /* huffman_codec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = huffman_codec.h; sourceTree = "<group>"; };
-		A943616D225FE723000DDF2C /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
-		A943616E225FE723000DDF2C /* bit_stream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bit_stream.h; sourceTree = "<group>"; };
-		A943616F225FE723000DDF2C /* move_to_front.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = move_to_front.cpp; sourceTree = "<group>"; };
-		A9436170225FE723000DDF2C /* markv_encoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = markv_encoder.h; sourceTree = "<group>"; };
-		A9436171225FE723000DDF2C /* markv_decoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = markv_decoder.h; sourceTree = "<group>"; };
-		A9436172225FE723000DDF2C /* markv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = markv.h; sourceTree = "<group>"; };
-		A9436173225FE723000DDF2C /* markv_model.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = markv_model.h; sourceTree = "<group>"; };
-		A9436174225FE723000DDF2C /* markv_decoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = markv_decoder.cpp; sourceTree = "<group>"; };
-		A9436175225FE723000DDF2C /* move_to_front.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = move_to_front.h; sourceTree = "<group>"; };
-		A9436176225FE723000DDF2C /* markv_codec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = markv_codec.h; sourceTree = "<group>"; };
-		A9436177225FE723000DDF2C /* markv_logger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = markv_logger.h; sourceTree = "<group>"; };
-		A9436178225FE723000DDF2C /* bit_stream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bit_stream.cpp; sourceTree = "<group>"; };
-		A9436179225FE723000DDF2C /* markv_encoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = markv_encoder.cpp; sourceTree = "<group>"; };
-		A943617A225FE723000DDF2C /* enum_string_mapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = enum_string_mapping.cpp; sourceTree = "<group>"; };
-		A943617B225FE723000DDF2C /* text_handler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = text_handler.h; sourceTree = "<group>"; };
-		A943617C225FE723000DDF2C /* parsed_operand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = parsed_operand.h; sourceTree = "<group>"; };
-		A943617D225FE723000DDF2C /* name_mapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = name_mapper.h; sourceTree = "<group>"; };
-		A943617E225FE723000DDF2C /* spirv_reducer_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_reducer_options.cpp; sourceTree = "<group>"; };
-		A943617F225FE723000DDF2C /* parsed_operand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parsed_operand.cpp; sourceTree = "<group>"; };
-		A9436180225FE723000DDF2C /* diagnostic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = diagnostic.h; sourceTree = "<group>"; };
-		A9436181225FE723000DDF2C /* spirv_endian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_endian.h; sourceTree = "<group>"; };
-		A9436182225FE723000DDF2C /* name_mapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = name_mapper.cpp; sourceTree = "<group>"; };
-		A9436183225FE723000DDF2C /* extinst.debuginfo.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = extinst.debuginfo.grammar.json; sourceTree = "<group>"; };
-		A9436185225FE723000DDF2C /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
-		A9436186225FE723000DDF2C /* linker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = linker.cpp; sourceTree = "<group>"; };
-		A9436187225FE723000DDF2C /* software_version.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = software_version.cpp; sourceTree = "<group>"; };
-		A9436188225FE723000DDF2C /* opcode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opcode.cpp; sourceTree = "<group>"; };
-		A9436189225FE723000DDF2C /* print.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = print.h; sourceTree = "<group>"; };
-		A943618A225FE723000DDF2C /* ext_inst.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ext_inst.cpp; sourceTree = "<group>"; };
-		A943618B225FE723000DDF2C /* disassemble.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = disassemble.h; sourceTree = "<group>"; };
-		A943618D225FE723000DDF2C /* optimizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = optimizer.cpp; sourceTree = "<group>"; };
-		A943618E225FE723000DDF2C /* if_conversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = if_conversion.h; sourceTree = "<group>"; };
-		A943618F225FE723000DDF2C /* register_pressure.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = register_pressure.cpp; sourceTree = "<group>"; };
-		A9436190225FE723000DDF2C /* loop_utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_utils.cpp; sourceTree = "<group>"; };
-		A9436191225FE723000DDF2C /* merge_return_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = merge_return_pass.h; sourceTree = "<group>"; };
-		A9436192225FE723000DDF2C /* inline_opaque_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline_opaque_pass.h; sourceTree = "<group>"; };
-		A9436193225FE723000DDF2C /* loop_fusion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_fusion.h; sourceTree = "<group>"; };
-		A9436194225FE723000DDF2C /* combine_access_chains.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = combine_access_chains.cpp; sourceTree = "<group>"; };
-		A9436195225FE723000DDF2C /* build_module.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = build_module.cpp; sourceTree = "<group>"; };
-		A9436196225FE723000DDF2C /* composite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = composite.h; sourceTree = "<group>"; };
-		A9436197225FE723000DDF2C /* compact_ids_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = compact_ids_pass.h; sourceTree = "<group>"; };
-		A9436198225FE723000DDF2C /* register_pressure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = register_pressure.h; sourceTree = "<group>"; };
-		A9436199225FE723000DDF2C /* tree_iterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tree_iterator.h; sourceTree = "<group>"; };
-		A943619A225FE723000DDF2C /* strip_atomic_counter_memory_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strip_atomic_counter_memory_pass.h; sourceTree = "<group>"; };
-		A943619B225FE723000DDF2C /* local_single_store_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_single_store_elim_pass.h; sourceTree = "<group>"; };
-		A943619C225FE723000DDF2C /* reduce_load_size.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduce_load_size.h; sourceTree = "<group>"; };
-		A943619D225FE723000DDF2C /* code_sink.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = code_sink.cpp; sourceTree = "<group>"; };
-		A943619E225FE723000DDF2C /* types.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = types.cpp; sourceTree = "<group>"; };
-		A943619F225FE723000DDF2C /* scalar_analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scalar_analysis.h; sourceTree = "<group>"; };
-		A94361A0225FE723000DDF2C /* strip_debug_info_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strip_debug_info_pass.h; sourceTree = "<group>"; };
-		A94361A1225FE723000DDF2C /* cfg.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cfg.cpp; sourceTree = "<group>"; };
-		A94361A2225FE723000DDF2C /* strip_atomic_counter_memory_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strip_atomic_counter_memory_pass.cpp; sourceTree = "<group>"; };
-		A94361A3225FE723000DDF2C /* decoration_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decoration_manager.cpp; sourceTree = "<group>"; };
-		A94361A4225FE723000DDF2C /* local_single_block_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_single_block_elim_pass.cpp; sourceTree = "<group>"; };
-		A94361A5225FE723000DDF2C /* freeze_spec_constant_value_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = freeze_spec_constant_value_pass.cpp; sourceTree = "<group>"; };
-		A94361A6225FE723000DDF2C /* replace_invalid_opc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = replace_invalid_opc.h; sourceTree = "<group>"; };
-		A94361A7225FE723000DDF2C /* local_access_chain_convert_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_access_chain_convert_pass.h; sourceTree = "<group>"; };
-		A94361A8225FE723000DDF2C /* inst_bindless_check_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inst_bindless_check_pass.cpp; sourceTree = "<group>"; };
-		A94361A9225FE723000DDF2C /* local_redundancy_elimination.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_redundancy_elimination.cpp; sourceTree = "<group>"; };
-		A94361AA225FE723000DDF2C /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
-		A94361AB225FE723000DDF2C /* instrument_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instrument_pass.cpp; sourceTree = "<group>"; };
-		A94361AC225FE723000DDF2C /* propagator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = propagator.h; sourceTree = "<group>"; };
-		A94361AD225FE723000DDF2C /* instruction_list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction_list.h; sourceTree = "<group>"; };
-		A94361AE225FE723000DDF2C /* feature_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = feature_manager.cpp; sourceTree = "<group>"; };
-		A94361AF225FE723000DDF2C /* pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pass.cpp; sourceTree = "<group>"; };
-		A94361B0225FE723000DDF2C /* loop_fission.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_fission.cpp; sourceTree = "<group>"; };
-		A94361B1225FE723000DDF2C /* dominator_tree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dominator_tree.cpp; sourceTree = "<group>"; };
-		A94361B2225FE723000DDF2C /* merge_return_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = merge_return_pass.cpp; sourceTree = "<group>"; };
-		A94361B3225FE723000DDF2C /* ir_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_context.h; sourceTree = "<group>"; };
-		A94361B4225FE723000DDF2C /* eliminate_dead_constant_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_constant_pass.cpp; sourceTree = "<group>"; };
-		A94361B5225FE723000DDF2C /* cfg_cleanup_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cfg_cleanup_pass.cpp; sourceTree = "<group>"; };
-		A94361B6225FE723000DDF2C /* const_folding_rules.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = const_folding_rules.cpp; sourceTree = "<group>"; };
-		A94361B7225FE723000DDF2C /* loop_unroller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_unroller.h; sourceTree = "<group>"; };
-		A94361B8225FE723000DDF2C /* strip_debug_info_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strip_debug_info_pass.cpp; sourceTree = "<group>"; };
-		A94361B9225FE723000DDF2C /* ssa_rewrite_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ssa_rewrite_pass.cpp; sourceTree = "<group>"; };
-		A94361BA225FE723000DDF2C /* loop_dependence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_dependence.cpp; sourceTree = "<group>"; };
-		A94361BB225FE723000DDF2C /* unify_const_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unify_const_pass.h; sourceTree = "<group>"; };
-		A94361BC225FE723000DDF2C /* ir_loader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_loader.h; sourceTree = "<group>"; };
-		A94361BD225FE723000DDF2C /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = "<group>"; };
-		A94361BE225FE723000DDF2C /* 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>"; };
-		A94361BF225FE723000DDF2C /* mem_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mem_pass.cpp; sourceTree = "<group>"; };
-		A94361C0225FE723000DDF2C /* basic_block.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = basic_block.h; sourceTree = "<group>"; };
-		A94361C1225FE723000DDF2C /* remove_duplicates_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_duplicates_pass.cpp; sourceTree = "<group>"; };
-		A94361C2225FE723000DDF2C /* dead_variable_elimination.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dead_variable_elimination.cpp; sourceTree = "<group>"; };
-		A94361C3225FE723000DDF2C /* block_merge_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_merge_pass.h; sourceTree = "<group>"; };
-		A94361C4225FE723000DDF2C /* module.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = module.cpp; sourceTree = "<group>"; };
-		A94361C5225FE723000DDF2C /* 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>"; };
-		A94361C6225FE723000DDF2C /* loop_unswitch_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_unswitch_pass.cpp; sourceTree = "<group>"; };
-		A94361C7225FE723000DDF2C /* unify_const_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unify_const_pass.cpp; sourceTree = "<group>"; };
-		A94361C8225FE723000DDF2C /* type_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = type_manager.cpp; sourceTree = "<group>"; };
-		A94361C9225FE723000DDF2C /* generate_webgpu_initializers_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = generate_webgpu_initializers_pass.cpp; sourceTree = "<group>"; };
-		A94361CA225FE723000DDF2C /* private_to_local_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = private_to_local_pass.h; sourceTree = "<group>"; };
-		A94361CB225FE723000DDF2C /* inline_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inline_pass.cpp; sourceTree = "<group>"; };
-		A94361CC225FE723000DDF2C /* def_use_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = def_use_manager.h; sourceTree = "<group>"; };
-		A94361CD225FE723000DDF2C /* ir_loader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_loader.cpp; sourceTree = "<group>"; };
-		A94361CE225FE723000DDF2C /* cfg_cleanup_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfg_cleanup_pass.h; sourceTree = "<group>"; };
-		A94361CF225FE723000DDF2C /* licm_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = licm_pass.cpp; sourceTree = "<group>"; };
-		A94361D0225FE723000DDF2C /* eliminate_dead_functions_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_functions_pass.cpp; sourceTree = "<group>"; };
-		A94361D1225FE723000DDF2C /* local_redundancy_elimination.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_redundancy_elimination.h; sourceTree = "<group>"; };
-		A94361D2225FE723000DDF2C /* loop_peeling.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_peeling.h; sourceTree = "<group>"; };
-		A94361D3225FE723000DDF2C /* vector_dce.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vector_dce.cpp; sourceTree = "<group>"; };
-		A94361D4225FE723000DDF2C /* block_merge_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_merge_util.h; sourceTree = "<group>"; };
-		A94361D5225FE723000DDF2C /* loop_unroller.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_unroller.cpp; sourceTree = "<group>"; };
-		A94361D6225FE723000DDF2C /* constants.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = constants.cpp; sourceTree = "<group>"; };
-		A94361D7225FE723000DDF2C /* loop_fusion_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_fusion_pass.h; sourceTree = "<group>"; };
-		A94361D8225FE723000DDF2C /* struct_cfg_analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = struct_cfg_analysis.h; sourceTree = "<group>"; };
-		A94361D9225FE723000DDF2C /* common_uniform_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = common_uniform_elim_pass.cpp; sourceTree = "<group>"; };
-		A94361DA225FE723000DDF2C /* def_use_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = def_use_manager.cpp; sourceTree = "<group>"; };
-		A94361DB225FE723000DDF2C /* strip_reflect_info_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strip_reflect_info_pass.cpp; sourceTree = "<group>"; };
-		A94361DC225FE723000DDF2C /* decoration_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoration_manager.h; sourceTree = "<group>"; };
-		A94361DD225FE723000DDF2C /* ccp_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ccp_pass.cpp; sourceTree = "<group>"; };
-		A94361DE225FE723000DDF2C /* process_lines_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = process_lines_pass.h; sourceTree = "<group>"; };
-		A94361DF225FE723000DDF2C /* local_single_block_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_single_block_elim_pass.h; sourceTree = "<group>"; };
-		A94361E0225FE723000DDF2C /* pch_source_opt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pch_source_opt.cpp; sourceTree = "<group>"; };
-		A94361E1225FE723000DDF2C /* strength_reduction_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strength_reduction_pass.h; sourceTree = "<group>"; };
-		A94361E2225FE723000DDF2C /* aggressive_dead_code_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aggressive_dead_code_elim_pass.cpp; sourceTree = "<group>"; };
-		A94361E3225FE723000DDF2C /* eliminate_dead_functions_util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_functions_util.cpp; sourceTree = "<group>"; };
-		A94361E4225FE723000DDF2C /* simplification_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = simplification_pass.cpp; sourceTree = "<group>"; };
-		A94361E5225FE723000DDF2C /* dead_branch_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dead_branch_elim_pass.cpp; sourceTree = "<group>"; };
-		A94361E6225FE723000DDF2C /* flatten_decoration_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = flatten_decoration_pass.cpp; sourceTree = "<group>"; };
-		A94361E7225FE723000DDF2C /* dead_insert_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dead_insert_elim_pass.h; sourceTree = "<group>"; };
-		A94361E8225FE723000DDF2C /* folding_rules.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = folding_rules.cpp; sourceTree = "<group>"; };
-		A94361E9225FE723000DDF2C /* freeze_spec_constant_value_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = freeze_spec_constant_value_pass.h; sourceTree = "<group>"; };
-		A94361EA225FE723000DDF2C /* ir_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_context.cpp; sourceTree = "<group>"; };
-		A94361EB225FE723000DDF2C /* instrument_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instrument_pass.h; sourceTree = "<group>"; };
-		A94361EC225FE723000DDF2C /* mem_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mem_pass.h; sourceTree = "<group>"; };
-		A94361ED225FE723000DDF2C /* loop_descriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_descriptor.cpp; sourceTree = "<group>"; };
-		A94361EE225FE723000DDF2C /* local_ssa_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_ssa_elim_pass.cpp; sourceTree = "<group>"; };
-		A94361EF225FE723000DDF2C /* eliminate_dead_members_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_members_pass.h; sourceTree = "<group>"; };
-		A94361F0225FE723000DDF2C /* function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = function.cpp; sourceTree = "<group>"; };
-		A94361F1225FE723000DDF2C /* instruction_list.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instruction_list.cpp; sourceTree = "<group>"; };
-		A94361F2225FE723000DDF2C /* composite.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = composite.cpp; sourceTree = "<group>"; };
-		A94361F3225FE723000DDF2C /* process_lines_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = process_lines_pass.cpp; sourceTree = "<group>"; };
-		A94361F4225FE723000DDF2C /* inline_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline_pass.h; sourceTree = "<group>"; };
-		A94361F5225FE723000DDF2C /* loop_dependence.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_dependence.h; sourceTree = "<group>"; };
-		A94361F6225FE723000DDF2C /* value_number_table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = value_number_table.h; sourceTree = "<group>"; };
-		A94361F7225FE723000DDF2C /* flatten_decoration_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = flatten_decoration_pass.h; sourceTree = "<group>"; };
-		A94361F8225FE723000DDF2C /* if_conversion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = if_conversion.cpp; sourceTree = "<group>"; };
-		A94361F9225FE723000DDF2C /* inline_exhaustive_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline_exhaustive_pass.h; sourceTree = "<group>"; };
-		A94361FA225FE723000DDF2C /* constants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = constants.h; sourceTree = "<group>"; };
-		A94361FB225FE723000DDF2C /* eliminate_dead_members_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_members_pass.cpp; sourceTree = "<group>"; };
-		A94361FC225FE723000DDF2C /* strength_reduction_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strength_reduction_pass.cpp; sourceTree = "<group>"; };
-		A94361FD225FE723000DDF2C /* block_merge_util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_merge_util.cpp; sourceTree = "<group>"; };
-		A94361FE225FE723000DDF2C /* upgrade_memory_model.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = upgrade_memory_model.h; sourceTree = "<group>"; };
-		A94361FF225FE723000DDF2C /* copy_prop_arrays.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = copy_prop_arrays.cpp; sourceTree = "<group>"; };
-		A9436200225FE723000DDF2C /* pass_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pass_manager.cpp; sourceTree = "<group>"; };
-		A9436201225FE723000DDF2C /* inline_exhaustive_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inline_exhaustive_pass.cpp; sourceTree = "<group>"; };
-		A9436202225FE723000DDF2C /* loop_fission.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_fission.h; sourceTree = "<group>"; };
-		A9436203225FE723000DDF2C /* workaround1209.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = workaround1209.h; sourceTree = "<group>"; };
-		A9436204225FE723000DDF2C /* loop_fusion_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_fusion_pass.cpp; sourceTree = "<group>"; };
-		A9436205225FE723000DDF2C /* log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = log.h; sourceTree = "<group>"; };
-		A9436206225FE723000DDF2C /* copy_prop_arrays.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = copy_prop_arrays.h; sourceTree = "<group>"; };
-		A9436207225FE723000DDF2C /* eliminate_dead_constant_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_constant_pass.h; sourceTree = "<group>"; };
-		A9436208225FE723000DDF2C /* dead_insert_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dead_insert_elim_pass.cpp; sourceTree = "<group>"; };
-		A9436209225FE723000DDF2C /* ssa_rewrite_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ssa_rewrite_pass.h; sourceTree = "<group>"; };
-		A943620A225FE723000DDF2C /* scalar_analysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scalar_analysis.cpp; sourceTree = "<group>"; };
-		A943620B225FE723000DDF2C /* dead_variable_elimination.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dead_variable_elimination.h; sourceTree = "<group>"; };
-		A943620C225FE723000DDF2C /* block_merge_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_merge_pass.cpp; sourceTree = "<group>"; };
-		A943620D225FE723000DDF2C /* dominator_analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dominator_analysis.h; sourceTree = "<group>"; };
-		A943620E225FE723000DDF2C /* pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pass.h; sourceTree = "<group>"; };
-		A943620F225FE723000DDF2C /* folding_rules.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = folding_rules.h; sourceTree = "<group>"; };
-		A9436210225FE723000DDF2C /* eliminate_dead_functions_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_functions_pass.h; sourceTree = "<group>"; };
-		A9436211225FE723000DDF2C /* common_uniform_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common_uniform_elim_pass.h; sourceTree = "<group>"; };
-		A9436212225FE723000DDF2C /* eliminate_dead_functions_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_functions_util.h; sourceTree = "<group>"; };
-		A9436213225FE723000DDF2C /* fold.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fold.h; sourceTree = "<group>"; };
-		A9436214225FE723000DDF2C /* local_single_store_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_single_store_elim_pass.cpp; sourceTree = "<group>"; };
-		A9436215225FE723000DDF2C /* dead_branch_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dead_branch_elim_pass.h; sourceTree = "<group>"; };
-		A9436216225FE723000DDF2C /* private_to_local_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = private_to_local_pass.cpp; sourceTree = "<group>"; };
-		A9436217225FE723000DDF2C /* scalar_analysis_nodes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scalar_analysis_nodes.h; sourceTree = "<group>"; };
-		A9436218225FE723000DDF2C /* propagator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = propagator.cpp; sourceTree = "<group>"; };
-		A9436219225FE723000DDF2C /* loop_dependence_helpers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_dependence_helpers.cpp; sourceTree = "<group>"; };
-		A943621A225FE723000DDF2C /* 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>"; };
-		A943621B225FE723000DDF2C /* passes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = passes.h; sourceTree = "<group>"; };
-		A943621C225FE723000DDF2C /* fold.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fold.cpp; sourceTree = "<group>"; };
-		A943621D225FE723000DDF2C /* strip_reflect_info_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strip_reflect_info_pass.h; sourceTree = "<group>"; };
-		A943621E225FE723000DDF2C /* scalar_replacement_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scalar_replacement_pass.cpp; sourceTree = "<group>"; };
-		A943621F225FE723000DDF2C /* simplification_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = simplification_pass.h; sourceTree = "<group>"; };
-		A9436220225FE723000DDF2C /* remove_duplicates_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_duplicates_pass.h; sourceTree = "<group>"; };
-		A9436221225FE723000DDF2C /* redundancy_elimination.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = redundancy_elimination.cpp; sourceTree = "<group>"; };
-		A9436222225FE723000DDF2C /* reflect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reflect.h; sourceTree = "<group>"; };
-		A9436223225FE723000DDF2C /* workaround1209.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = workaround1209.cpp; sourceTree = "<group>"; };
-		A9436224225FE723000DDF2C /* null_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = null_pass.h; sourceTree = "<group>"; };
-		A9436225225FE723000DDF2C /* const_folding_rules.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = const_folding_rules.h; sourceTree = "<group>"; };
-		A9436226225FE723000DDF2C /* scalar_replacement_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scalar_replacement_pass.h; sourceTree = "<group>"; };
-		A9436227225FE723000DDF2C /* instruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instruction.cpp; sourceTree = "<group>"; };
-		A9436228225FE723000DDF2C /* pch_source_opt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pch_source_opt.h; sourceTree = "<group>"; };
-		A9436229225FE723000DDF2C /* reduce_load_size.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduce_load_size.cpp; sourceTree = "<group>"; };
-		A943622A225FE723000DDF2C /* redundancy_elimination.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = redundancy_elimination.h; sourceTree = "<group>"; };
-		A943622B225FE723000DDF2C /* value_number_table.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = value_number_table.cpp; sourceTree = "<group>"; };
-		A943622C225FE723000DDF2C /* local_ssa_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_ssa_elim_pass.h; sourceTree = "<group>"; };
-		A943622D225FE723000DDF2C /* inline_opaque_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inline_opaque_pass.cpp; sourceTree = "<group>"; };
-		A943622E225FE723000DDF2C /* replace_invalid_opc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = replace_invalid_opc.cpp; sourceTree = "<group>"; };
-		A943622F225FE723000DDF2C /* loop_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_utils.h; sourceTree = "<group>"; };
-		A9436230225FE723000DDF2C /* module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = module.h; sourceTree = "<group>"; };
-		A9436231225FE723000DDF2C /* dominator_analysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dominator_analysis.cpp; sourceTree = "<group>"; };
-		A9436232225FE723000DDF2C /* ir_builder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_builder.h; sourceTree = "<group>"; };
-		A9436233225FE723000DDF2C /* loop_unswitch_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_unswitch_pass.h; sourceTree = "<group>"; };
-		A9436234225FE723000DDF2C /* cfg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfg.h; sourceTree = "<group>"; };
-		A9436235225FE723000DDF2C /* code_sink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = code_sink.h; sourceTree = "<group>"; };
-		A9436236225FE723000DDF2C /* loop_descriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_descriptor.h; sourceTree = "<group>"; };
-		A9436237225FE723000DDF2C /* generate_webgpu_initializers_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = generate_webgpu_initializers_pass.h; sourceTree = "<group>"; };
-		A9436238225FE723000DDF2C /* instruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction.h; sourceTree = "<group>"; };
-		A9436239225FE723000DDF2C /* aggressive_dead_code_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aggressive_dead_code_elim_pass.h; sourceTree = "<group>"; };
-		A943623A225FE723000DDF2C /* struct_cfg_analysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = struct_cfg_analysis.cpp; sourceTree = "<group>"; };
-		A943623B225FE723000DDF2C /* vector_dce.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vector_dce.h; sourceTree = "<group>"; };
-		A943623C225FE723000DDF2C /* combine_access_chains.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = combine_access_chains.h; sourceTree = "<group>"; };
-		A943623D225FE723000DDF2C /* pass_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pass_manager.h; sourceTree = "<group>"; };
-		A943623E225FE723000DDF2C /* local_access_chain_convert_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_access_chain_convert_pass.cpp; sourceTree = "<group>"; };
-		A943623F225FE723000DDF2C /* basic_block.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = basic_block.cpp; sourceTree = "<group>"; };
-		A9436240225FE723000DDF2C /* iterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iterator.h; sourceTree = "<group>"; };
-		A9436241225FE723000DDF2C /* licm_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = licm_pass.h; sourceTree = "<group>"; };
-		A9436242225FE723000DDF2C /* build_module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = build_module.h; sourceTree = "<group>"; };
-		A9436243225FE723000DDF2C /* ccp_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccp_pass.h; sourceTree = "<group>"; };
-		A9436244225FE723000DDF2C /* function.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = function.h; sourceTree = "<group>"; };
-		A9436245225FE723000DDF2C /* loop_fusion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_fusion.cpp; sourceTree = "<group>"; };
-		A9436246225FE723000DDF2C /* upgrade_memory_model.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = upgrade_memory_model.cpp; sourceTree = "<group>"; };
-		A9436247225FE723000DDF2C /* feature_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = feature_manager.h; sourceTree = "<group>"; };
-		A9436248225FE723000DDF2C /* inst_bindless_check_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inst_bindless_check_pass.h; sourceTree = "<group>"; };
-		A9436249225FE723000DDF2C /* scalar_analysis_simplification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scalar_analysis_simplification.cpp; sourceTree = "<group>"; };
-		A943624A225FE723000DDF2C /* 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>"; };
-		A943624B225FE723000DDF2C /* dominator_tree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dominator_tree.h; sourceTree = "<group>"; };
-		A943624C225FE723000DDF2C /* type_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = type_manager.h; sourceTree = "<group>"; };
-		A943624D225FE723000DDF2C /* compact_ids_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = compact_ids_pass.cpp; sourceTree = "<group>"; };
-		A943624E225FE723000DDF2C /* loop_peeling.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_peeling.cpp; sourceTree = "<group>"; };
-		A943624F225FE723000DDF2C /* table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = table.h; sourceTree = "<group>"; };
-		A9436250225FE723000DDF2C /* ext_inst.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ext_inst.h; sourceTree = "<group>"; };
-		A9436251225FE723000DDF2C /* diagnostic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = diagnostic.cpp; sourceTree = "<group>"; };
-		A9436252225FE723000DDF2C /* latest_version_spirv_header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = latest_version_spirv_header.h; sourceTree = "<group>"; };
-		A9436253225FE723000DDF2C /* libspirv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = libspirv.cpp; sourceTree = "<group>"; };
-		A9436254225FE723000DDF2C /* instruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction.h; sourceTree = "<group>"; };
-		A9436255225FE723000DDF2C /* id_descriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = id_descriptor.h; sourceTree = "<group>"; };
-		A9436256225FE723000DDF2C /* spirv_optimizer_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_optimizer_options.h; sourceTree = "<group>"; };
-		A9436257225FE723000DDF2C /* opcode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opcode.h; sourceTree = "<group>"; };
-		A9436258225FE723000DDF2C /* operand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = operand.cpp; sourceTree = "<group>"; };
-		A9436259225FE723000DDF2C /* 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>"; };
-		A943625A225FE723000DDF2C /* extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = extensions.h; sourceTree = "<group>"; };
-		A943625B225FE723000DDF2C /* disassemble.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = disassemble.cpp; sourceTree = "<group>"; };
-		A943625C225FE723000DDF2C /* binary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = binary.h; sourceTree = "<group>"; };
-		A943625D225FE723000DDF2C /* text_handler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = text_handler.cpp; sourceTree = "<group>"; };
-		A943625F225FE723000DDF2C /* validate_annotation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_annotation.cpp; sourceTree = "<group>"; };
-		A9436260225FE723000DDF2C /* validate_cfg.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_cfg.cpp; sourceTree = "<group>"; };
-		A9436261225FE723000DDF2C /* validate_capability.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_capability.cpp; sourceTree = "<group>"; };
-		A9436262225FE723000DDF2C /* construct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = construct.h; sourceTree = "<group>"; };
-		A9436263225FE723000DDF2C /* validate_barriers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_barriers.cpp; sourceTree = "<group>"; };
-		A9436264225FE723000DDF2C /* validate_non_uniform.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_non_uniform.cpp; sourceTree = "<group>"; };
-		A9436265225FE723000DDF2C /* validate_scopes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_scopes.cpp; sourceTree = "<group>"; };
-		A9436266225FE723000DDF2C /* validate_atomics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_atomics.cpp; sourceTree = "<group>"; };
-		A9436267225FE723000DDF2C /* basic_block.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = basic_block.h; sourceTree = "<group>"; };
-		A9436268225FE723000DDF2C /* validate_instruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_instruction.cpp; sourceTree = "<group>"; };
-		A9436269225FE723000DDF2C /* validate_decorations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_decorations.cpp; sourceTree = "<group>"; };
-		A943626A225FE723000DDF2C /* validate_debug.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_debug.cpp; sourceTree = "<group>"; };
-		A943626B225FE723000DDF2C /* validate_builtins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_builtins.cpp; sourceTree = "<group>"; };
-		A943626C225FE723000DDF2C /* validate_interfaces.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_interfaces.cpp; sourceTree = "<group>"; };
-		A943626D225FE723000DDF2C /* validate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate.cpp; sourceTree = "<group>"; };
-		A943626E225FE723000DDF2C /* validation_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validation_state.h; sourceTree = "<group>"; };
-		A943626F225FE723000DDF2C /* validate_constants.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_constants.cpp; sourceTree = "<group>"; };
-		A9436270225FE723000DDF2C /* validate_bitwise.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_bitwise.cpp; sourceTree = "<group>"; };
-		A9436271225FE723000DDF2C /* validate_extensions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_extensions.cpp; sourceTree = "<group>"; };
-		A9436272225FE723000DDF2C /* construct.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = construct.cpp; sourceTree = "<group>"; };
-		A9436273225FE723000DDF2C /* function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = function.cpp; sourceTree = "<group>"; };
-		A9436274225FE723000DDF2C /* validate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validate.h; sourceTree = "<group>"; };
-		A9436275225FE723000DDF2C /* validate_adjacency.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_adjacency.cpp; sourceTree = "<group>"; };
-		A9436276225FE723000DDF2C /* validate_conversion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_conversion.cpp; sourceTree = "<group>"; };
-		A9436277225FE723000DDF2C /* validate_datarules.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_datarules.cpp; sourceTree = "<group>"; };
-		A9436278225FE723000DDF2C /* validate_scopes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validate_scopes.h; sourceTree = "<group>"; };
-		A9436279225FE723000DDF2C /* validate_id.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_id.cpp; sourceTree = "<group>"; };
-		A943627A225FE723000DDF2C /* validate_memory_semantics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validate_memory_semantics.h; sourceTree = "<group>"; };
-		A943627B225FE723000DDF2C /* validate_arithmetics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_arithmetics.cpp; sourceTree = "<group>"; };
-		A943627C225FE723000DDF2C /* validate_mode_setting.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_mode_setting.cpp; sourceTree = "<group>"; };
-		A943627D225FE723000DDF2C /* validate_memory_semantics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_memory_semantics.cpp; sourceTree = "<group>"; };
-		A943627E225FE723000DDF2C /* validate_logicals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_logicals.cpp; sourceTree = "<group>"; };
-		A943627F225FE723000DDF2C /* validate_derivatives.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_derivatives.cpp; sourceTree = "<group>"; };
-		A9436280225FE723000DDF2C /* validate_memory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_memory.cpp; sourceTree = "<group>"; };
-		A9436281225FE723000DDF2C /* validate_image.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_image.cpp; sourceTree = "<group>"; };
-		A9436282225FE724000DDF2C /* validate_literals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_literals.cpp; sourceTree = "<group>"; };
-		A9436283225FE724000DDF2C /* instruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instruction.cpp; sourceTree = "<group>"; };
-		A9436284225FE724000DDF2C /* validate_type.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_type.cpp; sourceTree = "<group>"; };
-		A9436285225FE724000DDF2C /* instruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction.h; sourceTree = "<group>"; };
-		A9436286225FE724000DDF2C /* validate_execution_limitations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_execution_limitations.cpp; sourceTree = "<group>"; };
-		A9436287225FE724000DDF2C /* validate_layout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_layout.cpp; sourceTree = "<group>"; };
-		A9436288225FE724000DDF2C /* basic_block.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = basic_block.cpp; sourceTree = "<group>"; };
-		A9436289225FE724000DDF2C /* validate_function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_function.cpp; sourceTree = "<group>"; };
-		A943628A225FE724000DDF2C /* function.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = function.h; sourceTree = "<group>"; };
-		A943628B225FE724000DDF2C /* validate_composites.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_composites.cpp; sourceTree = "<group>"; };
-		A943628C225FE724000DDF2C /* validation_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validation_state.cpp; sourceTree = "<group>"; };
-		A943628D225FE724000DDF2C /* validate_primitives.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_primitives.cpp; sourceTree = "<group>"; };
-		A943628E225FE724000DDF2C /* decoration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoration.h; sourceTree = "<group>"; };
+		A94A673E22B17BBB00C661C6 /* spirv_target_env.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_target_env.cpp; sourceTree = "<group>"; };
+		A94A673F22B17BBB00C661C6 /* 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>"; };
+		A94A674022B17BBB00C661C6 /* spirv_fuzzer_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_fuzzer_options.h; sourceTree = "<group>"; };
+		A94A674122B17BBB00C661C6 /* assembly_grammar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = assembly_grammar.h; sourceTree = "<group>"; };
+		A94A674222B17BBB00C661C6 /* enum_set.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enum_set.h; sourceTree = "<group>"; };
+		A94A674322B17BBB00C661C6 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
+		A94A674422B17BBB00C661C6 /* extinst.spv-amd-shader-ballot.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "extinst.spv-amd-shader-ballot.grammar.json"; sourceTree = "<group>"; };
+		A94A674522B17BBB00C661C6 /* text.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = text.cpp; sourceTree = "<group>"; };
+		A94A674622B17BBB00C661C6 /* assembly_grammar.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = assembly_grammar.cpp; sourceTree = "<group>"; };
+		A94A674722B17BBB00C661C6 /* text.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = text.h; sourceTree = "<group>"; };
+		A94A674822B17BBB00C661C6 /* extensions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = extensions.cpp; sourceTree = "<group>"; };
+		A94A674922B17BBB00C661C6 /* pch_source.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pch_source.cpp; sourceTree = "<group>"; };
+		A94A674B22B17BBB00C661C6 /* parse_number.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = parse_number.h; sourceTree = "<group>"; };
+		A94A674C22B17BBB00C661C6 /* ilist_node.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ilist_node.h; sourceTree = "<group>"; };
+		A94A674D22B17BBB00C661C6 /* make_unique.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = make_unique.h; sourceTree = "<group>"; };
+		A94A674E22B17BBB00C661C6 /* string_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = string_utils.h; sourceTree = "<group>"; };
+		A94A674F22B17BBB00C661C6 /* small_vector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = small_vector.h; sourceTree = "<group>"; };
+		A94A675022B17BBB00C661C6 /* timer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = timer.cpp; sourceTree = "<group>"; };
+		A94A675122B17BBB00C661C6 /* timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = timer.h; sourceTree = "<group>"; };
+		A94A675222B17BBB00C661C6 /* string_utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = string_utils.cpp; sourceTree = "<group>"; };
+		A94A675322B17BBB00C661C6 /* bit_vector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bit_vector.h; sourceTree = "<group>"; };
+		A94A675422B17BBB00C661C6 /* bitutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bitutils.h; sourceTree = "<group>"; };
+		A94A675522B17BBB00C661C6 /* hex_float.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hex_float.h; sourceTree = "<group>"; };
+		A94A675622B17BBB00C661C6 /* parse_number.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parse_number.cpp; sourceTree = "<group>"; };
+		A94A675722B17BBB00C661C6 /* bit_vector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bit_vector.cpp; sourceTree = "<group>"; };
+		A94A675822B17BBB00C661C6 /* ilist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ilist.h; sourceTree = "<group>"; };
+		A94A675922B17BBB00C661C6 /* spirv_target_env.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_target_env.h; sourceTree = "<group>"; };
+		A94A675A22B17BBB00C661C6 /* table.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = table.cpp; sourceTree = "<group>"; };
+		A94A675C22B17BBB00C661C6 /* 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>"; };
+		A94A675D22B17BBB00C661C6 /* remove_selection_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_selection_reduction_opportunity.cpp; sourceTree = "<group>"; };
+		A94A675E22B17BBB00C661C6 /* remove_block_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_block_reduction_opportunity.h; sourceTree = "<group>"; };
+		A94A675F22B17BBB00C661C6 /* 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>"; };
+		A94A676022B17BBB00C661C6 /* reduction_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduction_pass.cpp; sourceTree = "<group>"; };
+		A94A676122B17BBB00C661C6 /* 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>"; };
+		A94A676222B17BBB00C661C6 /* 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>"; };
+		A94A676322B17BBB00C661C6 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
+		A94A676422B17BBB00C661C6 /* reduction_util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduction_util.cpp; sourceTree = "<group>"; };
+		A94A676522B17BBB00C661C6 /* 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>"; };
+		A94A676622B17BBB00C661C6 /* 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>"; };
+		A94A676722B17BBB00C661C6 /* remove_function_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_function_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
+		A94A676822B17BBB00C661C6 /* remove_instruction_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_instruction_reduction_opportunity.h; sourceTree = "<group>"; };
+		A94A676922B17BBB00C661C6 /* 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>"; };
+		A94A676A22B17BBB00C661C6 /* 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>"; };
+		A94A676B22B17BBB00C661C6 /* remove_function_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_function_reduction_opportunity.cpp; sourceTree = "<group>"; };
+		A94A676C22B17BBB00C661C6 /* 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>"; };
+		A94A676D22B17BBB00C661C6 /* 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>"; };
+		A94A676E22B17BBB00C661C6 /* remove_selection_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_selection_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
+		A94A676F22B17BBB00C661C6 /* 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>"; };
+		A94A677022B17BBB00C661C6 /* 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>"; };
+		A94A677122B17BBB00C661C6 /* merge_blocks_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = merge_blocks_reduction_opportunity.cpp; sourceTree = "<group>"; };
+		A94A677222B17BBB00C661C6 /* change_operand_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = change_operand_reduction_opportunity.cpp; sourceTree = "<group>"; };
+		A94A677322B17BBB00C661C6 /* 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>"; };
+		A94A677422B17BBB00C661C6 /* remove_function_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_function_reduction_opportunity.h; sourceTree = "<group>"; };
+		A94A677522B17BBB00C661C6 /* 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>"; };
+		A94A677622B17BBB00C661C6 /* 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>"; };
+		A94A677722B17BBB00C661C6 /* 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>"; };
+		A94A677822B17BBB00C661C6 /* remove_selection_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_selection_reduction_opportunity.h; sourceTree = "<group>"; };
+		A94A677922B17BBB00C661C6 /* remove_instruction_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_instruction_reduction_opportunity.cpp; sourceTree = "<group>"; };
+		A94A677A22B17BBB00C661C6 /* remove_selection_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_selection_reduction_opportunity_finder.h; sourceTree = "<group>"; };
+		A94A677B22B17BBB00C661C6 /* merge_blocks_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = merge_blocks_reduction_opportunity_finder.h; sourceTree = "<group>"; };
+		A94A677C22B17BBB00C661C6 /* 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>"; };
+		A94A677D22B17BBB00C661C6 /* pch_source_reduce.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pch_source_reduce.cpp; sourceTree = "<group>"; };
+		A94A677E22B17BBB00C661C6 /* reducer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reducer.cpp; sourceTree = "<group>"; };
+		A94A677F22B17BBB00C661C6 /* 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>"; };
+		A94A678022B17BBB00C661C6 /* remove_function_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_function_reduction_opportunity_finder.h; sourceTree = "<group>"; };
+		A94A678122B17BBB00C661C6 /* pch_source_reduce.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pch_source_reduce.h; sourceTree = "<group>"; };
+		A94A678222B17BBB00C661C6 /* 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>"; };
+		A94A678322B17BBB00C661C6 /* merge_blocks_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = merge_blocks_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
+		A94A678422B17BBB00C661C6 /* reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduction_opportunity.cpp; sourceTree = "<group>"; };
+		A94A678522B17BBB00C661C6 /* reducer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reducer.h; sourceTree = "<group>"; };
+		A94A678622B17BBB00C661C6 /* 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>"; };
+		A94A678722B17BBB00C661C6 /* reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduction_opportunity.h; sourceTree = "<group>"; };
+		A94A678822B17BBB00C661C6 /* 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>"; };
+		A94A678922B17BBB00C661C6 /* 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>"; };
+		A94A678A22B17BBB00C661C6 /* reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduction_opportunity_finder.h; sourceTree = "<group>"; };
+		A94A678B22B17BBB00C661C6 /* change_operand_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = change_operand_reduction_opportunity.h; sourceTree = "<group>"; };
+		A94A678C22B17BBB00C661C6 /* remove_block_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_block_reduction_opportunity_finder.h; sourceTree = "<group>"; };
+		A94A678D22B17BBB00C661C6 /* remove_block_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_block_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
+		A94A678E22B17BBB00C661C6 /* reduction_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduction_util.h; sourceTree = "<group>"; };
+		A94A678F22B17BBB00C661C6 /* merge_blocks_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = merge_blocks_reduction_opportunity.h; sourceTree = "<group>"; };
+		A94A679022B17BBB00C661C6 /* 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>"; };
+		A94A679122B17BBB00C661C6 /* 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>"; };
+		A94A679222B17BBB00C661C6 /* remove_block_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_block_reduction_opportunity.cpp; sourceTree = "<group>"; };
+		A94A679322B17BBB00C661C6 /* reduction_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduction_pass.h; sourceTree = "<group>"; };
+		A94A679422B17BBB00C661C6 /* latest_version_opencl_std_header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = latest_version_opencl_std_header.h; sourceTree = "<group>"; };
+		A94A679522B17BBB00C661C6 /* spirv_optimizer_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_optimizer_options.cpp; sourceTree = "<group>"; };
+		A94A679622B17BBB00C661C6 /* cfa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfa.h; sourceTree = "<group>"; };
+		A94A679722B17BBB00C661C6 /* pch_source.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pch_source.h; sourceTree = "<group>"; };
+		A94A679822B17BBB00C661C6 /* enum_string_mapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enum_string_mapping.h; sourceTree = "<group>"; };
+		A94A679922B17BBB00C661C6 /* spirv_fuzzer_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_fuzzer_options.cpp; sourceTree = "<group>"; };
+		A94A679A22B17BBB00C661C6 /* spirv_reducer_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_reducer_options.h; sourceTree = "<group>"; };
+		A94A679B22B17BBB00C661C6 /* spirv_validator_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_validator_options.cpp; sourceTree = "<group>"; };
+		A94A679C22B17BBB00C661C6 /* 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>"; };
+		A94A679D22B17BBB00C661C6 /* print.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = print.cpp; sourceTree = "<group>"; };
+		A94A679E22B17BBB00C661C6 /* spirv_definition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_definition.h; sourceTree = "<group>"; };
+		A94A679F22B17BBB00C661C6 /* operand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = operand.h; sourceTree = "<group>"; };
+		A94A67A022B17BBB00C661C6 /* spirv_endian.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_endian.cpp; sourceTree = "<group>"; };
+		A94A67A122B17BBB00C661C6 /* macro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = macro.h; sourceTree = "<group>"; };
+		A94A67A222B17BBB00C661C6 /* spirv_constant.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_constant.h; sourceTree = "<group>"; };
+		A94A67A322B17BBB00C661C6 /* extinst.spv-amd-gcn-shader.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "extinst.spv-amd-gcn-shader.grammar.json"; sourceTree = "<group>"; };
+		A94A67A422B17BBB00C661C6 /* binary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = binary.cpp; sourceTree = "<group>"; };
+		A94A67A522B17BBB00C661C6 /* spirv_validator_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_validator_options.h; sourceTree = "<group>"; };
+		A94A67A622B17BBB00C661C6 /* enum_string_mapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = enum_string_mapping.cpp; sourceTree = "<group>"; };
+		A94A67A722B17BBB00C661C6 /* text_handler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = text_handler.h; sourceTree = "<group>"; };
+		A94A67A822B17BBB00C661C6 /* parsed_operand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = parsed_operand.h; sourceTree = "<group>"; };
+		A94A67A922B17BBB00C661C6 /* name_mapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = name_mapper.h; sourceTree = "<group>"; };
+		A94A67AA22B17BBB00C661C6 /* spirv_reducer_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_reducer_options.cpp; sourceTree = "<group>"; };
+		A94A67AB22B17BBB00C661C6 /* parsed_operand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parsed_operand.cpp; sourceTree = "<group>"; };
+		A94A67AC22B17BBB00C661C6 /* diagnostic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = diagnostic.h; sourceTree = "<group>"; };
+		A94A67AD22B17BBB00C661C6 /* spirv_endian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_endian.h; sourceTree = "<group>"; };
+		A94A67AE22B17BBB00C661C6 /* name_mapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = name_mapper.cpp; sourceTree = "<group>"; };
+		A94A67AF22B17BBB00C661C6 /* extinst.debuginfo.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = extinst.debuginfo.grammar.json; sourceTree = "<group>"; };
+		A94A67B122B17BBB00C661C6 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
+		A94A67B222B17BBB00C661C6 /* linker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = linker.cpp; sourceTree = "<group>"; };
+		A94A67B322B17BBB00C661C6 /* software_version.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = software_version.cpp; sourceTree = "<group>"; };
+		A94A67B422B17BBB00C661C6 /* opcode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opcode.cpp; sourceTree = "<group>"; };
+		A94A67B522B17BBB00C661C6 /* print.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = print.h; sourceTree = "<group>"; };
+		A94A67B622B17BBB00C661C6 /* ext_inst.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ext_inst.cpp; sourceTree = "<group>"; };
+		A94A67B722B17BBB00C661C6 /* disassemble.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = disassemble.h; sourceTree = "<group>"; };
+		A94A67B922B17BBB00C661C6 /* optimizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = optimizer.cpp; sourceTree = "<group>"; };
+		A94A67BA22B17BBB00C661C6 /* if_conversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = if_conversion.h; sourceTree = "<group>"; };
+		A94A67BB22B17BBB00C661C6 /* register_pressure.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = register_pressure.cpp; sourceTree = "<group>"; };
+		A94A67BC22B17BBB00C661C6 /* loop_utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_utils.cpp; sourceTree = "<group>"; };
+		A94A67BD22B17BBB00C661C6 /* merge_return_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = merge_return_pass.h; sourceTree = "<group>"; };
+		A94A67BE22B17BBB00C661C6 /* inline_opaque_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline_opaque_pass.h; sourceTree = "<group>"; };
+		A94A67BF22B17BBB00C661C6 /* loop_fusion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_fusion.h; sourceTree = "<group>"; };
+		A94A67C022B17BBB00C661C6 /* combine_access_chains.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = combine_access_chains.cpp; sourceTree = "<group>"; };
+		A94A67C122B17BBB00C661C6 /* build_module.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = build_module.cpp; sourceTree = "<group>"; };
+		A94A67C222B17BBB00C661C6 /* composite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = composite.h; sourceTree = "<group>"; };
+		A94A67C322B17BBB00C661C6 /* compact_ids_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = compact_ids_pass.h; sourceTree = "<group>"; };
+		A94A67C422B17BBB00C661C6 /* register_pressure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = register_pressure.h; sourceTree = "<group>"; };
+		A94A67C522B17BBB00C661C6 /* tree_iterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tree_iterator.h; sourceTree = "<group>"; };
+		A94A67C622B17BBB00C661C6 /* strip_atomic_counter_memory_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strip_atomic_counter_memory_pass.h; sourceTree = "<group>"; };
+		A94A67C722B17BBB00C661C6 /* legalize_vector_shuffle_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = legalize_vector_shuffle_pass.h; sourceTree = "<group>"; };
+		A94A67C822B17BBB00C661C6 /* local_single_store_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_single_store_elim_pass.h; sourceTree = "<group>"; };
+		A94A67C922B17BBB00C661C6 /* reduce_load_size.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduce_load_size.h; sourceTree = "<group>"; };
+		A94A67CA22B17BBB00C661C6 /* code_sink.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = code_sink.cpp; sourceTree = "<group>"; };
+		A94A67CB22B17BBB00C661C6 /* types.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = types.cpp; sourceTree = "<group>"; };
+		A94A67CC22B17BBB00C661C6 /* scalar_analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scalar_analysis.h; sourceTree = "<group>"; };
+		A94A67CD22B17BBB00C661C6 /* strip_debug_info_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strip_debug_info_pass.h; sourceTree = "<group>"; };
+		A94A67CE22B17BBB00C661C6 /* cfg.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cfg.cpp; sourceTree = "<group>"; };
+		A94A67CF22B17BBB00C661C6 /* strip_atomic_counter_memory_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strip_atomic_counter_memory_pass.cpp; sourceTree = "<group>"; };
+		A94A67D022B17BBB00C661C6 /* decoration_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decoration_manager.cpp; sourceTree = "<group>"; };
+		A94A67D122B17BBB00C661C6 /* local_single_block_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_single_block_elim_pass.cpp; sourceTree = "<group>"; };
+		A94A67D222B17BBB00C661C6 /* freeze_spec_constant_value_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = freeze_spec_constant_value_pass.cpp; sourceTree = "<group>"; };
+		A94A67D322B17BBB00C661C6 /* replace_invalid_opc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = replace_invalid_opc.h; sourceTree = "<group>"; };
+		A94A67D422B17BBB00C661C6 /* local_access_chain_convert_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_access_chain_convert_pass.h; sourceTree = "<group>"; };
+		A94A67D522B17BBB00C661C6 /* inst_bindless_check_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inst_bindless_check_pass.cpp; sourceTree = "<group>"; };
+		A94A67D622B17BBB00C661C6 /* local_redundancy_elimination.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_redundancy_elimination.cpp; sourceTree = "<group>"; };
+		A94A67D722B17BBB00C661C6 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
+		A94A67D822B17BBB00C661C6 /* instrument_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instrument_pass.cpp; sourceTree = "<group>"; };
+		A94A67D922B17BBB00C661C6 /* propagator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = propagator.h; sourceTree = "<group>"; };
+		A94A67DA22B17BBB00C661C6 /* instruction_list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction_list.h; sourceTree = "<group>"; };
+		A94A67DB22B17BBB00C661C6 /* feature_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = feature_manager.cpp; sourceTree = "<group>"; };
+		A94A67DC22B17BBB00C661C6 /* pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pass.cpp; sourceTree = "<group>"; };
+		A94A67DD22B17BBB00C661C6 /* loop_fission.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_fission.cpp; sourceTree = "<group>"; };
+		A94A67DE22B17BBB00C661C6 /* dominator_tree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dominator_tree.cpp; sourceTree = "<group>"; };
+		A94A67DF22B17BBB00C661C6 /* merge_return_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = merge_return_pass.cpp; sourceTree = "<group>"; };
+		A94A67E022B17BBB00C661C6 /* ir_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_context.h; sourceTree = "<group>"; };
+		A94A67E122B17BBB00C661C6 /* eliminate_dead_constant_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_constant_pass.cpp; sourceTree = "<group>"; };
+		A94A67E222B17BBB00C661C6 /* cfg_cleanup_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cfg_cleanup_pass.cpp; sourceTree = "<group>"; };
+		A94A67E322B17BBB00C661C6 /* const_folding_rules.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = const_folding_rules.cpp; sourceTree = "<group>"; };
+		A94A67E422B17BBB00C661C6 /* loop_unroller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_unroller.h; sourceTree = "<group>"; };
+		A94A67E522B17BBB00C661C6 /* strip_debug_info_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strip_debug_info_pass.cpp; sourceTree = "<group>"; };
+		A94A67E622B17BBB00C661C6 /* ssa_rewrite_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ssa_rewrite_pass.cpp; sourceTree = "<group>"; };
+		A94A67E722B17BBB00C661C6 /* loop_dependence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_dependence.cpp; sourceTree = "<group>"; };
+		A94A67E822B17BBB00C661C6 /* unify_const_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unify_const_pass.h; sourceTree = "<group>"; };
+		A94A67E922B17BBB00C661C6 /* ir_loader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_loader.h; sourceTree = "<group>"; };
+		A94A67EA22B17BBB00C661C6 /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = "<group>"; };
+		A94A67EB22B17BBB00C661C6 /* 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>"; };
+		A94A67EC22B17BBB00C661C6 /* mem_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mem_pass.cpp; sourceTree = "<group>"; };
+		A94A67ED22B17BBB00C661C6 /* basic_block.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = basic_block.h; sourceTree = "<group>"; };
+		A94A67EE22B17BBB00C661C6 /* remove_duplicates_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_duplicates_pass.cpp; sourceTree = "<group>"; };
+		A94A67EF22B17BBB00C661C6 /* dead_variable_elimination.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dead_variable_elimination.cpp; sourceTree = "<group>"; };
+		A94A67F022B17BBB00C661C6 /* block_merge_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_merge_pass.h; sourceTree = "<group>"; };
+		A94A67F122B17BBB00C661C6 /* module.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = module.cpp; sourceTree = "<group>"; };
+		A94A67F222B17BBB00C661C6 /* 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>"; };
+		A94A67F322B17BBB00C661C6 /* loop_unswitch_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_unswitch_pass.cpp; sourceTree = "<group>"; };
+		A94A67F422B17BBB00C661C6 /* unify_const_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unify_const_pass.cpp; sourceTree = "<group>"; };
+		A94A67F522B17BBB00C661C6 /* type_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = type_manager.cpp; sourceTree = "<group>"; };
+		A94A67F622B17BBB00C661C6 /* generate_webgpu_initializers_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = generate_webgpu_initializers_pass.cpp; sourceTree = "<group>"; };
+		A94A67F722B17BBB00C661C6 /* private_to_local_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = private_to_local_pass.h; sourceTree = "<group>"; };
+		A94A67F822B17BBB00C661C6 /* inline_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inline_pass.cpp; sourceTree = "<group>"; };
+		A94A67F922B17BBB00C661C6 /* def_use_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = def_use_manager.h; sourceTree = "<group>"; };
+		A94A67FA22B17BBB00C661C6 /* ir_loader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_loader.cpp; sourceTree = "<group>"; };
+		A94A67FB22B17BBB00C661C6 /* cfg_cleanup_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfg_cleanup_pass.h; sourceTree = "<group>"; };
+		A94A67FC22B17BBB00C661C6 /* licm_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = licm_pass.cpp; sourceTree = "<group>"; };
+		A94A67FD22B17BBB00C661C6 /* eliminate_dead_functions_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_functions_pass.cpp; sourceTree = "<group>"; };
+		A94A67FE22B17BBB00C661C6 /* local_redundancy_elimination.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_redundancy_elimination.h; sourceTree = "<group>"; };
+		A94A67FF22B17BBB00C661C6 /* split_invalid_unreachable_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = split_invalid_unreachable_pass.cpp; sourceTree = "<group>"; };
+		A94A680022B17BBB00C661C6 /* loop_peeling.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_peeling.h; sourceTree = "<group>"; };
+		A94A680122B17BBB00C661C6 /* vector_dce.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vector_dce.cpp; sourceTree = "<group>"; };
+		A94A680222B17BBB00C661C6 /* block_merge_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_merge_util.h; sourceTree = "<group>"; };
+		A94A680322B17BBB00C661C6 /* loop_unroller.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_unroller.cpp; sourceTree = "<group>"; };
+		A94A680422B17BBB00C661C6 /* constants.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = constants.cpp; sourceTree = "<group>"; };
+		A94A680522B17BBB00C661C6 /* loop_fusion_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_fusion_pass.h; sourceTree = "<group>"; };
+		A94A680622B17BBB00C661C6 /* struct_cfg_analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = struct_cfg_analysis.h; sourceTree = "<group>"; };
+		A94A680722B17BBB00C661C6 /* common_uniform_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = common_uniform_elim_pass.cpp; sourceTree = "<group>"; };
+		A94A680822B17BBB00C661C6 /* def_use_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = def_use_manager.cpp; sourceTree = "<group>"; };
+		A94A680922B17BBB00C661C6 /* strip_reflect_info_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strip_reflect_info_pass.cpp; sourceTree = "<group>"; };
+		A94A680A22B17BBB00C661C6 /* decoration_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoration_manager.h; sourceTree = "<group>"; };
+		A94A680B22B17BBB00C661C6 /* ccp_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ccp_pass.cpp; sourceTree = "<group>"; };
+		A94A680C22B17BBB00C661C6 /* process_lines_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = process_lines_pass.h; sourceTree = "<group>"; };
+		A94A680D22B17BBB00C661C6 /* local_single_block_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_single_block_elim_pass.h; sourceTree = "<group>"; };
+		A94A680E22B17BBB00C661C6 /* pch_source_opt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pch_source_opt.cpp; sourceTree = "<group>"; };
+		A94A680F22B17BBB00C661C6 /* strength_reduction_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strength_reduction_pass.h; sourceTree = "<group>"; };
+		A94A681022B17BBB00C661C6 /* aggressive_dead_code_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aggressive_dead_code_elim_pass.cpp; sourceTree = "<group>"; };
+		A94A681122B17BBB00C661C6 /* eliminate_dead_functions_util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_functions_util.cpp; sourceTree = "<group>"; };
+		A94A681222B17BBB00C661C6 /* simplification_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = simplification_pass.cpp; sourceTree = "<group>"; };
+		A94A681322B17BBB00C661C6 /* dead_branch_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dead_branch_elim_pass.cpp; sourceTree = "<group>"; };
+		A94A681422B17BBB00C661C6 /* flatten_decoration_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = flatten_decoration_pass.cpp; sourceTree = "<group>"; };
+		A94A681522B17BBB00C661C6 /* dead_insert_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dead_insert_elim_pass.h; sourceTree = "<group>"; };
+		A94A681622B17BBB00C661C6 /* folding_rules.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = folding_rules.cpp; sourceTree = "<group>"; };
+		A94A681722B17BBB00C661C6 /* freeze_spec_constant_value_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = freeze_spec_constant_value_pass.h; sourceTree = "<group>"; };
+		A94A681822B17BBB00C661C6 /* ir_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_context.cpp; sourceTree = "<group>"; };
+		A94A681922B17BBB00C661C6 /* instrument_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instrument_pass.h; sourceTree = "<group>"; };
+		A94A681A22B17BBB00C661C6 /* mem_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mem_pass.h; sourceTree = "<group>"; };
+		A94A681B22B17BBB00C661C6 /* loop_descriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_descriptor.cpp; sourceTree = "<group>"; };
+		A94A681C22B17BBB00C661C6 /* local_ssa_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_ssa_elim_pass.cpp; sourceTree = "<group>"; };
+		A94A681D22B17BBB00C661C6 /* eliminate_dead_members_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_members_pass.h; sourceTree = "<group>"; };
+		A94A681E22B17BBB00C661C6 /* function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = function.cpp; sourceTree = "<group>"; };
+		A94A681F22B17BBB00C661C6 /* instruction_list.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instruction_list.cpp; sourceTree = "<group>"; };
+		A94A682022B17BBB00C661C6 /* composite.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = composite.cpp; sourceTree = "<group>"; };
+		A94A682122B17BBB00C661C6 /* process_lines_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = process_lines_pass.cpp; sourceTree = "<group>"; };
+		A94A682222B17BBB00C661C6 /* inline_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline_pass.h; sourceTree = "<group>"; };
+		A94A682322B17BBB00C661C6 /* loop_dependence.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_dependence.h; sourceTree = "<group>"; };
+		A94A682422B17BBB00C661C6 /* value_number_table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = value_number_table.h; sourceTree = "<group>"; };
+		A94A682522B17BBB00C661C6 /* flatten_decoration_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = flatten_decoration_pass.h; sourceTree = "<group>"; };
+		A94A682622B17BBB00C661C6 /* if_conversion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = if_conversion.cpp; sourceTree = "<group>"; };
+		A94A682722B17BBB00C661C6 /* inline_exhaustive_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline_exhaustive_pass.h; sourceTree = "<group>"; };
+		A94A682822B17BBB00C661C6 /* constants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = constants.h; sourceTree = "<group>"; };
+		A94A682922B17BBB00C661C6 /* eliminate_dead_members_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_members_pass.cpp; sourceTree = "<group>"; };
+		A94A682A22B17BBB00C661C6 /* strength_reduction_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strength_reduction_pass.cpp; sourceTree = "<group>"; };
+		A94A682B22B17BBB00C661C6 /* block_merge_util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_merge_util.cpp; sourceTree = "<group>"; };
+		A94A682C22B17BBB00C661C6 /* upgrade_memory_model.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = upgrade_memory_model.h; sourceTree = "<group>"; };
+		A94A682D22B17BBB00C661C6 /* copy_prop_arrays.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = copy_prop_arrays.cpp; sourceTree = "<group>"; };
+		A94A682E22B17BBB00C661C6 /* pass_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pass_manager.cpp; sourceTree = "<group>"; };
+		A94A682F22B17BBB00C661C6 /* inline_exhaustive_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inline_exhaustive_pass.cpp; sourceTree = "<group>"; };
+		A94A683022B17BBB00C661C6 /* loop_fission.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_fission.h; sourceTree = "<group>"; };
+		A94A683122B17BBB00C661C6 /* workaround1209.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = workaround1209.h; sourceTree = "<group>"; };
+		A94A683222B17BBB00C661C6 /* loop_fusion_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_fusion_pass.cpp; sourceTree = "<group>"; };
+		A94A683322B17BBB00C661C6 /* log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = log.h; sourceTree = "<group>"; };
+		A94A683422B17BBB00C661C6 /* split_invalid_unreachable_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = split_invalid_unreachable_pass.h; sourceTree = "<group>"; };
+		A94A683522B17BBB00C661C6 /* copy_prop_arrays.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = copy_prop_arrays.h; sourceTree = "<group>"; };
+		A94A683622B17BBB00C661C6 /* eliminate_dead_constant_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_constant_pass.h; sourceTree = "<group>"; };
+		A94A683722B17BBB00C661C6 /* dead_insert_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dead_insert_elim_pass.cpp; sourceTree = "<group>"; };
+		A94A683822B17BBB00C661C6 /* ssa_rewrite_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ssa_rewrite_pass.h; sourceTree = "<group>"; };
+		A94A683922B17BBB00C661C6 /* scalar_analysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scalar_analysis.cpp; sourceTree = "<group>"; };
+		A94A683A22B17BBB00C661C6 /* dead_variable_elimination.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dead_variable_elimination.h; sourceTree = "<group>"; };
+		A94A683B22B17BBB00C661C6 /* block_merge_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_merge_pass.cpp; sourceTree = "<group>"; };
+		A94A683C22B17BBB00C661C6 /* dominator_analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dominator_analysis.h; sourceTree = "<group>"; };
+		A94A683D22B17BBB00C661C6 /* pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pass.h; sourceTree = "<group>"; };
+		A94A683E22B17BBB00C661C6 /* folding_rules.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = folding_rules.h; sourceTree = "<group>"; };
+		A94A683F22B17BBB00C661C6 /* eliminate_dead_functions_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_functions_pass.h; sourceTree = "<group>"; };
+		A94A684022B17BBB00C661C6 /* common_uniform_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common_uniform_elim_pass.h; sourceTree = "<group>"; };
+		A94A684122B17BBB00C661C6 /* eliminate_dead_functions_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_functions_util.h; sourceTree = "<group>"; };
+		A94A684222B17BBB00C661C6 /* fold.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fold.h; sourceTree = "<group>"; };
+		A94A684322B17BBB00C661C6 /* local_single_store_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_single_store_elim_pass.cpp; sourceTree = "<group>"; };
+		A94A684422B17BBB00C661C6 /* dead_branch_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dead_branch_elim_pass.h; sourceTree = "<group>"; };
+		A94A684522B17BBB00C661C6 /* private_to_local_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = private_to_local_pass.cpp; sourceTree = "<group>"; };
+		A94A684622B17BBB00C661C6 /* scalar_analysis_nodes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scalar_analysis_nodes.h; sourceTree = "<group>"; };
+		A94A684722B17BBB00C661C6 /* propagator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = propagator.cpp; sourceTree = "<group>"; };
+		A94A684822B17BBB00C661C6 /* fix_storage_class.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fix_storage_class.h; sourceTree = "<group>"; };
+		A94A684922B17BBB00C661C6 /* loop_dependence_helpers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_dependence_helpers.cpp; sourceTree = "<group>"; };
+		A94A684A22B17BBB00C661C6 /* 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>"; };
+		A94A684B22B17BBB00C661C6 /* passes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = passes.h; sourceTree = "<group>"; };
+		A94A684C22B17BBB00C661C6 /* fold.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fold.cpp; sourceTree = "<group>"; };
+		A94A684D22B17BBB00C661C6 /* strip_reflect_info_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strip_reflect_info_pass.h; sourceTree = "<group>"; };
+		A94A684E22B17BBB00C661C6 /* scalar_replacement_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scalar_replacement_pass.cpp; sourceTree = "<group>"; };
+		A94A684F22B17BBB00C661C6 /* simplification_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = simplification_pass.h; sourceTree = "<group>"; };
+		A94A685022B17BBB00C661C6 /* remove_duplicates_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_duplicates_pass.h; sourceTree = "<group>"; };
+		A94A685122B17BBB00C661C6 /* redundancy_elimination.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = redundancy_elimination.cpp; sourceTree = "<group>"; };
+		A94A685222B17BBB00C661C6 /* reflect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reflect.h; sourceTree = "<group>"; };
+		A94A685322B17BBB00C661C6 /* workaround1209.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = workaround1209.cpp; sourceTree = "<group>"; };
+		A94A685422B17BBB00C661C6 /* null_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = null_pass.h; sourceTree = "<group>"; };
+		A94A685522B17BBB00C661C6 /* const_folding_rules.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = const_folding_rules.h; sourceTree = "<group>"; };
+		A94A685622B17BBB00C661C6 /* scalar_replacement_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scalar_replacement_pass.h; sourceTree = "<group>"; };
+		A94A685722B17BBB00C661C6 /* instruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instruction.cpp; sourceTree = "<group>"; };
+		A94A685822B17BBB00C661C6 /* pch_source_opt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pch_source_opt.h; sourceTree = "<group>"; };
+		A94A685922B17BBB00C661C6 /* reduce_load_size.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduce_load_size.cpp; sourceTree = "<group>"; };
+		A94A685A22B17BBB00C661C6 /* redundancy_elimination.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = redundancy_elimination.h; sourceTree = "<group>"; };
+		A94A685B22B17BBB00C661C6 /* fix_storage_class.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fix_storage_class.cpp; sourceTree = "<group>"; };
+		A94A685C22B17BBB00C661C6 /* value_number_table.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = value_number_table.cpp; sourceTree = "<group>"; };
+		A94A685D22B17BBB00C661C6 /* local_ssa_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_ssa_elim_pass.h; sourceTree = "<group>"; };
+		A94A685E22B17BBB00C661C6 /* inline_opaque_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inline_opaque_pass.cpp; sourceTree = "<group>"; };
+		A94A685F22B17BBB00C661C6 /* replace_invalid_opc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = replace_invalid_opc.cpp; sourceTree = "<group>"; };
+		A94A686022B17BBB00C661C6 /* loop_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_utils.h; sourceTree = "<group>"; };
+		A94A686122B17BBB00C661C6 /* module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = module.h; sourceTree = "<group>"; };
+		A94A686222B17BBB00C661C6 /* dominator_analysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dominator_analysis.cpp; sourceTree = "<group>"; };
+		A94A686322B17BBB00C661C6 /* decompose_initialized_variables_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decompose_initialized_variables_pass.cpp; sourceTree = "<group>"; };
+		A94A686422B17BBB00C661C6 /* ir_builder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_builder.h; sourceTree = "<group>"; };
+		A94A686522B17BBB00C661C6 /* loop_unswitch_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_unswitch_pass.h; sourceTree = "<group>"; };
+		A94A686622B17BBB00C661C6 /* cfg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfg.h; sourceTree = "<group>"; };
+		A94A686722B17BBB00C661C6 /* code_sink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = code_sink.h; sourceTree = "<group>"; };
+		A94A686822B17BBB00C661C6 /* loop_descriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_descriptor.h; sourceTree = "<group>"; };
+		A94A686922B17BBB00C661C6 /* generate_webgpu_initializers_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = generate_webgpu_initializers_pass.h; sourceTree = "<group>"; };
+		A94A686A22B17BBB00C661C6 /* instruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction.h; sourceTree = "<group>"; };
+		A94A686B22B17BBB00C661C6 /* aggressive_dead_code_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aggressive_dead_code_elim_pass.h; sourceTree = "<group>"; };
+		A94A686C22B17BBB00C661C6 /* struct_cfg_analysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = struct_cfg_analysis.cpp; sourceTree = "<group>"; };
+		A94A686D22B17BBB00C661C6 /* vector_dce.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vector_dce.h; sourceTree = "<group>"; };
+		A94A686E22B17BBB00C661C6 /* combine_access_chains.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = combine_access_chains.h; sourceTree = "<group>"; };
+		A94A686F22B17BBB00C661C6 /* pass_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pass_manager.h; sourceTree = "<group>"; };
+		A94A687022B17BBB00C661C6 /* local_access_chain_convert_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_access_chain_convert_pass.cpp; sourceTree = "<group>"; };
+		A94A687122B17BBB00C661C6 /* basic_block.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = basic_block.cpp; sourceTree = "<group>"; };
+		A94A687222B17BBB00C661C6 /* iterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iterator.h; sourceTree = "<group>"; };
+		A94A687322B17BBB00C661C6 /* licm_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = licm_pass.h; sourceTree = "<group>"; };
+		A94A687422B17BBB00C661C6 /* build_module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = build_module.h; sourceTree = "<group>"; };
+		A94A687522B17BBB00C661C6 /* ccp_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccp_pass.h; sourceTree = "<group>"; };
+		A94A687622B17BBB00C661C6 /* decompose_initialized_variables_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decompose_initialized_variables_pass.h; sourceTree = "<group>"; };
+		A94A687722B17BBB00C661C6 /* function.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = function.h; sourceTree = "<group>"; };
+		A94A687822B17BBB00C661C6 /* loop_fusion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_fusion.cpp; sourceTree = "<group>"; };
+		A94A687922B17BBB00C661C6 /* upgrade_memory_model.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = upgrade_memory_model.cpp; sourceTree = "<group>"; };
+		A94A687A22B17BBB00C661C6 /* feature_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = feature_manager.h; sourceTree = "<group>"; };
+		A94A687B22B17BBB00C661C6 /* inst_bindless_check_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inst_bindless_check_pass.h; sourceTree = "<group>"; };
+		A94A687C22B17BBB00C661C6 /* scalar_analysis_simplification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scalar_analysis_simplification.cpp; sourceTree = "<group>"; };
+		A94A687D22B17BBB00C661C6 /* 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>"; };
+		A94A687E22B17BBB00C661C6 /* dominator_tree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dominator_tree.h; sourceTree = "<group>"; };
+		A94A687F22B17BBB00C661C6 /* legalize_vector_shuffle_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = legalize_vector_shuffle_pass.cpp; sourceTree = "<group>"; };
+		A94A688022B17BBB00C661C6 /* type_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = type_manager.h; sourceTree = "<group>"; };
+		A94A688122B17BBB00C661C6 /* compact_ids_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = compact_ids_pass.cpp; sourceTree = "<group>"; };
+		A94A688222B17BBB00C661C6 /* loop_peeling.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_peeling.cpp; sourceTree = "<group>"; };
+		A94A688322B17BBB00C661C6 /* table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = table.h; sourceTree = "<group>"; };
+		A94A68AF22B17BBB00C661C6 /* ext_inst.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ext_inst.h; sourceTree = "<group>"; };
+		A94A68B022B17BBB00C661C6 /* diagnostic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = diagnostic.cpp; sourceTree = "<group>"; };
+		A94A68B122B17BBB00C661C6 /* latest_version_spirv_header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = latest_version_spirv_header.h; sourceTree = "<group>"; };
+		A94A68B222B17BBB00C661C6 /* libspirv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = libspirv.cpp; sourceTree = "<group>"; };
+		A94A68B322B17BBB00C661C6 /* instruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction.h; sourceTree = "<group>"; };
+		A94A68B422B17BBB00C661C6 /* spirv_optimizer_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_optimizer_options.h; sourceTree = "<group>"; };
+		A94A68B522B17BBB00C661C6 /* opcode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opcode.h; sourceTree = "<group>"; };
+		A94A68B622B17BBB00C661C6 /* operand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = operand.cpp; sourceTree = "<group>"; };
+		A94A68B722B17BBB00C661C6 /* 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>"; };
+		A94A68B822B17BBB00C661C6 /* extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = extensions.h; sourceTree = "<group>"; };
+		A94A68B922B17BBB00C661C6 /* disassemble.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = disassemble.cpp; sourceTree = "<group>"; };
+		A94A68BA22B17BBB00C661C6 /* binary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = binary.h; sourceTree = "<group>"; };
+		A94A68BB22B17BBB00C661C6 /* text_handler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = text_handler.cpp; sourceTree = "<group>"; };
+		A94A68BD22B17BBB00C661C6 /* validate_annotation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_annotation.cpp; sourceTree = "<group>"; };
+		A94A68BE22B17BBB00C661C6 /* validate_misc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_misc.cpp; sourceTree = "<group>"; };
+		A94A68BF22B17BBB00C661C6 /* validate_cfg.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_cfg.cpp; sourceTree = "<group>"; };
+		A94A68C022B17BBB00C661C6 /* validate_capability.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_capability.cpp; sourceTree = "<group>"; };
+		A94A68C122B17BBB00C661C6 /* construct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = construct.h; sourceTree = "<group>"; };
+		A94A68C222B17BBB00C661C6 /* validate_barriers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_barriers.cpp; sourceTree = "<group>"; };
+		A94A68C322B17BBB00C661C6 /* validate_non_uniform.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_non_uniform.cpp; sourceTree = "<group>"; };
+		A94A68C422B17BBB00C661C6 /* validate_scopes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_scopes.cpp; sourceTree = "<group>"; };
+		A94A68C522B17BBB00C661C6 /* validate_atomics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_atomics.cpp; sourceTree = "<group>"; };
+		A94A68C622B17BBB00C661C6 /* basic_block.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = basic_block.h; sourceTree = "<group>"; };
+		A94A68C722B17BBB00C661C6 /* validate_instruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_instruction.cpp; sourceTree = "<group>"; };
+		A94A68C822B17BBB00C661C6 /* validate_decorations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_decorations.cpp; sourceTree = "<group>"; };
+		A94A68C922B17BBB00C661C6 /* validate_debug.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_debug.cpp; sourceTree = "<group>"; };
+		A94A68CA22B17BBB00C661C6 /* validate_builtins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_builtins.cpp; sourceTree = "<group>"; };
+		A94A68CB22B17BBB00C661C6 /* validate_interfaces.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_interfaces.cpp; sourceTree = "<group>"; };
+		A94A68CC22B17BBB00C661C6 /* validate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate.cpp; sourceTree = "<group>"; };
+		A94A68CD22B17BBB00C661C6 /* validation_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validation_state.h; sourceTree = "<group>"; };
+		A94A68CE22B17BBB00C661C6 /* validate_constants.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_constants.cpp; sourceTree = "<group>"; };
+		A94A68CF22B17BBB00C661C6 /* validate_bitwise.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_bitwise.cpp; sourceTree = "<group>"; };
+		A94A68D022B17BBB00C661C6 /* validate_extensions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_extensions.cpp; sourceTree = "<group>"; };
+		A94A68D122B17BBB00C661C6 /* construct.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = construct.cpp; sourceTree = "<group>"; };
+		A94A68D222B17BBB00C661C6 /* function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = function.cpp; sourceTree = "<group>"; };
+		A94A68D322B17BBB00C661C6 /* validate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validate.h; sourceTree = "<group>"; };
+		A94A68D422B17BBB00C661C6 /* validate_adjacency.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_adjacency.cpp; sourceTree = "<group>"; };
+		A94A68D522B17BBB00C661C6 /* validate_conversion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_conversion.cpp; sourceTree = "<group>"; };
+		A94A68D622B17BBB00C661C6 /* validate_datarules.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_datarules.cpp; sourceTree = "<group>"; };
+		A94A68D722B17BBB00C661C6 /* validate_scopes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validate_scopes.h; sourceTree = "<group>"; };
+		A94A68D822B17BBB00C661C6 /* validate_id.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_id.cpp; sourceTree = "<group>"; };
+		A94A68D922B17BBB00C661C6 /* validate_memory_semantics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validate_memory_semantics.h; sourceTree = "<group>"; };
+		A94A68DA22B17BBB00C661C6 /* validate_arithmetics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_arithmetics.cpp; sourceTree = "<group>"; };
+		A94A68DB22B17BBB00C661C6 /* validate_mode_setting.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_mode_setting.cpp; sourceTree = "<group>"; };
+		A94A68DC22B17BBB00C661C6 /* validate_memory_semantics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_memory_semantics.cpp; sourceTree = "<group>"; };
+		A94A68DD22B17BBB00C661C6 /* validate_logicals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_logicals.cpp; sourceTree = "<group>"; };
+		A94A68DE22B17BBB00C661C6 /* validate_derivatives.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_derivatives.cpp; sourceTree = "<group>"; };
+		A94A68DF22B17BBB00C661C6 /* validate_memory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_memory.cpp; sourceTree = "<group>"; };
+		A94A68E022B17BBB00C661C6 /* validate_image.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_image.cpp; sourceTree = "<group>"; };
+		A94A68E122B17BBB00C661C6 /* validate_literals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_literals.cpp; sourceTree = "<group>"; };
+		A94A68E222B17BBB00C661C6 /* instruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instruction.cpp; sourceTree = "<group>"; };
+		A94A68E322B17BBB00C661C6 /* validate_type.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_type.cpp; sourceTree = "<group>"; };
+		A94A68E422B17BBB00C661C6 /* instruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction.h; sourceTree = "<group>"; };
+		A94A68E522B17BBB00C661C6 /* validate_execution_limitations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_execution_limitations.cpp; sourceTree = "<group>"; };
+		A94A68E622B17BBB00C661C6 /* validate_layout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_layout.cpp; sourceTree = "<group>"; };
+		A94A68E722B17BBB00C661C6 /* basic_block.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = basic_block.cpp; sourceTree = "<group>"; };
+		A94A68E822B17BBB00C661C6 /* validate_function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_function.cpp; sourceTree = "<group>"; };
+		A94A68E922B17BBB00C661C6 /* function.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = function.h; sourceTree = "<group>"; };
+		A94A68EA22B17BBB00C661C6 /* validate_composites.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_composites.cpp; sourceTree = "<group>"; };
+		A94A68EB22B17BBB00C661C6 /* validation_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validation_state.cpp; sourceTree = "<group>"; };
+		A94A68EC22B17BBB00C661C6 /* validate_primitives.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_primitives.cpp; sourceTree = "<group>"; };
+		A94A68ED22B17BBB00C661C6 /* decoration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoration.h; sourceTree = "<group>"; };
 		A9679AAC21D269D900856BF7 /* package_ext_libs_macos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_ext_libs_macos.sh; sourceTree = "<group>"; };
 		A9679AAD21D269D900856BF7 /* package_ext_libs_ios.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_ext_libs_ios.sh; sourceTree = "<group>"; };
 		A9679AAE21D269D900856BF7 /* package_ext_libs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_ext_libs.sh; sourceTree = "<group>"; };
@@ -1589,440 +1594,433 @@
 			path = External;
 			sourceTree = "<group>";
 		};
-		A9436109225FE723000DDF2C /* source */ = {
+		A94A673D22B17BBB00C661C6 /* source */ = {
 			isa = PBXGroup;
 			children = (
-				A943610A225FE723000DDF2C /* spirv_target_env.cpp */,
-				A943610B225FE723000DDF2C /* extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json */,
-				A943610C225FE723000DDF2C /* assembly_grammar.h */,
-				A943610D225FE723000DDF2C /* enum_set.h */,
-				A943610E225FE723000DDF2C /* CMakeLists.txt */,
-				A943610F225FE723000DDF2C /* extinst.spv-amd-shader-ballot.grammar.json */,
-				A9436110225FE723000DDF2C /* text.cpp */,
-				A9436111225FE723000DDF2C /* assembly_grammar.cpp */,
-				A9436112225FE723000DDF2C /* text.h */,
-				A9436113225FE723000DDF2C /* extensions.cpp */,
-				A9436114225FE723000DDF2C /* pch_source.cpp */,
-				A9436115225FE723000DDF2C /* util */,
-				A9436124225FE723000DDF2C /* spirv_target_env.h */,
-				A9436125225FE723000DDF2C /* table.cpp */,
-				A9436126225FE723000DDF2C /* id_descriptor.cpp */,
-				A9436127225FE723000DDF2C /* reduce */,
-				A9436158225FE723000DDF2C /* latest_version_opencl_std_header.h */,
-				A9436159225FE723000DDF2C /* spirv_optimizer_options.cpp */,
-				A943615A225FE723000DDF2C /* cfa.h */,
-				A943615B225FE723000DDF2C /* pch_source.h */,
-				A943615C225FE723000DDF2C /* enum_string_mapping.h */,
-				A943615D225FE723000DDF2C /* spirv_reducer_options.h */,
-				A943615E225FE723000DDF2C /* spirv_validator_options.cpp */,
-				A943615F225FE723000DDF2C /* extinst.spv-amd-shader-trinary-minmax.grammar.json */,
-				A9436160225FE723000DDF2C /* print.cpp */,
-				A9436161225FE723000DDF2C /* spirv_definition.h */,
-				A9436162225FE723000DDF2C /* operand.h */,
-				A9436163225FE723000DDF2C /* spirv_endian.cpp */,
-				A9436164225FE723000DDF2C /* macro.h */,
-				A9436165225FE723000DDF2C /* spirv_constant.h */,
-				A9436166225FE723000DDF2C /* extinst.spv-amd-gcn-shader.grammar.json */,
-				A9436167225FE723000DDF2C /* binary.cpp */,
-				A9436168225FE723000DDF2C /* spirv_validator_options.h */,
-				A9436169225FE723000DDF2C /* comp */,
-				A943617A225FE723000DDF2C /* enum_string_mapping.cpp */,
-				A943617B225FE723000DDF2C /* text_handler.h */,
-				A943617C225FE723000DDF2C /* parsed_operand.h */,
-				A943617D225FE723000DDF2C /* name_mapper.h */,
-				A943617E225FE723000DDF2C /* spirv_reducer_options.cpp */,
-				A943617F225FE723000DDF2C /* parsed_operand.cpp */,
-				A9436180225FE723000DDF2C /* diagnostic.h */,
-				A9436181225FE723000DDF2C /* spirv_endian.h */,
-				A9436182225FE723000DDF2C /* name_mapper.cpp */,
-				A9436183225FE723000DDF2C /* extinst.debuginfo.grammar.json */,
-				A9436184225FE723000DDF2C /* link */,
-				A9436187225FE723000DDF2C /* software_version.cpp */,
-				A9436188225FE723000DDF2C /* opcode.cpp */,
-				A9436189225FE723000DDF2C /* print.h */,
-				A943618A225FE723000DDF2C /* ext_inst.cpp */,
-				A943618B225FE723000DDF2C /* disassemble.h */,
-				A943618C225FE723000DDF2C /* opt */,
-				A943624F225FE723000DDF2C /* table.h */,
-				A9436250225FE723000DDF2C /* ext_inst.h */,
-				A9436251225FE723000DDF2C /* diagnostic.cpp */,
-				A9436252225FE723000DDF2C /* latest_version_spirv_header.h */,
-				A9436253225FE723000DDF2C /* libspirv.cpp */,
-				A9436254225FE723000DDF2C /* instruction.h */,
-				A9436255225FE723000DDF2C /* id_descriptor.h */,
-				A9436256225FE723000DDF2C /* spirv_optimizer_options.h */,
-				A9436257225FE723000DDF2C /* opcode.h */,
-				A9436258225FE723000DDF2C /* operand.cpp */,
-				A9436259225FE723000DDF2C /* latest_version_glsl_std_450_header.h */,
-				A943625A225FE723000DDF2C /* extensions.h */,
-				A943625B225FE723000DDF2C /* disassemble.cpp */,
-				A943625C225FE723000DDF2C /* binary.h */,
-				A943625D225FE723000DDF2C /* text_handler.cpp */,
-				A943625E225FE723000DDF2C /* val */,
+				A94A673E22B17BBB00C661C6 /* spirv_target_env.cpp */,
+				A94A673F22B17BBB00C661C6 /* extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json */,
+				A94A674022B17BBB00C661C6 /* spirv_fuzzer_options.h */,
+				A94A674122B17BBB00C661C6 /* assembly_grammar.h */,
+				A94A674222B17BBB00C661C6 /* enum_set.h */,
+				A94A674322B17BBB00C661C6 /* CMakeLists.txt */,
+				A94A674422B17BBB00C661C6 /* extinst.spv-amd-shader-ballot.grammar.json */,
+				A94A674522B17BBB00C661C6 /* text.cpp */,
+				A94A674622B17BBB00C661C6 /* assembly_grammar.cpp */,
+				A94A674722B17BBB00C661C6 /* text.h */,
+				A94A674822B17BBB00C661C6 /* extensions.cpp */,
+				A94A674922B17BBB00C661C6 /* pch_source.cpp */,
+				A94A674A22B17BBB00C661C6 /* util */,
+				A94A675922B17BBB00C661C6 /* spirv_target_env.h */,
+				A94A675A22B17BBB00C661C6 /* table.cpp */,
+				A94A675B22B17BBB00C661C6 /* reduce */,
+				A94A679422B17BBB00C661C6 /* latest_version_opencl_std_header.h */,
+				A94A679522B17BBB00C661C6 /* spirv_optimizer_options.cpp */,
+				A94A679622B17BBB00C661C6 /* cfa.h */,
+				A94A679722B17BBB00C661C6 /* pch_source.h */,
+				A94A679822B17BBB00C661C6 /* enum_string_mapping.h */,
+				A94A679922B17BBB00C661C6 /* spirv_fuzzer_options.cpp */,
+				A94A679A22B17BBB00C661C6 /* spirv_reducer_options.h */,
+				A94A679B22B17BBB00C661C6 /* spirv_validator_options.cpp */,
+				A94A679C22B17BBB00C661C6 /* extinst.spv-amd-shader-trinary-minmax.grammar.json */,
+				A94A679D22B17BBB00C661C6 /* print.cpp */,
+				A94A679E22B17BBB00C661C6 /* spirv_definition.h */,
+				A94A679F22B17BBB00C661C6 /* operand.h */,
+				A94A67A022B17BBB00C661C6 /* spirv_endian.cpp */,
+				A94A67A122B17BBB00C661C6 /* macro.h */,
+				A94A67A222B17BBB00C661C6 /* spirv_constant.h */,
+				A94A67A322B17BBB00C661C6 /* extinst.spv-amd-gcn-shader.grammar.json */,
+				A94A67A422B17BBB00C661C6 /* binary.cpp */,
+				A94A67A522B17BBB00C661C6 /* spirv_validator_options.h */,
+				A94A67A622B17BBB00C661C6 /* enum_string_mapping.cpp */,
+				A94A67A722B17BBB00C661C6 /* text_handler.h */,
+				A94A67A822B17BBB00C661C6 /* parsed_operand.h */,
+				A94A67A922B17BBB00C661C6 /* name_mapper.h */,
+				A94A67AA22B17BBB00C661C6 /* spirv_reducer_options.cpp */,
+				A94A67AB22B17BBB00C661C6 /* parsed_operand.cpp */,
+				A94A67AC22B17BBB00C661C6 /* diagnostic.h */,
+				A94A67AD22B17BBB00C661C6 /* spirv_endian.h */,
+				A94A67AE22B17BBB00C661C6 /* name_mapper.cpp */,
+				A94A67AF22B17BBB00C661C6 /* extinst.debuginfo.grammar.json */,
+				A94A67B022B17BBB00C661C6 /* link */,
+				A94A67B322B17BBB00C661C6 /* software_version.cpp */,
+				A94A67B422B17BBB00C661C6 /* opcode.cpp */,
+				A94A67B522B17BBB00C661C6 /* print.h */,
+				A94A67B622B17BBB00C661C6 /* ext_inst.cpp */,
+				A94A67B722B17BBB00C661C6 /* disassemble.h */,
+				A94A67B822B17BBB00C661C6 /* opt */,
+				A94A688322B17BBB00C661C6 /* table.h */,
+				A94A68AF22B17BBB00C661C6 /* ext_inst.h */,
+				A94A68B022B17BBB00C661C6 /* diagnostic.cpp */,
+				A94A68B122B17BBB00C661C6 /* latest_version_spirv_header.h */,
+				A94A68B222B17BBB00C661C6 /* libspirv.cpp */,
+				A94A68B322B17BBB00C661C6 /* instruction.h */,
+				A94A68B422B17BBB00C661C6 /* spirv_optimizer_options.h */,
+				A94A68B522B17BBB00C661C6 /* opcode.h */,
+				A94A68B622B17BBB00C661C6 /* operand.cpp */,
+				A94A68B722B17BBB00C661C6 /* latest_version_glsl_std_450_header.h */,
+				A94A68B822B17BBB00C661C6 /* extensions.h */,
+				A94A68B922B17BBB00C661C6 /* disassemble.cpp */,
+				A94A68BA22B17BBB00C661C6 /* binary.h */,
+				A94A68BB22B17BBB00C661C6 /* text_handler.cpp */,
+				A94A68BC22B17BBB00C661C6 /* val */,
 			);
 			path = source;
 			sourceTree = "<group>";
 		};
-		A9436115225FE723000DDF2C /* util */ = {
+		A94A674A22B17BBB00C661C6 /* util */ = {
 			isa = PBXGroup;
 			children = (
-				A9436116225FE723000DDF2C /* parse_number.h */,
-				A9436117225FE723000DDF2C /* ilist_node.h */,
-				A9436118225FE723000DDF2C /* make_unique.h */,
-				A9436119225FE723000DDF2C /* string_utils.h */,
-				A943611A225FE723000DDF2C /* small_vector.h */,
-				A943611B225FE723000DDF2C /* timer.cpp */,
-				A943611C225FE723000DDF2C /* timer.h */,
-				A943611D225FE723000DDF2C /* string_utils.cpp */,
-				A943611E225FE723000DDF2C /* bit_vector.h */,
-				A943611F225FE723000DDF2C /* bitutils.h */,
-				A9436120225FE723000DDF2C /* hex_float.h */,
-				A9436121225FE723000DDF2C /* parse_number.cpp */,
-				A9436122225FE723000DDF2C /* bit_vector.cpp */,
-				A9436123225FE723000DDF2C /* ilist.h */,
+				A94A674B22B17BBB00C661C6 /* parse_number.h */,
+				A94A674C22B17BBB00C661C6 /* ilist_node.h */,
+				A94A674D22B17BBB00C661C6 /* make_unique.h */,
+				A94A674E22B17BBB00C661C6 /* string_utils.h */,
+				A94A674F22B17BBB00C661C6 /* small_vector.h */,
+				A94A675022B17BBB00C661C6 /* timer.cpp */,
+				A94A675122B17BBB00C661C6 /* timer.h */,
+				A94A675222B17BBB00C661C6 /* string_utils.cpp */,
+				A94A675322B17BBB00C661C6 /* bit_vector.h */,
+				A94A675422B17BBB00C661C6 /* bitutils.h */,
+				A94A675522B17BBB00C661C6 /* hex_float.h */,
+				A94A675622B17BBB00C661C6 /* parse_number.cpp */,
+				A94A675722B17BBB00C661C6 /* bit_vector.cpp */,
+				A94A675822B17BBB00C661C6 /* ilist.h */,
 			);
 			path = util;
 			sourceTree = "<group>";
 		};
-		A9436127225FE723000DDF2C /* reduce */ = {
+		A94A675B22B17BBB00C661C6 /* reduce */ = {
 			isa = PBXGroup;
 			children = (
-				A9436128225FE723000DDF2C /* operand_to_undef_reduction_opportunity_finder.h */,
-				A9436129225FE723000DDF2C /* remove_selection_reduction_opportunity.cpp */,
-				A943612A225FE723000DDF2C /* remove_block_reduction_opportunity.h */,
-				A943612B225FE723000DDF2C /* operand_to_dominating_id_reduction_opportunity_finder.h */,
-				A943612C225FE723000DDF2C /* reduction_pass.cpp */,
-				A943612D225FE723000DDF2C /* operand_to_const_reduction_opportunity_finder.cpp */,
-				A943612E225FE723000DDF2C /* operand_to_const_reduction_opportunity_finder.h */,
-				A943612F225FE723000DDF2C /* CMakeLists.txt */,
-				A9436130225FE723000DDF2C /* reduction_util.cpp */,
-				A9436131225FE723000DDF2C /* structured_loop_to_selection_reduction_opportunity_finder.cpp */,
-				A9436132225FE723000DDF2C /* remove_function_reduction_opportunity_finder.cpp */,
-				A9436133225FE723000DDF2C /* remove_instruction_reduction_opportunity.h */,
-				A9436134225FE723000DDF2C /* remove_function_reduction_opportunity.cpp */,
-				A9436135225FE723000DDF2C /* remove_opname_instruction_reduction_opportunity_finder.h */,
-				A9436136225FE723000DDF2C /* remove_selection_reduction_opportunity_finder.cpp */,
-				A9436137225FE723000DDF2C /* merge_blocks_reduction_opportunity.cpp */,
-				A9436138225FE723000DDF2C /* change_operand_reduction_opportunity.cpp */,
-				A9436139225FE723000DDF2C /* structured_loop_to_selection_reduction_opportunity.h */,
-				A943613A225FE723000DDF2C /* remove_function_reduction_opportunity.h */,
-				A943613B225FE723000DDF2C /* change_operand_to_undef_reduction_opportunity.h */,
-				A943613C225FE723000DDF2C /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp */,
-				A943613D225FE723000DDF2C /* structured_loop_to_selection_reduction_opportunity_finder.h */,
-				A943613E225FE723000DDF2C /* remove_selection_reduction_opportunity.h */,
-				A943613F225FE723000DDF2C /* remove_instruction_reduction_opportunity.cpp */,
-				A9436140225FE723000DDF2C /* remove_selection_reduction_opportunity_finder.h */,
-				A9436141225FE723000DDF2C /* merge_blocks_reduction_opportunity_finder.h */,
-				A9436142225FE723000DDF2C /* remove_opname_instruction_reduction_opportunity_finder.cpp */,
-				A9436143225FE723000DDF2C /* pch_source_reduce.cpp */,
-				A9436144225FE723000DDF2C /* reducer.cpp */,
-				A9436145225FE723000DDF2C /* operand_to_undef_reduction_opportunity_finder.cpp */,
-				A9436146225FE723000DDF2C /* remove_function_reduction_opportunity_finder.h */,
-				A9436147225FE723000DDF2C /* pch_source_reduce.h */,
-				A9436148225FE723000DDF2C /* remove_unreferenced_instruction_reduction_opportunity_finder.h */,
-				A9436149225FE723000DDF2C /* merge_blocks_reduction_opportunity_finder.cpp */,
-				A943614A225FE723000DDF2C /* reduction_opportunity.cpp */,
-				A943614B225FE723000DDF2C /* reducer.h */,
-				A943614C225FE723000DDF2C /* change_operand_to_undef_reduction_opportunity.cpp */,
-				A943614D225FE723000DDF2C /* reduction_opportunity.h */,
-				A943614E225FE723000DDF2C /* operand_to_dominating_id_reduction_opportunity_finder.cpp */,
-				A943614F225FE723000DDF2C /* reduction_opportunity_finder.h */,
-				A9436150225FE723000DDF2C /* change_operand_reduction_opportunity.h */,
-				A9436151225FE723000DDF2C /* remove_block_reduction_opportunity_finder.h */,
-				A9436152225FE723000DDF2C /* remove_block_reduction_opportunity_finder.cpp */,
-				A9436153225FE723000DDF2C /* reduction_util.h */,
-				A9436154225FE723000DDF2C /* merge_blocks_reduction_opportunity.h */,
-				A9436155225FE723000DDF2C /* structured_loop_to_selection_reduction_opportunity.cpp */,
-				A9436156225FE723000DDF2C /* remove_block_reduction_opportunity.cpp */,
-				A9436157225FE723000DDF2C /* reduction_pass.h */,
+				A94A675C22B17BBB00C661C6 /* operand_to_undef_reduction_opportunity_finder.h */,
+				A94A675D22B17BBB00C661C6 /* remove_selection_reduction_opportunity.cpp */,
+				A94A675E22B17BBB00C661C6 /* remove_block_reduction_opportunity.h */,
+				A94A675F22B17BBB00C661C6 /* operand_to_dominating_id_reduction_opportunity_finder.h */,
+				A94A676022B17BBB00C661C6 /* reduction_pass.cpp */,
+				A94A676122B17BBB00C661C6 /* operand_to_const_reduction_opportunity_finder.cpp */,
+				A94A676222B17BBB00C661C6 /* operand_to_const_reduction_opportunity_finder.h */,
+				A94A676322B17BBB00C661C6 /* CMakeLists.txt */,
+				A94A676422B17BBB00C661C6 /* reduction_util.cpp */,
+				A94A676522B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity_finder.cpp */,
+				A94A676622B17BBB00C661C6 /* simple_conditional_branch_to_branch_reduction_opportunity.h */,
+				A94A676722B17BBB00C661C6 /* remove_function_reduction_opportunity_finder.cpp */,
+				A94A676822B17BBB00C661C6 /* remove_instruction_reduction_opportunity.h */,
+				A94A676922B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h */,
+				A94A676A22B17BBB00C661C6 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp */,
+				A94A676B22B17BBB00C661C6 /* remove_function_reduction_opportunity.cpp */,
+				A94A676C22B17BBB00C661C6 /* remove_opname_instruction_reduction_opportunity_finder.h */,
+				A94A676D22B17BBB00C661C6 /* simple_conditional_branch_to_branch_opportunity_finder.cpp */,
+				A94A676E22B17BBB00C661C6 /* remove_selection_reduction_opportunity_finder.cpp */,
+				A94A676F22B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp */,
+				A94A677022B17BBB00C661C6 /* simple_conditional_branch_to_branch_opportunity_finder.h */,
+				A94A677122B17BBB00C661C6 /* merge_blocks_reduction_opportunity.cpp */,
+				A94A677222B17BBB00C661C6 /* change_operand_reduction_opportunity.cpp */,
+				A94A677322B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity.h */,
+				A94A677422B17BBB00C661C6 /* remove_function_reduction_opportunity.h */,
+				A94A677522B17BBB00C661C6 /* change_operand_to_undef_reduction_opportunity.h */,
+				A94A677622B17BBB00C661C6 /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp */,
+				A94A677722B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity_finder.h */,
+				A94A677822B17BBB00C661C6 /* remove_selection_reduction_opportunity.h */,
+				A94A677922B17BBB00C661C6 /* remove_instruction_reduction_opportunity.cpp */,
+				A94A677A22B17BBB00C661C6 /* remove_selection_reduction_opportunity_finder.h */,
+				A94A677B22B17BBB00C661C6 /* merge_blocks_reduction_opportunity_finder.h */,
+				A94A677C22B17BBB00C661C6 /* remove_opname_instruction_reduction_opportunity_finder.cpp */,
+				A94A677D22B17BBB00C661C6 /* pch_source_reduce.cpp */,
+				A94A677E22B17BBB00C661C6 /* reducer.cpp */,
+				A94A677F22B17BBB00C661C6 /* operand_to_undef_reduction_opportunity_finder.cpp */,
+				A94A678022B17BBB00C661C6 /* remove_function_reduction_opportunity_finder.h */,
+				A94A678122B17BBB00C661C6 /* pch_source_reduce.h */,
+				A94A678222B17BBB00C661C6 /* remove_unreferenced_instruction_reduction_opportunity_finder.h */,
+				A94A678322B17BBB00C661C6 /* merge_blocks_reduction_opportunity_finder.cpp */,
+				A94A678422B17BBB00C661C6 /* reduction_opportunity.cpp */,
+				A94A678522B17BBB00C661C6 /* reducer.h */,
+				A94A678622B17BBB00C661C6 /* change_operand_to_undef_reduction_opportunity.cpp */,
+				A94A678722B17BBB00C661C6 /* reduction_opportunity.h */,
+				A94A678822B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h */,
+				A94A678922B17BBB00C661C6 /* operand_to_dominating_id_reduction_opportunity_finder.cpp */,
+				A94A678A22B17BBB00C661C6 /* reduction_opportunity_finder.h */,
+				A94A678B22B17BBB00C661C6 /* change_operand_reduction_opportunity.h */,
+				A94A678C22B17BBB00C661C6 /* remove_block_reduction_opportunity_finder.h */,
+				A94A678D22B17BBB00C661C6 /* remove_block_reduction_opportunity_finder.cpp */,
+				A94A678E22B17BBB00C661C6 /* reduction_util.h */,
+				A94A678F22B17BBB00C661C6 /* merge_blocks_reduction_opportunity.h */,
+				A94A679022B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp */,
+				A94A679122B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity.cpp */,
+				A94A679222B17BBB00C661C6 /* remove_block_reduction_opportunity.cpp */,
+				A94A679322B17BBB00C661C6 /* reduction_pass.h */,
 			);
 			path = reduce;
 			sourceTree = "<group>";
 		};
-		A9436169225FE723000DDF2C /* comp */ = {
+		A94A67B022B17BBB00C661C6 /* link */ = {
 			isa = PBXGroup;
 			children = (
-				A943616A225FE723000DDF2C /* markv_codec.cpp */,
-				A943616B225FE723000DDF2C /* markv.cpp */,
-				A943616C225FE723000DDF2C /* huffman_codec.h */,
-				A943616D225FE723000DDF2C /* CMakeLists.txt */,
-				A943616E225FE723000DDF2C /* bit_stream.h */,
-				A943616F225FE723000DDF2C /* move_to_front.cpp */,
-				A9436170225FE723000DDF2C /* markv_encoder.h */,
-				A9436171225FE723000DDF2C /* markv_decoder.h */,
-				A9436172225FE723000DDF2C /* markv.h */,
-				A9436173225FE723000DDF2C /* markv_model.h */,
-				A9436174225FE723000DDF2C /* markv_decoder.cpp */,
-				A9436175225FE723000DDF2C /* move_to_front.h */,
-				A9436176225FE723000DDF2C /* markv_codec.h */,
-				A9436177225FE723000DDF2C /* markv_logger.h */,
-				A9436178225FE723000DDF2C /* bit_stream.cpp */,
-				A9436179225FE723000DDF2C /* markv_encoder.cpp */,
-			);
-			path = comp;
-			sourceTree = "<group>";
-		};
-		A9436184225FE723000DDF2C /* link */ = {
-			isa = PBXGroup;
-			children = (
-				A9436185225FE723000DDF2C /* CMakeLists.txt */,
-				A9436186225FE723000DDF2C /* linker.cpp */,
+				A94A67B122B17BBB00C661C6 /* CMakeLists.txt */,
+				A94A67B222B17BBB00C661C6 /* linker.cpp */,
 			);
 			path = link;
 			sourceTree = "<group>";
 		};
-		A943618C225FE723000DDF2C /* opt */ = {
+		A94A67B822B17BBB00C661C6 /* opt */ = {
 			isa = PBXGroup;
 			children = (
-				A943618D225FE723000DDF2C /* optimizer.cpp */,
-				A943618E225FE723000DDF2C /* if_conversion.h */,
-				A943618F225FE723000DDF2C /* register_pressure.cpp */,
-				A9436190225FE723000DDF2C /* loop_utils.cpp */,
-				A9436191225FE723000DDF2C /* merge_return_pass.h */,
-				A9436192225FE723000DDF2C /* inline_opaque_pass.h */,
-				A9436193225FE723000DDF2C /* loop_fusion.h */,
-				A9436194225FE723000DDF2C /* combine_access_chains.cpp */,
-				A9436195225FE723000DDF2C /* build_module.cpp */,
-				A9436196225FE723000DDF2C /* composite.h */,
-				A9436197225FE723000DDF2C /* compact_ids_pass.h */,
-				A9436198225FE723000DDF2C /* register_pressure.h */,
-				A9436199225FE723000DDF2C /* tree_iterator.h */,
-				A943619A225FE723000DDF2C /* strip_atomic_counter_memory_pass.h */,
-				A943619B225FE723000DDF2C /* local_single_store_elim_pass.h */,
-				A943619C225FE723000DDF2C /* reduce_load_size.h */,
-				A943619D225FE723000DDF2C /* code_sink.cpp */,
-				A943619E225FE723000DDF2C /* types.cpp */,
-				A943619F225FE723000DDF2C /* scalar_analysis.h */,
-				A94361A0225FE723000DDF2C /* strip_debug_info_pass.h */,
-				A94361A1225FE723000DDF2C /* cfg.cpp */,
-				A94361A2225FE723000DDF2C /* strip_atomic_counter_memory_pass.cpp */,
-				A94361A3225FE723000DDF2C /* decoration_manager.cpp */,
-				A94361A4225FE723000DDF2C /* local_single_block_elim_pass.cpp */,
-				A94361A5225FE723000DDF2C /* freeze_spec_constant_value_pass.cpp */,
-				A94361A6225FE723000DDF2C /* replace_invalid_opc.h */,
-				A94361A7225FE723000DDF2C /* local_access_chain_convert_pass.h */,
-				A94361A8225FE723000DDF2C /* inst_bindless_check_pass.cpp */,
-				A94361A9225FE723000DDF2C /* local_redundancy_elimination.cpp */,
-				A94361AA225FE723000DDF2C /* CMakeLists.txt */,
-				A94361AB225FE723000DDF2C /* instrument_pass.cpp */,
-				A94361AC225FE723000DDF2C /* propagator.h */,
-				A94361AD225FE723000DDF2C /* instruction_list.h */,
-				A94361AE225FE723000DDF2C /* feature_manager.cpp */,
-				A94361AF225FE723000DDF2C /* pass.cpp */,
-				A94361B0225FE723000DDF2C /* loop_fission.cpp */,
-				A94361B1225FE723000DDF2C /* dominator_tree.cpp */,
-				A94361B2225FE723000DDF2C /* merge_return_pass.cpp */,
-				A94361B3225FE723000DDF2C /* ir_context.h */,
-				A94361B4225FE723000DDF2C /* eliminate_dead_constant_pass.cpp */,
-				A94361B5225FE723000DDF2C /* cfg_cleanup_pass.cpp */,
-				A94361B6225FE723000DDF2C /* const_folding_rules.cpp */,
-				A94361B7225FE723000DDF2C /* loop_unroller.h */,
-				A94361B8225FE723000DDF2C /* strip_debug_info_pass.cpp */,
-				A94361B9225FE723000DDF2C /* ssa_rewrite_pass.cpp */,
-				A94361BA225FE723000DDF2C /* loop_dependence.cpp */,
-				A94361BB225FE723000DDF2C /* unify_const_pass.h */,
-				A94361BC225FE723000DDF2C /* ir_loader.h */,
-				A94361BD225FE723000DDF2C /* types.h */,
-				A94361BE225FE723000DDF2C /* fold_spec_constant_op_and_composite_pass.h */,
-				A94361BF225FE723000DDF2C /* mem_pass.cpp */,
-				A94361C0225FE723000DDF2C /* basic_block.h */,
-				A94361C1225FE723000DDF2C /* remove_duplicates_pass.cpp */,
-				A94361C2225FE723000DDF2C /* dead_variable_elimination.cpp */,
-				A94361C3225FE723000DDF2C /* block_merge_pass.h */,
-				A94361C4225FE723000DDF2C /* module.cpp */,
-				A94361C5225FE723000DDF2C /* fold_spec_constant_op_and_composite_pass.cpp */,
-				A94361C6225FE723000DDF2C /* loop_unswitch_pass.cpp */,
-				A94361C7225FE723000DDF2C /* unify_const_pass.cpp */,
-				A94361C8225FE723000DDF2C /* type_manager.cpp */,
-				A94361C9225FE723000DDF2C /* generate_webgpu_initializers_pass.cpp */,
-				A94361CA225FE723000DDF2C /* private_to_local_pass.h */,
-				A94361CB225FE723000DDF2C /* inline_pass.cpp */,
-				A94361CC225FE723000DDF2C /* def_use_manager.h */,
-				A94361CD225FE723000DDF2C /* ir_loader.cpp */,
-				A94361CE225FE723000DDF2C /* cfg_cleanup_pass.h */,
-				A94361CF225FE723000DDF2C /* licm_pass.cpp */,
-				A94361D0225FE723000DDF2C /* eliminate_dead_functions_pass.cpp */,
-				A94361D1225FE723000DDF2C /* local_redundancy_elimination.h */,
-				A94361D2225FE723000DDF2C /* loop_peeling.h */,
-				A94361D3225FE723000DDF2C /* vector_dce.cpp */,
-				A94361D4225FE723000DDF2C /* block_merge_util.h */,
-				A94361D5225FE723000DDF2C /* loop_unroller.cpp */,
-				A94361D6225FE723000DDF2C /* constants.cpp */,
-				A94361D7225FE723000DDF2C /* loop_fusion_pass.h */,
-				A94361D8225FE723000DDF2C /* struct_cfg_analysis.h */,
-				A94361D9225FE723000DDF2C /* common_uniform_elim_pass.cpp */,
-				A94361DA225FE723000DDF2C /* def_use_manager.cpp */,
-				A94361DB225FE723000DDF2C /* strip_reflect_info_pass.cpp */,
-				A94361DC225FE723000DDF2C /* decoration_manager.h */,
-				A94361DD225FE723000DDF2C /* ccp_pass.cpp */,
-				A94361DE225FE723000DDF2C /* process_lines_pass.h */,
-				A94361DF225FE723000DDF2C /* local_single_block_elim_pass.h */,
-				A94361E0225FE723000DDF2C /* pch_source_opt.cpp */,
-				A94361E1225FE723000DDF2C /* strength_reduction_pass.h */,
-				A94361E2225FE723000DDF2C /* aggressive_dead_code_elim_pass.cpp */,
-				A94361E3225FE723000DDF2C /* eliminate_dead_functions_util.cpp */,
-				A94361E4225FE723000DDF2C /* simplification_pass.cpp */,
-				A94361E5225FE723000DDF2C /* dead_branch_elim_pass.cpp */,
-				A94361E6225FE723000DDF2C /* flatten_decoration_pass.cpp */,
-				A94361E7225FE723000DDF2C /* dead_insert_elim_pass.h */,
-				A94361E8225FE723000DDF2C /* folding_rules.cpp */,
-				A94361E9225FE723000DDF2C /* freeze_spec_constant_value_pass.h */,
-				A94361EA225FE723000DDF2C /* ir_context.cpp */,
-				A94361EB225FE723000DDF2C /* instrument_pass.h */,
-				A94361EC225FE723000DDF2C /* mem_pass.h */,
-				A94361ED225FE723000DDF2C /* loop_descriptor.cpp */,
-				A94361EE225FE723000DDF2C /* local_ssa_elim_pass.cpp */,
-				A94361EF225FE723000DDF2C /* eliminate_dead_members_pass.h */,
-				A94361F0225FE723000DDF2C /* function.cpp */,
-				A94361F1225FE723000DDF2C /* instruction_list.cpp */,
-				A94361F2225FE723000DDF2C /* composite.cpp */,
-				A94361F3225FE723000DDF2C /* process_lines_pass.cpp */,
-				A94361F4225FE723000DDF2C /* inline_pass.h */,
-				A94361F5225FE723000DDF2C /* loop_dependence.h */,
-				A94361F6225FE723000DDF2C /* value_number_table.h */,
-				A94361F7225FE723000DDF2C /* flatten_decoration_pass.h */,
-				A94361F8225FE723000DDF2C /* if_conversion.cpp */,
-				A94361F9225FE723000DDF2C /* inline_exhaustive_pass.h */,
-				A94361FA225FE723000DDF2C /* constants.h */,
-				A94361FB225FE723000DDF2C /* eliminate_dead_members_pass.cpp */,
-				A94361FC225FE723000DDF2C /* strength_reduction_pass.cpp */,
-				A94361FD225FE723000DDF2C /* block_merge_util.cpp */,
-				A94361FE225FE723000DDF2C /* upgrade_memory_model.h */,
-				A94361FF225FE723000DDF2C /* copy_prop_arrays.cpp */,
-				A9436200225FE723000DDF2C /* pass_manager.cpp */,
-				A9436201225FE723000DDF2C /* inline_exhaustive_pass.cpp */,
-				A9436202225FE723000DDF2C /* loop_fission.h */,
-				A9436203225FE723000DDF2C /* workaround1209.h */,
-				A9436204225FE723000DDF2C /* loop_fusion_pass.cpp */,
-				A9436205225FE723000DDF2C /* log.h */,
-				A9436206225FE723000DDF2C /* copy_prop_arrays.h */,
-				A9436207225FE723000DDF2C /* eliminate_dead_constant_pass.h */,
-				A9436208225FE723000DDF2C /* dead_insert_elim_pass.cpp */,
-				A9436209225FE723000DDF2C /* ssa_rewrite_pass.h */,
-				A943620A225FE723000DDF2C /* scalar_analysis.cpp */,
-				A943620B225FE723000DDF2C /* dead_variable_elimination.h */,
-				A943620C225FE723000DDF2C /* block_merge_pass.cpp */,
-				A943620D225FE723000DDF2C /* dominator_analysis.h */,
-				A943620E225FE723000DDF2C /* pass.h */,
-				A943620F225FE723000DDF2C /* folding_rules.h */,
-				A9436210225FE723000DDF2C /* eliminate_dead_functions_pass.h */,
-				A9436211225FE723000DDF2C /* common_uniform_elim_pass.h */,
-				A9436212225FE723000DDF2C /* eliminate_dead_functions_util.h */,
-				A9436213225FE723000DDF2C /* fold.h */,
-				A9436214225FE723000DDF2C /* local_single_store_elim_pass.cpp */,
-				A9436215225FE723000DDF2C /* dead_branch_elim_pass.h */,
-				A9436216225FE723000DDF2C /* private_to_local_pass.cpp */,
-				A9436217225FE723000DDF2C /* scalar_analysis_nodes.h */,
-				A9436218225FE723000DDF2C /* propagator.cpp */,
-				A9436219225FE723000DDF2C /* loop_dependence_helpers.cpp */,
-				A943621A225FE723000DDF2C /* set_spec_constant_default_value_pass.cpp */,
-				A943621B225FE723000DDF2C /* passes.h */,
-				A943621C225FE723000DDF2C /* fold.cpp */,
-				A943621D225FE723000DDF2C /* strip_reflect_info_pass.h */,
-				A943621E225FE723000DDF2C /* scalar_replacement_pass.cpp */,
-				A943621F225FE723000DDF2C /* simplification_pass.h */,
-				A9436220225FE723000DDF2C /* remove_duplicates_pass.h */,
-				A9436221225FE723000DDF2C /* redundancy_elimination.cpp */,
-				A9436222225FE723000DDF2C /* reflect.h */,
-				A9436223225FE723000DDF2C /* workaround1209.cpp */,
-				A9436224225FE723000DDF2C /* null_pass.h */,
-				A9436225225FE723000DDF2C /* const_folding_rules.h */,
-				A9436226225FE723000DDF2C /* scalar_replacement_pass.h */,
-				A9436227225FE723000DDF2C /* instruction.cpp */,
-				A9436228225FE723000DDF2C /* pch_source_opt.h */,
-				A9436229225FE723000DDF2C /* reduce_load_size.cpp */,
-				A943622A225FE723000DDF2C /* redundancy_elimination.h */,
-				A943622B225FE723000DDF2C /* value_number_table.cpp */,
-				A943622C225FE723000DDF2C /* local_ssa_elim_pass.h */,
-				A943622D225FE723000DDF2C /* inline_opaque_pass.cpp */,
-				A943622E225FE723000DDF2C /* replace_invalid_opc.cpp */,
-				A943622F225FE723000DDF2C /* loop_utils.h */,
-				A9436230225FE723000DDF2C /* module.h */,
-				A9436231225FE723000DDF2C /* dominator_analysis.cpp */,
-				A9436232225FE723000DDF2C /* ir_builder.h */,
-				A9436233225FE723000DDF2C /* loop_unswitch_pass.h */,
-				A9436234225FE723000DDF2C /* cfg.h */,
-				A9436235225FE723000DDF2C /* code_sink.h */,
-				A9436236225FE723000DDF2C /* loop_descriptor.h */,
-				A9436237225FE723000DDF2C /* generate_webgpu_initializers_pass.h */,
-				A9436238225FE723000DDF2C /* instruction.h */,
-				A9436239225FE723000DDF2C /* aggressive_dead_code_elim_pass.h */,
-				A943623A225FE723000DDF2C /* struct_cfg_analysis.cpp */,
-				A943623B225FE723000DDF2C /* vector_dce.h */,
-				A943623C225FE723000DDF2C /* combine_access_chains.h */,
-				A943623D225FE723000DDF2C /* pass_manager.h */,
-				A943623E225FE723000DDF2C /* local_access_chain_convert_pass.cpp */,
-				A943623F225FE723000DDF2C /* basic_block.cpp */,
-				A9436240225FE723000DDF2C /* iterator.h */,
-				A9436241225FE723000DDF2C /* licm_pass.h */,
-				A9436242225FE723000DDF2C /* build_module.h */,
-				A9436243225FE723000DDF2C /* ccp_pass.h */,
-				A9436244225FE723000DDF2C /* function.h */,
-				A9436245225FE723000DDF2C /* loop_fusion.cpp */,
-				A9436246225FE723000DDF2C /* upgrade_memory_model.cpp */,
-				A9436247225FE723000DDF2C /* feature_manager.h */,
-				A9436248225FE723000DDF2C /* inst_bindless_check_pass.h */,
-				A9436249225FE723000DDF2C /* scalar_analysis_simplification.cpp */,
-				A943624A225FE723000DDF2C /* set_spec_constant_default_value_pass.h */,
-				A943624B225FE723000DDF2C /* dominator_tree.h */,
-				A943624C225FE723000DDF2C /* type_manager.h */,
-				A943624D225FE723000DDF2C /* compact_ids_pass.cpp */,
-				A943624E225FE723000DDF2C /* loop_peeling.cpp */,
+				A94A67B922B17BBB00C661C6 /* optimizer.cpp */,
+				A94A67BA22B17BBB00C661C6 /* if_conversion.h */,
+				A94A67BB22B17BBB00C661C6 /* register_pressure.cpp */,
+				A94A67BC22B17BBB00C661C6 /* loop_utils.cpp */,
+				A94A67BD22B17BBB00C661C6 /* merge_return_pass.h */,
+				A94A67BE22B17BBB00C661C6 /* inline_opaque_pass.h */,
+				A94A67BF22B17BBB00C661C6 /* loop_fusion.h */,
+				A94A67C022B17BBB00C661C6 /* combine_access_chains.cpp */,
+				A94A67C122B17BBB00C661C6 /* build_module.cpp */,
+				A94A67C222B17BBB00C661C6 /* composite.h */,
+				A94A67C322B17BBB00C661C6 /* compact_ids_pass.h */,
+				A94A67C422B17BBB00C661C6 /* register_pressure.h */,
+				A94A67C522B17BBB00C661C6 /* tree_iterator.h */,
+				A94A67C622B17BBB00C661C6 /* strip_atomic_counter_memory_pass.h */,
+				A94A67C722B17BBB00C661C6 /* legalize_vector_shuffle_pass.h */,
+				A94A67C822B17BBB00C661C6 /* local_single_store_elim_pass.h */,
+				A94A67C922B17BBB00C661C6 /* reduce_load_size.h */,
+				A94A67CA22B17BBB00C661C6 /* code_sink.cpp */,
+				A94A67CB22B17BBB00C661C6 /* types.cpp */,
+				A94A67CC22B17BBB00C661C6 /* scalar_analysis.h */,
+				A94A67CD22B17BBB00C661C6 /* strip_debug_info_pass.h */,
+				A94A67CE22B17BBB00C661C6 /* cfg.cpp */,
+				A94A67CF22B17BBB00C661C6 /* strip_atomic_counter_memory_pass.cpp */,
+				A94A67D022B17BBB00C661C6 /* decoration_manager.cpp */,
+				A94A67D122B17BBB00C661C6 /* local_single_block_elim_pass.cpp */,
+				A94A67D222B17BBB00C661C6 /* freeze_spec_constant_value_pass.cpp */,
+				A94A67D322B17BBB00C661C6 /* replace_invalid_opc.h */,
+				A94A67D422B17BBB00C661C6 /* local_access_chain_convert_pass.h */,
+				A94A67D522B17BBB00C661C6 /* inst_bindless_check_pass.cpp */,
+				A94A67D622B17BBB00C661C6 /* local_redundancy_elimination.cpp */,
+				A94A67D722B17BBB00C661C6 /* CMakeLists.txt */,
+				A94A67D822B17BBB00C661C6 /* instrument_pass.cpp */,
+				A94A67D922B17BBB00C661C6 /* propagator.h */,
+				A94A67DA22B17BBB00C661C6 /* instruction_list.h */,
+				A94A67DB22B17BBB00C661C6 /* feature_manager.cpp */,
+				A94A67DC22B17BBB00C661C6 /* pass.cpp */,
+				A94A67DD22B17BBB00C661C6 /* loop_fission.cpp */,
+				A94A67DE22B17BBB00C661C6 /* dominator_tree.cpp */,
+				A94A67DF22B17BBB00C661C6 /* merge_return_pass.cpp */,
+				A94A67E022B17BBB00C661C6 /* ir_context.h */,
+				A94A67E122B17BBB00C661C6 /* eliminate_dead_constant_pass.cpp */,
+				A94A67E222B17BBB00C661C6 /* cfg_cleanup_pass.cpp */,
+				A94A67E322B17BBB00C661C6 /* const_folding_rules.cpp */,
+				A94A67E422B17BBB00C661C6 /* loop_unroller.h */,
+				A94A67E522B17BBB00C661C6 /* strip_debug_info_pass.cpp */,
+				A94A67E622B17BBB00C661C6 /* ssa_rewrite_pass.cpp */,
+				A94A67E722B17BBB00C661C6 /* loop_dependence.cpp */,
+				A94A67E822B17BBB00C661C6 /* unify_const_pass.h */,
+				A94A67E922B17BBB00C661C6 /* ir_loader.h */,
+				A94A67EA22B17BBB00C661C6 /* types.h */,
+				A94A67EB22B17BBB00C661C6 /* fold_spec_constant_op_and_composite_pass.h */,
+				A94A67EC22B17BBB00C661C6 /* mem_pass.cpp */,
+				A94A67ED22B17BBB00C661C6 /* basic_block.h */,
+				A94A67EE22B17BBB00C661C6 /* remove_duplicates_pass.cpp */,
+				A94A67EF22B17BBB00C661C6 /* dead_variable_elimination.cpp */,
+				A94A67F022B17BBB00C661C6 /* block_merge_pass.h */,
+				A94A67F122B17BBB00C661C6 /* module.cpp */,
+				A94A67F222B17BBB00C661C6 /* fold_spec_constant_op_and_composite_pass.cpp */,
+				A94A67F322B17BBB00C661C6 /* loop_unswitch_pass.cpp */,
+				A94A67F422B17BBB00C661C6 /* unify_const_pass.cpp */,
+				A94A67F522B17BBB00C661C6 /* type_manager.cpp */,
+				A94A67F622B17BBB00C661C6 /* generate_webgpu_initializers_pass.cpp */,
+				A94A67F722B17BBB00C661C6 /* private_to_local_pass.h */,
+				A94A67F822B17BBB00C661C6 /* inline_pass.cpp */,
+				A94A67F922B17BBB00C661C6 /* def_use_manager.h */,
+				A94A67FA22B17BBB00C661C6 /* ir_loader.cpp */,
+				A94A67FB22B17BBB00C661C6 /* cfg_cleanup_pass.h */,
+				A94A67FC22B17BBB00C661C6 /* licm_pass.cpp */,
+				A94A67FD22B17BBB00C661C6 /* eliminate_dead_functions_pass.cpp */,
+				A94A67FE22B17BBB00C661C6 /* local_redundancy_elimination.h */,
+				A94A67FF22B17BBB00C661C6 /* split_invalid_unreachable_pass.cpp */,
+				A94A680022B17BBB00C661C6 /* loop_peeling.h */,
+				A94A680122B17BBB00C661C6 /* vector_dce.cpp */,
+				A94A680222B17BBB00C661C6 /* block_merge_util.h */,
+				A94A680322B17BBB00C661C6 /* loop_unroller.cpp */,
+				A94A680422B17BBB00C661C6 /* constants.cpp */,
+				A94A680522B17BBB00C661C6 /* loop_fusion_pass.h */,
+				A94A680622B17BBB00C661C6 /* struct_cfg_analysis.h */,
+				A94A680722B17BBB00C661C6 /* common_uniform_elim_pass.cpp */,
+				A94A680822B17BBB00C661C6 /* def_use_manager.cpp */,
+				A94A680922B17BBB00C661C6 /* strip_reflect_info_pass.cpp */,
+				A94A680A22B17BBB00C661C6 /* decoration_manager.h */,
+				A94A680B22B17BBB00C661C6 /* ccp_pass.cpp */,
+				A94A680C22B17BBB00C661C6 /* process_lines_pass.h */,
+				A94A680D22B17BBB00C661C6 /* local_single_block_elim_pass.h */,
+				A94A680E22B17BBB00C661C6 /* pch_source_opt.cpp */,
+				A94A680F22B17BBB00C661C6 /* strength_reduction_pass.h */,
+				A94A681022B17BBB00C661C6 /* aggressive_dead_code_elim_pass.cpp */,
+				A94A681122B17BBB00C661C6 /* eliminate_dead_functions_util.cpp */,
+				A94A681222B17BBB00C661C6 /* simplification_pass.cpp */,
+				A94A681322B17BBB00C661C6 /* dead_branch_elim_pass.cpp */,
+				A94A681422B17BBB00C661C6 /* flatten_decoration_pass.cpp */,
+				A94A681522B17BBB00C661C6 /* dead_insert_elim_pass.h */,
+				A94A681622B17BBB00C661C6 /* folding_rules.cpp */,
+				A94A681722B17BBB00C661C6 /* freeze_spec_constant_value_pass.h */,
+				A94A681822B17BBB00C661C6 /* ir_context.cpp */,
+				A94A681922B17BBB00C661C6 /* instrument_pass.h */,
+				A94A681A22B17BBB00C661C6 /* mem_pass.h */,
+				A94A681B22B17BBB00C661C6 /* loop_descriptor.cpp */,
+				A94A681C22B17BBB00C661C6 /* local_ssa_elim_pass.cpp */,
+				A94A681D22B17BBB00C661C6 /* eliminate_dead_members_pass.h */,
+				A94A681E22B17BBB00C661C6 /* function.cpp */,
+				A94A681F22B17BBB00C661C6 /* instruction_list.cpp */,
+				A94A682022B17BBB00C661C6 /* composite.cpp */,
+				A94A682122B17BBB00C661C6 /* process_lines_pass.cpp */,
+				A94A682222B17BBB00C661C6 /* inline_pass.h */,
+				A94A682322B17BBB00C661C6 /* loop_dependence.h */,
+				A94A682422B17BBB00C661C6 /* value_number_table.h */,
+				A94A682522B17BBB00C661C6 /* flatten_decoration_pass.h */,
+				A94A682622B17BBB00C661C6 /* if_conversion.cpp */,
+				A94A682722B17BBB00C661C6 /* inline_exhaustive_pass.h */,
+				A94A682822B17BBB00C661C6 /* constants.h */,
+				A94A682922B17BBB00C661C6 /* eliminate_dead_members_pass.cpp */,
+				A94A682A22B17BBB00C661C6 /* strength_reduction_pass.cpp */,
+				A94A682B22B17BBB00C661C6 /* block_merge_util.cpp */,
+				A94A682C22B17BBB00C661C6 /* upgrade_memory_model.h */,
+				A94A682D22B17BBB00C661C6 /* copy_prop_arrays.cpp */,
+				A94A682E22B17BBB00C661C6 /* pass_manager.cpp */,
+				A94A682F22B17BBB00C661C6 /* inline_exhaustive_pass.cpp */,
+				A94A683022B17BBB00C661C6 /* loop_fission.h */,
+				A94A683122B17BBB00C661C6 /* workaround1209.h */,
+				A94A683222B17BBB00C661C6 /* loop_fusion_pass.cpp */,
+				A94A683322B17BBB00C661C6 /* log.h */,
+				A94A683422B17BBB00C661C6 /* split_invalid_unreachable_pass.h */,
+				A94A683522B17BBB00C661C6 /* copy_prop_arrays.h */,
+				A94A683622B17BBB00C661C6 /* eliminate_dead_constant_pass.h */,
+				A94A683722B17BBB00C661C6 /* dead_insert_elim_pass.cpp */,
+				A94A683822B17BBB00C661C6 /* ssa_rewrite_pass.h */,
+				A94A683922B17BBB00C661C6 /* scalar_analysis.cpp */,
+				A94A683A22B17BBB00C661C6 /* dead_variable_elimination.h */,
+				A94A683B22B17BBB00C661C6 /* block_merge_pass.cpp */,
+				A94A683C22B17BBB00C661C6 /* dominator_analysis.h */,
+				A94A683D22B17BBB00C661C6 /* pass.h */,
+				A94A683E22B17BBB00C661C6 /* folding_rules.h */,
+				A94A683F22B17BBB00C661C6 /* eliminate_dead_functions_pass.h */,
+				A94A684022B17BBB00C661C6 /* common_uniform_elim_pass.h */,
+				A94A684122B17BBB00C661C6 /* eliminate_dead_functions_util.h */,
+				A94A684222B17BBB00C661C6 /* fold.h */,
+				A94A684322B17BBB00C661C6 /* local_single_store_elim_pass.cpp */,
+				A94A684422B17BBB00C661C6 /* dead_branch_elim_pass.h */,
+				A94A684522B17BBB00C661C6 /* private_to_local_pass.cpp */,
+				A94A684622B17BBB00C661C6 /* scalar_analysis_nodes.h */,
+				A94A684722B17BBB00C661C6 /* propagator.cpp */,
+				A94A684822B17BBB00C661C6 /* fix_storage_class.h */,
+				A94A684922B17BBB00C661C6 /* loop_dependence_helpers.cpp */,
+				A94A684A22B17BBB00C661C6 /* set_spec_constant_default_value_pass.cpp */,
+				A94A684B22B17BBB00C661C6 /* passes.h */,
+				A94A684C22B17BBB00C661C6 /* fold.cpp */,
+				A94A684D22B17BBB00C661C6 /* strip_reflect_info_pass.h */,
+				A94A684E22B17BBB00C661C6 /* scalar_replacement_pass.cpp */,
+				A94A684F22B17BBB00C661C6 /* simplification_pass.h */,
+				A94A685022B17BBB00C661C6 /* remove_duplicates_pass.h */,
+				A94A685122B17BBB00C661C6 /* redundancy_elimination.cpp */,
+				A94A685222B17BBB00C661C6 /* reflect.h */,
+				A94A685322B17BBB00C661C6 /* workaround1209.cpp */,
+				A94A685422B17BBB00C661C6 /* null_pass.h */,
+				A94A685522B17BBB00C661C6 /* const_folding_rules.h */,
+				A94A685622B17BBB00C661C6 /* scalar_replacement_pass.h */,
+				A94A685722B17BBB00C661C6 /* instruction.cpp */,
+				A94A685822B17BBB00C661C6 /* pch_source_opt.h */,
+				A94A685922B17BBB00C661C6 /* reduce_load_size.cpp */,
+				A94A685A22B17BBB00C661C6 /* redundancy_elimination.h */,
+				A94A685B22B17BBB00C661C6 /* fix_storage_class.cpp */,
+				A94A685C22B17BBB00C661C6 /* value_number_table.cpp */,
+				A94A685D22B17BBB00C661C6 /* local_ssa_elim_pass.h */,
+				A94A685E22B17BBB00C661C6 /* inline_opaque_pass.cpp */,
+				A94A685F22B17BBB00C661C6 /* replace_invalid_opc.cpp */,
+				A94A686022B17BBB00C661C6 /* loop_utils.h */,
+				A94A686122B17BBB00C661C6 /* module.h */,
+				A94A686222B17BBB00C661C6 /* dominator_analysis.cpp */,
+				A94A686322B17BBB00C661C6 /* decompose_initialized_variables_pass.cpp */,
+				A94A686422B17BBB00C661C6 /* ir_builder.h */,
+				A94A686522B17BBB00C661C6 /* loop_unswitch_pass.h */,
+				A94A686622B17BBB00C661C6 /* cfg.h */,
+				A94A686722B17BBB00C661C6 /* code_sink.h */,
+				A94A686822B17BBB00C661C6 /* loop_descriptor.h */,
+				A94A686922B17BBB00C661C6 /* generate_webgpu_initializers_pass.h */,
+				A94A686A22B17BBB00C661C6 /* instruction.h */,
+				A94A686B22B17BBB00C661C6 /* aggressive_dead_code_elim_pass.h */,
+				A94A686C22B17BBB00C661C6 /* struct_cfg_analysis.cpp */,
+				A94A686D22B17BBB00C661C6 /* vector_dce.h */,
+				A94A686E22B17BBB00C661C6 /* combine_access_chains.h */,
+				A94A686F22B17BBB00C661C6 /* pass_manager.h */,
+				A94A687022B17BBB00C661C6 /* local_access_chain_convert_pass.cpp */,
+				A94A687122B17BBB00C661C6 /* basic_block.cpp */,
+				A94A687222B17BBB00C661C6 /* iterator.h */,
+				A94A687322B17BBB00C661C6 /* licm_pass.h */,
+				A94A687422B17BBB00C661C6 /* build_module.h */,
+				A94A687522B17BBB00C661C6 /* ccp_pass.h */,
+				A94A687622B17BBB00C661C6 /* decompose_initialized_variables_pass.h */,
+				A94A687722B17BBB00C661C6 /* function.h */,
+				A94A687822B17BBB00C661C6 /* loop_fusion.cpp */,
+				A94A687922B17BBB00C661C6 /* upgrade_memory_model.cpp */,
+				A94A687A22B17BBB00C661C6 /* feature_manager.h */,
+				A94A687B22B17BBB00C661C6 /* inst_bindless_check_pass.h */,
+				A94A687C22B17BBB00C661C6 /* scalar_analysis_simplification.cpp */,
+				A94A687D22B17BBB00C661C6 /* set_spec_constant_default_value_pass.h */,
+				A94A687E22B17BBB00C661C6 /* dominator_tree.h */,
+				A94A687F22B17BBB00C661C6 /* legalize_vector_shuffle_pass.cpp */,
+				A94A688022B17BBB00C661C6 /* type_manager.h */,
+				A94A688122B17BBB00C661C6 /* compact_ids_pass.cpp */,
+				A94A688222B17BBB00C661C6 /* loop_peeling.cpp */,
 			);
 			path = opt;
 			sourceTree = "<group>";
 		};
-		A943625E225FE723000DDF2C /* val */ = {
+		A94A68BC22B17BBB00C661C6 /* val */ = {
 			isa = PBXGroup;
 			children = (
-				A943625F225FE723000DDF2C /* validate_annotation.cpp */,
-				A9436260225FE723000DDF2C /* validate_cfg.cpp */,
-				A9436261225FE723000DDF2C /* validate_capability.cpp */,
-				A9436262225FE723000DDF2C /* construct.h */,
-				A9436263225FE723000DDF2C /* validate_barriers.cpp */,
-				A9436264225FE723000DDF2C /* validate_non_uniform.cpp */,
-				A9436265225FE723000DDF2C /* validate_scopes.cpp */,
-				A9436266225FE723000DDF2C /* validate_atomics.cpp */,
-				A9436267225FE723000DDF2C /* basic_block.h */,
-				A9436268225FE723000DDF2C /* validate_instruction.cpp */,
-				A9436269225FE723000DDF2C /* validate_decorations.cpp */,
-				A943626A225FE723000DDF2C /* validate_debug.cpp */,
-				A943626B225FE723000DDF2C /* validate_builtins.cpp */,
-				A943626C225FE723000DDF2C /* validate_interfaces.cpp */,
-				A943626D225FE723000DDF2C /* validate.cpp */,
-				A943626E225FE723000DDF2C /* validation_state.h */,
-				A943626F225FE723000DDF2C /* validate_constants.cpp */,
-				A9436270225FE723000DDF2C /* validate_bitwise.cpp */,
-				A9436271225FE723000DDF2C /* validate_extensions.cpp */,
-				A9436272225FE723000DDF2C /* construct.cpp */,
-				A9436273225FE723000DDF2C /* function.cpp */,
-				A9436274225FE723000DDF2C /* validate.h */,
-				A9436275225FE723000DDF2C /* validate_adjacency.cpp */,
-				A9436276225FE723000DDF2C /* validate_conversion.cpp */,
-				A9436277225FE723000DDF2C /* validate_datarules.cpp */,
-				A9436278225FE723000DDF2C /* validate_scopes.h */,
-				A9436279225FE723000DDF2C /* validate_id.cpp */,
-				A943627A225FE723000DDF2C /* validate_memory_semantics.h */,
-				A943627B225FE723000DDF2C /* validate_arithmetics.cpp */,
-				A943627C225FE723000DDF2C /* validate_mode_setting.cpp */,
-				A943627D225FE723000DDF2C /* validate_memory_semantics.cpp */,
-				A943627E225FE723000DDF2C /* validate_logicals.cpp */,
-				A943627F225FE723000DDF2C /* validate_derivatives.cpp */,
-				A9436280225FE723000DDF2C /* validate_memory.cpp */,
-				A9436281225FE723000DDF2C /* validate_image.cpp */,
-				A9436282225FE724000DDF2C /* validate_literals.cpp */,
-				A9436283225FE724000DDF2C /* instruction.cpp */,
-				A9436284225FE724000DDF2C /* validate_type.cpp */,
-				A9436285225FE724000DDF2C /* instruction.h */,
-				A9436286225FE724000DDF2C /* validate_execution_limitations.cpp */,
-				A9436287225FE724000DDF2C /* validate_layout.cpp */,
-				A9436288225FE724000DDF2C /* basic_block.cpp */,
-				A9436289225FE724000DDF2C /* validate_function.cpp */,
-				A943628A225FE724000DDF2C /* function.h */,
-				A943628B225FE724000DDF2C /* validate_composites.cpp */,
-				A943628C225FE724000DDF2C /* validation_state.cpp */,
-				A943628D225FE724000DDF2C /* validate_primitives.cpp */,
-				A943628E225FE724000DDF2C /* decoration.h */,
+				A94A68BD22B17BBB00C661C6 /* validate_annotation.cpp */,
+				A94A68BE22B17BBB00C661C6 /* validate_misc.cpp */,
+				A94A68BF22B17BBB00C661C6 /* validate_cfg.cpp */,
+				A94A68C022B17BBB00C661C6 /* validate_capability.cpp */,
+				A94A68C122B17BBB00C661C6 /* construct.h */,
+				A94A68C222B17BBB00C661C6 /* validate_barriers.cpp */,
+				A94A68C322B17BBB00C661C6 /* validate_non_uniform.cpp */,
+				A94A68C422B17BBB00C661C6 /* validate_scopes.cpp */,
+				A94A68C522B17BBB00C661C6 /* validate_atomics.cpp */,
+				A94A68C622B17BBB00C661C6 /* basic_block.h */,
+				A94A68C722B17BBB00C661C6 /* validate_instruction.cpp */,
+				A94A68C822B17BBB00C661C6 /* validate_decorations.cpp */,
+				A94A68C922B17BBB00C661C6 /* validate_debug.cpp */,
+				A94A68CA22B17BBB00C661C6 /* validate_builtins.cpp */,
+				A94A68CB22B17BBB00C661C6 /* validate_interfaces.cpp */,
+				A94A68CC22B17BBB00C661C6 /* validate.cpp */,
+				A94A68CD22B17BBB00C661C6 /* validation_state.h */,
+				A94A68CE22B17BBB00C661C6 /* validate_constants.cpp */,
+				A94A68CF22B17BBB00C661C6 /* validate_bitwise.cpp */,
+				A94A68D022B17BBB00C661C6 /* validate_extensions.cpp */,
+				A94A68D122B17BBB00C661C6 /* construct.cpp */,
+				A94A68D222B17BBB00C661C6 /* function.cpp */,
+				A94A68D322B17BBB00C661C6 /* validate.h */,
+				A94A68D422B17BBB00C661C6 /* validate_adjacency.cpp */,
+				A94A68D522B17BBB00C661C6 /* validate_conversion.cpp */,
+				A94A68D622B17BBB00C661C6 /* validate_datarules.cpp */,
+				A94A68D722B17BBB00C661C6 /* validate_scopes.h */,
+				A94A68D822B17BBB00C661C6 /* validate_id.cpp */,
+				A94A68D922B17BBB00C661C6 /* validate_memory_semantics.h */,
+				A94A68DA22B17BBB00C661C6 /* validate_arithmetics.cpp */,
+				A94A68DB22B17BBB00C661C6 /* validate_mode_setting.cpp */,
+				A94A68DC22B17BBB00C661C6 /* validate_memory_semantics.cpp */,
+				A94A68DD22B17BBB00C661C6 /* validate_logicals.cpp */,
+				A94A68DE22B17BBB00C661C6 /* validate_derivatives.cpp */,
+				A94A68DF22B17BBB00C661C6 /* validate_memory.cpp */,
+				A94A68E022B17BBB00C661C6 /* validate_image.cpp */,
+				A94A68E122B17BBB00C661C6 /* validate_literals.cpp */,
+				A94A68E222B17BBB00C661C6 /* instruction.cpp */,
+				A94A68E322B17BBB00C661C6 /* validate_type.cpp */,
+				A94A68E422B17BBB00C661C6 /* instruction.h */,
+				A94A68E522B17BBB00C661C6 /* validate_execution_limitations.cpp */,
+				A94A68E622B17BBB00C661C6 /* validate_layout.cpp */,
+				A94A68E722B17BBB00C661C6 /* basic_block.cpp */,
+				A94A68E822B17BBB00C661C6 /* validate_function.cpp */,
+				A94A68E922B17BBB00C661C6 /* function.h */,
+				A94A68EA22B17BBB00C661C6 /* validate_composites.cpp */,
+				A94A68EB22B17BBB00C661C6 /* validation_state.cpp */,
+				A94A68EC22B17BBB00C661C6 /* validate_primitives.cpp */,
+				A94A68ED22B17BBB00C661C6 /* decoration.h */,
 			);
 			path = val;
 			sourceTree = "<group>";
@@ -2040,7 +2038,7 @@
 		A972A82421CECC410013AB25 /* SPIRV-Tools */ = {
 			isa = PBXGroup;
 			children = (
-				A9436109225FE723000DDF2C /* source */,
+				A94A673D22B17BBB00C661C6 /* source */,
 			);
 			name = "SPIRV-Tools";
 			path = "glslang/External/spirv-tools";
@@ -2283,188 +2281,187 @@
 			isa = PBXHeadersBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A94363D7225FE724000DDF2C /* types.h in Headers */,
-				A9436347225FE724000DDF2C /* markv_encoder.h in Headers */,
-				A9436511225FE724000DDF2C /* extensions.h in Headers */,
-				A94363E3225FE724000DDF2C /* block_merge_pass.h in Headers */,
-				A9436315225FE724000DDF2C /* reduction_util.h in Headers */,
-				A943640D225FE724000DDF2C /* struct_cfg_analysis.h in Headers */,
-				A943635D225FE724000DDF2C /* text_handler.h in Headers */,
-				A943656F225FE724000DDF2C /* function.h in Headers */,
-				A94364A7225FE724000DDF2C /* const_folding_rules.h in Headers */,
-				A94362A5225FE724000DDF2C /* string_utils.h in Headers */,
-				A9436395225FE724000DDF2C /* local_single_store_elim_pass.h in Headers */,
-				A9436299225FE724000DDF2C /* text.h in Headers */,
-				A94364F3225FE724000DDF2C /* dominator_tree.h in Headers */,
-				A943633B225FE724000DDF2C /* spirv_validator_options.h in Headers */,
-				A943648B225FE724000DDF2C /* scalar_analysis_nodes.h in Headers */,
-				A94364B5225FE724000DDF2C /* local_ssa_elim_pass.h in Headers */,
-				A9436435225FE724000DDF2C /* mem_pass.h in Headers */,
-				A9436335225FE724000DDF2C /* macro.h in Headers */,
-				A943630F225FE724000DDF2C /* change_operand_reduction_opportunity.h in Headers */,
-				A943647F225FE724000DDF2C /* common_uniform_elim_pass.h in Headers */,
-				A9436463225FE724000DDF2C /* workaround1209.h in Headers */,
-				A9436397225FE724000DDF2C /* reduce_load_size.h in Headers */,
-				A94362FB225FE724000DDF2C /* remove_function_reduction_opportunity_finder.h in Headers */,
-				A943637B225FE724000DDF2C /* if_conversion.h in Headers */,
-				A9436543225FE724000DDF2C /* validate.h in Headers */,
-				A94362E3225FE724000DDF2C /* remove_function_reduction_opportunity.h in Headers */,
-				A9436351225FE724000DDF2C /* move_to_front.h in Headers */,
-				A9436493225FE724000DDF2C /* passes.h in Headers */,
-				A9436393225FE724000DDF2C /* strip_atomic_counter_memory_pass.h in Headers */,
-				A9436509225FE724000DDF2C /* spirv_optimizer_options.h in Headers */,
-				A94363D3225FE724000DDF2C /* unify_const_pass.h in Headers */,
-				A943644F225FE724000DDF2C /* inline_exhaustive_pass.h in Headers */,
-				A94363F1225FE724000DDF2C /* private_to_local_pass.h in Headers */,
-				A9436385225FE724000DDF2C /* loop_fusion.h in Headers */,
-				A9436325225FE724000DDF2C /* pch_source.h in Headers */,
-				A9436467225FE724000DDF2C /* log.h in Headers */,
-				A9436505225FE724000DDF2C /* instruction.h in Headers */,
-				A943649D225FE724000DDF2C /* remove_duplicates_pass.h in Headers */,
-				A943651F225FE724000DDF2C /* construct.h in Headers */,
-				A943641B225FE724000DDF2C /* local_single_block_elim_pass.h in Headers */,
-				A9436501225FE724000DDF2C /* latest_version_spirv_header.h in Headers */,
-				A94363B5225FE724000DDF2C /* propagator.h in Headers */,
-				A9436497225FE724000DDF2C /* strip_reflect_info_pass.h in Headers */,
-				A94362A3225FE724000DDF2C /* make_unique.h in Headers */,
-				A9436577225FE724000DDF2C /* decoration.h in Headers */,
-				A9436415225FE724000DDF2C /* decoration_manager.h in Headers */,
-				A94363CB225FE724000DDF2C /* loop_unroller.h in Headers */,
-				A94364AD225FE724000DDF2C /* pch_source_opt.h in Headers */,
-				A943631D225FE724000DDF2C /* reduction_pass.h in Headers */,
-				A94362FF225FE724000DDF2C /* remove_unreferenced_instruction_reduction_opportunity_finder.h in Headers */,
-				A9436343225FE724000DDF2C /* bit_stream.h in Headers */,
-				A94362B3225FE724000DDF2C /* hex_float.h in Headers */,
-				A9436487225FE724000DDF2C /* dead_branch_elim_pass.h in Headers */,
-				A94364C5225FE724000DDF2C /* cfg.h in Headers */,
-				A94364D3225FE724000DDF2C /* vector_dce.h in Headers */,
-				A94362E1225FE724000DDF2C /* structured_loop_to_selection_reduction_opportunity.h in Headers */,
-				A9436337225FE724000DDF2C /* spirv_constant.h in Headers */,
-				A94362A1225FE724000DDF2C /* ilist_node.h in Headers */,
-				A9436341225FE724000DDF2C /* huffman_codec.h in Headers */,
-				A943644B225FE724000DDF2C /* flatten_decoration_pass.h in Headers */,
-				A94364A5225FE724000DDF2C /* null_pass.h in Headers */,
-				A94364ED225FE724000DDF2C /* inst_bindless_check_pass.h in Headers */,
-				A9436507225FE724000DDF2C /* id_descriptor.h in Headers */,
-				A94363AB225FE724000DDF2C /* replace_invalid_opc.h in Headers */,
-				A943646F225FE724000DDF2C /* ssa_rewrite_pass.h in Headers */,
-				A94363DD225FE724000DDF2C /* basic_block.h in Headers */,
-				A94362E5225FE724000DDF2C /* change_operand_to_undef_reduction_opportunity.h in Headers */,
-				A94363F5225FE724000DDF2C /* def_use_manager.h in Headers */,
-				A94364C9225FE724000DDF2C /* loop_descriptor.h in Headers */,
-				A9436383225FE724000DDF2C /* inline_opaque_pass.h in Headers */,
-				A94363B7225FE724000DDF2C /* instruction_list.h in Headers */,
-				A94363FF225FE724000DDF2C /* local_redundancy_elimination.h in Headers */,
-				A94363D9225FE724000DDF2C /* fold_spec_constant_op_and_composite_pass.h in Headers */,
-				A9436449225FE724000DDF2C /* value_number_table.h in Headers */,
-				A94362B9225FE724000DDF2C /* ilist.h in Headers */,
-				A943635F225FE724000DDF2C /* parsed_operand.h in Headers */,
-				A9436373225FE724000DDF2C /* print.h in Headers */,
-				A943640B225FE724000DDF2C /* loop_fusion_pass.h in Headers */,
-				A943638F225FE724000DDF2C /* register_pressure.h in Headers */,
-				A9436305225FE724000DDF2C /* reducer.h in Headers */,
-				A94364F5225FE724000DDF2C /* type_manager.h in Headers */,
-				A9436445225FE724000DDF2C /* inline_pass.h in Headers */,
-				A9436405225FE724000DDF2C /* block_merge_util.h in Headers */,
-				A943634D225FE724000DDF2C /* markv_model.h in Headers */,
-				A943638B225FE724000DDF2C /* composite.h in Headers */,
-				A943647B225FE724000DDF2C /* folding_rules.h in Headers */,
-				A9436515225FE724000DDF2C /* binary.h in Headers */,
-				A94362D5225FE724000DDF2C /* remove_instruction_reduction_opportunity.h in Headers */,
-				A94363D5225FE724000DDF2C /* ir_loader.h in Headers */,
-				A9436367225FE724000DDF2C /* diagnostic.h in Headers */,
-				A94364BB225FE724000DDF2C /* loop_utils.h in Headers */,
-				A9436349225FE724000DDF2C /* markv_decoder.h in Headers */,
-				A94364BD225FE724000DDF2C /* module.h in Headers */,
-				A9436293225FE724000DDF2C /* enum_set.h in Headers */,
-				A9436481225FE724000DDF2C /* eliminate_dead_functions_util.h in Headers */,
-				A9436451225FE724000DDF2C /* constants.h in Headers */,
-				A943642B225FE724000DDF2C /* dead_insert_elim_pass.h in Headers */,
-				A94362AF225FE724000DDF2C /* bit_vector.h in Headers */,
-				A943654F225FE724000DDF2C /* validate_memory_semantics.h in Headers */,
-				A94363AD225FE724000DDF2C /* local_access_chain_convert_pass.h in Headers */,
-				A9436469225FE724000DDF2C /* copy_prop_arrays.h in Headers */,
-				A94364DF225FE724000DDF2C /* licm_pass.h in Headers */,
-				A94364CF225FE724000DDF2C /* aggressive_dead_code_elim_pass.h in Headers */,
-				A9436537225FE724000DDF2C /* validation_state.h in Headers */,
-				A9436291225FE724000DDF2C /* assembly_grammar.h in Headers */,
-				A943632F225FE724000DDF2C /* spirv_definition.h in Headers */,
-				A9436433225FE724000DDF2C /* instrument_pass.h in Headers */,
-				A94362C1225FE724000DDF2C /* operand_to_undef_reduction_opportunity_finder.h in Headers */,
-				A9436327225FE724000DDF2C /* enum_string_mapping.h in Headers */,
-				A9436479225FE724000DDF2C /* pass.h in Headers */,
-				A94363F9225FE724000DDF2C /* cfg_cleanup_pass.h in Headers */,
-				A94364C7225FE724000DDF2C /* code_sink.h in Headers */,
-				A94364D5225FE724000DDF2C /* combine_access_chains.h in Headers */,
-				A94364FD225FE724000DDF2C /* ext_inst.h in Headers */,
-				A9436329225FE724000DDF2C /* spirv_reducer_options.h in Headers */,
-				A9436353225FE724000DDF2C /* markv_codec.h in Headers */,
-				A94362EB225FE724000DDF2C /* remove_selection_reduction_opportunity.h in Headers */,
-				A9436459225FE724000DDF2C /* upgrade_memory_model.h in Headers */,
-				A94364E3225FE724000DDF2C /* ccp_pass.h in Headers */,
-				A943649B225FE724000DDF2C /* simplification_pass.h in Headers */,
-				A9436529225FE724000DDF2C /* basic_block.h in Headers */,
-				A9436477225FE724000DDF2C /* dominator_analysis.h in Headers */,
-				A9436355225FE724000DDF2C /* markv_logger.h in Headers */,
-				A94362D9225FE724000DDF2C /* remove_opname_instruction_reduction_opportunity_finder.h in Headers */,
-				A9436391225FE724000DDF2C /* tree_iterator.h in Headers */,
-				A94364C1225FE724000DDF2C /* ir_builder.h in Headers */,
-				A943641F225FE724000DDF2C /* strength_reduction_pass.h in Headers */,
-				A943650F225FE724000DDF2C /* latest_version_glsl_std_450_header.h in Headers */,
-				A94362C5225FE724000DDF2C /* remove_block_reduction_opportunity.h in Headers */,
-				A9436361225FE724000DDF2C /* name_mapper.h in Headers */,
-				A943643B225FE724000DDF2C /* eliminate_dead_members_pass.h in Headers */,
-				A9436381225FE724000DDF2C /* merge_return_pass.h in Headers */,
-				A94364FB225FE724000DDF2C /* table.h in Headers */,
-				A94364CB225FE724000DDF2C /* generate_webgpu_initializers_pass.h in Headers */,
-				A9436369225FE724000DDF2C /* spirv_endian.h in Headers */,
-				A94362C7225FE724000DDF2C /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */,
-				A94364F1225FE724000DDF2C /* set_spec_constant_default_value_pass.h in Headers */,
-				A94362AB225FE724000DDF2C /* timer.h in Headers */,
-				A943639D225FE724000DDF2C /* scalar_analysis.h in Headers */,
-				A9436461225FE724000DDF2C /* loop_fission.h in Headers */,
-				A94364E5225FE724000DDF2C /* function.h in Headers */,
-				A9436447225FE724000DDF2C /* loop_dependence.h in Headers */,
-				A9436311225FE724000DDF2C /* remove_block_reduction_opportunity_finder.h in Headers */,
-				A9436377225FE724000DDF2C /* disassemble.h in Headers */,
-				A943642F225FE724000DDF2C /* freeze_spec_constant_value_pass.h in Headers */,
-				A94364D7225FE724000DDF2C /* pass_manager.h in Headers */,
-				A943647D225FE724000DDF2C /* eliminate_dead_functions_pass.h in Headers */,
-				A9436565225FE724000DDF2C /* instruction.h in Headers */,
-				A94364E1225FE724000DDF2C /* build_module.h in Headers */,
-				A94364EB225FE724000DDF2C /* feature_manager.h in Headers */,
-				A9436309225FE724000DDF2C /* reduction_opportunity.h in Headers */,
-				A94362BB225FE724000DDF2C /* spirv_target_env.h in Headers */,
-				A94364CD225FE724000DDF2C /* instruction.h in Headers */,
-				A9436483225FE724000DDF2C /* fold.h in Headers */,
-				A943631F225FE724000DDF2C /* latest_version_opencl_std_header.h in Headers */,
-				A94364B1225FE724000DDF2C /* redundancy_elimination.h in Headers */,
-				A9436401225FE724000DDF2C /* loop_peeling.h in Headers */,
-				A943634B225FE724000DDF2C /* markv.h in Headers */,
-				A94362B1225FE724000DDF2C /* bitutils.h in Headers */,
-				A9436331225FE724000DDF2C /* operand.h in Headers */,
-				A943630D225FE724000DDF2C /* reduction_opportunity_finder.h in Headers */,
-				A943646B225FE724000DDF2C /* eliminate_dead_constant_pass.h in Headers */,
-				A943638D225FE724000DDF2C /* compact_ids_pass.h in Headers */,
-				A943629F225FE724000DDF2C /* parse_number.h in Headers */,
-				A94362E9225FE724000DDF2C /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */,
-				A9436317225FE724000DDF2C /* merge_blocks_reduction_opportunity.h in Headers */,
-				A94362F1225FE724000DDF2C /* merge_blocks_reduction_opportunity_finder.h in Headers */,
-				A943639F225FE724000DDF2C /* strip_debug_info_pass.h in Headers */,
-				A94364DD225FE724000DDF2C /* iterator.h in Headers */,
-				A943650B225FE724000DDF2C /* opcode.h in Headers */,
-				A94362FD225FE724000DDF2C /* pch_source_reduce.h in Headers */,
-				A9436419225FE724000DDF2C /* process_lines_pass.h in Headers */,
-				A94362EF225FE724000DDF2C /* remove_selection_reduction_opportunity_finder.h in Headers */,
-				A9436323225FE724000DDF2C /* cfa.h in Headers */,
-				A9436473225FE724000DDF2C /* dead_variable_elimination.h in Headers */,
-				A943654B225FE724000DDF2C /* validate_scopes.h in Headers */,
-				A94364A1225FE724000DDF2C /* reflect.h in Headers */,
-				A94364A9225FE724000DDF2C /* scalar_replacement_pass.h in Headers */,
-				A94362A7225FE724000DDF2C /* small_vector.h in Headers */,
-				A94362CD225FE724000DDF2C /* operand_to_const_reduction_opportunity_finder.h in Headers */,
-				A94364C3225FE724000DDF2C /* loop_unswitch_pass.h in Headers */,
-				A94363C3225FE724000DDF2C /* ir_context.h in Headers */,
+				A94A6A2C22B17BBC00C661C6 /* types.h in Headers */,
+				A94A69F422B17BBC00C661C6 /* strip_debug_info_pass.h in Headers */,
+				A94A6AD422B17BBC00C661C6 /* folding_rules.h in Headers */,
+				A94A692022B17BBB00C661C6 /* operand_to_undef_reduction_opportunity_finder.h in Headers */,
+				A94A695422B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */,
+				A94A69F222B17BBC00C661C6 /* scalar_analysis.h in Headers */,
+				A94A6B0022B17BBC00C661C6 /* null_pass.h in Headers */,
+				A94A6A9E22B17BBC00C661C6 /* loop_dependence.h in Headers */,
+				A94A6B3222B17BBC00C661C6 /* vector_dce.h in Headers */,
+				A94A6A2A22B17BBC00C661C6 /* ir_loader.h in Headers */,
+				A94A6B5422B17BBC00C661C6 /* dominator_tree.h in Headers */,
+				A94A697A22B17BBB00C661C6 /* reduction_opportunity_finder.h in Headers */,
+				A94A6A8C22B17BBC00C661C6 /* mem_pass.h in Headers */,
+				A94A69CA22B17BBC00C661C6 /* disassemble.h in Headers */,
+				A94A693822B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h in Headers */,
+				A94A694622B17BBB00C661C6 /* simple_conditional_branch_to_branch_opportunity_finder.h in Headers */,
+				A94A6A6222B17BBC00C661C6 /* loop_fusion_pass.h in Headers */,
+				A94A6A3222B17BBC00C661C6 /* basic_block.h in Headers */,
+				A94A69D422B17BBC00C661C6 /* merge_return_pass.h in Headers */,
+				A94A6B3422B17BBC00C661C6 /* combine_access_chains.h in Headers */,
+				A94A699A22B17BBB00C661C6 /* spirv_reducer_options.h in Headers */,
+				A94A69DE22B17BBC00C661C6 /* composite.h in Headers */,
+				A94A6AD022B17BBC00C661C6 /* dominator_analysis.h in Headers */,
+				A94A6AA222B17BBC00C661C6 /* flatten_decoration_pass.h in Headers */,
+				A94A69BC22B17BBB00C661C6 /* spirv_endian.h in Headers */,
+				A94A693E22B17BBB00C661C6 /* remove_opname_instruction_reduction_opportunity_finder.h in Headers */,
+				A94A69A822B17BBB00C661C6 /* spirv_constant.h in Headers */,
+				A94A69CE22B17BBC00C661C6 /* if_conversion.h in Headers */,
+				A94A6B2C22B17BBC00C661C6 /* instruction.h in Headers */,
+				A94A696A22B17BBB00C661C6 /* remove_unreferenced_instruction_reduction_opportunity_finder.h in Headers */,
+				A94A6B4022B17BBC00C661C6 /* build_module.h in Headers */,
+				A94A6BC622B17BBC00C661C6 /* binary.h in Headers */,
+				A94A691222B17BBB00C661C6 /* bitutils.h in Headers */,
+				A94A6A2022B17BBC00C661C6 /* loop_unroller.h in Headers */,
+				A94A6B2E22B17BBC00C661C6 /* aggressive_dead_code_elim_pass.h in Headers */,
+				A94A697E22B17BBB00C661C6 /* remove_block_reduction_opportunity_finder.h in Headers */,
+				A94A691C22B17BBB00C661C6 /* spirv_target_env.h in Headers */,
+				A94A69E622B17BBC00C661C6 /* strip_atomic_counter_memory_pass.h in Headers */,
+				A94A6B4222B17BBC00C661C6 /* ccp_pass.h in Headers */,
+				A94A6A8A22B17BBC00C661C6 /* instrument_pass.h in Headers */,
+				A94A6A6C22B17BBC00C661C6 /* decoration_manager.h in Headers */,
+				A94A6AC022B17BBC00C661C6 /* split_invalid_unreachable_pass.h in Headers */,
+				A94A6AC222B17BBC00C661C6 /* copy_prop_arrays.h in Headers */,
+				A94A6B2822B17BBC00C661C6 /* loop_descriptor.h in Headers */,
+				A94A6B3E22B17BBC00C661C6 /* licm_pass.h in Headers */,
+				A94A69D822B17BBC00C661C6 /* loop_fusion.h in Headers */,
+				A94A690422B17BBB00C661C6 /* make_unique.h in Headers */,
+				A94A6AD222B17BBC00C661C6 /* pass.h in Headers */,
+				A94A6A7222B17BBC00C661C6 /* local_single_block_elim_pass.h in Headers */,
+				A94A6A5822B17BBC00C661C6 /* loop_peeling.h in Headers */,
+				A94A694C22B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity.h in Headers */,
+				A94A699222B17BBB00C661C6 /* cfa.h in Headers */,
+				A94A6A7622B17BBC00C661C6 /* strength_reduction_pass.h in Headers */,
+				A94A6A3822B17BBC00C661C6 /* block_merge_pass.h in Headers */,
+				A94A6B4E22B17BBC00C661C6 /* inst_bindless_check_pass.h in Headers */,
+				A94A69E222B17BBC00C661C6 /* register_pressure.h in Headers */,
+				A94A697422B17BBB00C661C6 /* reduction_opportunity.h in Headers */,
+				A94A6AFC22B17BBC00C661C6 /* reflect.h in Headers */,
+				A94A695A22B17BBB00C661C6 /* remove_selection_reduction_opportunity_finder.h in Headers */,
+				A94A6B3622B17BBC00C661C6 /* pass_manager.h in Headers */,
+				A94A6A6422B17BBC00C661C6 /* struct_cfg_analysis.h in Headers */,
+				A94A698222B17BBB00C661C6 /* reduction_util.h in Headers */,
+				A94A69EA22B17BBC00C661C6 /* local_single_store_elim_pass.h in Headers */,
+				A94A6BB822B17BBC00C661C6 /* instruction.h in Headers */,
+				A94A693622B17BBB00C661C6 /* remove_instruction_reduction_opportunity.h in Headers */,
+				A94A6B4422B17BBC00C661C6 /* decompose_initialized_variables_pass.h in Headers */,
+				A94A6AE022B17BBC00C661C6 /* dead_branch_elim_pass.h in Headers */,
+				A94A6B0222B17BBC00C661C6 /* const_folding_rules.h in Headers */,
+				A94A68F222B17BBB00C661C6 /* assembly_grammar.h in Headers */,
+				A94A69BA22B17BBB00C661C6 /* diagnostic.h in Headers */,
+				A94A69A022B17BBB00C661C6 /* spirv_definition.h in Headers */,
+				A94A6B0C22B17BBC00C661C6 /* redundancy_elimination.h in Headers */,
+				A94A6A0C22B17BBC00C661C6 /* instruction_list.h in Headers */,
+				A94A6BFE22B17BBD00C661C6 /* validate_scopes.h in Headers */,
+				A94A6B5822B17BBC00C661C6 /* type_manager.h in Headers */,
+				A94A6AF822B17BBC00C661C6 /* remove_duplicates_pass.h in Headers */,
+				A94A6BBC22B17BBC00C661C6 /* opcode.h in Headers */,
+				A94A6AB822B17BBC00C661C6 /* loop_fission.h in Headers */,
+				A94A692422B17BBB00C661C6 /* remove_block_reduction_opportunity.h in Headers */,
+				A94A6AE822B17BBC00C661C6 /* fix_storage_class.h in Headers */,
+				A94A6AA822B17BBC00C661C6 /* constants.h in Headers */,
+				A94A69A622B17BBB00C661C6 /* macro.h in Headers */,
+				A94A6A0A22B17BBC00C661C6 /* propagator.h in Headers */,
+				A94A6A8222B17BBC00C661C6 /* dead_insert_elim_pass.h in Headers */,
+				A94A6A2E22B17BBC00C661C6 /* fold_spec_constant_op_and_composite_pass.h in Headers */,
+				A94A693222B17BBB00C661C6 /* simple_conditional_branch_to_branch_reduction_opportunity.h in Headers */,
+				A94A6ABE22B17BBC00C661C6 /* log.h in Headers */,
+				A94A6AB022B17BBC00C661C6 /* upgrade_memory_model.h in Headers */,
+				A94A69B422B17BBB00C661C6 /* name_mapper.h in Headers */,
+				A94A6BBA22B17BBC00C661C6 /* spirv_optimizer_options.h in Headers */,
+				A94A694E22B17BBB00C661C6 /* remove_function_reduction_opportunity.h in Headers */,
+				A94A69E422B17BBC00C661C6 /* tree_iterator.h in Headers */,
+				A94A6A9C22B17BBC00C661C6 /* inline_pass.h in Headers */,
+				A94A6B2422B17BBC00C661C6 /* cfg.h in Headers */,
+				A94A6AD622B17BBC00C661C6 /* eliminate_dead_functions_pass.h in Headers */,
+				A94A6BB422B17BBC00C661C6 /* latest_version_spirv_header.h in Headers */,
+				A94A6AC822B17BBC00C661C6 /* ssa_rewrite_pass.h in Headers */,
+				A94A6B0822B17BBC00C661C6 /* pch_source_opt.h in Headers */,
+				A94A6BC222B17BBC00C661C6 /* extensions.h in Headers */,
+				A94A6C2222B17BBD00C661C6 /* function.h in Headers */,
+				A94A690C22B17BBB00C661C6 /* timer.h in Headers */,
+				A94A695C22B17BBB00C661C6 /* merge_blocks_reduction_opportunity_finder.h in Headers */,
+				A94A69AC22B17BBB00C661C6 /* spirv_validator_options.h in Headers */,
+				A94A6BEA22B17BBC00C661C6 /* validation_state.h in Headers */,
+				A94A691A22B17BBB00C661C6 /* ilist.h in Headers */,
+				A94A6BDC22B17BBC00C661C6 /* basic_block.h in Headers */,
+				A94A6B3C22B17BBC00C661C6 /* iterator.h in Headers */,
+				A94A6AF222B17BBC00C661C6 /* strip_reflect_info_pass.h in Headers */,
+				A94A690822B17BBB00C661C6 /* small_vector.h in Headers */,
+				A94A691422B17BBB00C661C6 /* hex_float.h in Headers */,
+				A94A6B2022B17BBC00C661C6 /* ir_builder.h in Headers */,
+				A94A6A7022B17BBC00C661C6 /* process_lines_pass.h in Headers */,
+				A94A68FA22B17BBB00C661C6 /* text.h in Headers */,
+				A94A697C22B17BBB00C661C6 /* change_operand_reduction_opportunity.h in Headers */,
+				A94A6ADA22B17BBC00C661C6 /* eliminate_dead_functions_util.h in Headers */,
+				A94A6AF622B17BBC00C661C6 /* simplification_pass.h in Headers */,
+				A94A690622B17BBB00C661C6 /* string_utils.h in Headers */,
+				A94A698E22B17BBB00C661C6 /* latest_version_opencl_std_header.h in Headers */,
+				A94A6B2A22B17BBC00C661C6 /* generate_webgpu_initializers_pass.h in Headers */,
+				A94A6AC422B17BBC00C661C6 /* eliminate_dead_constant_pass.h in Headers */,
+				A94A697022B17BBB00C661C6 /* reducer.h in Headers */,
+				A94A69E822B17BBC00C661C6 /* legalize_vector_shuffle_pass.h in Headers */,
+				A94A6A5422B17BBC00C661C6 /* local_redundancy_elimination.h in Headers */,
+				A94A69E022B17BBC00C661C6 /* compact_ids_pass.h in Headers */,
+				A94A6B1A22B17BBC00C661C6 /* module.h in Headers */,
+				A94A696622B17BBB00C661C6 /* remove_function_reduction_opportunity_finder.h in Headers */,
+				A94A6ABA22B17BBC00C661C6 /* workaround1209.h in Headers */,
+				A94A6B5E22B17BBC00C661C6 /* table.h in Headers */,
+				A94A696822B17BBB00C661C6 /* pch_source_reduce.h in Headers */,
+				A94A6AE422B17BBC00C661C6 /* scalar_analysis_nodes.h in Headers */,
+				A94A69B022B17BBB00C661C6 /* text_handler.h in Headers */,
+				A94A6B5222B17BBC00C661C6 /* set_spec_constant_default_value_pass.h in Headers */,
+				A94A699622B17BBB00C661C6 /* enum_string_mapping.h in Headers */,
+				A94A692622B17BBB00C661C6 /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */,
+				A94A6A2822B17BBC00C661C6 /* unify_const_pass.h in Headers */,
+				A94A6B4622B17BBC00C661C6 /* function.h in Headers */,
+				A94A6AD822B17BBC00C661C6 /* common_uniform_elim_pass.h in Headers */,
+				A94A6C0222B17BBD00C661C6 /* validate_memory_semantics.h in Headers */,
+				A94A690022B17BBB00C661C6 /* parse_number.h in Headers */,
+				A94A6AA022B17BBC00C661C6 /* value_number_table.h in Headers */,
+				A94A6B1822B17BBC00C661C6 /* loop_utils.h in Headers */,
+				A94A6AEE22B17BBC00C661C6 /* passes.h in Headers */,
+				A94A6C2A22B17BBD00C661C6 /* decoration.h in Headers */,
+				A94A6BB022B17BBC00C661C6 /* ext_inst.h in Headers */,
+				A94A697622B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h in Headers */,
+				A94A6A0022B17BBC00C661C6 /* replace_invalid_opc.h in Headers */,
+				A94A6B4C22B17BBC00C661C6 /* feature_manager.h in Headers */,
+				A94A6BF622B17BBD00C661C6 /* validate.h in Headers */,
+				A94A6A5C22B17BBC00C661C6 /* block_merge_util.h in Headers */,
+				A94A6ADC22B17BBC00C661C6 /* fold.h in Headers */,
+				A94A6A8622B17BBC00C661C6 /* freeze_spec_constant_value_pass.h in Headers */,
+				A94A69EC22B17BBC00C661C6 /* reduce_load_size.h in Headers */,
+				A94A68F022B17BBB00C661C6 /* spirv_fuzzer_options.h in Headers */,
+				A94A6B0422B17BBC00C661C6 /* scalar_replacement_pass.h in Headers */,
+				A94A690222B17BBB00C661C6 /* ilist_node.h in Headers */,
+				A94A6C1822B17BBD00C661C6 /* instruction.h in Headers */,
+				A94A68F422B17BBB00C661C6 /* enum_set.h in Headers */,
+				A94A69B222B17BBB00C661C6 /* parsed_operand.h in Headers */,
+				A94A6A1822B17BBC00C661C6 /* ir_context.h in Headers */,
+				A94A6AA622B17BBC00C661C6 /* inline_exhaustive_pass.h in Headers */,
+				A94A6B1222B17BBC00C661C6 /* local_ssa_elim_pass.h in Headers */,
+				A94A6B2622B17BBC00C661C6 /* code_sink.h in Headers */,
+				A94A698422B17BBB00C661C6 /* merge_blocks_reduction_opportunity.h in Headers */,
+				A94A6A4A22B17BBC00C661C6 /* def_use_manager.h in Headers */,
+				A94A6A4E22B17BBC00C661C6 /* cfg_cleanup_pass.h in Headers */,
+				A94A69C622B17BBC00C661C6 /* print.h in Headers */,
+				A94A69D622B17BBC00C661C6 /* inline_opaque_pass.h in Headers */,
+				A94A695022B17BBB00C661C6 /* change_operand_to_undef_reduction_opportunity.h in Headers */,
+				A94A6A0222B17BBC00C661C6 /* local_access_chain_convert_pass.h in Headers */,
+				A94A6BC022B17BBC00C661C6 /* latest_version_glsl_std_450_header.h in Headers */,
+				A94A69A222B17BBB00C661C6 /* operand.h in Headers */,
+				A94A6BD222B17BBC00C661C6 /* construct.h in Headers */,
+				A94A6ACC22B17BBC00C661C6 /* dead_variable_elimination.h in Headers */,
+				A94A692C22B17BBB00C661C6 /* operand_to_const_reduction_opportunity_finder.h in Headers */,
+				A94A698C22B17BBB00C661C6 /* reduction_pass.h in Headers */,
+				A94A6B2222B17BBC00C661C6 /* loop_unswitch_pass.h in Headers */,
+				A94A695622B17BBB00C661C6 /* remove_selection_reduction_opportunity.h in Headers */,
+				A94A6A4622B17BBC00C661C6 /* private_to_local_pass.h in Headers */,
+				A94A691022B17BBB00C661C6 /* bit_vector.h in Headers */,
+				A94A6A9222B17BBC00C661C6 /* eliminate_dead_members_pass.h in Headers */,
+				A94A699422B17BBB00C661C6 /* pch_source.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -2472,188 +2469,187 @@
 			isa = PBXHeadersBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A94363D8225FE724000DDF2C /* types.h in Headers */,
-				A9436348225FE724000DDF2C /* markv_encoder.h in Headers */,
-				A9436512225FE724000DDF2C /* extensions.h in Headers */,
-				A94363E4225FE724000DDF2C /* block_merge_pass.h in Headers */,
-				A9436316225FE724000DDF2C /* reduction_util.h in Headers */,
-				A943640E225FE724000DDF2C /* struct_cfg_analysis.h in Headers */,
-				A943635E225FE724000DDF2C /* text_handler.h in Headers */,
-				A9436570225FE724000DDF2C /* function.h in Headers */,
-				A94364A8225FE724000DDF2C /* const_folding_rules.h in Headers */,
-				A94362A6225FE724000DDF2C /* string_utils.h in Headers */,
-				A9436396225FE724000DDF2C /* local_single_store_elim_pass.h in Headers */,
-				A943629A225FE724000DDF2C /* text.h in Headers */,
-				A94364F4225FE724000DDF2C /* dominator_tree.h in Headers */,
-				A943633C225FE724000DDF2C /* spirv_validator_options.h in Headers */,
-				A943648C225FE724000DDF2C /* scalar_analysis_nodes.h in Headers */,
-				A94364B6225FE724000DDF2C /* local_ssa_elim_pass.h in Headers */,
-				A9436436225FE724000DDF2C /* mem_pass.h in Headers */,
-				A9436336225FE724000DDF2C /* macro.h in Headers */,
-				A9436310225FE724000DDF2C /* change_operand_reduction_opportunity.h in Headers */,
-				A9436480225FE724000DDF2C /* common_uniform_elim_pass.h in Headers */,
-				A9436464225FE724000DDF2C /* workaround1209.h in Headers */,
-				A9436398225FE724000DDF2C /* reduce_load_size.h in Headers */,
-				A94362FC225FE724000DDF2C /* remove_function_reduction_opportunity_finder.h in Headers */,
-				A943637C225FE724000DDF2C /* if_conversion.h in Headers */,
-				A9436544225FE724000DDF2C /* validate.h in Headers */,
-				A94362E4225FE724000DDF2C /* remove_function_reduction_opportunity.h in Headers */,
-				A9436352225FE724000DDF2C /* move_to_front.h in Headers */,
-				A9436494225FE724000DDF2C /* passes.h in Headers */,
-				A9436394225FE724000DDF2C /* strip_atomic_counter_memory_pass.h in Headers */,
-				A943650A225FE724000DDF2C /* spirv_optimizer_options.h in Headers */,
-				A94363D4225FE724000DDF2C /* unify_const_pass.h in Headers */,
-				A9436450225FE724000DDF2C /* inline_exhaustive_pass.h in Headers */,
-				A94363F2225FE724000DDF2C /* private_to_local_pass.h in Headers */,
-				A9436386225FE724000DDF2C /* loop_fusion.h in Headers */,
-				A9436326225FE724000DDF2C /* pch_source.h in Headers */,
-				A9436468225FE724000DDF2C /* log.h in Headers */,
-				A9436506225FE724000DDF2C /* instruction.h in Headers */,
-				A943649E225FE724000DDF2C /* remove_duplicates_pass.h in Headers */,
-				A9436520225FE724000DDF2C /* construct.h in Headers */,
-				A943641C225FE724000DDF2C /* local_single_block_elim_pass.h in Headers */,
-				A9436502225FE724000DDF2C /* latest_version_spirv_header.h in Headers */,
-				A94363B6225FE724000DDF2C /* propagator.h in Headers */,
-				A9436498225FE724000DDF2C /* strip_reflect_info_pass.h in Headers */,
-				A94362A4225FE724000DDF2C /* make_unique.h in Headers */,
-				A9436578225FE724000DDF2C /* decoration.h in Headers */,
-				A9436416225FE724000DDF2C /* decoration_manager.h in Headers */,
-				A94363CC225FE724000DDF2C /* loop_unroller.h in Headers */,
-				A94364AE225FE724000DDF2C /* pch_source_opt.h in Headers */,
-				A943631E225FE724000DDF2C /* reduction_pass.h in Headers */,
-				A9436300225FE724000DDF2C /* remove_unreferenced_instruction_reduction_opportunity_finder.h in Headers */,
-				A9436344225FE724000DDF2C /* bit_stream.h in Headers */,
-				A94362B4225FE724000DDF2C /* hex_float.h in Headers */,
-				A9436488225FE724000DDF2C /* dead_branch_elim_pass.h in Headers */,
-				A94364C6225FE724000DDF2C /* cfg.h in Headers */,
-				A94364D4225FE724000DDF2C /* vector_dce.h in Headers */,
-				A94362E2225FE724000DDF2C /* structured_loop_to_selection_reduction_opportunity.h in Headers */,
-				A9436338225FE724000DDF2C /* spirv_constant.h in Headers */,
-				A94362A2225FE724000DDF2C /* ilist_node.h in Headers */,
-				A9436342225FE724000DDF2C /* huffman_codec.h in Headers */,
-				A943644C225FE724000DDF2C /* flatten_decoration_pass.h in Headers */,
-				A94364A6225FE724000DDF2C /* null_pass.h in Headers */,
-				A94364EE225FE724000DDF2C /* inst_bindless_check_pass.h in Headers */,
-				A9436508225FE724000DDF2C /* id_descriptor.h in Headers */,
-				A94363AC225FE724000DDF2C /* replace_invalid_opc.h in Headers */,
-				A9436470225FE724000DDF2C /* ssa_rewrite_pass.h in Headers */,
-				A94363DE225FE724000DDF2C /* basic_block.h in Headers */,
-				A94362E6225FE724000DDF2C /* change_operand_to_undef_reduction_opportunity.h in Headers */,
-				A94363F6225FE724000DDF2C /* def_use_manager.h in Headers */,
-				A94364CA225FE724000DDF2C /* loop_descriptor.h in Headers */,
-				A9436384225FE724000DDF2C /* inline_opaque_pass.h in Headers */,
-				A94363B8225FE724000DDF2C /* instruction_list.h in Headers */,
-				A9436400225FE724000DDF2C /* local_redundancy_elimination.h in Headers */,
-				A94363DA225FE724000DDF2C /* fold_spec_constant_op_and_composite_pass.h in Headers */,
-				A943644A225FE724000DDF2C /* value_number_table.h in Headers */,
-				A94362BA225FE724000DDF2C /* ilist.h in Headers */,
-				A9436360225FE724000DDF2C /* parsed_operand.h in Headers */,
-				A9436374225FE724000DDF2C /* print.h in Headers */,
-				A943640C225FE724000DDF2C /* loop_fusion_pass.h in Headers */,
-				A9436390225FE724000DDF2C /* register_pressure.h in Headers */,
-				A9436306225FE724000DDF2C /* reducer.h in Headers */,
-				A94364F6225FE724000DDF2C /* type_manager.h in Headers */,
-				A9436446225FE724000DDF2C /* inline_pass.h in Headers */,
-				A9436406225FE724000DDF2C /* block_merge_util.h in Headers */,
-				A943634E225FE724000DDF2C /* markv_model.h in Headers */,
-				A943638C225FE724000DDF2C /* composite.h in Headers */,
-				A943647C225FE724000DDF2C /* folding_rules.h in Headers */,
-				A9436516225FE724000DDF2C /* binary.h in Headers */,
-				A94362D6225FE724000DDF2C /* remove_instruction_reduction_opportunity.h in Headers */,
-				A94363D6225FE724000DDF2C /* ir_loader.h in Headers */,
-				A9436368225FE724000DDF2C /* diagnostic.h in Headers */,
-				A94364BC225FE724000DDF2C /* loop_utils.h in Headers */,
-				A943634A225FE724000DDF2C /* markv_decoder.h in Headers */,
-				A94364BE225FE724000DDF2C /* module.h in Headers */,
-				A9436294225FE724000DDF2C /* enum_set.h in Headers */,
-				A9436482225FE724000DDF2C /* eliminate_dead_functions_util.h in Headers */,
-				A9436452225FE724000DDF2C /* constants.h in Headers */,
-				A943642C225FE724000DDF2C /* dead_insert_elim_pass.h in Headers */,
-				A94362B0225FE724000DDF2C /* bit_vector.h in Headers */,
-				A9436550225FE724000DDF2C /* validate_memory_semantics.h in Headers */,
-				A94363AE225FE724000DDF2C /* local_access_chain_convert_pass.h in Headers */,
-				A943646A225FE724000DDF2C /* copy_prop_arrays.h in Headers */,
-				A94364E0225FE724000DDF2C /* licm_pass.h in Headers */,
-				A94364D0225FE724000DDF2C /* aggressive_dead_code_elim_pass.h in Headers */,
-				A9436538225FE724000DDF2C /* validation_state.h in Headers */,
-				A9436292225FE724000DDF2C /* assembly_grammar.h in Headers */,
-				A9436330225FE724000DDF2C /* spirv_definition.h in Headers */,
-				A9436434225FE724000DDF2C /* instrument_pass.h in Headers */,
-				A94362C2225FE724000DDF2C /* operand_to_undef_reduction_opportunity_finder.h in Headers */,
-				A9436328225FE724000DDF2C /* enum_string_mapping.h in Headers */,
-				A943647A225FE724000DDF2C /* pass.h in Headers */,
-				A94363FA225FE724000DDF2C /* cfg_cleanup_pass.h in Headers */,
-				A94364C8225FE724000DDF2C /* code_sink.h in Headers */,
-				A94364D6225FE724000DDF2C /* combine_access_chains.h in Headers */,
-				A94364FE225FE724000DDF2C /* ext_inst.h in Headers */,
-				A943632A225FE724000DDF2C /* spirv_reducer_options.h in Headers */,
-				A9436354225FE724000DDF2C /* markv_codec.h in Headers */,
-				A94362EC225FE724000DDF2C /* remove_selection_reduction_opportunity.h in Headers */,
-				A943645A225FE724000DDF2C /* upgrade_memory_model.h in Headers */,
-				A94364E4225FE724000DDF2C /* ccp_pass.h in Headers */,
-				A943649C225FE724000DDF2C /* simplification_pass.h in Headers */,
-				A943652A225FE724000DDF2C /* basic_block.h in Headers */,
-				A9436478225FE724000DDF2C /* dominator_analysis.h in Headers */,
-				A9436356225FE724000DDF2C /* markv_logger.h in Headers */,
-				A94362DA225FE724000DDF2C /* remove_opname_instruction_reduction_opportunity_finder.h in Headers */,
-				A9436392225FE724000DDF2C /* tree_iterator.h in Headers */,
-				A94364C2225FE724000DDF2C /* ir_builder.h in Headers */,
-				A9436420225FE724000DDF2C /* strength_reduction_pass.h in Headers */,
-				A9436510225FE724000DDF2C /* latest_version_glsl_std_450_header.h in Headers */,
-				A94362C6225FE724000DDF2C /* remove_block_reduction_opportunity.h in Headers */,
-				A9436362225FE724000DDF2C /* name_mapper.h in Headers */,
-				A943643C225FE724000DDF2C /* eliminate_dead_members_pass.h in Headers */,
-				A9436382225FE724000DDF2C /* merge_return_pass.h in Headers */,
-				A94364FC225FE724000DDF2C /* table.h in Headers */,
-				A94364CC225FE724000DDF2C /* generate_webgpu_initializers_pass.h in Headers */,
-				A943636A225FE724000DDF2C /* spirv_endian.h in Headers */,
-				A94362C8225FE724000DDF2C /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */,
-				A94364F2225FE724000DDF2C /* set_spec_constant_default_value_pass.h in Headers */,
-				A94362AC225FE724000DDF2C /* timer.h in Headers */,
-				A943639E225FE724000DDF2C /* scalar_analysis.h in Headers */,
-				A9436462225FE724000DDF2C /* loop_fission.h in Headers */,
-				A94364E6225FE724000DDF2C /* function.h in Headers */,
-				A9436448225FE724000DDF2C /* loop_dependence.h in Headers */,
-				A9436312225FE724000DDF2C /* remove_block_reduction_opportunity_finder.h in Headers */,
-				A9436378225FE724000DDF2C /* disassemble.h in Headers */,
-				A9436430225FE724000DDF2C /* freeze_spec_constant_value_pass.h in Headers */,
-				A94364D8225FE724000DDF2C /* pass_manager.h in Headers */,
-				A943647E225FE724000DDF2C /* eliminate_dead_functions_pass.h in Headers */,
-				A9436566225FE724000DDF2C /* instruction.h in Headers */,
-				A94364E2225FE724000DDF2C /* build_module.h in Headers */,
-				A94364EC225FE724000DDF2C /* feature_manager.h in Headers */,
-				A943630A225FE724000DDF2C /* reduction_opportunity.h in Headers */,
-				A94362BC225FE724000DDF2C /* spirv_target_env.h in Headers */,
-				A94364CE225FE724000DDF2C /* instruction.h in Headers */,
-				A9436484225FE724000DDF2C /* fold.h in Headers */,
-				A9436320225FE724000DDF2C /* latest_version_opencl_std_header.h in Headers */,
-				A94364B2225FE724000DDF2C /* redundancy_elimination.h in Headers */,
-				A9436402225FE724000DDF2C /* loop_peeling.h in Headers */,
-				A943634C225FE724000DDF2C /* markv.h in Headers */,
-				A94362B2225FE724000DDF2C /* bitutils.h in Headers */,
-				A9436332225FE724000DDF2C /* operand.h in Headers */,
-				A943630E225FE724000DDF2C /* reduction_opportunity_finder.h in Headers */,
-				A943646C225FE724000DDF2C /* eliminate_dead_constant_pass.h in Headers */,
-				A943638E225FE724000DDF2C /* compact_ids_pass.h in Headers */,
-				A94362A0225FE724000DDF2C /* parse_number.h in Headers */,
-				A94362EA225FE724000DDF2C /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */,
-				A9436318225FE724000DDF2C /* merge_blocks_reduction_opportunity.h in Headers */,
-				A94362F2225FE724000DDF2C /* merge_blocks_reduction_opportunity_finder.h in Headers */,
-				A94363A0225FE724000DDF2C /* strip_debug_info_pass.h in Headers */,
-				A94364DE225FE724000DDF2C /* iterator.h in Headers */,
-				A943650C225FE724000DDF2C /* opcode.h in Headers */,
-				A94362FE225FE724000DDF2C /* pch_source_reduce.h in Headers */,
-				A943641A225FE724000DDF2C /* process_lines_pass.h in Headers */,
-				A94362F0225FE724000DDF2C /* remove_selection_reduction_opportunity_finder.h in Headers */,
-				A9436324225FE724000DDF2C /* cfa.h in Headers */,
-				A9436474225FE724000DDF2C /* dead_variable_elimination.h in Headers */,
-				A943654C225FE724000DDF2C /* validate_scopes.h in Headers */,
-				A94364A2225FE724000DDF2C /* reflect.h in Headers */,
-				A94364AA225FE724000DDF2C /* scalar_replacement_pass.h in Headers */,
-				A94362A8225FE724000DDF2C /* small_vector.h in Headers */,
-				A94362CE225FE724000DDF2C /* operand_to_const_reduction_opportunity_finder.h in Headers */,
-				A94364C4225FE724000DDF2C /* loop_unswitch_pass.h in Headers */,
-				A94363C4225FE724000DDF2C /* ir_context.h in Headers */,
+				A94A6A2D22B17BBC00C661C6 /* types.h in Headers */,
+				A94A69F522B17BBC00C661C6 /* strip_debug_info_pass.h in Headers */,
+				A94A6AD522B17BBC00C661C6 /* folding_rules.h in Headers */,
+				A94A692122B17BBB00C661C6 /* operand_to_undef_reduction_opportunity_finder.h in Headers */,
+				A94A695522B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */,
+				A94A69F322B17BBC00C661C6 /* scalar_analysis.h in Headers */,
+				A94A6B0122B17BBC00C661C6 /* null_pass.h in Headers */,
+				A94A6A9F22B17BBC00C661C6 /* loop_dependence.h in Headers */,
+				A94A6B3322B17BBC00C661C6 /* vector_dce.h in Headers */,
+				A94A6A2B22B17BBC00C661C6 /* ir_loader.h in Headers */,
+				A94A6B5522B17BBC00C661C6 /* dominator_tree.h in Headers */,
+				A94A697B22B17BBB00C661C6 /* reduction_opportunity_finder.h in Headers */,
+				A94A6A8D22B17BBC00C661C6 /* mem_pass.h in Headers */,
+				A94A69CB22B17BBC00C661C6 /* disassemble.h in Headers */,
+				A94A693922B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h in Headers */,
+				A94A694722B17BBB00C661C6 /* simple_conditional_branch_to_branch_opportunity_finder.h in Headers */,
+				A94A6A6322B17BBC00C661C6 /* loop_fusion_pass.h in Headers */,
+				A94A6A3322B17BBC00C661C6 /* basic_block.h in Headers */,
+				A94A69D522B17BBC00C661C6 /* merge_return_pass.h in Headers */,
+				A94A6B3522B17BBC00C661C6 /* combine_access_chains.h in Headers */,
+				A94A699B22B17BBB00C661C6 /* spirv_reducer_options.h in Headers */,
+				A94A69DF22B17BBC00C661C6 /* composite.h in Headers */,
+				A94A6AD122B17BBC00C661C6 /* dominator_analysis.h in Headers */,
+				A94A6AA322B17BBC00C661C6 /* flatten_decoration_pass.h in Headers */,
+				A94A69BD22B17BBB00C661C6 /* spirv_endian.h in Headers */,
+				A94A693F22B17BBB00C661C6 /* remove_opname_instruction_reduction_opportunity_finder.h in Headers */,
+				A94A69A922B17BBB00C661C6 /* spirv_constant.h in Headers */,
+				A94A69CF22B17BBC00C661C6 /* if_conversion.h in Headers */,
+				A94A6B2D22B17BBC00C661C6 /* instruction.h in Headers */,
+				A94A696B22B17BBB00C661C6 /* remove_unreferenced_instruction_reduction_opportunity_finder.h in Headers */,
+				A94A6B4122B17BBC00C661C6 /* build_module.h in Headers */,
+				A94A6BC722B17BBC00C661C6 /* binary.h in Headers */,
+				A94A691322B17BBB00C661C6 /* bitutils.h in Headers */,
+				A94A6A2122B17BBC00C661C6 /* loop_unroller.h in Headers */,
+				A94A6B2F22B17BBC00C661C6 /* aggressive_dead_code_elim_pass.h in Headers */,
+				A94A697F22B17BBB00C661C6 /* remove_block_reduction_opportunity_finder.h in Headers */,
+				A94A691D22B17BBB00C661C6 /* spirv_target_env.h in Headers */,
+				A94A69E722B17BBC00C661C6 /* strip_atomic_counter_memory_pass.h in Headers */,
+				A94A6B4322B17BBC00C661C6 /* ccp_pass.h in Headers */,
+				A94A6A8B22B17BBC00C661C6 /* instrument_pass.h in Headers */,
+				A94A6A6D22B17BBC00C661C6 /* decoration_manager.h in Headers */,
+				A94A6AC122B17BBC00C661C6 /* split_invalid_unreachable_pass.h in Headers */,
+				A94A6AC322B17BBC00C661C6 /* copy_prop_arrays.h in Headers */,
+				A94A6B2922B17BBC00C661C6 /* loop_descriptor.h in Headers */,
+				A94A6B3F22B17BBC00C661C6 /* licm_pass.h in Headers */,
+				A94A69D922B17BBC00C661C6 /* loop_fusion.h in Headers */,
+				A94A690522B17BBB00C661C6 /* make_unique.h in Headers */,
+				A94A6AD322B17BBC00C661C6 /* pass.h in Headers */,
+				A94A6A7322B17BBC00C661C6 /* local_single_block_elim_pass.h in Headers */,
+				A94A6A5922B17BBC00C661C6 /* loop_peeling.h in Headers */,
+				A94A694D22B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity.h in Headers */,
+				A94A699322B17BBB00C661C6 /* cfa.h in Headers */,
+				A94A6A7722B17BBC00C661C6 /* strength_reduction_pass.h in Headers */,
+				A94A6A3922B17BBC00C661C6 /* block_merge_pass.h in Headers */,
+				A94A6B4F22B17BBC00C661C6 /* inst_bindless_check_pass.h in Headers */,
+				A94A69E322B17BBC00C661C6 /* register_pressure.h in Headers */,
+				A94A697522B17BBB00C661C6 /* reduction_opportunity.h in Headers */,
+				A94A6AFD22B17BBC00C661C6 /* reflect.h in Headers */,
+				A94A695B22B17BBB00C661C6 /* remove_selection_reduction_opportunity_finder.h in Headers */,
+				A94A6B3722B17BBC00C661C6 /* pass_manager.h in Headers */,
+				A94A6A6522B17BBC00C661C6 /* struct_cfg_analysis.h in Headers */,
+				A94A698322B17BBB00C661C6 /* reduction_util.h in Headers */,
+				A94A69EB22B17BBC00C661C6 /* local_single_store_elim_pass.h in Headers */,
+				A94A6BB922B17BBC00C661C6 /* instruction.h in Headers */,
+				A94A693722B17BBB00C661C6 /* remove_instruction_reduction_opportunity.h in Headers */,
+				A94A6B4522B17BBC00C661C6 /* decompose_initialized_variables_pass.h in Headers */,
+				A94A6AE122B17BBC00C661C6 /* dead_branch_elim_pass.h in Headers */,
+				A94A6B0322B17BBC00C661C6 /* const_folding_rules.h in Headers */,
+				A94A68F322B17BBB00C661C6 /* assembly_grammar.h in Headers */,
+				A94A69BB22B17BBB00C661C6 /* diagnostic.h in Headers */,
+				A94A69A122B17BBB00C661C6 /* spirv_definition.h in Headers */,
+				A94A6B0D22B17BBC00C661C6 /* redundancy_elimination.h in Headers */,
+				A94A6A0D22B17BBC00C661C6 /* instruction_list.h in Headers */,
+				A94A6BFF22B17BBD00C661C6 /* validate_scopes.h in Headers */,
+				A94A6B5922B17BBC00C661C6 /* type_manager.h in Headers */,
+				A94A6AF922B17BBC00C661C6 /* remove_duplicates_pass.h in Headers */,
+				A94A6BBD22B17BBC00C661C6 /* opcode.h in Headers */,
+				A94A6AB922B17BBC00C661C6 /* loop_fission.h in Headers */,
+				A94A692522B17BBB00C661C6 /* remove_block_reduction_opportunity.h in Headers */,
+				A94A6AE922B17BBC00C661C6 /* fix_storage_class.h in Headers */,
+				A94A6AA922B17BBC00C661C6 /* constants.h in Headers */,
+				A94A69A722B17BBB00C661C6 /* macro.h in Headers */,
+				A94A6A0B22B17BBC00C661C6 /* propagator.h in Headers */,
+				A94A6A8322B17BBC00C661C6 /* dead_insert_elim_pass.h in Headers */,
+				A94A6A2F22B17BBC00C661C6 /* fold_spec_constant_op_and_composite_pass.h in Headers */,
+				A94A693322B17BBB00C661C6 /* simple_conditional_branch_to_branch_reduction_opportunity.h in Headers */,
+				A94A6ABF22B17BBC00C661C6 /* log.h in Headers */,
+				A94A6AB122B17BBC00C661C6 /* upgrade_memory_model.h in Headers */,
+				A94A69B522B17BBB00C661C6 /* name_mapper.h in Headers */,
+				A94A6BBB22B17BBC00C661C6 /* spirv_optimizer_options.h in Headers */,
+				A94A694F22B17BBB00C661C6 /* remove_function_reduction_opportunity.h in Headers */,
+				A94A69E522B17BBC00C661C6 /* tree_iterator.h in Headers */,
+				A94A6A9D22B17BBC00C661C6 /* inline_pass.h in Headers */,
+				A94A6B2522B17BBC00C661C6 /* cfg.h in Headers */,
+				A94A6AD722B17BBC00C661C6 /* eliminate_dead_functions_pass.h in Headers */,
+				A94A6BB522B17BBC00C661C6 /* latest_version_spirv_header.h in Headers */,
+				A94A6AC922B17BBC00C661C6 /* ssa_rewrite_pass.h in Headers */,
+				A94A6B0922B17BBC00C661C6 /* pch_source_opt.h in Headers */,
+				A94A6BC322B17BBC00C661C6 /* extensions.h in Headers */,
+				A94A6C2322B17BBD00C661C6 /* function.h in Headers */,
+				A94A690D22B17BBB00C661C6 /* timer.h in Headers */,
+				A94A695D22B17BBB00C661C6 /* merge_blocks_reduction_opportunity_finder.h in Headers */,
+				A94A69AD22B17BBB00C661C6 /* spirv_validator_options.h in Headers */,
+				A94A6BEB22B17BBC00C661C6 /* validation_state.h in Headers */,
+				A94A691B22B17BBB00C661C6 /* ilist.h in Headers */,
+				A94A6BDD22B17BBC00C661C6 /* basic_block.h in Headers */,
+				A94A6B3D22B17BBC00C661C6 /* iterator.h in Headers */,
+				A94A6AF322B17BBC00C661C6 /* strip_reflect_info_pass.h in Headers */,
+				A94A690922B17BBB00C661C6 /* small_vector.h in Headers */,
+				A94A691522B17BBB00C661C6 /* hex_float.h in Headers */,
+				A94A6B2122B17BBC00C661C6 /* ir_builder.h in Headers */,
+				A94A6A7122B17BBC00C661C6 /* process_lines_pass.h in Headers */,
+				A94A68FB22B17BBB00C661C6 /* text.h in Headers */,
+				A94A697D22B17BBB00C661C6 /* change_operand_reduction_opportunity.h in Headers */,
+				A94A6ADB22B17BBC00C661C6 /* eliminate_dead_functions_util.h in Headers */,
+				A94A6AF722B17BBC00C661C6 /* simplification_pass.h in Headers */,
+				A94A690722B17BBB00C661C6 /* string_utils.h in Headers */,
+				A94A698F22B17BBB00C661C6 /* latest_version_opencl_std_header.h in Headers */,
+				A94A6B2B22B17BBC00C661C6 /* generate_webgpu_initializers_pass.h in Headers */,
+				A94A6AC522B17BBC00C661C6 /* eliminate_dead_constant_pass.h in Headers */,
+				A94A697122B17BBB00C661C6 /* reducer.h in Headers */,
+				A94A69E922B17BBC00C661C6 /* legalize_vector_shuffle_pass.h in Headers */,
+				A94A6A5522B17BBC00C661C6 /* local_redundancy_elimination.h in Headers */,
+				A94A69E122B17BBC00C661C6 /* compact_ids_pass.h in Headers */,
+				A94A6B1B22B17BBC00C661C6 /* module.h in Headers */,
+				A94A696722B17BBB00C661C6 /* remove_function_reduction_opportunity_finder.h in Headers */,
+				A94A6ABB22B17BBC00C661C6 /* workaround1209.h in Headers */,
+				A94A6B5F22B17BBC00C661C6 /* table.h in Headers */,
+				A94A696922B17BBB00C661C6 /* pch_source_reduce.h in Headers */,
+				A94A6AE522B17BBC00C661C6 /* scalar_analysis_nodes.h in Headers */,
+				A94A69B122B17BBB00C661C6 /* text_handler.h in Headers */,
+				A94A6B5322B17BBC00C661C6 /* set_spec_constant_default_value_pass.h in Headers */,
+				A94A699722B17BBB00C661C6 /* enum_string_mapping.h in Headers */,
+				A94A692722B17BBB00C661C6 /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */,
+				A94A6A2922B17BBC00C661C6 /* unify_const_pass.h in Headers */,
+				A94A6B4722B17BBC00C661C6 /* function.h in Headers */,
+				A94A6AD922B17BBC00C661C6 /* common_uniform_elim_pass.h in Headers */,
+				A94A6C0322B17BBD00C661C6 /* validate_memory_semantics.h in Headers */,
+				A94A690122B17BBB00C661C6 /* parse_number.h in Headers */,
+				A94A6AA122B17BBC00C661C6 /* value_number_table.h in Headers */,
+				A94A6B1922B17BBC00C661C6 /* loop_utils.h in Headers */,
+				A94A6AEF22B17BBC00C661C6 /* passes.h in Headers */,
+				A94A6C2B22B17BBD00C661C6 /* decoration.h in Headers */,
+				A94A6BB122B17BBC00C661C6 /* ext_inst.h in Headers */,
+				A94A697722B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h in Headers */,
+				A94A6A0122B17BBC00C661C6 /* replace_invalid_opc.h in Headers */,
+				A94A6B4D22B17BBC00C661C6 /* feature_manager.h in Headers */,
+				A94A6BF722B17BBD00C661C6 /* validate.h in Headers */,
+				A94A6A5D22B17BBC00C661C6 /* block_merge_util.h in Headers */,
+				A94A6ADD22B17BBC00C661C6 /* fold.h in Headers */,
+				A94A6A8722B17BBC00C661C6 /* freeze_spec_constant_value_pass.h in Headers */,
+				A94A69ED22B17BBC00C661C6 /* reduce_load_size.h in Headers */,
+				A94A68F122B17BBB00C661C6 /* spirv_fuzzer_options.h in Headers */,
+				A94A6B0522B17BBC00C661C6 /* scalar_replacement_pass.h in Headers */,
+				A94A690322B17BBB00C661C6 /* ilist_node.h in Headers */,
+				A94A6C1922B17BBD00C661C6 /* instruction.h in Headers */,
+				A94A68F522B17BBB00C661C6 /* enum_set.h in Headers */,
+				A94A69B322B17BBB00C661C6 /* parsed_operand.h in Headers */,
+				A94A6A1922B17BBC00C661C6 /* ir_context.h in Headers */,
+				A94A6AA722B17BBC00C661C6 /* inline_exhaustive_pass.h in Headers */,
+				A94A6B1322B17BBC00C661C6 /* local_ssa_elim_pass.h in Headers */,
+				A94A6B2722B17BBC00C661C6 /* code_sink.h in Headers */,
+				A94A698522B17BBB00C661C6 /* merge_blocks_reduction_opportunity.h in Headers */,
+				A94A6A4B22B17BBC00C661C6 /* def_use_manager.h in Headers */,
+				A94A6A4F22B17BBC00C661C6 /* cfg_cleanup_pass.h in Headers */,
+				A94A69C722B17BBC00C661C6 /* print.h in Headers */,
+				A94A69D722B17BBC00C661C6 /* inline_opaque_pass.h in Headers */,
+				A94A695122B17BBB00C661C6 /* change_operand_to_undef_reduction_opportunity.h in Headers */,
+				A94A6A0322B17BBC00C661C6 /* local_access_chain_convert_pass.h in Headers */,
+				A94A6BC122B17BBC00C661C6 /* latest_version_glsl_std_450_header.h in Headers */,
+				A94A69A322B17BBB00C661C6 /* operand.h in Headers */,
+				A94A6BD322B17BBC00C661C6 /* construct.h in Headers */,
+				A94A6ACD22B17BBC00C661C6 /* dead_variable_elimination.h in Headers */,
+				A94A692D22B17BBB00C661C6 /* operand_to_const_reduction_opportunity_finder.h in Headers */,
+				A94A698D22B17BBB00C661C6 /* reduction_pass.h in Headers */,
+				A94A6B2322B17BBC00C661C6 /* loop_unswitch_pass.h in Headers */,
+				A94A695722B17BBB00C661C6 /* remove_selection_reduction_opportunity.h in Headers */,
+				A94A6A4722B17BBC00C661C6 /* private_to_local_pass.h in Headers */,
+				A94A691122B17BBB00C661C6 /* bit_vector.h in Headers */,
+				A94A6A9322B17BBC00C661C6 /* eliminate_dead_members_pass.h in Headers */,
+				A94A699522B17BBB00C661C6 /* pch_source.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -2991,197 +2987,200 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A943652D225FE724000DDF2C /* validate_decorations.cpp in Sources */,
-				A9436431225FE724000DDF2C /* ir_context.cpp in Sources */,
-				A94363C5225FE724000DDF2C /* eliminate_dead_constant_pass.cpp in Sources */,
-				A94364B7225FE724000DDF2C /* inline_opaque_pass.cpp in Sources */,
-				A943656B225FE724000DDF2C /* basic_block.cpp in Sources */,
-				A943648F225FE724000DDF2C /* loop_dependence_helpers.cpp in Sources */,
-				A943636D225FE724000DDF2C /* linker.cpp in Sources */,
-				A9436471225FE724000DDF2C /* scalar_analysis.cpp in Sources */,
-				A9436371225FE724000DDF2C /* opcode.cpp in Sources */,
-				A943632B225FE724000DDF2C /* spirv_validator_options.cpp in Sources */,
-				A9436455225FE724000DDF2C /* strength_reduction_pass.cpp in Sources */,
-				A943654D225FE724000DDF2C /* validate_id.cpp in Sources */,
-				A9436495225FE724000DDF2C /* fold.cpp in Sources */,
-				A94362DB225FE724000DDF2C /* remove_selection_reduction_opportunity_finder.cpp in Sources */,
-				A9436531225FE724000DDF2C /* validate_builtins.cpp in Sources */,
-				A9436307225FE724000DDF2C /* change_operand_to_undef_reduction_opportunity.cpp in Sources */,
-				A94364A3225FE724000DDF2C /* workaround1209.cpp in Sources */,
-				A9436571225FE724000DDF2C /* validate_composites.cpp in Sources */,
-				A9436443225FE724000DDF2C /* process_lines_pass.cpp in Sources */,
-				A9436407225FE724000DDF2C /* loop_unroller.cpp in Sources */,
-				A94364AB225FE724000DDF2C /* instruction.cpp in Sources */,
-				A94363A5225FE724000DDF2C /* decoration_manager.cpp in Sources */,
-				A943645B225FE724000DDF2C /* copy_prop_arrays.cpp in Sources */,
-				A94363A7225FE724000DDF2C /* local_single_block_elim_pass.cpp in Sources */,
-				A94364E7225FE724000DDF2C /* loop_fusion.cpp in Sources */,
-				A94362C9225FE724000DDF2C /* reduction_pass.cpp in Sources */,
-				A94364B3225FE724000DDF2C /* value_number_table.cpp in Sources */,
-				A94363E7225FE724000DDF2C /* fold_spec_constant_op_and_composite_pass.cpp in Sources */,
-				A9436403225FE724000DDF2C /* vector_dce.cpp in Sources */,
-				A943655F225FE724000DDF2C /* validate_literals.cpp in Sources */,
-				A94363E1225FE724000DDF2C /* dead_variable_elimination.cpp in Sources */,
-				A943635B225FE724000DDF2C /* enum_string_mapping.cpp in Sources */,
-				A9436295225FE724000DDF2C /* text.cpp in Sources */,
-				A943650D225FE724000DDF2C /* operand.cpp in Sources */,
-				A9436417225FE724000DDF2C /* ccp_pass.cpp in Sources */,
-				A9436527225FE724000DDF2C /* validate_atomics.cpp in Sources */,
-				A9436491225FE724000DDF2C /* set_spec_constant_default_value_pass.cpp in Sources */,
-				A9436525225FE724000DDF2C /* validate_scopes.cpp in Sources */,
-				A9436359225FE724000DDF2C /* markv_encoder.cpp in Sources */,
-				A94362D3225FE724000DDF2C /* remove_function_reduction_opportunity_finder.cpp in Sources */,
-				A9436499225FE724000DDF2C /* scalar_replacement_pass.cpp in Sources */,
-				A9436555225FE724000DDF2C /* validate_memory_semantics.cpp in Sources */,
-				A94364B9225FE724000DDF2C /* replace_invalid_opc.cpp in Sources */,
-				A9436513225FE724000DDF2C /* disassemble.cpp in Sources */,
-				A943631B225FE724000DDF2C /* remove_block_reduction_opportunity.cpp in Sources */,
-				A94363C7225FE724000DDF2C /* cfg_cleanup_pass.cpp in Sources */,
-				A94362E7225FE724000DDF2C /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp in Sources */,
-				A9436399225FE724000DDF2C /* code_sink.cpp in Sources */,
-				A94364F7225FE724000DDF2C /* compact_ids_pass.cpp in Sources */,
-				A9436425225FE724000DDF2C /* simplification_pass.cpp in Sources */,
-				A9436575225FE724000DDF2C /* validate_primitives.cpp in Sources */,
-				A9436521225FE724000DDF2C /* validate_barriers.cpp in Sources */,
-				A94363B3225FE724000DDF2C /* instrument_pass.cpp in Sources */,
-				A94363AF225FE724000DDF2C /* inst_bindless_check_pass.cpp in Sources */,
-				A94363B1225FE724000DDF2C /* local_redundancy_elimination.cpp in Sources */,
-				A94364E9225FE724000DDF2C /* upgrade_memory_model.cpp in Sources */,
-				A9436519225FE724000DDF2C /* validate_annotation.cpp in Sources */,
-				A94362D7225FE724000DDF2C /* remove_function_reduction_opportunity.cpp in Sources */,
-				A9436553225FE724000DDF2C /* validate_mode_setting.cpp in Sources */,
-				A94362D1225FE724000DDF2C /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */,
-				A943637D225FE724000DDF2C /* register_pressure.cpp in Sources */,
-				A9436573225FE724000DDF2C /* validation_state.cpp in Sources */,
-				A943652B225FE724000DDF2C /* validate_instruction.cpp in Sources */,
-				A943629D225FE724000DDF2C /* pch_source.cpp in Sources */,
-				A9436549225FE724000DDF2C /* validate_datarules.cpp in Sources */,
-				A943646D225FE724000DDF2C /* dead_insert_elim_pass.cpp in Sources */,
-				A9436421225FE724000DDF2C /* aggressive_dead_code_elim_pass.cpp in Sources */,
-				A94363EB225FE724000DDF2C /* unify_const_pass.cpp in Sources */,
-				A94362F3225FE724000DDF2C /* remove_opname_instruction_reduction_opportunity_finder.cpp in Sources */,
-				A9436503225FE724000DDF2C /* libspirv.cpp in Sources */,
-				A94364D9225FE724000DDF2C /* local_access_chain_convert_pass.cpp in Sources */,
-				A94362CF225FE724000DDF2C /* reduction_util.cpp in Sources */,
-				A943653F225FE724000DDF2C /* construct.cpp in Sources */,
-				A943643F225FE724000DDF2C /* instruction_list.cpp in Sources */,
-				A9436457225FE724000DDF2C /* block_merge_util.cpp in Sources */,
-				A9436303225FE724000DDF2C /* reduction_opportunity.cpp in Sources */,
-				A9436517225FE724000DDF2C /* text_handler.cpp in Sources */,
-				A9436301225FE724000DDF2C /* merge_blocks_reduction_opportunity_finder.cpp in Sources */,
-				A94362DD225FE724000DDF2C /* merge_blocks_reduction_opportunity.cpp in Sources */,
-				A9436533225FE724000DDF2C /* validate_interfaces.cpp in Sources */,
-				A94362C3225FE724000DDF2C /* remove_selection_reduction_opportunity.cpp in Sources */,
-				A9436551225FE724000DDF2C /* validate_arithmetics.cpp in Sources */,
-				A943651D225FE724000DDF2C /* validate_capability.cpp in Sources */,
-				A9436541225FE724000DDF2C /* function.cpp in Sources */,
-				A94363BD225FE724000DDF2C /* loop_fission.cpp in Sources */,
-				A9436561225FE724000DDF2C /* instruction.cpp in Sources */,
-				A94364AF225FE724000DDF2C /* reduce_load_size.cpp in Sources */,
-				A9436379225FE724000DDF2C /* optimizer.cpp in Sources */,
-				A94363FD225FE724000DDF2C /* eliminate_dead_functions_pass.cpp in Sources */,
-				A94362BF225FE724000DDF2C /* id_descriptor.cpp in Sources */,
-				A94363CF225FE724000DDF2C /* ssa_rewrite_pass.cpp in Sources */,
-				A9436389225FE724000DDF2C /* build_module.cpp in Sources */,
-				A94364EF225FE724000DDF2C /* scalar_analysis_simplification.cpp in Sources */,
-				A94362ED225FE724000DDF2C /* remove_instruction_reduction_opportunity.cpp in Sources */,
-				A94363E5225FE724000DDF2C /* module.cpp in Sources */,
-				A9436535225FE724000DDF2C /* validate.cpp in Sources */,
-				A943636F225FE724000DDF2C /* software_version.cpp in Sources */,
-				A943645F225FE724000DDF2C /* inline_exhaustive_pass.cpp in Sources */,
-				A94363DF225FE724000DDF2C /* remove_duplicates_pass.cpp in Sources */,
-				A94364D1225FE724000DDF2C /* struct_cfg_analysis.cpp in Sources */,
-				A94362BD225FE724000DDF2C /* table.cpp in Sources */,
-				A94362F9225FE724000DDF2C /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */,
-				A94362F5225FE724000DDF2C /* pch_source_reduce.cpp in Sources */,
-				A94363C9225FE724000DDF2C /* const_folding_rules.cpp in Sources */,
-				A943651B225FE724000DDF2C /* validate_cfg.cpp in Sources */,
-				A9436523225FE724000DDF2C /* validate_non_uniform.cpp in Sources */,
-				A943640F225FE724000DDF2C /* common_uniform_elim_pass.cpp in Sources */,
-				A943642D225FE724000DDF2C /* folding_rules.cpp in Sources */,
-				A943656D225FE724000DDF2C /* validate_function.cpp in Sources */,
-				A943634F225FE724000DDF2C /* markv_decoder.cpp in Sources */,
-				A943652F225FE724000DDF2C /* validate_debug.cpp in Sources */,
-				A9436453225FE724000DDF2C /* eliminate_dead_members_pass.cpp in Sources */,
-				A94362CB225FE724000DDF2C /* operand_to_const_reduction_opportunity_finder.cpp in Sources */,
-				A9436387225FE724000DDF2C /* combine_access_chains.cpp in Sources */,
-				A943653B225FE724000DDF2C /* validate_bitwise.cpp in Sources */,
-				A94363F7225FE724000DDF2C /* ir_loader.cpp in Sources */,
-				A943649F225FE724000DDF2C /* redundancy_elimination.cpp in Sources */,
-				A94363B9225FE724000DDF2C /* feature_manager.cpp in Sources */,
-				A943644D225FE724000DDF2C /* if_conversion.cpp in Sources */,
-				A9436313225FE724000DDF2C /* remove_block_reduction_opportunity_finder.cpp in Sources */,
-				A943645D225FE724000DDF2C /* pass_manager.cpp in Sources */,
-				A94363A9225FE724000DDF2C /* freeze_spec_constant_value_pass.cpp in Sources */,
-				A9436357225FE724000DDF2C /* bit_stream.cpp in Sources */,
-				A9436545225FE724000DDF2C /* validate_adjacency.cpp in Sources */,
-				A943643D225FE724000DDF2C /* function.cpp in Sources */,
-				A9436489225FE724000DDF2C /* private_to_local_pass.cpp in Sources */,
-				A943648D225FE724000DDF2C /* propagator.cpp in Sources */,
-				A9436547225FE724000DDF2C /* validate_conversion.cpp in Sources */,
-				A9436441225FE724000DDF2C /* composite.cpp in Sources */,
-				A9436423225FE724000DDF2C /* eliminate_dead_functions_util.cpp in Sources */,
-				A9436475225FE724000DDF2C /* block_merge_pass.cpp in Sources */,
-				A9436363225FE724000DDF2C /* spirv_reducer_options.cpp in Sources */,
-				A943632D225FE724000DDF2C /* print.cpp in Sources */,
-				A9436439225FE724000DDF2C /* local_ssa_elim_pass.cpp in Sources */,
-				A94363C1225FE724000DDF2C /* merge_return_pass.cpp in Sources */,
-				A9436375225FE724000DDF2C /* ext_inst.cpp in Sources */,
-				A94363F3225FE724000DDF2C /* inline_pass.cpp in Sources */,
-				A94363BF225FE724000DDF2C /* dominator_tree.cpp in Sources */,
-				A94364FF225FE724000DDF2C /* diagnostic.cpp in Sources */,
-				A94362DF225FE724000DDF2C /* change_operand_reduction_opportunity.cpp in Sources */,
-				A943628F225FE724000DDF2C /* spirv_target_env.cpp in Sources */,
-				A94364BF225FE724000DDF2C /* dominator_analysis.cpp in Sources */,
-				A94364F9225FE724000DDF2C /* loop_peeling.cpp in Sources */,
-				A94363D1225FE724000DDF2C /* loop_dependence.cpp in Sources */,
-				A94362AD225FE724000DDF2C /* string_utils.cpp in Sources */,
-				A94363E9225FE724000DDF2C /* loop_unswitch_pass.cpp in Sources */,
-				A9436427225FE724000DDF2C /* dead_branch_elim_pass.cpp in Sources */,
-				A94362B5225FE724000DDF2C /* parse_number.cpp in Sources */,
-				A9436345225FE724000DDF2C /* move_to_front.cpp in Sources */,
-				A94363A3225FE724000DDF2C /* strip_atomic_counter_memory_pass.cpp in Sources */,
-				A943636B225FE724000DDF2C /* name_mapper.cpp in Sources */,
-				A9436321225FE724000DDF2C /* spirv_optimizer_options.cpp in Sources */,
-				A9436297225FE724000DDF2C /* assembly_grammar.cpp in Sources */,
-				A943641D225FE724000DDF2C /* pch_source_opt.cpp in Sources */,
-				A9436563225FE724000DDF2C /* validate_type.cpp in Sources */,
-				A9436339225FE724000DDF2C /* binary.cpp in Sources */,
-				A9436569225FE724000DDF2C /* validate_layout.cpp in Sources */,
-				A94363EF225FE724000DDF2C /* generate_webgpu_initializers_pass.cpp in Sources */,
-				A94362B7225FE724000DDF2C /* bit_vector.cpp in Sources */,
-				A94363CD225FE724000DDF2C /* strip_debug_info_pass.cpp in Sources */,
-				A9436413225FE724000DDF2C /* strip_reflect_info_pass.cpp in Sources */,
-				A94363DB225FE724000DDF2C /* mem_pass.cpp in Sources */,
-				A943629B225FE724000DDF2C /* extensions.cpp in Sources */,
-				A943655B225FE724000DDF2C /* validate_memory.cpp in Sources */,
-				A94363BB225FE724000DDF2C /* pass.cpp in Sources */,
-				A9436465225FE724000DDF2C /* loop_fusion_pass.cpp in Sources */,
-				A943630B225FE724000DDF2C /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */,
-				A9436429225FE724000DDF2C /* flatten_decoration_pass.cpp in Sources */,
-				A94362F7225FE724000DDF2C /* reducer.cpp in Sources */,
-				A9436559225FE724000DDF2C /* validate_derivatives.cpp in Sources */,
-				A943637F225FE724000DDF2C /* loop_utils.cpp in Sources */,
-				A94363FB225FE724000DDF2C /* licm_pass.cpp in Sources */,
-				A9436411225FE724000DDF2C /* def_use_manager.cpp in Sources */,
-				A943653D225FE724000DDF2C /* validate_extensions.cpp in Sources */,
-				A9436365225FE724000DDF2C /* parsed_operand.cpp in Sources */,
-				A9436567225FE724000DDF2C /* validate_execution_limitations.cpp in Sources */,
-				A94362A9225FE724000DDF2C /* timer.cpp in Sources */,
-				A9436319225FE724000DDF2C /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */,
-				A9436437225FE724000DDF2C /* loop_descriptor.cpp in Sources */,
-				A9436557225FE724000DDF2C /* validate_logicals.cpp in Sources */,
-				A94363ED225FE724000DDF2C /* type_manager.cpp in Sources */,
-				A94364DB225FE724000DDF2C /* basic_block.cpp in Sources */,
-				A943633D225FE724000DDF2C /* markv_codec.cpp in Sources */,
-				A9436333225FE724000DDF2C /* spirv_endian.cpp in Sources */,
-				A943633F225FE724000DDF2C /* markv.cpp in Sources */,
-				A94363A1225FE724000DDF2C /* cfg.cpp in Sources */,
-				A9436409225FE724000DDF2C /* constants.cpp in Sources */,
-				A9436539225FE724000DDF2C /* validate_constants.cpp in Sources */,
-				A943655D225FE724000DDF2C /* validate_image.cpp in Sources */,
-				A943639B225FE724000DDF2C /* types.cpp in Sources */,
-				A9436485225FE724000DDF2C /* local_single_store_elim_pass.cpp in Sources */,
+				A94A6A3A22B17BBC00C661C6 /* module.cpp in Sources */,
+				A94A6B5622B17BBC00C661C6 /* legalize_vector_shuffle_pass.cpp in Sources */,
+				A94A6AAA22B17BBC00C661C6 /* eliminate_dead_members_pass.cpp in Sources */,
+				A94A6B1422B17BBC00C661C6 /* inline_opaque_pass.cpp in Sources */,
+				A94A697822B17BBB00C661C6 /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */,
+				A94A693A22B17BBB00C661C6 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp in Sources */,
+				A94A6AA422B17BBC00C661C6 /* if_conversion.cpp in Sources */,
+				A94A6A5E22B17BBC00C661C6 /* loop_unroller.cpp in Sources */,
+				A94A6A1C22B17BBC00C661C6 /* cfg_cleanup_pass.cpp in Sources */,
+				A94A6C0A22B17BBD00C661C6 /* validate_logicals.cpp in Sources */,
+				A94A69D022B17BBC00C661C6 /* register_pressure.cpp in Sources */,
+				A94A695822B17BBB00C661C6 /* remove_instruction_reduction_opportunity.cpp in Sources */,
+				A94A6A2622B17BBC00C661C6 /* loop_dependence.cpp in Sources */,
+				A94A6B0E22B17BBC00C661C6 /* fix_storage_class.cpp in Sources */,
+				A94A6A8E22B17BBC00C661C6 /* loop_descriptor.cpp in Sources */,
+				A94A6C1E22B17BBD00C661C6 /* basic_block.cpp in Sources */,
+				A94A6A1622B17BBC00C661C6 /* merge_return_pass.cpp in Sources */,
+				A94A6AB222B17BBC00C661C6 /* copy_prop_arrays.cpp in Sources */,
+				A94A6C1422B17BBD00C661C6 /* instruction.cpp in Sources */,
+				A94A6A4422B17BBC00C661C6 /* generate_webgpu_initializers_pass.cpp in Sources */,
+				A94A6AEC22B17BBC00C661C6 /* set_spec_constant_default_value_pass.cpp in Sources */,
+				A94A696222B17BBB00C661C6 /* reducer.cpp in Sources */,
+				A94A6BFC22B17BBD00C661C6 /* validate_datarules.cpp in Sources */,
+				A94A6BD022B17BBC00C661C6 /* validate_capability.cpp in Sources */,
+				A94A6A4822B17BBC00C661C6 /* inline_pass.cpp in Sources */,
+				A94A6AAC22B17BBC00C661C6 /* strength_reduction_pass.cpp in Sources */,
+				A94A6B1022B17BBC00C661C6 /* value_number_table.cpp in Sources */,
+				A94A6C1022B17BBD00C661C6 /* validate_image.cpp in Sources */,
+				A94A6B0622B17BBC00C661C6 /* instruction.cpp in Sources */,
+				A94A6BC422B17BBC00C661C6 /* disassemble.cpp in Sources */,
+				A94A6A3C22B17BBC00C661C6 /* fold_spec_constant_op_and_composite_pass.cpp in Sources */,
+				A94A6A5622B17BBC00C661C6 /* split_invalid_unreachable_pass.cpp in Sources */,
+				A94A68F622B17BBB00C661C6 /* text.cpp in Sources */,
+				A94A69C822B17BBC00C661C6 /* ext_inst.cpp in Sources */,
+				A94A6C2822B17BBD00C661C6 /* validate_primitives.cpp in Sources */,
+				A94A68FE22B17BBB00C661C6 /* pch_source.cpp in Sources */,
+				A94A69F622B17BBC00C661C6 /* cfg.cpp in Sources */,
+				A94A6A8422B17BBC00C661C6 /* folding_rules.cpp in Sources */,
+				A94A6AE222B17BBC00C661C6 /* private_to_local_pass.cpp in Sources */,
+				A94A6A2422B17BBC00C661C6 /* ssa_rewrite_pass.cpp in Sources */,
+				A94A6B1622B17BBC00C661C6 /* replace_invalid_opc.cpp in Sources */,
+				A94A693C22B17BBB00C661C6 /* remove_function_reduction_opportunity.cpp in Sources */,
+				A94A694222B17BBB00C661C6 /* remove_selection_reduction_opportunity_finder.cpp in Sources */,
+				A94A6B0A22B17BBC00C661C6 /* reduce_load_size.cpp in Sources */,
+				A94A6A6022B17BBC00C661C6 /* constants.cpp in Sources */,
+				A94A694422B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp in Sources */,
+				A94A6A8022B17BBC00C661C6 /* flatten_decoration_pass.cpp in Sources */,
+				A94A6A9822B17BBC00C661C6 /* composite.cpp in Sources */,
+				A94A696C22B17BBB00C661C6 /* merge_blocks_reduction_opportunity_finder.cpp in Sources */,
+				A94A6AB622B17BBC00C661C6 /* inline_exhaustive_pass.cpp in Sources */,
+				A94A6C2422B17BBD00C661C6 /* validate_composites.cpp in Sources */,
+				A94A691E22B17BBB00C661C6 /* table.cpp in Sources */,
+				A94A6BE422B17BBC00C661C6 /* validate_builtins.cpp in Sources */,
+				A94A6A6822B17BBC00C661C6 /* def_use_manager.cpp in Sources */,
+				A94A6AB422B17BBC00C661C6 /* pass_manager.cpp in Sources */,
+				A94A69C422B17BBC00C661C6 /* opcode.cpp in Sources */,
+				A94A6A4C22B17BBC00C661C6 /* ir_loader.cpp in Sources */,
+				A94A69FE22B17BBC00C661C6 /* freeze_spec_constant_value_pass.cpp in Sources */,
+				A94A69CC22B17BBC00C661C6 /* optimizer.cpp in Sources */,
+				A94A6BCE22B17BBC00C661C6 /* validate_cfg.cpp in Sources */,
+				A94A699822B17BBB00C661C6 /* spirv_fuzzer_options.cpp in Sources */,
+				A94A69EE22B17BBC00C661C6 /* code_sink.cpp in Sources */,
+				A94A696022B17BBB00C661C6 /* pch_source_reduce.cpp in Sources */,
+				A94A6BC822B17BBC00C661C6 /* text_handler.cpp in Sources */,
+				A94A69FA22B17BBC00C661C6 /* decoration_manager.cpp in Sources */,
+				A94A6A9A22B17BBC00C661C6 /* process_lines_pass.cpp in Sources */,
+				A94A697222B17BBB00C661C6 /* change_operand_to_undef_reduction_opportunity.cpp in Sources */,
+				A94A693422B17BBB00C661C6 /* remove_function_reduction_opportunity_finder.cpp in Sources */,
+				A94A68EE22B17BBB00C661C6 /* spirv_target_env.cpp in Sources */,
+				A94A6BE022B17BBC00C661C6 /* validate_decorations.cpp in Sources */,
+				A94A6C1A22B17BBD00C661C6 /* validate_execution_limitations.cpp in Sources */,
+				A94A6BF822B17BBD00C661C6 /* validate_adjacency.cpp in Sources */,
+				A94A692222B17BBB00C661C6 /* remove_selection_reduction_opportunity.cpp in Sources */,
+				A94A696E22B17BBB00C661C6 /* reduction_opportunity.cpp in Sources */,
+				A94A6A2222B17BBC00C661C6 /* strip_debug_info_pass.cpp in Sources */,
+				A94A6AFA22B17BBC00C661C6 /* redundancy_elimination.cpp in Sources */,
+				A94A6A5A22B17BBC00C661C6 /* vector_dce.cpp in Sources */,
+				A94A69B622B17BBB00C661C6 /* spirv_reducer_options.cpp in Sources */,
+				A94A6A6A22B17BBC00C661C6 /* strip_reflect_info_pass.cpp in Sources */,
+				A94A6BD822B17BBC00C661C6 /* validate_scopes.cpp in Sources */,
+				A94A6BB222B17BBC00C661C6 /* diagnostic.cpp in Sources */,
+				A94A6ACE22B17BBC00C661C6 /* block_merge_pass.cpp in Sources */,
+				A94A69C222B17BBC00C661C6 /* software_version.cpp in Sources */,
+				A94A6C0022B17BBD00C661C6 /* validate_id.cpp in Sources */,
+				A94A6BDA22B17BBC00C661C6 /* validate_atomics.cpp in Sources */,
+				A94A690E22B17BBB00C661C6 /* string_utils.cpp in Sources */,
+				A94A6A1422B17BBC00C661C6 /* dominator_tree.cpp in Sources */,
+				A94A69FC22B17BBC00C661C6 /* local_single_block_elim_pass.cpp in Sources */,
+				A94A6A6E22B17BBC00C661C6 /* ccp_pass.cpp in Sources */,
+				A94A6AAE22B17BBC00C661C6 /* block_merge_util.cpp in Sources */,
+				A94A6B3A22B17BBC00C661C6 /* basic_block.cpp in Sources */,
+				A94A6BE222B17BBC00C661C6 /* validate_debug.cpp in Sources */,
+				A94A691622B17BBB00C661C6 /* parse_number.cpp in Sources */,
+				A94A6BFA22B17BBD00C661C6 /* validate_conversion.cpp in Sources */,
+				A94A6C2622B17BBD00C661C6 /* validation_state.cpp in Sources */,
+				A94A6B5022B17BBC00C661C6 /* scalar_analysis_simplification.cpp in Sources */,
+				A94A6B1E22B17BBC00C661C6 /* decompose_initialized_variables_pass.cpp in Sources */,
+				A94A6BEE22B17BBD00C661C6 /* validate_bitwise.cpp in Sources */,
+				A94A696422B17BBB00C661C6 /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */,
+				A94A6BF222B17BBD00C661C6 /* construct.cpp in Sources */,
+				A94A69BE22B17BBB00C661C6 /* name_mapper.cpp in Sources */,
+				A94A692E22B17BBB00C661C6 /* reduction_util.cpp in Sources */,
+				A94A698A22B17BBB00C661C6 /* remove_block_reduction_opportunity.cpp in Sources */,
+				A94A6B3022B17BBC00C661C6 /* struct_cfg_analysis.cpp in Sources */,
+				A94A6A3622B17BBC00C661C6 /* dead_variable_elimination.cpp in Sources */,
+				A94A6BB622B17BBC00C661C6 /* libspirv.cpp in Sources */,
+				A94A6A6622B17BBC00C661C6 /* common_uniform_elim_pass.cpp in Sources */,
+				A94A6AFE22B17BBC00C661C6 /* workaround1209.cpp in Sources */,
+				A94A6C0622B17BBD00C661C6 /* validate_mode_setting.cpp in Sources */,
+				A94A6B3822B17BBC00C661C6 /* local_access_chain_convert_pass.cpp in Sources */,
+				A94A69F022B17BBC00C661C6 /* types.cpp in Sources */,
+				A94A6C1222B17BBD00C661C6 /* validate_literals.cpp in Sources */,
+				A94A6A3022B17BBC00C661C6 /* mem_pass.cpp in Sources */,
+				A94A68F822B17BBB00C661C6 /* assembly_grammar.cpp in Sources */,
+				A94A6BF022B17BBD00C661C6 /* validate_extensions.cpp in Sources */,
+				A94A6BEC22B17BBD00C661C6 /* validate_constants.cpp in Sources */,
+				A94A69D222B17BBC00C661C6 /* loop_utils.cpp in Sources */,
+				A94A6A1222B17BBC00C661C6 /* loop_fission.cpp in Sources */,
+				A94A698622B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp in Sources */,
+				A94A694A22B17BBB00C661C6 /* change_operand_reduction_opportunity.cpp in Sources */,
+				A94A69DA22B17BBC00C661C6 /* combine_access_chains.cpp in Sources */,
+				A94A6A9622B17BBC00C661C6 /* instruction_list.cpp in Sources */,
+				A94A6A7422B17BBC00C661C6 /* pch_source_opt.cpp in Sources */,
+				A94A694022B17BBB00C661C6 /* simple_conditional_branch_to_branch_opportunity_finder.cpp in Sources */,
+				A94A69B822B17BBB00C661C6 /* parsed_operand.cpp in Sources */,
+				A94A6A5222B17BBC00C661C6 /* eliminate_dead_functions_pass.cpp in Sources */,
+				A94A6A1E22B17BBC00C661C6 /* const_folding_rules.cpp in Sources */,
+				A94A6BD622B17BBC00C661C6 /* validate_non_uniform.cpp in Sources */,
+				A94A6AEA22B17BBC00C661C6 /* loop_dependence_helpers.cpp in Sources */,
+				A94A6C0E22B17BBD00C661C6 /* validate_memory.cpp in Sources */,
+				A94A6AF422B17BBC00C661C6 /* scalar_replacement_pass.cpp in Sources */,
+				A94A695222B17BBB00C661C6 /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp in Sources */,
+				A94A691822B17BBB00C661C6 /* bit_vector.cpp in Sources */,
+				A94A6ACA22B17BBC00C661C6 /* scalar_analysis.cpp in Sources */,
+				A94A6C1C22B17BBD00C661C6 /* validate_layout.cpp in Sources */,
+				A94A6AE622B17BBC00C661C6 /* propagator.cpp in Sources */,
+				A94A6A9422B17BBC00C661C6 /* function.cpp in Sources */,
+				A94A69C022B17BBB00C661C6 /* linker.cpp in Sources */,
+				A94A6B1C22B17BBC00C661C6 /* dominator_analysis.cpp in Sources */,
+				A94A6A7A22B17BBC00C661C6 /* eliminate_dead_functions_util.cpp in Sources */,
+				A94A68FC22B17BBB00C661C6 /* extensions.cpp in Sources */,
+				A94A6BE822B17BBC00C661C6 /* validate.cpp in Sources */,
+				A94A6A1A22B17BBC00C661C6 /* eliminate_dead_constant_pass.cpp in Sources */,
+				A94A693022B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */,
+				A94A694822B17BBB00C661C6 /* merge_blocks_reduction_opportunity.cpp in Sources */,
+				A94A6B4A22B17BBC00C661C6 /* upgrade_memory_model.cpp in Sources */,
+				A94A6BCC22B17BBC00C661C6 /* validate_misc.cpp in Sources */,
+				A94A6A0422B17BBC00C661C6 /* inst_bindless_check_pass.cpp in Sources */,
+				A94A699E22B17BBB00C661C6 /* print.cpp in Sources */,
+				A94A699C22B17BBB00C661C6 /* spirv_validator_options.cpp in Sources */,
+				A94A692822B17BBB00C661C6 /* reduction_pass.cpp in Sources */,
+				A94A69DC22B17BBC00C661C6 /* build_module.cpp in Sources */,
+				A94A6AF022B17BBC00C661C6 /* fold.cpp in Sources */,
+				A94A6A0622B17BBC00C661C6 /* local_redundancy_elimination.cpp in Sources */,
+				A94A690A22B17BBB00C661C6 /* timer.cpp in Sources */,
+				A94A6A7822B17BBC00C661C6 /* aggressive_dead_code_elim_pass.cpp in Sources */,
+				A94A6BD422B17BBC00C661C6 /* validate_barriers.cpp in Sources */,
+				A94A699022B17BBB00C661C6 /* spirv_optimizer_options.cpp in Sources */,
+				A94A6A0E22B17BBC00C661C6 /* feature_manager.cpp in Sources */,
+				A94A6C1622B17BBD00C661C6 /* validate_type.cpp in Sources */,
+				A94A698822B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */,
+				A94A6B5A22B17BBC00C661C6 /* compact_ids_pass.cpp in Sources */,
+				A94A6A4222B17BBC00C661C6 /* type_manager.cpp in Sources */,
+				A94A695E22B17BBB00C661C6 /* remove_opname_instruction_reduction_opportunity_finder.cpp in Sources */,
+				A94A6BDE22B17BBC00C661C6 /* validate_instruction.cpp in Sources */,
+				A94A6A0822B17BBC00C661C6 /* instrument_pass.cpp in Sources */,
+				A94A6B5C22B17BBC00C661C6 /* loop_peeling.cpp in Sources */,
+				A94A6ABC22B17BBC00C661C6 /* loop_fusion_pass.cpp in Sources */,
+				A94A6A3E22B17BBC00C661C6 /* loop_unswitch_pass.cpp in Sources */,
+				A94A6C0422B17BBD00C661C6 /* validate_arithmetics.cpp in Sources */,
+				A94A69AA22B17BBB00C661C6 /* binary.cpp in Sources */,
+				A94A6AC622B17BBC00C661C6 /* dead_insert_elim_pass.cpp in Sources */,
+				A94A6BF422B17BBD00C661C6 /* function.cpp in Sources */,
+				A94A6ADE22B17BBC00C661C6 /* local_single_store_elim_pass.cpp in Sources */,
+				A94A6BCA22B17BBC00C661C6 /* validate_annotation.cpp in Sources */,
+				A94A6A5022B17BBC00C661C6 /* licm_pass.cpp in Sources */,
+				A94A692A22B17BBB00C661C6 /* operand_to_const_reduction_opportunity_finder.cpp in Sources */,
+				A94A6BE622B17BBC00C661C6 /* validate_interfaces.cpp in Sources */,
+				A94A6A3422B17BBC00C661C6 /* remove_duplicates_pass.cpp in Sources */,
+				A94A69F822B17BBC00C661C6 /* strip_atomic_counter_memory_pass.cpp in Sources */,
+				A94A6C0C22B17BBD00C661C6 /* validate_derivatives.cpp in Sources */,
+				A94A6A8822B17BBC00C661C6 /* ir_context.cpp in Sources */,
+				A94A6A7E22B17BBC00C661C6 /* dead_branch_elim_pass.cpp in Sources */,
+				A94A6A9022B17BBC00C661C6 /* local_ssa_elim_pass.cpp in Sources */,
+				A94A6A1022B17BBC00C661C6 /* pass.cpp in Sources */,
+				A94A6A4022B17BBC00C661C6 /* unify_const_pass.cpp in Sources */,
+				A94A6BBE22B17BBC00C661C6 /* operand.cpp in Sources */,
+				A94A6C2022B17BBD00C661C6 /* validate_function.cpp in Sources */,
+				A94A698022B17BBB00C661C6 /* remove_block_reduction_opportunity_finder.cpp in Sources */,
+				A94A6A7C22B17BBC00C661C6 /* simplification_pass.cpp in Sources */,
+				A94A6B4822B17BBC00C661C6 /* loop_fusion.cpp in Sources */,
+				A94A69AE22B17BBB00C661C6 /* enum_string_mapping.cpp in Sources */,
+				A94A6C0822B17BBD00C661C6 /* validate_memory_semantics.cpp in Sources */,
+				A94A69A422B17BBB00C661C6 /* spirv_endian.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -3189,197 +3188,200 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A943652E225FE724000DDF2C /* validate_decorations.cpp in Sources */,
-				A9436432225FE724000DDF2C /* ir_context.cpp in Sources */,
-				A94363C6225FE724000DDF2C /* eliminate_dead_constant_pass.cpp in Sources */,
-				A94364B8225FE724000DDF2C /* inline_opaque_pass.cpp in Sources */,
-				A943656C225FE724000DDF2C /* basic_block.cpp in Sources */,
-				A9436490225FE724000DDF2C /* loop_dependence_helpers.cpp in Sources */,
-				A943636E225FE724000DDF2C /* linker.cpp in Sources */,
-				A9436472225FE724000DDF2C /* scalar_analysis.cpp in Sources */,
-				A9436372225FE724000DDF2C /* opcode.cpp in Sources */,
-				A943632C225FE724000DDF2C /* spirv_validator_options.cpp in Sources */,
-				A9436456225FE724000DDF2C /* strength_reduction_pass.cpp in Sources */,
-				A943654E225FE724000DDF2C /* validate_id.cpp in Sources */,
-				A9436496225FE724000DDF2C /* fold.cpp in Sources */,
-				A94362DC225FE724000DDF2C /* remove_selection_reduction_opportunity_finder.cpp in Sources */,
-				A9436532225FE724000DDF2C /* validate_builtins.cpp in Sources */,
-				A9436308225FE724000DDF2C /* change_operand_to_undef_reduction_opportunity.cpp in Sources */,
-				A94364A4225FE724000DDF2C /* workaround1209.cpp in Sources */,
-				A9436572225FE724000DDF2C /* validate_composites.cpp in Sources */,
-				A9436444225FE724000DDF2C /* process_lines_pass.cpp in Sources */,
-				A9436408225FE724000DDF2C /* loop_unroller.cpp in Sources */,
-				A94364AC225FE724000DDF2C /* instruction.cpp in Sources */,
-				A94363A6225FE724000DDF2C /* decoration_manager.cpp in Sources */,
-				A943645C225FE724000DDF2C /* copy_prop_arrays.cpp in Sources */,
-				A94363A8225FE724000DDF2C /* local_single_block_elim_pass.cpp in Sources */,
-				A94364E8225FE724000DDF2C /* loop_fusion.cpp in Sources */,
-				A94362CA225FE724000DDF2C /* reduction_pass.cpp in Sources */,
-				A94364B4225FE724000DDF2C /* value_number_table.cpp in Sources */,
-				A94363E8225FE724000DDF2C /* fold_spec_constant_op_and_composite_pass.cpp in Sources */,
-				A9436404225FE724000DDF2C /* vector_dce.cpp in Sources */,
-				A9436560225FE724000DDF2C /* validate_literals.cpp in Sources */,
-				A94363E2225FE724000DDF2C /* dead_variable_elimination.cpp in Sources */,
-				A943635C225FE724000DDF2C /* enum_string_mapping.cpp in Sources */,
-				A9436296225FE724000DDF2C /* text.cpp in Sources */,
-				A943650E225FE724000DDF2C /* operand.cpp in Sources */,
-				A9436418225FE724000DDF2C /* ccp_pass.cpp in Sources */,
-				A9436528225FE724000DDF2C /* validate_atomics.cpp in Sources */,
-				A9436492225FE724000DDF2C /* set_spec_constant_default_value_pass.cpp in Sources */,
-				A9436526225FE724000DDF2C /* validate_scopes.cpp in Sources */,
-				A943635A225FE724000DDF2C /* markv_encoder.cpp in Sources */,
-				A94362D4225FE724000DDF2C /* remove_function_reduction_opportunity_finder.cpp in Sources */,
-				A943649A225FE724000DDF2C /* scalar_replacement_pass.cpp in Sources */,
-				A9436556225FE724000DDF2C /* validate_memory_semantics.cpp in Sources */,
-				A94364BA225FE724000DDF2C /* replace_invalid_opc.cpp in Sources */,
-				A9436514225FE724000DDF2C /* disassemble.cpp in Sources */,
-				A943631C225FE724000DDF2C /* remove_block_reduction_opportunity.cpp in Sources */,
-				A94363C8225FE724000DDF2C /* cfg_cleanup_pass.cpp in Sources */,
-				A94362E8225FE724000DDF2C /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp in Sources */,
-				A943639A225FE724000DDF2C /* code_sink.cpp in Sources */,
-				A94364F8225FE724000DDF2C /* compact_ids_pass.cpp in Sources */,
-				A9436426225FE724000DDF2C /* simplification_pass.cpp in Sources */,
-				A9436576225FE724000DDF2C /* validate_primitives.cpp in Sources */,
-				A9436522225FE724000DDF2C /* validate_barriers.cpp in Sources */,
-				A94363B4225FE724000DDF2C /* instrument_pass.cpp in Sources */,
-				A94363B0225FE724000DDF2C /* inst_bindless_check_pass.cpp in Sources */,
-				A94363B2225FE724000DDF2C /* local_redundancy_elimination.cpp in Sources */,
-				A94364EA225FE724000DDF2C /* upgrade_memory_model.cpp in Sources */,
-				A943651A225FE724000DDF2C /* validate_annotation.cpp in Sources */,
-				A94362D8225FE724000DDF2C /* remove_function_reduction_opportunity.cpp in Sources */,
-				A9436554225FE724000DDF2C /* validate_mode_setting.cpp in Sources */,
-				A94362D2225FE724000DDF2C /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */,
-				A943637E225FE724000DDF2C /* register_pressure.cpp in Sources */,
-				A9436574225FE724000DDF2C /* validation_state.cpp in Sources */,
-				A943652C225FE724000DDF2C /* validate_instruction.cpp in Sources */,
-				A943629E225FE724000DDF2C /* pch_source.cpp in Sources */,
-				A943654A225FE724000DDF2C /* validate_datarules.cpp in Sources */,
-				A943646E225FE724000DDF2C /* dead_insert_elim_pass.cpp in Sources */,
-				A9436422225FE724000DDF2C /* aggressive_dead_code_elim_pass.cpp in Sources */,
-				A94363EC225FE724000DDF2C /* unify_const_pass.cpp in Sources */,
-				A94362F4225FE724000DDF2C /* remove_opname_instruction_reduction_opportunity_finder.cpp in Sources */,
-				A9436504225FE724000DDF2C /* libspirv.cpp in Sources */,
-				A94364DA225FE724000DDF2C /* local_access_chain_convert_pass.cpp in Sources */,
-				A94362D0225FE724000DDF2C /* reduction_util.cpp in Sources */,
-				A9436540225FE724000DDF2C /* construct.cpp in Sources */,
-				A9436440225FE724000DDF2C /* instruction_list.cpp in Sources */,
-				A9436458225FE724000DDF2C /* block_merge_util.cpp in Sources */,
-				A9436304225FE724000DDF2C /* reduction_opportunity.cpp in Sources */,
-				A9436518225FE724000DDF2C /* text_handler.cpp in Sources */,
-				A9436302225FE724000DDF2C /* merge_blocks_reduction_opportunity_finder.cpp in Sources */,
-				A94362DE225FE724000DDF2C /* merge_blocks_reduction_opportunity.cpp in Sources */,
-				A9436534225FE724000DDF2C /* validate_interfaces.cpp in Sources */,
-				A94362C4225FE724000DDF2C /* remove_selection_reduction_opportunity.cpp in Sources */,
-				A9436552225FE724000DDF2C /* validate_arithmetics.cpp in Sources */,
-				A943651E225FE724000DDF2C /* validate_capability.cpp in Sources */,
-				A9436542225FE724000DDF2C /* function.cpp in Sources */,
-				A94363BE225FE724000DDF2C /* loop_fission.cpp in Sources */,
-				A9436562225FE724000DDF2C /* instruction.cpp in Sources */,
-				A94364B0225FE724000DDF2C /* reduce_load_size.cpp in Sources */,
-				A943637A225FE724000DDF2C /* optimizer.cpp in Sources */,
-				A94363FE225FE724000DDF2C /* eliminate_dead_functions_pass.cpp in Sources */,
-				A94362C0225FE724000DDF2C /* id_descriptor.cpp in Sources */,
-				A94363D0225FE724000DDF2C /* ssa_rewrite_pass.cpp in Sources */,
-				A943638A225FE724000DDF2C /* build_module.cpp in Sources */,
-				A94364F0225FE724000DDF2C /* scalar_analysis_simplification.cpp in Sources */,
-				A94362EE225FE724000DDF2C /* remove_instruction_reduction_opportunity.cpp in Sources */,
-				A94363E6225FE724000DDF2C /* module.cpp in Sources */,
-				A9436536225FE724000DDF2C /* validate.cpp in Sources */,
-				A9436370225FE724000DDF2C /* software_version.cpp in Sources */,
-				A9436460225FE724000DDF2C /* inline_exhaustive_pass.cpp in Sources */,
-				A94363E0225FE724000DDF2C /* remove_duplicates_pass.cpp in Sources */,
-				A94364D2225FE724000DDF2C /* struct_cfg_analysis.cpp in Sources */,
-				A94362BE225FE724000DDF2C /* table.cpp in Sources */,
-				A94362FA225FE724000DDF2C /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */,
-				A94362F6225FE724000DDF2C /* pch_source_reduce.cpp in Sources */,
-				A94363CA225FE724000DDF2C /* const_folding_rules.cpp in Sources */,
-				A943651C225FE724000DDF2C /* validate_cfg.cpp in Sources */,
-				A9436524225FE724000DDF2C /* validate_non_uniform.cpp in Sources */,
-				A9436410225FE724000DDF2C /* common_uniform_elim_pass.cpp in Sources */,
-				A943642E225FE724000DDF2C /* folding_rules.cpp in Sources */,
-				A943656E225FE724000DDF2C /* validate_function.cpp in Sources */,
-				A9436350225FE724000DDF2C /* markv_decoder.cpp in Sources */,
-				A9436530225FE724000DDF2C /* validate_debug.cpp in Sources */,
-				A9436454225FE724000DDF2C /* eliminate_dead_members_pass.cpp in Sources */,
-				A94362CC225FE724000DDF2C /* operand_to_const_reduction_opportunity_finder.cpp in Sources */,
-				A9436388225FE724000DDF2C /* combine_access_chains.cpp in Sources */,
-				A943653C225FE724000DDF2C /* validate_bitwise.cpp in Sources */,
-				A94363F8225FE724000DDF2C /* ir_loader.cpp in Sources */,
-				A94364A0225FE724000DDF2C /* redundancy_elimination.cpp in Sources */,
-				A94363BA225FE724000DDF2C /* feature_manager.cpp in Sources */,
-				A943644E225FE724000DDF2C /* if_conversion.cpp in Sources */,
-				A9436314225FE724000DDF2C /* remove_block_reduction_opportunity_finder.cpp in Sources */,
-				A943645E225FE724000DDF2C /* pass_manager.cpp in Sources */,
-				A94363AA225FE724000DDF2C /* freeze_spec_constant_value_pass.cpp in Sources */,
-				A9436358225FE724000DDF2C /* bit_stream.cpp in Sources */,
-				A9436546225FE724000DDF2C /* validate_adjacency.cpp in Sources */,
-				A943643E225FE724000DDF2C /* function.cpp in Sources */,
-				A943648A225FE724000DDF2C /* private_to_local_pass.cpp in Sources */,
-				A943648E225FE724000DDF2C /* propagator.cpp in Sources */,
-				A9436548225FE724000DDF2C /* validate_conversion.cpp in Sources */,
-				A9436442225FE724000DDF2C /* composite.cpp in Sources */,
-				A9436424225FE724000DDF2C /* eliminate_dead_functions_util.cpp in Sources */,
-				A9436476225FE724000DDF2C /* block_merge_pass.cpp in Sources */,
-				A9436364225FE724000DDF2C /* spirv_reducer_options.cpp in Sources */,
-				A943632E225FE724000DDF2C /* print.cpp in Sources */,
-				A943643A225FE724000DDF2C /* local_ssa_elim_pass.cpp in Sources */,
-				A94363C2225FE724000DDF2C /* merge_return_pass.cpp in Sources */,
-				A9436376225FE724000DDF2C /* ext_inst.cpp in Sources */,
-				A94363F4225FE724000DDF2C /* inline_pass.cpp in Sources */,
-				A94363C0225FE724000DDF2C /* dominator_tree.cpp in Sources */,
-				A9436500225FE724000DDF2C /* diagnostic.cpp in Sources */,
-				A94362E0225FE724000DDF2C /* change_operand_reduction_opportunity.cpp in Sources */,
-				A9436290225FE724000DDF2C /* spirv_target_env.cpp in Sources */,
-				A94364C0225FE724000DDF2C /* dominator_analysis.cpp in Sources */,
-				A94364FA225FE724000DDF2C /* loop_peeling.cpp in Sources */,
-				A94363D2225FE724000DDF2C /* loop_dependence.cpp in Sources */,
-				A94362AE225FE724000DDF2C /* string_utils.cpp in Sources */,
-				A94363EA225FE724000DDF2C /* loop_unswitch_pass.cpp in Sources */,
-				A9436428225FE724000DDF2C /* dead_branch_elim_pass.cpp in Sources */,
-				A94362B6225FE724000DDF2C /* parse_number.cpp in Sources */,
-				A9436346225FE724000DDF2C /* move_to_front.cpp in Sources */,
-				A94363A4225FE724000DDF2C /* strip_atomic_counter_memory_pass.cpp in Sources */,
-				A943636C225FE724000DDF2C /* name_mapper.cpp in Sources */,
-				A9436322225FE724000DDF2C /* spirv_optimizer_options.cpp in Sources */,
-				A9436298225FE724000DDF2C /* assembly_grammar.cpp in Sources */,
-				A943641E225FE724000DDF2C /* pch_source_opt.cpp in Sources */,
-				A9436564225FE724000DDF2C /* validate_type.cpp in Sources */,
-				A943633A225FE724000DDF2C /* binary.cpp in Sources */,
-				A943656A225FE724000DDF2C /* validate_layout.cpp in Sources */,
-				A94363F0225FE724000DDF2C /* generate_webgpu_initializers_pass.cpp in Sources */,
-				A94362B8225FE724000DDF2C /* bit_vector.cpp in Sources */,
-				A94363CE225FE724000DDF2C /* strip_debug_info_pass.cpp in Sources */,
-				A9436414225FE724000DDF2C /* strip_reflect_info_pass.cpp in Sources */,
-				A94363DC225FE724000DDF2C /* mem_pass.cpp in Sources */,
-				A943629C225FE724000DDF2C /* extensions.cpp in Sources */,
-				A943655C225FE724000DDF2C /* validate_memory.cpp in Sources */,
-				A94363BC225FE724000DDF2C /* pass.cpp in Sources */,
-				A9436466225FE724000DDF2C /* loop_fusion_pass.cpp in Sources */,
-				A943630C225FE724000DDF2C /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */,
-				A943642A225FE724000DDF2C /* flatten_decoration_pass.cpp in Sources */,
-				A94362F8225FE724000DDF2C /* reducer.cpp in Sources */,
-				A943655A225FE724000DDF2C /* validate_derivatives.cpp in Sources */,
-				A9436380225FE724000DDF2C /* loop_utils.cpp in Sources */,
-				A94363FC225FE724000DDF2C /* licm_pass.cpp in Sources */,
-				A9436412225FE724000DDF2C /* def_use_manager.cpp in Sources */,
-				A943653E225FE724000DDF2C /* validate_extensions.cpp in Sources */,
-				A9436366225FE724000DDF2C /* parsed_operand.cpp in Sources */,
-				A9436568225FE724000DDF2C /* validate_execution_limitations.cpp in Sources */,
-				A94362AA225FE724000DDF2C /* timer.cpp in Sources */,
-				A943631A225FE724000DDF2C /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */,
-				A9436438225FE724000DDF2C /* loop_descriptor.cpp in Sources */,
-				A9436558225FE724000DDF2C /* validate_logicals.cpp in Sources */,
-				A94363EE225FE724000DDF2C /* type_manager.cpp in Sources */,
-				A94364DC225FE724000DDF2C /* basic_block.cpp in Sources */,
-				A943633E225FE724000DDF2C /* markv_codec.cpp in Sources */,
-				A9436334225FE724000DDF2C /* spirv_endian.cpp in Sources */,
-				A9436340225FE724000DDF2C /* markv.cpp in Sources */,
-				A94363A2225FE724000DDF2C /* cfg.cpp in Sources */,
-				A943640A225FE724000DDF2C /* constants.cpp in Sources */,
-				A943653A225FE724000DDF2C /* validate_constants.cpp in Sources */,
-				A943655E225FE724000DDF2C /* validate_image.cpp in Sources */,
-				A943639C225FE724000DDF2C /* types.cpp in Sources */,
-				A9436486225FE724000DDF2C /* local_single_store_elim_pass.cpp in Sources */,
+				A94A6A3B22B17BBC00C661C6 /* module.cpp in Sources */,
+				A94A6B5722B17BBC00C661C6 /* legalize_vector_shuffle_pass.cpp in Sources */,
+				A94A6AAB22B17BBC00C661C6 /* eliminate_dead_members_pass.cpp in Sources */,
+				A94A6B1522B17BBC00C661C6 /* inline_opaque_pass.cpp in Sources */,
+				A94A697922B17BBB00C661C6 /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */,
+				A94A693B22B17BBB00C661C6 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp in Sources */,
+				A94A6AA522B17BBC00C661C6 /* if_conversion.cpp in Sources */,
+				A94A6A5F22B17BBC00C661C6 /* loop_unroller.cpp in Sources */,
+				A94A6A1D22B17BBC00C661C6 /* cfg_cleanup_pass.cpp in Sources */,
+				A94A6C0B22B17BBD00C661C6 /* validate_logicals.cpp in Sources */,
+				A94A69D122B17BBC00C661C6 /* register_pressure.cpp in Sources */,
+				A94A695922B17BBB00C661C6 /* remove_instruction_reduction_opportunity.cpp in Sources */,
+				A94A6A2722B17BBC00C661C6 /* loop_dependence.cpp in Sources */,
+				A94A6B0F22B17BBC00C661C6 /* fix_storage_class.cpp in Sources */,
+				A94A6A8F22B17BBC00C661C6 /* loop_descriptor.cpp in Sources */,
+				A94A6C1F22B17BBD00C661C6 /* basic_block.cpp in Sources */,
+				A94A6A1722B17BBC00C661C6 /* merge_return_pass.cpp in Sources */,
+				A94A6AB322B17BBC00C661C6 /* copy_prop_arrays.cpp in Sources */,
+				A94A6C1522B17BBD00C661C6 /* instruction.cpp in Sources */,
+				A94A6A4522B17BBC00C661C6 /* generate_webgpu_initializers_pass.cpp in Sources */,
+				A94A6AED22B17BBC00C661C6 /* set_spec_constant_default_value_pass.cpp in Sources */,
+				A94A696322B17BBB00C661C6 /* reducer.cpp in Sources */,
+				A94A6BFD22B17BBD00C661C6 /* validate_datarules.cpp in Sources */,
+				A94A6BD122B17BBC00C661C6 /* validate_capability.cpp in Sources */,
+				A94A6A4922B17BBC00C661C6 /* inline_pass.cpp in Sources */,
+				A94A6AAD22B17BBC00C661C6 /* strength_reduction_pass.cpp in Sources */,
+				A94A6B1122B17BBC00C661C6 /* value_number_table.cpp in Sources */,
+				A94A6C1122B17BBD00C661C6 /* validate_image.cpp in Sources */,
+				A94A6B0722B17BBC00C661C6 /* instruction.cpp in Sources */,
+				A94A6BC522B17BBC00C661C6 /* disassemble.cpp in Sources */,
+				A94A6A3D22B17BBC00C661C6 /* fold_spec_constant_op_and_composite_pass.cpp in Sources */,
+				A94A6A5722B17BBC00C661C6 /* split_invalid_unreachable_pass.cpp in Sources */,
+				A94A68F722B17BBB00C661C6 /* text.cpp in Sources */,
+				A94A69C922B17BBC00C661C6 /* ext_inst.cpp in Sources */,
+				A94A6C2922B17BBD00C661C6 /* validate_primitives.cpp in Sources */,
+				A94A68FF22B17BBB00C661C6 /* pch_source.cpp in Sources */,
+				A94A69F722B17BBC00C661C6 /* cfg.cpp in Sources */,
+				A94A6A8522B17BBC00C661C6 /* folding_rules.cpp in Sources */,
+				A94A6AE322B17BBC00C661C6 /* private_to_local_pass.cpp in Sources */,
+				A94A6A2522B17BBC00C661C6 /* ssa_rewrite_pass.cpp in Sources */,
+				A94A6B1722B17BBC00C661C6 /* replace_invalid_opc.cpp in Sources */,
+				A94A693D22B17BBB00C661C6 /* remove_function_reduction_opportunity.cpp in Sources */,
+				A94A694322B17BBB00C661C6 /* remove_selection_reduction_opportunity_finder.cpp in Sources */,
+				A94A6B0B22B17BBC00C661C6 /* reduce_load_size.cpp in Sources */,
+				A94A6A6122B17BBC00C661C6 /* constants.cpp in Sources */,
+				A94A694522B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp in Sources */,
+				A94A6A8122B17BBC00C661C6 /* flatten_decoration_pass.cpp in Sources */,
+				A94A6A9922B17BBC00C661C6 /* composite.cpp in Sources */,
+				A94A696D22B17BBB00C661C6 /* merge_blocks_reduction_opportunity_finder.cpp in Sources */,
+				A94A6AB722B17BBC00C661C6 /* inline_exhaustive_pass.cpp in Sources */,
+				A94A6C2522B17BBD00C661C6 /* validate_composites.cpp in Sources */,
+				A94A691F22B17BBB00C661C6 /* table.cpp in Sources */,
+				A94A6BE522B17BBC00C661C6 /* validate_builtins.cpp in Sources */,
+				A94A6A6922B17BBC00C661C6 /* def_use_manager.cpp in Sources */,
+				A94A6AB522B17BBC00C661C6 /* pass_manager.cpp in Sources */,
+				A94A69C522B17BBC00C661C6 /* opcode.cpp in Sources */,
+				A94A6A4D22B17BBC00C661C6 /* ir_loader.cpp in Sources */,
+				A94A69FF22B17BBC00C661C6 /* freeze_spec_constant_value_pass.cpp in Sources */,
+				A94A69CD22B17BBC00C661C6 /* optimizer.cpp in Sources */,
+				A94A6BCF22B17BBC00C661C6 /* validate_cfg.cpp in Sources */,
+				A94A699922B17BBB00C661C6 /* spirv_fuzzer_options.cpp in Sources */,
+				A94A69EF22B17BBC00C661C6 /* code_sink.cpp in Sources */,
+				A94A696122B17BBB00C661C6 /* pch_source_reduce.cpp in Sources */,
+				A94A6BC922B17BBC00C661C6 /* text_handler.cpp in Sources */,
+				A94A69FB22B17BBC00C661C6 /* decoration_manager.cpp in Sources */,
+				A94A6A9B22B17BBC00C661C6 /* process_lines_pass.cpp in Sources */,
+				A94A697322B17BBB00C661C6 /* change_operand_to_undef_reduction_opportunity.cpp in Sources */,
+				A94A693522B17BBB00C661C6 /* remove_function_reduction_opportunity_finder.cpp in Sources */,
+				A94A68EF22B17BBB00C661C6 /* spirv_target_env.cpp in Sources */,
+				A94A6BE122B17BBC00C661C6 /* validate_decorations.cpp in Sources */,
+				A94A6C1B22B17BBD00C661C6 /* validate_execution_limitations.cpp in Sources */,
+				A94A6BF922B17BBD00C661C6 /* validate_adjacency.cpp in Sources */,
+				A94A692322B17BBB00C661C6 /* remove_selection_reduction_opportunity.cpp in Sources */,
+				A94A696F22B17BBB00C661C6 /* reduction_opportunity.cpp in Sources */,
+				A94A6A2322B17BBC00C661C6 /* strip_debug_info_pass.cpp in Sources */,
+				A94A6AFB22B17BBC00C661C6 /* redundancy_elimination.cpp in Sources */,
+				A94A6A5B22B17BBC00C661C6 /* vector_dce.cpp in Sources */,
+				A94A69B722B17BBB00C661C6 /* spirv_reducer_options.cpp in Sources */,
+				A94A6A6B22B17BBC00C661C6 /* strip_reflect_info_pass.cpp in Sources */,
+				A94A6BD922B17BBC00C661C6 /* validate_scopes.cpp in Sources */,
+				A94A6BB322B17BBC00C661C6 /* diagnostic.cpp in Sources */,
+				A94A6ACF22B17BBC00C661C6 /* block_merge_pass.cpp in Sources */,
+				A94A69C322B17BBC00C661C6 /* software_version.cpp in Sources */,
+				A94A6C0122B17BBD00C661C6 /* validate_id.cpp in Sources */,
+				A94A6BDB22B17BBC00C661C6 /* validate_atomics.cpp in Sources */,
+				A94A690F22B17BBB00C661C6 /* string_utils.cpp in Sources */,
+				A94A6A1522B17BBC00C661C6 /* dominator_tree.cpp in Sources */,
+				A94A69FD22B17BBC00C661C6 /* local_single_block_elim_pass.cpp in Sources */,
+				A94A6A6F22B17BBC00C661C6 /* ccp_pass.cpp in Sources */,
+				A94A6AAF22B17BBC00C661C6 /* block_merge_util.cpp in Sources */,
+				A94A6B3B22B17BBC00C661C6 /* basic_block.cpp in Sources */,
+				A94A6BE322B17BBC00C661C6 /* validate_debug.cpp in Sources */,
+				A94A691722B17BBB00C661C6 /* parse_number.cpp in Sources */,
+				A94A6BFB22B17BBD00C661C6 /* validate_conversion.cpp in Sources */,
+				A94A6C2722B17BBD00C661C6 /* validation_state.cpp in Sources */,
+				A94A6B5122B17BBC00C661C6 /* scalar_analysis_simplification.cpp in Sources */,
+				A94A6B1F22B17BBC00C661C6 /* decompose_initialized_variables_pass.cpp in Sources */,
+				A94A6BEF22B17BBD00C661C6 /* validate_bitwise.cpp in Sources */,
+				A94A696522B17BBB00C661C6 /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */,
+				A94A6BF322B17BBD00C661C6 /* construct.cpp in Sources */,
+				A94A69BF22B17BBB00C661C6 /* name_mapper.cpp in Sources */,
+				A94A692F22B17BBB00C661C6 /* reduction_util.cpp in Sources */,
+				A94A698B22B17BBB00C661C6 /* remove_block_reduction_opportunity.cpp in Sources */,
+				A94A6B3122B17BBC00C661C6 /* struct_cfg_analysis.cpp in Sources */,
+				A94A6A3722B17BBC00C661C6 /* dead_variable_elimination.cpp in Sources */,
+				A94A6BB722B17BBC00C661C6 /* libspirv.cpp in Sources */,
+				A94A6A6722B17BBC00C661C6 /* common_uniform_elim_pass.cpp in Sources */,
+				A94A6AFF22B17BBC00C661C6 /* workaround1209.cpp in Sources */,
+				A94A6C0722B17BBD00C661C6 /* validate_mode_setting.cpp in Sources */,
+				A94A6B3922B17BBC00C661C6 /* local_access_chain_convert_pass.cpp in Sources */,
+				A94A69F122B17BBC00C661C6 /* types.cpp in Sources */,
+				A94A6C1322B17BBD00C661C6 /* validate_literals.cpp in Sources */,
+				A94A6A3122B17BBC00C661C6 /* mem_pass.cpp in Sources */,
+				A94A68F922B17BBB00C661C6 /* assembly_grammar.cpp in Sources */,
+				A94A6BF122B17BBD00C661C6 /* validate_extensions.cpp in Sources */,
+				A94A6BED22B17BBD00C661C6 /* validate_constants.cpp in Sources */,
+				A94A69D322B17BBC00C661C6 /* loop_utils.cpp in Sources */,
+				A94A6A1322B17BBC00C661C6 /* loop_fission.cpp in Sources */,
+				A94A698722B17BBB00C661C6 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp in Sources */,
+				A94A694B22B17BBB00C661C6 /* change_operand_reduction_opportunity.cpp in Sources */,
+				A94A69DB22B17BBC00C661C6 /* combine_access_chains.cpp in Sources */,
+				A94A6A9722B17BBC00C661C6 /* instruction_list.cpp in Sources */,
+				A94A6A7522B17BBC00C661C6 /* pch_source_opt.cpp in Sources */,
+				A94A694122B17BBB00C661C6 /* simple_conditional_branch_to_branch_opportunity_finder.cpp in Sources */,
+				A94A69B922B17BBB00C661C6 /* parsed_operand.cpp in Sources */,
+				A94A6A5322B17BBC00C661C6 /* eliminate_dead_functions_pass.cpp in Sources */,
+				A94A6A1F22B17BBC00C661C6 /* const_folding_rules.cpp in Sources */,
+				A94A6BD722B17BBC00C661C6 /* validate_non_uniform.cpp in Sources */,
+				A94A6AEB22B17BBC00C661C6 /* loop_dependence_helpers.cpp in Sources */,
+				A94A6C0F22B17BBD00C661C6 /* validate_memory.cpp in Sources */,
+				A94A6AF522B17BBC00C661C6 /* scalar_replacement_pass.cpp in Sources */,
+				A94A695322B17BBB00C661C6 /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp in Sources */,
+				A94A691922B17BBB00C661C6 /* bit_vector.cpp in Sources */,
+				A94A6ACB22B17BBC00C661C6 /* scalar_analysis.cpp in Sources */,
+				A94A6C1D22B17BBD00C661C6 /* validate_layout.cpp in Sources */,
+				A94A6AE722B17BBC00C661C6 /* propagator.cpp in Sources */,
+				A94A6A9522B17BBC00C661C6 /* function.cpp in Sources */,
+				A94A69C122B17BBB00C661C6 /* linker.cpp in Sources */,
+				A94A6B1D22B17BBC00C661C6 /* dominator_analysis.cpp in Sources */,
+				A94A6A7B22B17BBC00C661C6 /* eliminate_dead_functions_util.cpp in Sources */,
+				A94A68FD22B17BBB00C661C6 /* extensions.cpp in Sources */,
+				A94A6BE922B17BBC00C661C6 /* validate.cpp in Sources */,
+				A94A6A1B22B17BBC00C661C6 /* eliminate_dead_constant_pass.cpp in Sources */,
+				A94A693122B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */,
+				A94A694922B17BBB00C661C6 /* merge_blocks_reduction_opportunity.cpp in Sources */,
+				A94A6B4B22B17BBC00C661C6 /* upgrade_memory_model.cpp in Sources */,
+				A94A6BCD22B17BBC00C661C6 /* validate_misc.cpp in Sources */,
+				A94A6A0522B17BBC00C661C6 /* inst_bindless_check_pass.cpp in Sources */,
+				A94A699F22B17BBB00C661C6 /* print.cpp in Sources */,
+				A94A699D22B17BBB00C661C6 /* spirv_validator_options.cpp in Sources */,
+				A94A692922B17BBB00C661C6 /* reduction_pass.cpp in Sources */,
+				A94A69DD22B17BBC00C661C6 /* build_module.cpp in Sources */,
+				A94A6AF122B17BBC00C661C6 /* fold.cpp in Sources */,
+				A94A6A0722B17BBC00C661C6 /* local_redundancy_elimination.cpp in Sources */,
+				A94A690B22B17BBB00C661C6 /* timer.cpp in Sources */,
+				A94A6A7922B17BBC00C661C6 /* aggressive_dead_code_elim_pass.cpp in Sources */,
+				A94A6BD522B17BBC00C661C6 /* validate_barriers.cpp in Sources */,
+				A94A699122B17BBB00C661C6 /* spirv_optimizer_options.cpp in Sources */,
+				A94A6A0F22B17BBC00C661C6 /* feature_manager.cpp in Sources */,
+				A94A6C1722B17BBD00C661C6 /* validate_type.cpp in Sources */,
+				A94A698922B17BBB00C661C6 /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */,
+				A94A6B5B22B17BBC00C661C6 /* compact_ids_pass.cpp in Sources */,
+				A94A6A4322B17BBC00C661C6 /* type_manager.cpp in Sources */,
+				A94A695F22B17BBB00C661C6 /* remove_opname_instruction_reduction_opportunity_finder.cpp in Sources */,
+				A94A6BDF22B17BBC00C661C6 /* validate_instruction.cpp in Sources */,
+				A94A6A0922B17BBC00C661C6 /* instrument_pass.cpp in Sources */,
+				A94A6B5D22B17BBC00C661C6 /* loop_peeling.cpp in Sources */,
+				A94A6ABD22B17BBC00C661C6 /* loop_fusion_pass.cpp in Sources */,
+				A94A6A3F22B17BBC00C661C6 /* loop_unswitch_pass.cpp in Sources */,
+				A94A6C0522B17BBD00C661C6 /* validate_arithmetics.cpp in Sources */,
+				A94A69AB22B17BBB00C661C6 /* binary.cpp in Sources */,
+				A94A6AC722B17BBC00C661C6 /* dead_insert_elim_pass.cpp in Sources */,
+				A94A6BF522B17BBD00C661C6 /* function.cpp in Sources */,
+				A94A6ADF22B17BBC00C661C6 /* local_single_store_elim_pass.cpp in Sources */,
+				A94A6BCB22B17BBC00C661C6 /* validate_annotation.cpp in Sources */,
+				A94A6A5122B17BBC00C661C6 /* licm_pass.cpp in Sources */,
+				A94A692B22B17BBB00C661C6 /* operand_to_const_reduction_opportunity_finder.cpp in Sources */,
+				A94A6BE722B17BBC00C661C6 /* validate_interfaces.cpp in Sources */,
+				A94A6A3522B17BBC00C661C6 /* remove_duplicates_pass.cpp in Sources */,
+				A94A69F922B17BBC00C661C6 /* strip_atomic_counter_memory_pass.cpp in Sources */,
+				A94A6C0D22B17BBD00C661C6 /* validate_derivatives.cpp in Sources */,
+				A94A6A8922B17BBC00C661C6 /* ir_context.cpp in Sources */,
+				A94A6A7F22B17BBC00C661C6 /* dead_branch_elim_pass.cpp in Sources */,
+				A94A6A9122B17BBC00C661C6 /* local_ssa_elim_pass.cpp in Sources */,
+				A94A6A1122B17BBC00C661C6 /* pass.cpp in Sources */,
+				A94A6A4122B17BBC00C661C6 /* unify_const_pass.cpp in Sources */,
+				A94A6BBF22B17BBC00C661C6 /* operand.cpp in Sources */,
+				A94A6C2122B17BBD00C661C6 /* validate_function.cpp in Sources */,
+				A94A698122B17BBB00C661C6 /* remove_block_reduction_opportunity_finder.cpp in Sources */,
+				A94A6A7D22B17BBC00C661C6 /* simplification_pass.cpp in Sources */,
+				A94A6B4922B17BBC00C661C6 /* loop_fusion.cpp in Sources */,
+				A94A69AF22B17BBB00C661C6 /* enum_string_mapping.cpp in Sources */,
+				A94A6C0922B17BBD00C661C6 /* validate_memory_semantics.cpp in Sources */,
+				A94A69A522B17BBB00C661C6 /* spirv_endian.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
diff --git a/ExternalRevisions/README.md b/ExternalRevisions/README.md
index 9ed3706..bc19d88 100644
--- a/ExternalRevisions/README.md
+++ b/ExternalRevisions/README.md
@@ -187,7 +187,10 @@
    that opens, select the _**Create groups**_ option, add the files to *both* the `SPIRV-Tools-macOS` 
    and `SPIRV-Tools-iOS` targets, and click the ***Finish*** button.
 
-3. In the *Project Navigator* panel, select the `ExternalDependencies` *Xcode* project, then 
+
+3. Remove the *Group* named `fuzz` from under the *Group* named `External/SPIRV-Tools/source`.
+
+4. In the *Project Navigator* panel, select the `ExternalDependencies` *Xcode* project, then 
    select the `SPIRV-Tools-macOS` target, and open the *Build Settings* tab. Locate the build 
    setting entry **Header Search Paths** (`HEADER_SEARCH_PATHS`) and add the following paths:
 
diff --git a/ExternalRevisions/SPIRV-Cross_repo_revision b/ExternalRevisions/SPIRV-Cross_repo_revision
index 2b892c4..30297b1 100644
--- a/ExternalRevisions/SPIRV-Cross_repo_revision
+++ b/ExternalRevisions/SPIRV-Cross_repo_revision
@@ -1 +1 @@
-cb686a5dba9a7086a778fe21900383beed9ea5d3
+4104e363005a079acc215f0920743a8affb31278
diff --git a/ExternalRevisions/Vulkan-Headers_repo_revision b/ExternalRevisions/Vulkan-Headers_repo_revision
index bb26a52..6dd277b 100644
--- a/ExternalRevisions/Vulkan-Headers_repo_revision
+++ b/ExternalRevisions/Vulkan-Headers_repo_revision
@@ -1 +1 @@
-08cbb5458f692d4778806775f65eb3dc642ddbbf
+097a1045098213919fd56442f52c716fc78eeb27
diff --git a/ExternalRevisions/Vulkan-Tools_repo_revision b/ExternalRevisions/Vulkan-Tools_repo_revision
index 676a78d..8d640f2 100644
--- a/ExternalRevisions/Vulkan-Tools_repo_revision
+++ b/ExternalRevisions/Vulkan-Tools_repo_revision
@@ -1 +1 @@
-2abb69904b9ad017d39d3da1e7fc3dec1a584cd8
+d2de4ac0a28766c6fb10968fdcc4d75566eef8d7
diff --git a/ExternalRevisions/VulkanSamples_repo_revision b/ExternalRevisions/VulkanSamples_repo_revision
index 8c62934..bd4a2eb 100644
--- a/ExternalRevisions/VulkanSamples_repo_revision
+++ b/ExternalRevisions/VulkanSamples_repo_revision
@@ -1 +1 @@
-37e808988e758ec4f6f689012fb425bab1398ecf
+c6df494e270b5afad6bf5aaca725a037abe10501
diff --git a/ExternalRevisions/glslang_repo_revision b/ExternalRevisions/glslang_repo_revision
index 2605f62..d04e537 100644
--- a/ExternalRevisions/glslang_repo_revision
+++ b/ExternalRevisions/glslang_repo_revision
@@ -1 +1 @@
-e06c7e9a515b716c731bda13f507546f107775d1
+21eebe74214488264bbf0d19323a03c13a9e53a7
diff --git a/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h b/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h
index 5152107..31452e2 100644
--- a/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h
+++ b/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h
@@ -50,7 +50,7 @@
  */
 #define MVK_VERSION_MAJOR   1
 #define MVK_VERSION_MINOR   0
-#define MVK_VERSION_PATCH   35
+#define MVK_VERSION_PATCH   36
 
 #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)
diff --git a/MoltenVK/MoltenVK/Commands/MVKCmdPipeline.mm b/MoltenVK/MoltenVK/Commands/MVKCmdPipeline.mm
index 3931a70..5eff3e4 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCmdPipeline.mm
+++ b/MoltenVK/MoltenVK/Commands/MVKCmdPipeline.mm
@@ -254,6 +254,10 @@
 			descWrite.pTexelBufferView = pNewTexelBufferView;
 		}
 	}
+
+	// Validate by encoding on a null encoder
+	encode(nullptr);
+	setConfigurationResult(_pipelineLayout->getConfigurationResult());
 }
 
 void MVKCmdPushDescriptorSet::encode(MVKCommandEncoder* cmdEncoder) {
@@ -323,6 +327,10 @@
 	}
 	_pData = new char[size];
 	memcpy(_pData, pData, size);
+
+	// Validate by encoding on a null encoder
+	encode(nullptr);
+	setConfigurationResult(_pipelineLayout->getConfigurationResult());
 }
 
 void MVKCmdPushDescriptorSetWithTemplate::encode(MVKCommandEncoder* cmdEncoder) {
diff --git a/MoltenVK/MoltenVK/Commands/MVKCmdTransfer.mm b/MoltenVK/MoltenVK/Commands/MVKCmdTransfer.mm
index 8991223..db6c561 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCmdTransfer.mm
+++ b/MoltenVK/MoltenVK/Commands/MVKCmdTransfer.mm
@@ -962,6 +962,12 @@
     cmdEncoder->setVertexBytes(mtlRendEnc, _vertices.data(), vtxCnt * sizeof(_vertices[0]), vtxBuffIdx);
     [mtlRendEnc drawPrimitives: MTLPrimitiveTypeTriangle vertexStart: 0 vertexCount: vtxCnt];
     [mtlRendEnc popDebugGroup];
+
+	// Return to the previous rendering state on the next render activity
+	cmdEncoder->_graphicsPipelineState.markDirty();
+	cmdEncoder->_depthStencilState.markDirty();
+	cmdEncoder->_stencilReferenceValueState.markDirty();
+	cmdEncoder->_graphicsResourcesState.beginMetalRenderPass();
 }
 
 
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.h b/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.h
index 2569f32..755199e 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.h
@@ -26,9 +26,6 @@
 #include <unordered_map>
 #include <vector>
 
-using namespace mvk;
-
-
 class MVKDescriptorPool;
 class MVKDescriptorBinding;
 class MVKDescriptorSet;
@@ -96,7 +93,7 @@
               MVKShaderResourceBinding& dslMTLRezIdxOffsets);
 
 	/** Populates the specified shader converter context, at the specified descriptor set binding. */
-	void populateShaderConverterContext(SPIRVToMSLConverterContext& context,
+	void populateShaderConverterContext(mvk::SPIRVToMSLConverterContext& context,
                                         MVKShaderResourceBinding& dslMTLRezIdxOffsets,
                                         uint32_t dslIndex);
 
@@ -117,6 +114,7 @@
 	void initMetalResourceIndexOffsets(MVKShaderStageResourceBinding* pBindingIndexes,
 									   MVKShaderStageResourceBinding* pDescSetCounts,
 									   const VkDescriptorSetLayoutBinding* pBinding);
+	bool validate(MVKSampler* mvkSampler);
 
 	MVKDescriptorSetLayout* _layout;
 	VkDescriptorSetLayoutBinding _info;
@@ -162,7 +160,7 @@
 
 
 	/** Populates the specified shader converter context, at the specified DSL index. */
-	void populateShaderConverterContext(SPIRVToMSLConverterContext& context,
+	void populateShaderConverterContext(mvk::SPIRVToMSLConverterContext& context,
                                         MVKShaderResourceBinding& dslMTLRezIdxOffsets,
                                         uint32_t dslIndex);
 
@@ -179,6 +177,7 @@
 	friend class MVKDescriptorSet;
 
 	void propogateDebugName() override {}
+	
 	MVKVectorInline<MVKDescriptorSetLayoutBinding, 8> _bindings;
 	std::unordered_map<uint32_t, uint32_t> _bindingToIndex;
 	MVKShaderResourceBinding _mtlResourceCounts;
@@ -264,6 +263,7 @@
 	friend class MVKDescriptorSetLayoutBinding;
 
 	void initMTLSamplers(MVKDescriptorSetLayoutBinding* pBindingLayout);
+	bool validate(MVKSampler* mvkSampler) { return _pBindingLayout->validate(mvkSampler); }
 
 	MVKDescriptorSet* _pDescSet;
 	MVKDescriptorSetLayoutBinding* _pBindingLayout;
@@ -427,11 +427,12 @@
  * If the shader stage binding has a binding defined for the specified stage, populates
  * the context at the descriptor set binding from the shader stage resource binding.
  */
-void mvkPopulateShaderConverterContext(SPIRVToMSLConverterContext& context,
+void mvkPopulateShaderConverterContext(mvk::SPIRVToMSLConverterContext& context,
 									   MVKShaderStageResourceBinding& ssRB,
 									   spv::ExecutionModel stage,
 									   uint32_t descriptorSetIndex,
-									   uint32_t bindingIndex);
+									   uint32_t bindingIndex,
+									   MVKSampler* immutableSampler);
 
 
 
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.mm b/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.mm
index 28a1ff6..93ab0ae 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.mm
@@ -25,6 +25,7 @@
 #include <stdlib.h>
 
 using namespace std;
+using namespace mvk;
 
 
 #pragma mark MVKShaderStageResourceBinding
@@ -80,6 +81,7 @@
 
 MVKVulkanAPIObject* MVKDescriptorSetLayoutBinding::getVulkanAPIObject() { return _layout; };
 
+// A null cmdEncoder can be passed to perform a validation pass
 void MVKDescriptorSetLayoutBinding::bind(MVKCommandEncoder* cmdEncoder,
                                          MVKDescriptorBinding& descBinding,
                                          MVKShaderResourceBinding& dslMTLRezIdxOffsets,
@@ -103,16 +105,17 @@
                 (*pDynamicOffsetIndex)++;           // Move on to next dynamic offset (and feedback to caller)
             case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER:
             case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER: {
+				MVKBuffer* mvkBuff = (MVKBuffer*)descBinding._bufferBindings[rezIdx].buffer;
                 bb.mtlBuffer = descBinding._mtlBuffers[rezIdx];
                 bb.offset = descBinding._mtlBufferOffsets[rezIdx] + bufferDynamicOffset;
-				bb.size = (uint32_t)((MVKBuffer*)descBinding._bufferBindings[rezIdx].buffer)->getByteCount();
+				bb.size = mvkBuff ? (uint32_t)mvkBuff->getByteCount() : 0;
                 for (uint32_t i = kMVKShaderStageVertex; i < kMVKShaderStageMax; i++) {
                     if (_applyToStage[i]) {
                         bb.index = mtlIdxs.stages[i].bufferIndex + rezIdx;
                         if (i == kMVKShaderStageCompute) {
-                            cmdEncoder->_computeResourcesState.bindBuffer(bb);
+							if (cmdEncoder) { cmdEncoder->_computeResourcesState.bindBuffer(bb); }
                         } else {
-                            cmdEncoder->_graphicsResourcesState.bindBuffer(MVKShaderStage(i), bb);
+							if (cmdEncoder) { cmdEncoder->_graphicsResourcesState.bindBuffer(MVKShaderStage(i), bb); }
                         }
                     }
                 }
@@ -134,9 +137,9 @@
                     if (_applyToStage[i]) {
                         tb.index = mtlIdxs.stages[i].textureIndex + rezIdx;
                         if (i == kMVKShaderStageCompute) {
-                            cmdEncoder->_computeResourcesState.bindTexture(tb);
+							if (cmdEncoder) { cmdEncoder->_computeResourcesState.bindTexture(tb); }
                         } else {
-                            cmdEncoder->_graphicsResourcesState.bindTexture(MVKShaderStage(i), tb);
+							if (cmdEncoder) { cmdEncoder->_graphicsResourcesState.bindTexture(MVKShaderStage(i), tb); }
                         }
                     }
                 }
@@ -149,9 +152,9 @@
                     if (_applyToStage[i]) {
                         sb.index = mtlIdxs.stages[i].samplerIndex + rezIdx;
                         if (i == kMVKShaderStageCompute) {
-                            cmdEncoder->_computeResourcesState.bindSamplerState(sb);
+							if (cmdEncoder) { cmdEncoder->_computeResourcesState.bindSamplerState(sb); }
                         } else {
-                            cmdEncoder->_graphicsResourcesState.bindSamplerState(MVKShaderStage(i), sb);
+							if (cmdEncoder) { cmdEncoder->_graphicsResourcesState.bindSamplerState(MVKShaderStage(i), sb); }
                         }
                     }
                 }
@@ -171,11 +174,11 @@
                         tb.index = mtlIdxs.stages[i].textureIndex + rezIdx;
                         sb.index = mtlIdxs.stages[i].samplerIndex + rezIdx;
                         if (i == kMVKShaderStageCompute) {
-                            cmdEncoder->_computeResourcesState.bindTexture(tb);
-                            cmdEncoder->_computeResourcesState.bindSamplerState(sb);
+							if (cmdEncoder) { cmdEncoder->_computeResourcesState.bindTexture(tb); }
+							if (cmdEncoder) { cmdEncoder->_computeResourcesState.bindSamplerState(sb); }
                         } else {
-                            cmdEncoder->_graphicsResourcesState.bindTexture(MVKShaderStage(i), tb);
-                            cmdEncoder->_graphicsResourcesState.bindSamplerState(MVKShaderStage(i), sb);
+							if (cmdEncoder) { cmdEncoder->_graphicsResourcesState.bindTexture(MVKShaderStage(i), tb); }
+							if (cmdEncoder) { cmdEncoder->_graphicsResourcesState.bindSamplerState(MVKShaderStage(i), sb); }
                         }
                     }
                 }
@@ -193,6 +196,7 @@
     return *(T*)((const char*)pData + stride * index);
 }
 
+// A null cmdEncoder can be passed to perform a validation pass
 void MVKDescriptorSetLayoutBinding::push(MVKCommandEncoder* cmdEncoder,
                                          uint32_t& dstArrayElement,
                                          uint32_t& descriptorCount,
@@ -242,9 +246,9 @@
                     if (_applyToStage[i]) {
                         bb.index = mtlIdxs.stages[i].bufferIndex + rezIdx;
                         if (i == kMVKShaderStageCompute) {
-                            cmdEncoder->_computeResourcesState.bindBuffer(bb);
+							if (cmdEncoder) { cmdEncoder->_computeResourcesState.bindBuffer(bb); }
                         } else {
-                            cmdEncoder->_graphicsResourcesState.bindBuffer(MVKShaderStage(i), bb);
+							if (cmdEncoder) { cmdEncoder->_graphicsResourcesState.bindBuffer(MVKShaderStage(i), bb); }
                         }
                     }
                 }
@@ -266,9 +270,9 @@
                     if (_applyToStage[i]) {
                         tb.index = mtlIdxs.stages[i].textureIndex + rezIdx;
                         if (i == kMVKShaderStageCompute) {
-                            cmdEncoder->_computeResourcesState.bindTexture(tb);
+							if (cmdEncoder) { cmdEncoder->_computeResourcesState.bindTexture(tb); }
                         } else {
-                            cmdEncoder->_graphicsResourcesState.bindTexture(MVKShaderStage(i), tb);
+							if (cmdEncoder) { cmdEncoder->_graphicsResourcesState.bindTexture(MVKShaderStage(i), tb); }
                         }
                     }
                 }
@@ -284,9 +288,9 @@
                     if (_applyToStage[i]) {
                         tb.index = mtlIdxs.stages[i].textureIndex + rezIdx;
                         if (i == kMVKShaderStageCompute) {
-                            cmdEncoder->_computeResourcesState.bindTexture(tb);
+							if (cmdEncoder) { cmdEncoder->_computeResourcesState.bindTexture(tb); }
                         } else {
-                            cmdEncoder->_graphicsResourcesState.bindTexture(MVKShaderStage(i), tb);
+							if (cmdEncoder) { cmdEncoder->_graphicsResourcesState.bindTexture(MVKShaderStage(i), tb); }
                         }
                     }
                 }
@@ -295,18 +299,20 @@
 
             case VK_DESCRIPTOR_TYPE_SAMPLER: {
                 MVKSampler* sampler;
-                if (_immutableSamplers.empty())
+				if (_immutableSamplers.empty()) {
                     sampler = (MVKSampler*)get<VkDescriptorImageInfo>(pData, stride, rezIdx - dstArrayElement).sampler;
-                else
+					validate(sampler);
+				} else {
                     sampler = _immutableSamplers[rezIdx];
+				}
                 sb.mtlSamplerState = sampler->getMTLSamplerState();
                 for (uint32_t i = kMVKShaderStageVertex; i < kMVKShaderStageMax; i++) {
                     if (_applyToStage[i]) {
                         sb.index = mtlIdxs.stages[i].samplerIndex + rezIdx;
                         if (i == kMVKShaderStageCompute) {
-                            cmdEncoder->_computeResourcesState.bindSamplerState(sb);
+							if (cmdEncoder) { cmdEncoder->_computeResourcesState.bindSamplerState(sb); }
                         } else {
-                            cmdEncoder->_graphicsResourcesState.bindSamplerState(MVKShaderStage(i), sb);
+							if (cmdEncoder) { cmdEncoder->_graphicsResourcesState.bindSamplerState(MVKShaderStage(i), sb); }
                         }
                     }
                 }
@@ -316,24 +322,30 @@
             case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER: {
                 const auto& imageInfo = get<VkDescriptorImageInfo>(pData, stride, rezIdx - dstArrayElement);
                 MVKImageView* imageView = (MVKImageView*)imageInfo.imageView;
-                MVKSampler* sampler = _immutableSamplers.empty() ? (MVKSampler*)imageInfo.sampler : _immutableSamplers[rezIdx];
                 tb.mtlTexture = imageView->getMTLTexture();
                 if (imageView) {
                     tb.swizzle = imageView->getPackedSwizzle();
                 } else {
                     tb.swizzle = 0;
                 }
+				MVKSampler* sampler;
+				if (_immutableSamplers.empty()) {
+					sampler = (MVKSampler*)imageInfo.sampler;
+					validate(sampler);
+				} else {
+					sampler = _immutableSamplers[rezIdx];
+				}
                 sb.mtlSamplerState = sampler->getMTLSamplerState();
                 for (uint32_t i = kMVKShaderStageVertex; i < kMVKShaderStageMax; i++) {
                     if (_applyToStage[i]) {
                         tb.index = mtlIdxs.stages[i].textureIndex + rezIdx;
                         sb.index = mtlIdxs.stages[i].samplerIndex + rezIdx;
                         if (i == kMVKShaderStageCompute) {
-                            cmdEncoder->_computeResourcesState.bindTexture(tb);
-                            cmdEncoder->_computeResourcesState.bindSamplerState(sb);
+							if (cmdEncoder) { cmdEncoder->_computeResourcesState.bindTexture(tb); }
+							if (cmdEncoder) { cmdEncoder->_computeResourcesState.bindSamplerState(sb); }
                         } else {
-                            cmdEncoder->_graphicsResourcesState.bindTexture(MVKShaderStage(i), tb);
-                            cmdEncoder->_graphicsResourcesState.bindSamplerState(MVKShaderStage(i), sb);
+							if (cmdEncoder) { cmdEncoder->_graphicsResourcesState.bindTexture(MVKShaderStage(i), tb); }
+							if (cmdEncoder) { cmdEncoder->_graphicsResourcesState.bindSamplerState(MVKShaderStage(i), sb); }
                         }
                     }
                 }
@@ -354,10 +366,21 @@
     }
 }
 
+// If depth compare is required, but unavailable on the device, the sampler can only be used as an immutable sampler
+bool MVKDescriptorSetLayoutBinding::validate(MVKSampler* mvkSampler) {
+	if (mvkSampler->getRequiresConstExprSampler()) {
+		_layout->setConfigurationResult(reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkUpdateDescriptorSets(): Depth texture samplers using a compare operation can only be used as immutable samplers on this device."));
+		return false;
+	}
+	return true;
+}
+
 void MVKDescriptorSetLayoutBinding::populateShaderConverterContext(SPIRVToMSLConverterContext& context,
                                                                    MVKShaderResourceBinding& dslMTLRezIdxOffsets,
                                                                    uint32_t dslIndex) {
 
+	MVKSampler* mvkSamp = !_immutableSamplers.empty() ? _immutableSamplers.front() : nullptr;
+
     // Establish the resource indices to use, by combining the offsets of the DSL and this DSL binding.
     MVKShaderResourceBinding mtlIdxs = _mtlResourceIndexOffsets + dslMTLRezIdxOffsets;
 
@@ -374,7 +397,8 @@
                                               mtlIdxs.stages[i],
                                               models[i],
                                               dslIndex,
-                                              _info.binding);
+                                              _info.binding,
+											  mvkSamp);
         }
     }
 }
@@ -488,6 +512,7 @@
 #pragma mark -
 #pragma mark MVKDescriptorSetLayout
 
+// A null cmdEncoder can be passed to perform a validation pass
 void MVKDescriptorSetLayout::bindDescriptorSet(MVKCommandEncoder* cmdEncoder,
                                                MVKDescriptorSet* descSet,
                                                MVKShaderResourceBinding& dslMTLRezIdxOffsets,
@@ -495,6 +520,8 @@
                                                uint32_t* pDynamicOffsetIndex) {
 
     if (_isPushDescriptorLayout) return;
+
+	clearConfigurationResult();
     uint32_t bindCnt = (uint32_t)_bindings.size();
     for (uint32_t bindIdx = 0; bindIdx < bindCnt; bindIdx++) {
         _bindings[bindIdx].bind(cmdEncoder, descSet->_bindings[bindIdx],
@@ -538,11 +565,14 @@
     return pData;
 }
 
+// A null cmdEncoder can be passed to perform a validation pass
 void MVKDescriptorSetLayout::pushDescriptorSet(MVKCommandEncoder* cmdEncoder,
                                                MVKVector<VkWriteDescriptorSet>& descriptorWrites,
                                                MVKShaderResourceBinding& dslMTLRezIdxOffsets) {
 
     if (!_isPushDescriptorLayout) return;
+
+	clearConfigurationResult();
     for (const VkWriteDescriptorSet& descWrite : descriptorWrites) {
         uint32_t dstBinding = descWrite.dstBinding;
         uint32_t dstArrayElement = descWrite.dstArrayElement;
@@ -570,6 +600,7 @@
     }
 }
 
+// A null cmdEncoder can be passed to perform a validation pass
 void MVKDescriptorSetLayout::pushDescriptorSet(MVKCommandEncoder* cmdEncoder,
                                                MVKDescriptorUpdateTemplate* descUpdateTemplate,
                                                const void* pData,
@@ -578,6 +609,8 @@
     if (!_isPushDescriptorLayout ||
         descUpdateTemplate->getType() != VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR)
         return;
+
+	clearConfigurationResult();
     for (uint32_t i = 0; i < descUpdateTemplate->getNumberOfEntries(); i++) {
         const VkDescriptorUpdateTemplateEntryKHR* pEntry = descUpdateTemplate->getEntry(i);
         uint32_t dstBinding = pEntry->dstBinding;
@@ -643,6 +676,7 @@
 				_imageBindings[dstIdx].imageView = nullptr;		// Sampler only. Guard against app not explicitly clearing ImageView.
 				if (_hasDynamicSamplers) {
 					auto* mvkSampler = (MVKSampler*)pImgInfo->sampler;
+					validate(mvkSampler);
 					mvkSampler->retain();
 					_mtlSamplers[dstIdx] = mvkSampler ? mvkSampler->getMTLSamplerState() : nil;
 				} else {
@@ -666,6 +700,7 @@
 				_mtlTextures[dstIdx] = mvkImageView ? mvkImageView->getMTLTexture() : nil;
 				if (_hasDynamicSamplers) {
 					auto* mvkSampler = (MVKSampler*)pImgInfo->sampler;
+					validate(mvkSampler);
 					mvkSampler->retain();
 					_mtlSamplers[dstIdx] = mvkSampler ? mvkSampler->getMTLSamplerState() : nil;
 				} else {
@@ -807,7 +842,7 @@
 
 		case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
 			_imageBindings.resize(descCnt, VkDescriptorImageInfo());
-			_mtlTextures.resize(descCnt, VK_NULL_HANDLE);
+			_mtlTextures.resize(descCnt, nil);
 			initMTLSamplers(pBindingLayout);
 			break;
 
@@ -815,7 +850,7 @@
 		case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
 		case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
 			_imageBindings.resize(descCnt, VkDescriptorImageInfo());
-			_mtlTextures.resize(descCnt, VK_NULL_HANDLE);
+			_mtlTextures.resize(descCnt, nil);
 			break;
 
 		case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER:
@@ -823,14 +858,14 @@
 		case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
 		case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
 			_bufferBindings.resize(descCnt, VkDescriptorBufferInfo());
-			_mtlBuffers.resize(descCnt, VK_NULL_HANDLE);
+			_mtlBuffers.resize(descCnt, nil);
 			_mtlBufferOffsets.resize(descCnt, 0);
 			break;
 
 		case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
 		case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
-			_texelBufferBindings.resize(descCnt, VK_NULL_HANDLE);
-            _mtlTextures.resize(descCnt, VK_NULL_HANDLE);
+			_texelBufferBindings.resize(descCnt, nil);
+            _mtlTextures.resize(descCnt, nil);
 			break;
 
 		default:
@@ -877,7 +912,7 @@
 
     _mtlSamplers.reserve(descCnt);
     for (uint32_t i = 0; i < descCnt; i++) {
-        _mtlSamplers.push_back(_hasDynamicSamplers ? VK_NULL_HANDLE : imtblSamps[i]->getMTLSamplerState());
+		_mtlSamplers.push_back(_hasDynamicSamplers ? nil : imtblSamps[i]->getMTLSamplerState());
     }
 }
 
@@ -1051,7 +1086,7 @@
 #pragma mark -
 #pragma mark Support functions
 
-/** Updates the resource bindings in the descriptor sets inditified in the specified content. */
+// Updates the resource bindings in the descriptor sets inditified in the specified content.
 void mvkUpdateDescriptorSets(uint32_t writeCount,
 							 const VkWriteDescriptorSet* pDescriptorWrites,
 							 uint32_t copyCount,
@@ -1088,7 +1123,7 @@
 	}
 }
 
-/** Updates the resource bindings in the given descriptor set from the specified template. */
+// Updates the resource bindings in the given descriptor set from the specified template.
 void mvkUpdateDescriptorSetWithTemplate(VkDescriptorSet descriptorSet,
 										VkDescriptorUpdateTemplateKHR updateTemplate,
 										const void* pData) {
@@ -1111,13 +1146,19 @@
 									   MVKShaderStageResourceBinding& ssRB,
 									   spv::ExecutionModel stage,
 									   uint32_t descriptorSetIndex,
-									   uint32_t bindingIndex) {
-	MSLResourceBinding ctxRB;
-    ctxRB.stage = stage;
-    ctxRB.descriptorSet = descriptorSetIndex;
-    ctxRB.binding = bindingIndex;
-    ctxRB.mslBuffer = ssRB.bufferIndex;
-    ctxRB.mslTexture = ssRB.textureIndex;
-    ctxRB.mslSampler = ssRB.samplerIndex;
-    context.resourceBindings.push_back(ctxRB);
+									   uint32_t bindingIndex,
+									   MVKSampler* immutableSampler) {
+	MSLResourceBinding rb;
+
+	auto& rbb = rb.resourceBinding;
+	rbb.stage = stage;
+	rbb.desc_set = descriptorSetIndex;
+	rbb.binding = bindingIndex;
+	rbb.msl_buffer = ssRB.bufferIndex;
+	rbb.msl_texture = ssRB.textureIndex;
+	rbb.msl_sampler = ssRB.samplerIndex;
+
+	if (immutableSampler) { immutableSampler->getConstexprSampler(rb); }
+
+	context.resourceBindings.push_back(rb);
 }
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
index d94db3f..e136c1f 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
@@ -221,21 +221,25 @@
 		return VK_ERROR_FORMAT_NOT_SUPPORTED;
 	}
 
+	bool hasAttachmentUsage = mvkIsAnyFlagEnabled(usage, (VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT |
+														  VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT |
+														  VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT |
+														  VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT));
+
     VkPhysicalDeviceLimits* pLimits = &_properties.limits;
     VkExtent3D maxExt;
-    uint32_t maxLayers;
 	uint32_t maxLevels;
+	uint32_t maxLayers = hasAttachmentUsage ? pLimits->maxFramebufferLayers : pLimits->maxImageArrayLayers;
+
 	VkSampleCountFlags sampleCounts = _metalFeatures.supportedSampleCounts;
     switch (type) {
         case VK_IMAGE_TYPE_1D:
 			// Metal does not allow 1D textures to be used as attachments
-			if (mvkIsAnyFlagEnabled(usage, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT)) {
-				return VK_ERROR_FORMAT_NOT_SUPPORTED;
-			}
+			if (hasAttachmentUsage) { return VK_ERROR_FORMAT_NOT_SUPPORTED; }
+
 			// Metal does not allow linear tiling on 1D textures
-			if (tiling == VK_IMAGE_TILING_LINEAR) {
-				return VK_ERROR_FORMAT_NOT_SUPPORTED;
-			}
+			if (tiling == VK_IMAGE_TILING_LINEAR) { return VK_ERROR_FORMAT_NOT_SUPPORTED; }
+
 			// Metal does not allow compressed or depth/stencil formats on 1D textures
 			if (mvkFormatTypeFromVkFormat(format) == kMVKFormatDepthStencil ||
 				mvkFormatTypeFromVkFormat(format) == kMVKFormatCompressed) {
@@ -245,7 +249,6 @@
             maxExt.height = 1;
             maxExt.depth = 1;
 			maxLevels = 1;
-            maxLayers = pLimits->maxImageArrayLayers;
             sampleCounts = VK_SAMPLE_COUNT_1_BIT;
             break;
         case VK_IMAGE_TYPE_2D:
@@ -265,16 +268,12 @@
 					return VK_ERROR_FORMAT_NOT_SUPPORTED;
 				}
 #if MVK_MACOS
-				// - On macOS, they may not be used as framebuffer attachments.
-				if (mvkIsAnyFlagEnabled(usage, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT|VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT|VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT|VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT) ) {
-					return VK_ERROR_FORMAT_NOT_SUPPORTED;
-				}
+				// - On macOS, Linear textures may not be used as framebuffer attachments.
+				if (hasAttachmentUsage) { return VK_ERROR_FORMAT_NOT_SUPPORTED; }
 #endif
-				// - They may only have one mip level.
+				// Linear textures may only have one mip level. layer & sample
 				maxLevels = 1;
-				// - They may only have one layer.
 				maxLayers = 1;
-				// - They may not be multisampled.
 				sampleCounts = VK_SAMPLE_COUNT_1_BIT;
 			} else {
 				VkFormatProperties fmtProps;
@@ -288,7 +287,6 @@
 					sampleCounts = VK_SAMPLE_COUNT_1_BIT;
 				}
 				maxLevels = mvkMipmapLevels3D(maxExt);
-				maxLayers = pLimits->maxImageArrayLayers;
 			}
             break;
         case VK_IMAGE_TYPE_3D:
@@ -320,9 +318,8 @@
             break;
         default:
 			// Metal does not allow linear tiling on anything but 2D textures
-			if (tiling == VK_IMAGE_TILING_LINEAR) {
-				return VK_ERROR_FORMAT_NOT_SUPPORTED;
-			}
+			if (tiling == VK_IMAGE_TILING_LINEAR) { return VK_ERROR_FORMAT_NOT_SUPPORTED; }
+
 			// Metal does not allow compressed or depth/stencil formats on anything but 2D textures
 			if (mvkFormatTypeFromVkFormat(format) == kMVKFormatDepthStencil ||
 				mvkFormatTypeFromVkFormat(format) == kMVKFormatCompressed) {
@@ -817,35 +814,39 @@
         }
     }
 
+#define setMSLVersion(maj, min)	\
+	_metalFeatures.mslVersion = SPIRV_CROSS_NAMESPACE::CompilerMSL::Options::make_msl_version(maj, min);
+
 	switch (_metalFeatures.mslVersionEnum) {
 		case MTLLanguageVersion2_2:
 			_metalFeatures.mslVersion = SPIRVToMSLConverterOptions::makeMSLVersion(2, 2);
 			break;
 		case MTLLanguageVersion2_1:
-			_metalFeatures.mslVersion = SPIRVToMSLConverterOptions::makeMSLVersion(2, 1);
+			setMSLVersion(2, 1);
 			break;
 		case MTLLanguageVersion2_0:
-			_metalFeatures.mslVersion = SPIRVToMSLConverterOptions::makeMSLVersion(2, 0);
+			setMSLVersion(2, 0);
 			break;
 		case MTLLanguageVersion1_2:
-			_metalFeatures.mslVersion = SPIRVToMSLConverterOptions::makeMSLVersion(1, 2);
+			setMSLVersion(1, 2);
 			break;
 		case MTLLanguageVersion1_1:
-			_metalFeatures.mslVersion = SPIRVToMSLConverterOptions::makeMSLVersion(1, 1);
+			setMSLVersion(1, 1);
 			break;
 #if MVK_IOS
 		case MTLLanguageVersion1_0:
-			_metalFeatures.mslVersion = SPIRVToMSLConverterOptions::makeMSLVersion(1, 0);
+			setMSLVersion(1, 0);
 			break;
 #endif
 #if MVK_MACOS
 		// Silence compiler warning catch-22 on MTLLanguageVersion1_0.
 		// But allow iOS to be explicit so it warns on future enum values
 		default:
-			_metalFeatures.mslVersion = SPIRVToMSLConverterOptions::makeMSLVersion(1, 0);
+			setMSLVersion(1, 0);
 			break;
 #endif
 	}
+
 }
 
 bool MVKPhysicalDevice::getSupportsMetalVersion(MTLSoftwareVersion mtlVersion) {
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKImage.h b/MoltenVK/MoltenVK/GPUObjects/MVKImage.h
index 9c31d20..db47a1d 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKImage.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKImage.h
@@ -21,6 +21,7 @@
 #include "MVKResource.h"
 #include "MVKSync.h"
 #include "MVKVector.h"
+#include <MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.h>
 #include <mutex>
 
 #import <IOSurface/IOSurfaceRef.h>
@@ -345,6 +346,15 @@
 	/** Returns the Metal sampler state. */
 	inline id<MTLSamplerState> getMTLSamplerState() { return _mtlSamplerState; }
 
+	/**
+	 * If this sampler requires hardcoding in MSL, populates the hardcoded sampler in the resource binding.
+	 * Returns whether this sampler requires hardcoding in MSL, and the constant sampler was populated.
+	 */
+	bool getConstexprSampler(mvk::MSLResourceBinding& resourceBinding);
+
+	/** Returns whether this sampler must be implemented as a hardcoded constant sampler in the shader MSL code. */
+	inline 	bool getRequiresConstExprSampler() { return _requiresConstExprSampler; }
+
 	MVKSampler(MVKDevice* device, const VkSamplerCreateInfo* pCreateInfo);
 
 	~MVKSampler() override;
@@ -352,8 +362,11 @@
 protected:
 	void propogateDebugName() override {}
 	MTLSamplerDescriptor* getMTLSamplerDescriptor(const VkSamplerCreateInfo* pCreateInfo);
+	void initConstExprSampler(const VkSamplerCreateInfo* pCreateInfo);
 
 	id<MTLSamplerState> _mtlSamplerState;
+	SPIRV_CROSS_NAMESPACE::MSLConstexprSampler _constExprSampler;
+	bool _requiresConstExprSampler;
 };
 
 
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm b/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
index 4cd8aa8..96ebc14 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
@@ -30,6 +30,7 @@
 #import "MTLSamplerDescriptor+MoltenVK.h"
 
 using namespace std;
+using namespace SPIRV_CROSS_NAMESPACE;
 
 
 #pragma mark MVKImage
@@ -1019,6 +1020,7 @@
 		_subresourceRange.layerCount == (is3D ? _image->_extent.depth : _image->_arrayLayers)) {
 		_useMTLTextureView = false;
 	}
+
 	// Never use views for subsets of 3D textures. Metal doesn't support them yet.
 	if (is3D && _subresourceRange.layerCount != _image->_extent.depth) {
 		_useMTLTextureView = false;
@@ -1033,6 +1035,14 @@
 #pragma mark -
 #pragma mark MVKSampler
 
+bool MVKSampler::getConstexprSampler(mvk::MSLResourceBinding& resourceBinding) {
+	resourceBinding.requiresConstExprSampler = _requiresConstExprSampler;
+	if (_requiresConstExprSampler) {
+		resourceBinding.constExprSampler = _constExprSampler;
+	}
+	return _requiresConstExprSampler;
+}
+
 // Returns an autoreleased Metal sampler descriptor constructed from the properties of this image.
 MTLSamplerDescriptor* MVKSampler::getMTLSamplerDescriptor(const VkSamplerCreateInfo* pCreateInfo) {
 
@@ -1052,12 +1062,12 @@
 								 : 1);
 	mtlSampDesc.normalizedCoordinates = !pCreateInfo->unnormalizedCoordinates;
 
-	if (pCreateInfo->compareEnable) {
-		if (_device->_pMetalFeatures->depthSampleCompare) {
-			mtlSampDesc.compareFunctionMVK = mvkMTLCompareFunctionFromVkCompareOp(pCreateInfo->compareOp);
-		} else {
-			setConfigurationResult(reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCreateSampler(): Depth texture samplers do not support the comparison of the pixel value against a reference value."));
-		}
+	// If compareEnable is true, but dynamic samplers with depth compare are not available
+	// on this device, this sampler must only be used as an immutable sampler, and will
+	// be automatically hardcoded into the shader MSL. An error will be triggered if this
+	// sampler is used to update or push a descriptor binding.
+	if (pCreateInfo->compareEnable && !_requiresConstExprSampler) {
+		mtlSampDesc.compareFunctionMVK = mvkMTLCompareFunctionFromVkCompareOp(pCreateInfo->compareOp);
 	}
 
 #if MVK_MACOS
@@ -1077,9 +1087,96 @@
 	return [mtlSampDesc autorelease];
 }
 
-// Constructs an instance on the specified image.
 MVKSampler::MVKSampler(MVKDevice* device, const VkSamplerCreateInfo* pCreateInfo) : MVKVulkanAPIDeviceObject(device) {
+	_requiresConstExprSampler = pCreateInfo->compareEnable && !_device->_pMetalFeatures->depthSampleCompare;
     _mtlSamplerState = [getMTLDevice() newSamplerStateWithDescriptor: getMTLSamplerDescriptor(pCreateInfo)];
+	initConstExprSampler(pCreateInfo);
+}
+
+static MSLSamplerFilter getSpvMinMagFilterFromVkFilter(VkFilter vkFilter) {
+	switch (vkFilter) {
+		case VK_FILTER_LINEAR:	return MSL_SAMPLER_FILTER_LINEAR;
+
+		case VK_FILTER_NEAREST:
+		default:
+			return MSL_SAMPLER_FILTER_NEAREST;
+	}
+}
+
+static MSLSamplerMipFilter getSpvMipFilterFromVkMipMode(VkSamplerMipmapMode vkMipMode) {
+	switch (vkMipMode) {
+		case VK_SAMPLER_MIPMAP_MODE_LINEAR:		return MSL_SAMPLER_MIP_FILTER_LINEAR;
+		case VK_SAMPLER_MIPMAP_MODE_NEAREST:	return MSL_SAMPLER_MIP_FILTER_NEAREST;
+
+		default:
+			return MSL_SAMPLER_MIP_FILTER_NONE;
+	}
+}
+
+static MSLSamplerAddress getSpvAddressModeFromVkAddressMode(VkSamplerAddressMode vkAddrMode) {
+	switch (vkAddrMode) {
+		case VK_SAMPLER_ADDRESS_MODE_REPEAT:			return MSL_SAMPLER_ADDRESS_REPEAT;
+		case VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT:	return MSL_SAMPLER_ADDRESS_MIRRORED_REPEAT;
+		case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER:	return MSL_SAMPLER_ADDRESS_CLAMP_TO_BORDER;
+
+		case VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE:
+		case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE:
+		default:
+			return MSL_SAMPLER_ADDRESS_CLAMP_TO_EDGE;
+	}
+}
+
+static MSLSamplerCompareFunc getSpvCompFuncFromVkCompOp(VkCompareOp vkCompOp) {
+	switch (vkCompOp) {
+		case VK_COMPARE_OP_LESS:				return MSL_SAMPLER_COMPARE_FUNC_LESS;
+		case VK_COMPARE_OP_EQUAL:				return MSL_SAMPLER_COMPARE_FUNC_EQUAL;
+		case VK_COMPARE_OP_LESS_OR_EQUAL:		return MSL_SAMPLER_COMPARE_FUNC_LESS_EQUAL;
+		case VK_COMPARE_OP_GREATER:				return MSL_SAMPLER_COMPARE_FUNC_GREATER;
+		case VK_COMPARE_OP_NOT_EQUAL:			return MSL_SAMPLER_COMPARE_FUNC_NOT_EQUAL;
+		case VK_COMPARE_OP_GREATER_OR_EQUAL:	return MSL_SAMPLER_COMPARE_FUNC_GREATER_EQUAL;
+		case VK_COMPARE_OP_ALWAYS:				return MSL_SAMPLER_COMPARE_FUNC_ALWAYS;
+
+		case VK_COMPARE_OP_NEVER:
+		default:
+			return MSL_SAMPLER_COMPARE_FUNC_NEVER;
+	}
+}
+
+static MSLSamplerBorderColor getSpvBorderColorFromVkBorderColor(VkBorderColor vkBorderColor) {
+	switch (vkBorderColor) {
+		case VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK:
+		case VK_BORDER_COLOR_INT_OPAQUE_BLACK:
+			return MSL_SAMPLER_BORDER_COLOR_OPAQUE_BLACK;
+
+		case VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE:
+		case VK_BORDER_COLOR_INT_OPAQUE_WHITE:
+			return MSL_SAMPLER_BORDER_COLOR_OPAQUE_WHITE;
+
+		case VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK:
+		case VK_BORDER_COLOR_INT_TRANSPARENT_BLACK:
+		default:
+			return MSL_SAMPLER_BORDER_COLOR_TRANSPARENT_BLACK;
+	}
+}
+\
+void MVKSampler::initConstExprSampler(const VkSamplerCreateInfo* pCreateInfo) {
+	if ( !_requiresConstExprSampler ) { return; }
+
+	_constExprSampler.coord = pCreateInfo->unnormalizedCoordinates ? MSL_SAMPLER_COORD_PIXEL : MSL_SAMPLER_COORD_NORMALIZED;
+	_constExprSampler.min_filter = getSpvMinMagFilterFromVkFilter(pCreateInfo->minFilter);
+	_constExprSampler.mag_filter = getSpvMinMagFilterFromVkFilter(pCreateInfo->magFilter);
+	_constExprSampler.mip_filter = getSpvMipFilterFromVkMipMode(pCreateInfo->mipmapMode);
+	_constExprSampler.s_address = getSpvAddressModeFromVkAddressMode(pCreateInfo->addressModeU);
+	_constExprSampler.t_address = getSpvAddressModeFromVkAddressMode(pCreateInfo->addressModeV);
+	_constExprSampler.r_address = getSpvAddressModeFromVkAddressMode(pCreateInfo->addressModeW);
+	_constExprSampler.compare_func = getSpvCompFuncFromVkCompOp(pCreateInfo->compareOp);
+	_constExprSampler.border_color = getSpvBorderColorFromVkBorderColor(pCreateInfo->borderColor);
+	_constExprSampler.lod_clamp_min = pCreateInfo->minLod;
+	_constExprSampler.lod_clamp_max = pCreateInfo->maxLod;
+	_constExprSampler.max_anisotropy = pCreateInfo->maxAnisotropy;
+	_constExprSampler.compare_enable = pCreateInfo->compareEnable;
+	_constExprSampler.lod_clamp_enable = false;
+	_constExprSampler.anisotropy_enable = pCreateInfo->anisotropyEnable;
 }
 
 MVKSampler::~MVKSampler() {
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm b/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm
index 57dc64c..5d31a12 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm
@@ -31,50 +31,65 @@
 #include <cereal/types/vector.hpp>
 
 using namespace std;
+using namespace SPIRV_CROSS_NAMESPACE;
 
 
 #pragma mark MVKPipelineLayout
 
+// A null cmdEncoder can be passed to perform a validation pass
 void MVKPipelineLayout::bindDescriptorSets(MVKCommandEncoder* cmdEncoder,
                                            MVKVector<MVKDescriptorSet*>& descriptorSets,
                                            uint32_t firstSet,
                                            MVKVector<uint32_t>& dynamicOffsets) {
-
+	clearConfigurationResult();
 	uint32_t pDynamicOffsetIndex = 0;
 	uint32_t dsCnt = (uint32_t)descriptorSets.size();
 	for (uint32_t dsIdx = 0; dsIdx < dsCnt; dsIdx++) {
 		MVKDescriptorSet* descSet = descriptorSets[dsIdx];
 		uint32_t dslIdx = firstSet + dsIdx;
-        _descriptorSetLayouts[dslIdx].bindDescriptorSet(cmdEncoder, descSet,
-                                                        _dslMTLResourceIndexOffsets[dslIdx],
-                                                        dynamicOffsets, &pDynamicOffsetIndex);
+		auto& dsl = _descriptorSetLayouts[dslIdx];
+		dsl.bindDescriptorSet(cmdEncoder, descSet,
+							  _dslMTLResourceIndexOffsets[dslIdx],
+							  dynamicOffsets, &pDynamicOffsetIndex);
+		setConfigurationResult(dsl.getConfigurationResult());
 	}
-	for (uint32_t i = kMVKShaderStageVertex; i < kMVKShaderStageMax; i++) {
-		cmdEncoder->getPushConstants(mvkVkShaderStageFlagBitsFromMVKShaderStage(MVKShaderStage(i)))->setMTLBufferIndex(_pushConstantsMTLResourceIndexes.stages[i].bufferIndex);
+	if (cmdEncoder) {
+		for (uint32_t i = kMVKShaderStageVertex; i < kMVKShaderStageMax; i++) {
+			cmdEncoder->getPushConstants(mvkVkShaderStageFlagBitsFromMVKShaderStage(MVKShaderStage(i)))->setMTLBufferIndex(_pushConstantsMTLResourceIndexes.stages[i].bufferIndex);
+		}
 	}
 }
 
+// A null cmdEncoder can be passed to perform a validation pass
 void MVKPipelineLayout::pushDescriptorSet(MVKCommandEncoder* cmdEncoder,
                                           MVKVector<VkWriteDescriptorSet>& descriptorWrites,
                                           uint32_t set) {
+	clearConfigurationResult();
+	auto& dsl = _descriptorSetLayouts[set];
+	dsl.pushDescriptorSet(cmdEncoder, descriptorWrites, _dslMTLResourceIndexOffsets[set]);
+	setConfigurationResult(dsl.getConfigurationResult());
 
-    _descriptorSetLayouts[set].pushDescriptorSet(cmdEncoder, descriptorWrites,
-                                                 _dslMTLResourceIndexOffsets[set]);
-	for (uint32_t i = kMVKShaderStageVertex; i < kMVKShaderStageMax; i++) {
-		cmdEncoder->getPushConstants(mvkVkShaderStageFlagBitsFromMVKShaderStage(MVKShaderStage(i)))->setMTLBufferIndex(_pushConstantsMTLResourceIndexes.stages[i].bufferIndex);
+	if (cmdEncoder) {
+		for (uint32_t i = kMVKShaderStageVertex; i < kMVKShaderStageMax; i++) {
+			cmdEncoder->getPushConstants(mvkVkShaderStageFlagBitsFromMVKShaderStage(MVKShaderStage(i)))->setMTLBufferIndex(_pushConstantsMTLResourceIndexes.stages[i].bufferIndex);
+		}
 	}
 }
 
+// A null cmdEncoder can be passed to perform a validation pass
 void MVKPipelineLayout::pushDescriptorSet(MVKCommandEncoder* cmdEncoder,
                                           MVKDescriptorUpdateTemplate* descUpdateTemplate,
                                           uint32_t set,
                                           const void* pData) {
+	clearConfigurationResult();
+	auto& dsl = _descriptorSetLayouts[set];
+	dsl.pushDescriptorSet(cmdEncoder, descUpdateTemplate, pData, _dslMTLResourceIndexOffsets[set]);
+	setConfigurationResult(dsl.getConfigurationResult());
 
-    _descriptorSetLayouts[set].pushDescriptorSet(cmdEncoder, descUpdateTemplate,
-                                                 pData,
-                                                 _dslMTLResourceIndexOffsets[set]);
-	for (uint32_t i = kMVKShaderStageVertex; i < kMVKShaderStageMax; i++) {
-		cmdEncoder->getPushConstants(mvkVkShaderStageFlagBitsFromMVKShaderStage(MVKShaderStage(i)))->setMTLBufferIndex(_pushConstantsMTLResourceIndexes.stages[i].bufferIndex);
+	if (cmdEncoder) {
+		for (uint32_t i = kMVKShaderStageVertex; i < kMVKShaderStageMax; i++) {
+			cmdEncoder->getPushConstants(mvkVkShaderStageFlagBitsFromMVKShaderStage(MVKShaderStage(i)))->setMTLBufferIndex(_pushConstantsMTLResourceIndexes.stages[i].bufferIndex);
+		}
 	}
 }
 
@@ -102,7 +117,8 @@
 										  _pushConstantsMTLResourceIndexes.stages[i],
 										  models[i],
 										  kPushConstDescSet,
-										  kPushConstBinding);
+										  kPushConstBinding,
+										  nullptr);
 	}
 }
 
@@ -478,16 +494,16 @@
 	// Round up to 4 elements for 3-vectors, since that reflects how Metal lays them out.
 	if (vecWidth == 3) { vecWidth = 4; }
 	switch (output.baseType) {
-		case SPIRV_CROSS_NAMESPACE::SPIRType::SByte:
-		case SPIRV_CROSS_NAMESPACE::SPIRType::UByte:
+		case SPIRType::SByte:
+		case SPIRType::UByte:
 			return 1 * vecWidth;
-		case SPIRV_CROSS_NAMESPACE::SPIRType::Short:
-		case SPIRV_CROSS_NAMESPACE::SPIRType::UShort:
-		case SPIRV_CROSS_NAMESPACE::SPIRType::Half:
+		case SPIRType::Short:
+		case SPIRType::UShort:
+		case SPIRType::Half:
 			return 2 * vecWidth;
-		case SPIRV_CROSS_NAMESPACE::SPIRType::Int:
-		case SPIRV_CROSS_NAMESPACE::SPIRType::UInt:
-		case SPIRV_CROSS_NAMESPACE::SPIRType::Float:
+		case SPIRType::Int:
+		case SPIRType::UInt:
+		case SPIRType::Float:
 		default:
 			return 4 * vecWidth;
 	}
@@ -495,7 +511,7 @@
 
 static VkFormat mvkFormatFromOutput(const SPIRVShaderOutput& output) {
 	switch (output.baseType) {
-		case SPIRV_CROSS_NAMESPACE::SPIRType::SByte:
+		case SPIRType::SByte:
 			switch (output.vecWidth) {
 				case 1: return VK_FORMAT_R8_SINT;
 				case 2: return VK_FORMAT_R8G8_SINT;
@@ -503,7 +519,7 @@
 				case 4: return VK_FORMAT_R8G8B8A8_SINT;
 			}
 			break;
-		case SPIRV_CROSS_NAMESPACE::SPIRType::UByte:
+		case SPIRType::UByte:
 			switch (output.vecWidth) {
 				case 1: return VK_FORMAT_R8_UINT;
 				case 2: return VK_FORMAT_R8G8_UINT;
@@ -511,7 +527,7 @@
 				case 4: return VK_FORMAT_R8G8B8A8_UINT;
 			}
 			break;
-		case SPIRV_CROSS_NAMESPACE::SPIRType::Short:
+		case SPIRType::Short:
 			switch (output.vecWidth) {
 				case 1: return VK_FORMAT_R16_SINT;
 				case 2: return VK_FORMAT_R16G16_SINT;
@@ -519,7 +535,7 @@
 				case 4: return VK_FORMAT_R16G16B16A16_SINT;
 			}
 			break;
-		case SPIRV_CROSS_NAMESPACE::SPIRType::UShort:
+		case SPIRType::UShort:
 			switch (output.vecWidth) {
 				case 1: return VK_FORMAT_R16_UINT;
 				case 2: return VK_FORMAT_R16G16_UINT;
@@ -527,7 +543,7 @@
 				case 4: return VK_FORMAT_R16G16B16A16_UINT;
 			}
 			break;
-		case SPIRV_CROSS_NAMESPACE::SPIRType::Half:
+		case SPIRType::Half:
 			switch (output.vecWidth) {
 				case 1: return VK_FORMAT_R16_SFLOAT;
 				case 2: return VK_FORMAT_R16G16_SFLOAT;
@@ -535,7 +551,7 @@
 				case 4: return VK_FORMAT_R16G16B16A16_SFLOAT;
 			}
 			break;
-		case SPIRV_CROSS_NAMESPACE::SPIRType::Int:
+		case SPIRType::Int:
 			switch (output.vecWidth) {
 				case 1: return VK_FORMAT_R32_SINT;
 				case 2: return VK_FORMAT_R32G32_SINT;
@@ -543,7 +559,7 @@
 				case 4: return VK_FORMAT_R32G32B32A32_SINT;
 			}
 			break;
-		case SPIRV_CROSS_NAMESPACE::SPIRType::UInt:
+		case SPIRType::UInt:
 			switch (output.vecWidth) {
 				case 1: return VK_FORMAT_R32_UINT;
 				case 2: return VK_FORMAT_R32G32_UINT;
@@ -551,7 +567,7 @@
 				case 4: return VK_FORMAT_R32G32B32A32_UINT;
 			}
 			break;
-		case SPIRV_CROSS_NAMESPACE::SPIRType::Float:
+		case SPIRType::Float:
 			switch (output.vecWidth) {
 				case 1: return VK_FORMAT_R32_SFLOAT;
 				case 2: return VK_FORMAT_R32G32_SFLOAT;
@@ -738,12 +754,12 @@
 	uint32_t vbCnt = pCreateInfo->pVertexInputState->vertexBindingDescriptionCount;
 	shaderContext.options.entryPointStage = spv::ExecutionModelVertex;
 	shaderContext.options.entryPointName = _pVertexSS->pName;
-	shaderContext.options.swizzleBufferIndex = _swizzleBufferIndex.stages[kMVKShaderStageVertex];
-	shaderContext.options.indirectParamsBufferIndex = _indirectParamsIndex.stages[kMVKShaderStageVertex];
-	shaderContext.options.outputBufferIndex = _outputBufferIndex.stages[kMVKShaderStageVertex];
-	shaderContext.options.bufferSizeBufferIndex = _bufferSizeBufferIndex.stages[kMVKShaderStageVertex];
-	shaderContext.options.shouldCaptureOutput = isTessellationPipeline();
-	shaderContext.options.isRasterizationDisabled = isTessellationPipeline() || (pCreateInfo->pRasterizationState && (pCreateInfo->pRasterizationState->rasterizerDiscardEnable));
+	shaderContext.options.mslOptions.swizzle_buffer_index = _swizzleBufferIndex.stages[kMVKShaderStageVertex];
+	shaderContext.options.mslOptions.indirect_params_buffer_index = _indirectParamsIndex.stages[kMVKShaderStageVertex];
+	shaderContext.options.mslOptions.shader_output_buffer_index = _outputBufferIndex.stages[kMVKShaderStageVertex];
+	shaderContext.options.mslOptions.buffer_size_buffer_index = _bufferSizeBufferIndex.stages[kMVKShaderStageVertex];
+	shaderContext.options.mslOptions.capture_output_to_buffer = isTessellationPipeline();
+	shaderContext.options.mslOptions.disable_rasterization = isTessellationPipeline() || (pCreateInfo->pRasterizationState && (pCreateInfo->pRasterizationState->rasterizerDiscardEnable));
     addVertexInputToShaderConverterContext(shaderContext, pCreateInfo);
 	id<MTLFunction> mtlFunction = ((MVKShaderModule*)_pVertexSS->module)->getMTLFunction(&shaderContext, _pVertexSS->pSpecializationInfo, _pipelineCache).mtlFunction;
 	if ( !mtlFunction ) {
@@ -751,7 +767,7 @@
 		return false;
 	}
 	plDesc.vertexFunction = mtlFunction;
-	plDesc.rasterizationEnabled = !shaderContext.options.isRasterizationDisabled;
+	plDesc.rasterizationEnabled = !shaderContext.options.mslOptions.disable_rasterization;
 	_needsVertexSwizzleBuffer = shaderContext.options.needsSwizzleBuffer;
 	_needsVertexBufferSizeBuffer = shaderContext.options.needsBufferSizeBuffer;
 	_needsVertexOutputBuffer = shaderContext.options.needsOutputBuffer;
@@ -773,16 +789,19 @@
 	return true;
 }
 
-bool MVKGraphicsPipeline::addTessCtlShaderToPipeline(MTLComputePipelineDescriptor* plDesc, const VkGraphicsPipelineCreateInfo* pCreateInfo, SPIRVToMSLConverterContext& shaderContext, std::vector<SPIRVShaderOutput>& vtxOutputs) {
+bool MVKGraphicsPipeline::addTessCtlShaderToPipeline(MTLComputePipelineDescriptor* plDesc,
+													 const VkGraphicsPipelineCreateInfo* pCreateInfo,
+													 SPIRVToMSLConverterContext& shaderContext,
+													 std::vector<SPIRVShaderOutput>& vtxOutputs) {
 	shaderContext.options.entryPointStage = spv::ExecutionModelTessellationControl;
 	shaderContext.options.entryPointName = _pTessCtlSS->pName;
-	shaderContext.options.swizzleBufferIndex = _swizzleBufferIndex.stages[kMVKShaderStageTessCtl];
-	shaderContext.options.indirectParamsBufferIndex = _indirectParamsIndex.stages[kMVKShaderStageTessCtl];
-	shaderContext.options.outputBufferIndex = _outputBufferIndex.stages[kMVKShaderStageTessCtl];
-	shaderContext.options.patchOutputBufferIndex = _tessCtlPatchOutputBufferIndex;
-	shaderContext.options.tessLevelBufferIndex = _tessCtlLevelBufferIndex;
-	shaderContext.options.bufferSizeBufferIndex = _bufferSizeBufferIndex.stages[kMVKShaderStageTessCtl];
-	shaderContext.options.shouldCaptureOutput = true;
+	shaderContext.options.mslOptions.swizzle_buffer_index = _swizzleBufferIndex.stages[kMVKShaderStageTessCtl];
+	shaderContext.options.mslOptions.indirect_params_buffer_index = _indirectParamsIndex.stages[kMVKShaderStageTessCtl];
+	shaderContext.options.mslOptions.shader_output_buffer_index = _outputBufferIndex.stages[kMVKShaderStageTessCtl];
+	shaderContext.options.mslOptions.shader_patch_output_buffer_index = _tessCtlPatchOutputBufferIndex;
+	shaderContext.options.mslOptions.shader_tess_factor_buffer_index = _tessCtlLevelBufferIndex;
+	shaderContext.options.mslOptions.buffer_size_buffer_index = _bufferSizeBufferIndex.stages[kMVKShaderStageTessCtl];
+	shaderContext.options.mslOptions.capture_output_to_buffer = true;
 	addPrevStageOutputToShaderConverterContext(shaderContext, vtxOutputs);
 	id<MTLFunction> mtlFunction = ((MVKShaderModule*)_pTessCtlSS->module)->getMTLFunction(&shaderContext, _pTessCtlSS->pSpecializationInfo, _pipelineCache).mtlFunction;
 	if ( !mtlFunction ) {
@@ -818,13 +837,16 @@
 	return true;
 }
 
-bool MVKGraphicsPipeline::addTessEvalShaderToPipeline(MTLRenderPipelineDescriptor* plDesc, const VkGraphicsPipelineCreateInfo* pCreateInfo, SPIRVToMSLConverterContext& shaderContext, std::vector<SPIRVShaderOutput>& tcOutputs) {
+bool MVKGraphicsPipeline::addTessEvalShaderToPipeline(MTLRenderPipelineDescriptor* plDesc,
+													  const VkGraphicsPipelineCreateInfo* pCreateInfo,
+													  SPIRVToMSLConverterContext& shaderContext,
+													  std::vector<SPIRVShaderOutput>& tcOutputs) {
 	shaderContext.options.entryPointStage = spv::ExecutionModelTessellationEvaluation;
 	shaderContext.options.entryPointName = _pTessEvalSS->pName;
-	shaderContext.options.swizzleBufferIndex = _swizzleBufferIndex.stages[kMVKShaderStageTessEval];
-	shaderContext.options.bufferSizeBufferIndex = _bufferSizeBufferIndex.stages[kMVKShaderStageTessEval];
-	shaderContext.options.shouldCaptureOutput = false;
-	shaderContext.options.isRasterizationDisabled = (pCreateInfo->pRasterizationState && (pCreateInfo->pRasterizationState->rasterizerDiscardEnable));
+	shaderContext.options.mslOptions.swizzle_buffer_index = _swizzleBufferIndex.stages[kMVKShaderStageTessEval];
+	shaderContext.options.mslOptions.buffer_size_buffer_index = _bufferSizeBufferIndex.stages[kMVKShaderStageTessEval];
+	shaderContext.options.mslOptions.capture_output_to_buffer = false;
+	shaderContext.options.mslOptions.disable_rasterization = (pCreateInfo->pRasterizationState && (pCreateInfo->pRasterizationState->rasterizerDiscardEnable));
 	addPrevStageOutputToShaderConverterContext(shaderContext, tcOutputs);
 	id<MTLFunction> mtlFunction = ((MVKShaderModule*)_pTessEvalSS->module)->getMTLFunction(&shaderContext, _pTessEvalSS->pSpecializationInfo, _pipelineCache).mtlFunction;
 	if ( !mtlFunction ) {
@@ -833,7 +855,7 @@
 	}
 	// Yeah, you read that right. Tess. eval functions are a kind of vertex function in Metal.
 	plDesc.vertexFunction = mtlFunction;
-	plDesc.rasterizationEnabled = !shaderContext.options.isRasterizationDisabled;
+	plDesc.rasterizationEnabled = !shaderContext.options.mslOptions.disable_rasterization;
 	_needsTessEvalSwizzleBuffer = shaderContext.options.needsSwizzleBuffer;
 	_needsTessEvalBufferSizeBuffer = shaderContext.options.needsBufferSizeBuffer;
 	if (!verifyImplicitBuffer(_needsTessEvalSwizzleBuffer, _swizzleBufferIndex, kMVKShaderStageTessEval, "swizzle", kMVKTessEvalNumReservedBuffers)) {
@@ -845,13 +867,15 @@
 	return true;
 }
 
-bool MVKGraphicsPipeline::addFragmentShaderToPipeline(MTLRenderPipelineDescriptor* plDesc, const VkGraphicsPipelineCreateInfo* pCreateInfo, SPIRVToMSLConverterContext& shaderContext) {
+bool MVKGraphicsPipeline::addFragmentShaderToPipeline(MTLRenderPipelineDescriptor* plDesc,
+													  const VkGraphicsPipelineCreateInfo* pCreateInfo,
+													  SPIRVToMSLConverterContext& shaderContext) {
 	if (_pFragmentSS) {
 		shaderContext.options.entryPointStage = spv::ExecutionModelFragment;
-		shaderContext.options.swizzleBufferIndex = _swizzleBufferIndex.stages[kMVKShaderStageFragment];
-		shaderContext.options.bufferSizeBufferIndex = _bufferSizeBufferIndex.stages[kMVKShaderStageFragment];
+		shaderContext.options.mslOptions.swizzle_buffer_index = _swizzleBufferIndex.stages[kMVKShaderStageFragment];
+		shaderContext.options.mslOptions.buffer_size_buffer_index = _bufferSizeBufferIndex.stages[kMVKShaderStageFragment];
 		shaderContext.options.entryPointName = _pFragmentSS->pName;
-		shaderContext.options.shouldCaptureOutput = false;
+		shaderContext.options.mslOptions.capture_output_to_buffer = false;
 		id<MTLFunction> mtlFunction = ((MVKShaderModule*)_pFragmentSS->module)->getMTLFunction(&shaderContext, _pFragmentSS->pSpecializationInfo, _pipelineCache).mtlFunction;
 		if ( !mtlFunction ) {
 			setConfigurationResult(reportError(VK_ERROR_INVALID_SHADER_NV, "Fragment shader function could not be compiled into pipeline. See previous logged error."));
@@ -870,7 +894,9 @@
 	return true;
 }
 
-bool MVKGraphicsPipeline::addVertexInputToPipeline(MTLRenderPipelineDescriptor* plDesc, const VkPipelineVertexInputStateCreateInfo* pVI, const SPIRVToMSLConverterContext& shaderContext) {
+bool MVKGraphicsPipeline::addVertexInputToPipeline(MTLRenderPipelineDescriptor* plDesc,
+												   const VkPipelineVertexInputStateCreateInfo* pVI,
+												   const SPIRVToMSLConverterContext& shaderContext) {
     // Collect extension structures
     VkPipelineVertexInputDivisorStateCreateInfoEXT* pVertexInputDivisorState = nullptr;
     auto* next = (MVKVkAPIStructHeader*)pVI->pNext;
@@ -955,7 +981,9 @@
 	return true;
 }
 
-void MVKGraphicsPipeline::addTessellationToPipeline(MTLRenderPipelineDescriptor* plDesc, const SPIRVTessReflectionData& reflectData, const VkPipelineTessellationStateCreateInfo* pTS) {
+void MVKGraphicsPipeline::addTessellationToPipeline(MTLRenderPipelineDescriptor* plDesc,
+													const SPIRVTessReflectionData& reflectData,
+													const VkPipelineTessellationStateCreateInfo* pTS) {
 
 	VkPipelineTessellationDomainOriginStateCreateInfo* pTessDomainOriginState = nullptr;
 	if (reflectData.patchKind == spv::ExecutionModeTriangles) {
@@ -988,7 +1016,10 @@
 	plDesc.tessellationPartitionMode = mvkMTLTessellationPartitionModeFromSpvExecutionMode(reflectData.partitionMode);
 }
 
-void MVKGraphicsPipeline::addFragmentOutputToPipeline(MTLRenderPipelineDescriptor* plDesc, const SPIRVTessReflectionData& reflectData, const VkGraphicsPipelineCreateInfo* pCreateInfo, bool isTessellationVertexPipeline) {
+void MVKGraphicsPipeline::addFragmentOutputToPipeline(MTLRenderPipelineDescriptor* plDesc,
+													  const SPIRVTessReflectionData& reflectData,
+													  const VkGraphicsPipelineCreateInfo* pCreateInfo,
+													  bool isTessellationVertexPipeline) {
 
     // Retrieve the render subpass for which this pipeline is being constructed
     MVKRenderPass* mvkRendPass = (MVKRenderPass*)pCreateInfo->renderPass;
@@ -1069,8 +1100,8 @@
         }
     }
 
-    shaderContext.options.mslVersion = _device->_pMetalFeatures->mslVersion;
-    shaderContext.options.texelBufferTextureWidth = _device->_pMetalFeatures->maxTextureDimension;
+    shaderContext.options.mslOptions.msl_version = _device->_pMetalFeatures->mslVersion;
+    shaderContext.options.mslOptions.texel_buffer_texture_width = _device->_pMetalFeatures->maxTextureDimension;
 
     MVKPipelineLayout* layout = (MVKPipelineLayout*)pCreateInfo->layout;
     layout->populateShaderConverterContext(shaderContext);
@@ -1081,10 +1112,10 @@
     _tessCtlPatchOutputBufferIndex = layout->getTessCtlPatchOutputBufferIndex();
     _tessCtlLevelBufferIndex = layout->getTessCtlLevelBufferIndex();
 
-    shaderContext.options.isRenderingPoints = isRenderingPoints(pCreateInfo, reflectData);
+    shaderContext.options.mslOptions.enable_point_size_builtin = isRenderingPoints(pCreateInfo, reflectData);
     shaderContext.options.shouldFlipVertexY = _device->_pMVKConfig->shaderConversionFlipVertexY;
-    shaderContext.options.shouldSwizzleTextureSamples = _fullImageViewSwizzle;
-    shaderContext.options.tessDomainOriginInLowerLeft = pTessDomainOriginState && pTessDomainOriginState->domainOrigin == VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT;
+    shaderContext.options.mslOptions.swizzle_texture_samples = _fullImageViewSwizzle;
+    shaderContext.options.mslOptions.tess_domain_origin_lower_left = pTessDomainOriginState && pTessDomainOriginState->domainOrigin == VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT;
 
     shaderContext.options.tessPatchKind = reflectData.patchKind;
     shaderContext.options.numTessControlPoints = reflectData.numControlPoints;
@@ -1101,9 +1132,9 @@
 
         // Set binding and offset from Vulkan vertex attribute
         MSLVertexAttribute va;
-        va.location = pVKVA->location;
-        va.mslBuffer = _device->getMetalBufferIndexForVertexAttributeBinding(pVKVA->binding);
-        va.mslOffset = pVKVA->offset;
+        va.vertexAttribute.location = pVKVA->location;
+        va.vertexAttribute.msl_buffer = _device->getMetalBufferIndexForVertexAttributeBinding(pVKVA->binding);
+        va.vertexAttribute.msl_offset = pVKVA->offset;
 
         // Metal can't do signedness conversions on vertex buffers (rdar://45922847). If the shader
         // and the vertex attribute have mismatched signedness, we have to fix the shader
@@ -1112,11 +1143,11 @@
         // declared type. Programs that try to invoke undefined behavior are on their own.
         switch (mvkFormatTypeFromVkFormat(pVKVA->format) ) {
         case kMVKFormatColorUInt8:
-            va.format = MSLVertexFormat::UInt8;
+            va.vertexAttribute.format = MSL_VERTEX_FORMAT_UINT8;
             break;
 
         case kMVKFormatColorUInt16:
-            va.format = MSLVertexFormat::UInt16;
+            va.vertexAttribute.format = MSL_VERTEX_FORMAT_UINT16;
             break;
 
         case kMVKFormatDepthStencil:
@@ -1126,7 +1157,7 @@
             case VK_FORMAT_D16_UNORM_S8_UINT:
             case VK_FORMAT_D24_UNORM_S8_UINT:
             case VK_FORMAT_D32_SFLOAT_S8_UINT:
-                va.format = MSLVertexFormat::UInt8;
+                va.vertexAttribute.format = MSL_VERTEX_FORMAT_UINT8;
                 break;
 
             default:
@@ -1144,8 +1175,8 @@
         for (uint32_t vbIdx = 0; vbIdx < vbCnt; vbIdx++) {
             const VkVertexInputBindingDescription* pVKVB = &pCreateInfo->pVertexInputState->pVertexBindingDescriptions[vbIdx];
             if (pVKVB->binding == pVKVA->binding) {
-                va.mslStride = pVKVB->stride;
-                va.isPerInstance = (pVKVB->inputRate == VK_VERTEX_INPUT_RATE_INSTANCE);
+                va.vertexAttribute.msl_stride = pVKVB->stride;
+                va.vertexAttribute.per_instance = (pVKVB->inputRate == VK_VERTEX_INPUT_RATE_INSTANCE);
                 break;
             }
         }
@@ -1162,16 +1193,16 @@
     uint32_t vaCnt = (uint32_t)shaderOutputs.size();
     for (uint32_t vaIdx = 0; vaIdx < vaCnt; vaIdx++) {
         MSLVertexAttribute va;
-        va.location = shaderOutputs[vaIdx].location;
-        va.builtin = shaderOutputs[vaIdx].builtin;
+        va.vertexAttribute.location = shaderOutputs[vaIdx].location;
+        va.vertexAttribute.builtin = shaderOutputs[vaIdx].builtin;
 
         switch (mvkFormatTypeFromVkFormat(mvkFormatFromOutput(shaderOutputs[vaIdx]) ) ) {
             case kMVKFormatColorUInt8:
-                va.format = MSLVertexFormat::UInt8;
+                va.vertexAttribute.format = MSL_VERTEX_FORMAT_UINT8;
                 break;
 
             case kMVKFormatColorUInt16:
-                va.format = MSLVertexFormat::UInt16;
+                va.vertexAttribute.format = MSL_VERTEX_FORMAT_UINT16;
                 break;
 
             default:
@@ -1258,16 +1289,16 @@
     SPIRVToMSLConverterContext shaderContext;
 	shaderContext.options.entryPointName = pCreateInfo->stage.pName;
 	shaderContext.options.entryPointStage = spv::ExecutionModelGLCompute;
-    shaderContext.options.mslVersion = _device->_pMetalFeatures->mslVersion;
-    shaderContext.options.texelBufferTextureWidth = _device->_pMetalFeatures->maxTextureDimension;
-	shaderContext.options.shouldSwizzleTextureSamples = _fullImageViewSwizzle;
+    shaderContext.options.mslOptions.msl_version = _device->_pMetalFeatures->mslVersion;
+    shaderContext.options.mslOptions.texel_buffer_texture_width = _device->_pMetalFeatures->maxTextureDimension;
+	shaderContext.options.mslOptions.swizzle_texture_samples = _fullImageViewSwizzle;
 
     MVKPipelineLayout* layout = (MVKPipelineLayout*)pCreateInfo->layout;
     layout->populateShaderConverterContext(shaderContext);
     _swizzleBufferIndex = layout->getSwizzleBufferIndex();
     _bufferSizeBufferIndex = layout->getBufferSizeBufferIndex();
-    shaderContext.options.swizzleBufferIndex = _swizzleBufferIndex.stages[kMVKShaderStageCompute];
-    shaderContext.options.bufferSizeBufferIndex = _bufferSizeBufferIndex.stages[kMVKShaderStageCompute];
+    shaderContext.options.mslOptions.swizzle_buffer_index = _swizzleBufferIndex.stages[kMVKShaderStageCompute];
+    shaderContext.options.mslOptions.buffer_size_buffer_index = _bufferSizeBufferIndex.stages[kMVKShaderStageCompute];
 
     MVKShaderModule* mvkShdrMod = (MVKShaderModule*)pSS->module;
     MVKMTLFunction func = mvkShdrMod->getMTLFunction(&shaderContext, pSS->pSpecializationInfo, _pipelineCache);
@@ -1316,85 +1347,6 @@
 	MVKPipelineCacheEntryTypeShaderLibrary = 1,
 } MVKPipelineCacheEntryType;
 
-// Ceral archive definitions
-namespace mvk {
-
-	template<class Archive>
-	void serialize(Archive & archive, SPIRVWorkgroupSizeDimension& wsd) {
-		archive(wsd.size,
-				wsd.specializationID,
-				wsd.isSpecialized);
-	}
-
-	template<class Archive>
-	void serialize(Archive & archive, SPIRVEntryPoint& ep) {
-		archive(ep.mtlFunctionName,
-				ep.workgroupSize.width,
-				ep.workgroupSize.height,
-				ep.workgroupSize.depth);
-	}
-
-	template<class Archive>
-	void serialize(Archive & archive, SPIRVToMSLConverterOptions& opt) {
-		archive(opt.entryPointName,
-				opt.entryPointStage,
-				opt.tessPatchKind,
-				opt.mslVersion,
-				opt.texelBufferTextureWidth,
-				opt.swizzleBufferIndex,
-				opt.indirectParamsBufferIndex,
-				opt.outputBufferIndex,
-				opt.patchOutputBufferIndex,
-				opt.tessLevelBufferIndex,
-				opt.bufferSizeBufferIndex,
-				opt.inputThreadgroupMemIndex,
-				opt.numTessControlPoints,
-				opt.shouldFlipVertexY,
-				opt.isRenderingPoints,
-				opt.shouldSwizzleTextureSamples,
-				opt.shouldCaptureOutput,
-				opt.tessDomainOriginInLowerLeft,
-				opt.isRasterizationDisabled,
-				opt.needsSwizzleBuffer,
-				opt.needsOutputBuffer,
-				opt.needsPatchOutputBuffer,
-				opt.needsBufferSizeBuffer,
-				opt.needsInputThreadgroupMem);
-	}
-
-	template<class Archive>
-	void serialize(Archive & archive, MSLVertexAttribute& va) {
-		archive(va.location,
-				va.mslBuffer,
-				va.mslOffset,
-				va.mslStride,
-				va.isPerInstance,
-				va.isUsedByShader);
-	}
-
-	template<class Archive>
-	void serialize(Archive & archive, MSLResourceBinding& rb) {
-		archive(rb.stage,
-				rb.descriptorSet,
-				rb.binding,
-				rb.mslBuffer,
-				rb.mslTexture,
-				rb.mslSampler,
-				rb.isUsedByShader);
-	}
-
-	template<class Archive>
-	void serialize(Archive & archive, SPIRVToMSLConverterContext& ctx) {
-		archive(ctx.options, ctx.vertexAttributes, ctx.resourceBindings);
-	}
-
-}
-
-template<class Archive>
-void serialize(Archive & archive, MVKShaderModuleKey& k) {
-	archive(k.codeSize, k.codeHash);
-}
-
 // Helper class to iterate through the shader libraries in a shader library cache in order to serialize them.
 // Needs to support input of null shader library cache.
 class MVKShaderCacheIterator : public MVKBaseObject {
@@ -1587,6 +1539,133 @@
 }
 
 
+#pragma mark Cereal archive definitions
+
+namespace SPIRV_CROSS_NAMESPACE {
+
+	template<class Archive>
+	void serialize(Archive & archive, CompilerMSL::Options& opt) {
+		archive(opt.platform,
+				opt.msl_version,
+				opt.texel_buffer_texture_width,
+				opt.swizzle_buffer_index,
+				opt.indirect_params_buffer_index,
+				opt.shader_output_buffer_index,
+				opt.shader_patch_output_buffer_index,
+				opt.shader_tess_factor_buffer_index,
+				opt.buffer_size_buffer_index,
+				opt.shader_input_wg_index,
+				opt.enable_point_size_builtin,
+				opt.disable_rasterization,
+				opt.capture_output_to_buffer,
+				opt.swizzle_texture_samples,
+				opt.tess_domain_origin_lower_left,
+				opt.argument_buffers,
+				opt.pad_fragment_output_components,
+				opt.texture_buffer_native);
+	}
+
+	template<class Archive>
+	void serialize(Archive & archive, MSLVertexAttr& va) {
+		archive(va.location,
+				va.msl_buffer,
+				va.msl_offset,
+				va.msl_stride,
+				va.per_instance,
+				va.format,
+				va.builtin);
+	}
+
+	template<class Archive>
+	void serialize(Archive & archive, MSLResourceBinding& rb) {
+		archive(rb.stage,
+				rb.desc_set,
+				rb.binding,
+				rb.msl_buffer,
+				rb.msl_texture,
+				rb.msl_sampler);
+	}
+
+	template<class Archive>
+	void serialize(Archive & archive, MSLConstexprSampler& cs) {
+		archive(cs.coord,
+				cs.min_filter,
+				cs.mag_filter,
+				cs.mip_filter,
+				cs.s_address,
+				cs.t_address,
+				cs.r_address,
+				cs.compare_func,
+				cs.border_color,
+				cs.lod_clamp_min,
+				cs.lod_clamp_max,
+				cs.max_anisotropy,
+				cs.compare_enable,
+				cs.lod_clamp_enable,
+				cs.anisotropy_enable);
+	}
+
+}
+
+namespace mvk {
+
+	template<class Archive>
+	void serialize(Archive & archive, SPIRVWorkgroupSizeDimension& wsd) {
+		archive(wsd.size,
+				wsd.specializationID,
+				wsd.isSpecialized);
+	}
+
+	template<class Archive>
+	void serialize(Archive & archive, SPIRVEntryPoint& ep) {
+		archive(ep.mtlFunctionName,
+				ep.workgroupSize.width,
+				ep.workgroupSize.height,
+				ep.workgroupSize.depth);
+	}
+
+	template<class Archive>
+	void serialize(Archive & archive, SPIRVToMSLConverterOptions& opt) {
+		archive(opt.mslOptions,
+				opt.entryPointName,
+				opt.entryPointStage,
+				opt.tessPatchKind,
+				opt.numTessControlPoints,
+				opt.shouldFlipVertexY,
+				opt.needsSwizzleBuffer,
+				opt.needsOutputBuffer,
+				opt.needsPatchOutputBuffer,
+				opt.needsBufferSizeBuffer,
+				opt.needsInputThreadgroupMem);
+	}
+
+	template<class Archive>
+	void serialize(Archive & archive, MSLVertexAttribute& va) {
+		archive(va.vertexAttribute,
+				va.isUsedByShader);
+	}
+
+	template<class Archive>
+	void serialize(Archive & archive, MSLResourceBinding& rb) {
+		archive(rb.resourceBinding,
+				rb.constExprSampler,
+				rb.requiresConstExprSampler,
+				rb.isUsedByShader);
+	}
+
+	template<class Archive>
+	void serialize(Archive & archive, SPIRVToMSLConverterContext& ctx) {
+		archive(ctx.options, ctx.vertexAttributes, ctx.resourceBindings);
+	}
+
+}
+
+template<class Archive>
+void serialize(Archive & archive, MVKShaderModuleKey& k) {
+	archive(k.codeSize, k.codeHash);
+}
+
+
 #pragma mark Construction
 
 MVKPipelineCache::MVKPipelineCache(MVKDevice* device, const VkPipelineCacheCreateInfo* pCreateInfo) : MVKVulkanAPIDeviceObject(device) {
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKRenderPass.mm b/MoltenVK/MoltenVK/GPUObjects/MVKRenderPass.mm
index 9a7cffe..52609af 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKRenderPass.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKRenderPass.mm
@@ -276,7 +276,7 @@
     } else if ( isRenderingEntireAttachment && (subpass->_subpassIndex == _firstUseSubpassIdx) ) {
         VkAttachmentLoadOp loadOp = isStencil ? _info.stencilLoadOp : _info.loadOp;
         mtlAttDesc.loadAction = mvkMTLLoadActionFromVkAttachmentLoadOp(loadOp);
-        willClear = (_info.loadOp == VK_ATTACHMENT_LOAD_OP_CLEAR);
+        willClear = (loadOp == VK_ATTACHMENT_LOAD_OP_CLEAR);
     } else {
         mtlAttDesc.loadAction = MTLLoadActionLoad;
     }
diff --git a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.cpp b/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.cpp
index 4258216..4cfc542 100644
--- a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.cpp
+++ b/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.cpp
@@ -21,11 +21,11 @@
 #include "MVKStrings.h"
 #include "FileSupport.h"
 #include "SPIRVSupport.h"
-#include <SPIRV-Cross/spirv_msl.hpp>
 #include <fstream>
 
 using namespace mvk;
 using namespace std;
+using namespace SPIRV_CROSS_NAMESPACE;
 
 
 #pragma mark -
@@ -40,24 +40,36 @@
 
 MVK_PUBLIC_SYMBOL bool SPIRVToMSLConverterOptions::matches(const SPIRVToMSLConverterOptions& other) const {
 	if (entryPointStage != other.entryPointStage) { return false; }
-    if (mslVersion != other.mslVersion) { return false; }
-	if (texelBufferTextureWidth != other.texelBufferTextureWidth) { return false; }
-	if (swizzleBufferIndex != other.swizzleBufferIndex) { return false; }
-	if (indirectParamsBufferIndex != other.indirectParamsBufferIndex) { return false; }
-	if (outputBufferIndex != other.outputBufferIndex) { return false; }
-	if (patchOutputBufferIndex != other.patchOutputBufferIndex) { return false; }
-	if (tessLevelBufferIndex != other.tessLevelBufferIndex) { return false; }
-	if (bufferSizeBufferIndex != other.bufferSizeBufferIndex) { return false; }
-	if (inputThreadgroupMemIndex != other.inputThreadgroupMemIndex) { return false; }
-    if (!!shouldFlipVertexY != !!other.shouldFlipVertexY) { return false; }
-    if (!!isRenderingPoints != !!other.isRenderingPoints) { return false; }
-	if (!!shouldSwizzleTextureSamples != !!other.shouldSwizzleTextureSamples) { return false; }
-	if (!!shouldCaptureOutput != !!other.shouldCaptureOutput) { return false; }
-	if (!!tessDomainOriginInLowerLeft != !!other.tessDomainOriginInLowerLeft) { return false; }
+	if (entryPointName != other.entryPointName) { return false; }
 	if (tessPatchKind != other.tessPatchKind) { return false; }
 	if (numTessControlPoints != other.numTessControlPoints) { return false; }
-	if (entryPointName != other.entryPointName) { return false; }
-    return true;
+	if (!!shouldFlipVertexY != !!other.shouldFlipVertexY) { return false; }
+	if (!!needsSwizzleBuffer != !!other.needsSwizzleBuffer) { return false; }
+	if (!!needsOutputBuffer != !!other.needsOutputBuffer) { return false; }
+	if (!!needsPatchOutputBuffer != !!other.needsPatchOutputBuffer) { return false; }
+	if (!!needsBufferSizeBuffer != !!other.needsBufferSizeBuffer) { return false; }
+	if (!!needsInputThreadgroupMem != !!other.needsInputThreadgroupMem) { return false; }
+
+	if (mslOptions.platform != other.mslOptions.platform) { return false; }
+	if (mslOptions.msl_version != other.mslOptions.msl_version) { return false; }
+	if (mslOptions.texel_buffer_texture_width != other.mslOptions.texel_buffer_texture_width) { return false; }
+	if (mslOptions.swizzle_buffer_index != other.mslOptions.swizzle_buffer_index) { return false; }
+	if (mslOptions.indirect_params_buffer_index != other.mslOptions.indirect_params_buffer_index) { return false; }
+	if (mslOptions.shader_output_buffer_index != other.mslOptions.shader_output_buffer_index) { return false; }
+	if (mslOptions.shader_patch_output_buffer_index != other.mslOptions.shader_patch_output_buffer_index) { return false; }
+	if (mslOptions.shader_tess_factor_buffer_index != other.mslOptions.shader_tess_factor_buffer_index) { return false; }
+	if (mslOptions.buffer_size_buffer_index != other.mslOptions.buffer_size_buffer_index) { return false; }
+	if (mslOptions.shader_input_wg_index != other.mslOptions.shader_input_wg_index) { return false; }
+	if (!!mslOptions.enable_point_size_builtin != !!other.mslOptions.enable_point_size_builtin) { return false; }
+	if (!!mslOptions.disable_rasterization != !!other.mslOptions.disable_rasterization) { return false; }
+	if (!!mslOptions.capture_output_to_buffer != !!other.mslOptions.capture_output_to_buffer) { return false; }
+	if (!!mslOptions.swizzle_texture_samples != !!other.mslOptions.swizzle_texture_samples) { return false; }
+	if (!!mslOptions.tess_domain_origin_lower_left != !!other.mslOptions.tess_domain_origin_lower_left) { return false; }
+	if (mslOptions.argument_buffers != other.mslOptions.argument_buffers) { return false; }
+	if (mslOptions.pad_fragment_output_components != other.mslOptions.pad_fragment_output_components) { return false; }
+	if (mslOptions.texture_buffer_native != other.mslOptions.texture_buffer_native) { return false; }
+
+	return true;
 }
 
 MVK_PUBLIC_SYMBOL std::string SPIRVToMSLConverterOptions::printMSLVersion(uint32_t mslVersion, bool includePatch) {
@@ -66,12 +78,12 @@
 	uint32_t major = mslVersion / 10000;
 	verStr += to_string(major);
 
-	uint32_t minor = (mslVersion - makeMSLVersion(major)) / 100;
+	uint32_t minor = (mslVersion - CompilerMSL::Options::make_msl_version(major)) / 100;
 	verStr += ".";
 	verStr += to_string(minor);
 
 	if (includePatch) {
-		uint32_t patch = mslVersion - makeMSLVersion(major, minor);
+		uint32_t patch = mslVersion - CompilerMSL::Options::make_msl_version(major, minor);
 		verStr += ".";
 		verStr += to_string(patch);
 	}
@@ -79,34 +91,56 @@
 	return verStr;
 }
 
-MVK_PUBLIC_SYMBOL mvk::SPIRVToMSLConverterOptions::Platform SPIRVToMSLConverterOptions::getNativePlatform() {
+MVK_PUBLIC_SYMBOL SPIRVToMSLConverterOptions::SPIRVToMSLConverterOptions() {
 #if MVK_MACOS
-	return SPIRVToMSLConverterOptions::macOS;
+	mslOptions.platform = CompilerMSL::Options::macOS;
 #endif
 #if MVK_IOS
-	return SPIRVToMSLConverterOptions::iOS;
+	mslOptions.platform = CompilerMSL::Options::iOS;
 #endif
 }
 
 MVK_PUBLIC_SYMBOL bool MSLVertexAttribute::matches(const MSLVertexAttribute& other) const {
-    if (location != other.location) { return false; }
-    if (mslBuffer != other.mslBuffer) { return false; }
-    if (mslOffset != other.mslOffset) { return false; }
-    if (mslStride != other.mslStride) { return false; }
-    if (format != other.format) { return false; }
-	if (builtin != other.builtin) { return false; }
-    if (!!isPerInstance != !!other.isPerInstance) { return false; }
-    return true;
+	if (vertexAttribute.location != other.vertexAttribute.location) { return false; }
+	if (vertexAttribute.msl_buffer != other.vertexAttribute.msl_buffer) { return false; }
+	if (vertexAttribute.msl_offset != other.vertexAttribute.msl_offset) { return false; }
+	if (vertexAttribute.msl_stride != other.vertexAttribute.msl_stride) { return false; }
+	if (vertexAttribute.format != other.vertexAttribute.format) { return false; }
+	if (vertexAttribute.builtin != other.vertexAttribute.builtin) { return false; }
+	if (!!vertexAttribute.per_instance != !!other.vertexAttribute.per_instance) { return false; }
+	return true;
 }
 
-MVK_PUBLIC_SYMBOL bool MSLResourceBinding::matches(const MSLResourceBinding& other) const {
-    if (stage != other.stage) { return false; }
-    if (descriptorSet != other.descriptorSet) { return false; }
-    if (binding != other.binding) { return false; }
-    if (mslBuffer != other.mslBuffer) { return false; }
-    if (mslTexture != other.mslTexture) { return false; }
-    if (mslSampler != other.mslSampler) { return false; }
-    return true;
+MVK_PUBLIC_SYMBOL bool mvk::MSLResourceBinding::matches(const MSLResourceBinding& other) const {
+	if (resourceBinding.stage != other.resourceBinding.stage) { return false; }
+	if (resourceBinding.desc_set != other.resourceBinding.desc_set) { return false; }
+	if (resourceBinding.binding != other.resourceBinding.binding) { return false; }
+	if (resourceBinding.msl_buffer != other.resourceBinding.msl_buffer) { return false; }
+	if (resourceBinding.msl_texture != other.resourceBinding.msl_texture) { return false; }
+	if (resourceBinding.msl_sampler != other.resourceBinding.msl_sampler) { return false; }
+
+	if (requiresConstExprSampler != other.requiresConstExprSampler) { return false; }
+
+	// If requiresConstExprSampler is false, constExprSampler can be ignored
+	if (requiresConstExprSampler) {
+		if (constExprSampler.coord != other.constExprSampler.coord) { return false; }
+		if (constExprSampler.min_filter != other.constExprSampler.min_filter) { return false; }
+		if (constExprSampler.mag_filter != other.constExprSampler.mag_filter) { return false; }
+		if (constExprSampler.mip_filter != other.constExprSampler.mip_filter) { return false; }
+		if (constExprSampler.s_address != other.constExprSampler.s_address) { return false; }
+		if (constExprSampler.t_address != other.constExprSampler.t_address) { return false; }
+		if (constExprSampler.r_address != other.constExprSampler.r_address) { return false; }
+		if (constExprSampler.compare_func != other.constExprSampler.compare_func) { return false; }
+		if (constExprSampler.border_color != other.constExprSampler.border_color) { return false; }
+		if (constExprSampler.lod_clamp_min != other.constExprSampler.lod_clamp_min) { return false; }
+		if (constExprSampler.lod_clamp_max != other.constExprSampler.lod_clamp_max) { return false; }
+		if (constExprSampler.max_anisotropy != other.constExprSampler.max_anisotropy) { return false; }
+		if (constExprSampler.compare_enable != other.constExprSampler.compare_enable) { return false; }
+		if (constExprSampler.lod_clamp_enable != other.constExprSampler.lod_clamp_enable) { return false; }
+		if (constExprSampler.anisotropy_enable != other.constExprSampler.anisotropy_enable) { return false; }
+	}
+
+	return true;
 }
 
 MVK_PUBLIC_SYMBOL bool SPIRVToMSLConverterContext::stageSupportsVertexAttributes() const {
@@ -118,7 +152,7 @@
 // Check them all in case inactive VA's duplicate locations used by active VA's.
 MVK_PUBLIC_SYMBOL bool SPIRVToMSLConverterContext::isVertexAttributeLocationUsed(uint32_t location) const {
     for (auto& va : vertexAttributes) {
-        if ((va.location == location) && va.isUsedByShader) { return true; }
+        if ((va.vertexAttribute.location == location) && va.isUsedByShader) { return true; }
     }
     return false;
 }
@@ -126,7 +160,7 @@
 // Check them all in case inactive VA's duplicate buffers used by active VA's.
 MVK_PUBLIC_SYMBOL bool SPIRVToMSLConverterContext::isVertexBufferUsed(uint32_t mslBuffer) const {
     for (auto& va : vertexAttributes) {
-        if ((va.mslBuffer == mslBuffer) && va.isUsedByShader) { return true; }
+        if ((va.vertexAttribute.msl_buffer == mslBuffer) && va.isUsedByShader) { return true; }
     }
     return false;
 }
@@ -159,7 +193,7 @@
 
 MVK_PUBLIC_SYMBOL void SPIRVToMSLConverterContext::alignWith(const SPIRVToMSLConverterContext& srcContext) {
 
-	options.isRasterizationDisabled = srcContext.options.isRasterizationDisabled;
+	options.mslOptions.disable_rasterization = srcContext.options.mslOptions.disable_rasterization;
 	options.needsSwizzleBuffer = srcContext.options.needsSwizzleBuffer;
 	options.needsOutputBuffer = srcContext.options.needsOutputBuffer;
 	options.needsPatchOutputBuffer = srcContext.options.needsPatchOutputBuffer;
@@ -187,9 +221,6 @@
 #pragma mark -
 #pragma mark SPIRVToMSLConverter
 
-// Return the SPIRV-Cross platform enum corresponding to a SPIRVToMSLConverterOptions platform enum value.
-SPIRV_CROSS_NAMESPACE::CompilerMSL::Options::Platform getCompilerMSLPlatform(SPIRVToMSLConverterOptions::Platform platform);
-
 // Populates the entry point with info extracted from the SPRI-V compiler.
 void populateEntryPoint(SPIRVEntryPoint& entryPoint, SPIRV_CROSS_NAMESPACE::Compiler* pCompiler, SPIRVToMSLConverterOptions& options);
 
@@ -241,24 +272,8 @@
 
 		// Establish the MSL options for the compiler
 		// This needs to be done in two steps...for CompilerMSL and its superclass.
-		auto mslOpts = pMSLCompiler->get_msl_options();
-		mslOpts.platform = getCompilerMSLPlatform(context.options.platform);
-		mslOpts.msl_version = context.options.mslVersion;
-		mslOpts.texel_buffer_texture_width = context.options.texelBufferTextureWidth;
-		mslOpts.swizzle_buffer_index = context.options.swizzleBufferIndex;
-		mslOpts.indirect_params_buffer_index = context.options.indirectParamsBufferIndex;
-		mslOpts.shader_output_buffer_index = context.options.outputBufferIndex;
-		mslOpts.shader_patch_output_buffer_index = context.options.patchOutputBufferIndex;
-		mslOpts.shader_tess_factor_buffer_index = context.options.tessLevelBufferIndex;
-		mslOpts.buffer_size_buffer_index = context.options.bufferSizeBufferIndex;
-		mslOpts.shader_input_wg_index = context.options.inputThreadgroupMemIndex;
-		mslOpts.enable_point_size_builtin = context.options.isRenderingPoints;
-		mslOpts.disable_rasterization = context.options.isRasterizationDisabled;
-		mslOpts.swizzle_texture_samples = context.options.shouldSwizzleTextureSamples;
-		mslOpts.capture_output_to_buffer = context.options.shouldCaptureOutput;
-		mslOpts.tess_domain_origin_lower_left = context.options.tessDomainOriginInLowerLeft;
-		mslOpts.pad_fragment_output_components = true;
-		pMSLCompiler->set_msl_options(mslOpts);
+		context.options.mslOptions.pad_fragment_output_components = true;
+		pMSLCompiler->set_msl_options(context.options.mslOptions);
 
 		auto scOpts = pMSLCompiler->get_common_options();
 		scOpts.vertex.flip_vert_y = context.options.shouldFlipVertexY;
@@ -266,39 +281,19 @@
 
 		// Add vertex attributes
 		if (context.stageSupportsVertexAttributes()) {
-			SPIRV_CROSS_NAMESPACE::MSLVertexAttr va;
-			for (auto& ctxVA : context.vertexAttributes) {
-				va.location = ctxVA.location;
-				va.builtin = ctxVA.builtin;
-				va.msl_buffer = ctxVA.mslBuffer;
-				va.msl_offset = ctxVA.mslOffset;
-				va.msl_stride = ctxVA.mslStride;
-				va.per_instance = ctxVA.isPerInstance;
-				switch (ctxVA.format) {
-					case MSLVertexFormat::Other:
-						va.format = SPIRV_CROSS_NAMESPACE::MSL_VERTEX_FORMAT_OTHER;
-						break;
-					case MSLVertexFormat::UInt8:
-						va.format = SPIRV_CROSS_NAMESPACE::MSL_VERTEX_FORMAT_UINT8;
-						break;
-					case MSLVertexFormat::UInt16:
-						va.format = SPIRV_CROSS_NAMESPACE::MSL_VERTEX_FORMAT_UINT16;
-						break;
-				}
-				pMSLCompiler->add_msl_vertex_attribute(va);
+			for (auto& va : context.vertexAttributes) {
+				pMSLCompiler->add_msl_vertex_attribute(va.vertexAttribute);
 			}
 		}
 
-		// Add resource bindings
-		SPIRV_CROSS_NAMESPACE::MSLResourceBinding rb;
-		for (auto& ctxRB : context.resourceBindings) {
-			rb.desc_set = ctxRB.descriptorSet;
-			rb.binding = ctxRB.binding;
-			rb.stage = ctxRB.stage;
-			rb.msl_buffer = ctxRB.mslBuffer;
-			rb.msl_texture = ctxRB.mslTexture;
-			rb.msl_sampler = ctxRB.mslSampler;
-			pMSLCompiler->add_msl_resource_binding(rb);
+		// Add resource bindings and hardcoded constexpr samplers
+		for (auto& rb : context.resourceBindings) {
+			auto& rbb = rb.resourceBinding;
+			pMSLCompiler->add_msl_resource_binding(rbb);
+
+			if (rb.requiresConstExprSampler) {
+				pMSLCompiler->remap_constexpr_sampler_by_binding(rbb.desc_set, rbb.binding, rb.constExprSampler);
+			}
 		}
 
 		_msl = pMSLCompiler->compile();
@@ -320,7 +315,7 @@
 	// Populate the shader context with info from the compilation run, including
 	// which vertex attributes and resource bindings are used by the shader
 	populateEntryPoint(_entryPoint, pMSLCompiler, context.options);
-	context.options.isRasterizationDisabled = pMSLCompiler && pMSLCompiler->get_is_rasterization_disabled();
+	context.options.mslOptions.disable_rasterization = pMSLCompiler && pMSLCompiler->get_is_rasterization_disabled();
 	context.options.needsSwizzleBuffer = pMSLCompiler && pMSLCompiler->needs_swizzle_buffer();
 	context.options.needsOutputBuffer = pMSLCompiler && pMSLCompiler->needs_output_buffer();
 	context.options.needsPatchOutputBuffer = pMSLCompiler && pMSLCompiler->needs_patch_output_buffer();
@@ -329,11 +324,13 @@
 
 	if (context.stageSupportsVertexAttributes()) {
 		for (auto& ctxVA : context.vertexAttributes) {
-			ctxVA.isUsedByShader = pMSLCompiler->is_msl_vertex_attribute_used(ctxVA.location);
+			ctxVA.isUsedByShader = pMSLCompiler->is_msl_vertex_attribute_used(ctxVA.vertexAttribute.location);
 		}
 	}
 	for (auto& ctxRB : context.resourceBindings) {
-		ctxRB.isUsedByShader = pMSLCompiler->is_msl_resource_binding_used(ctxRB.stage, ctxRB.descriptorSet, ctxRB.binding);
+		ctxRB.isUsedByShader = pMSLCompiler->is_msl_resource_binding_used(ctxRB.resourceBinding.stage,
+																		  ctxRB.resourceBinding.desc_set,
+																		  ctxRB.resourceBinding.binding);
 	}
 
 	delete pMSLCompiler;
@@ -369,7 +366,7 @@
 	return _wasConverted;
 }
 
-/** Appends the message text to the result log. */
+// Appends the message text to the result log.
 void SPIRVToMSLConverter::logMsg(const char* logMsg) {
 	string trimMsg = trim(logMsg);
 	if ( !trimMsg.empty() ) {
@@ -378,14 +375,14 @@
 	}
 }
 
-/** Appends the error text to the result log, sets the wasConverted property to false, and returns it. */
+// Appends the error text to the result log, sets the wasConverted property to false, and returns it.
 bool SPIRVToMSLConverter::logError(const char* errMsg) {
 	logMsg(errMsg);
 	_wasConverted = false;
 	return _wasConverted;
 }
 
-/** Appends the SPIR-V to the result log, indicating whether it is being converted or was converted. */
+// Appends the SPIR-V to the result log, indicating whether it is being converted or was converted.
 void SPIRVToMSLConverter::logSPIRV(const char* opDesc) {
 
 	string spvLog;
@@ -403,10 +400,8 @@
 //	printf("\n%s\n", getResultLog().c_str());
 }
 
-/**
- * Writes the SPIR-V code to a file. This can be useful for debugging
- * when the SPRIR-V did not originally come from a known file
- */
+// Writes the SPIR-V code to a file. This can be useful for debugging
+// when the SPRIR-V did not originally come from a known file
 void SPIRVToMSLConverter::writeSPIRVToFile(string spvFilepath) {
 	vector<char> fileContents;
 	spirvToBytes(_spirv, fileContents);
@@ -418,7 +413,7 @@
 	}
 }
 
-/** Validates that the SPIR-V code will disassemble during logging. */
+// Validates that the SPIR-V code will disassemble during logging.
 bool SPIRVToMSLConverter::validateSPIRV() {
 	if (_spirv.size() < 5) { return false; }
 	if (_spirv[0] != spv::MagicNumber) { return false; }
@@ -426,7 +421,7 @@
 	return true;
 }
 
-/** Appends the source to the result log, prepending with the operation. */
+// Appends the source to the result log, prepending with the operation.
 void SPIRVToMSLConverter::logSource(string& src, const char* srcLang, const char* opDesc) {
     _resultLog += opDesc;
     _resultLog += " ";
@@ -441,14 +436,6 @@
 
 #pragma mark Support functions
 
-// Return the SPIRV-Cross platform enum corresponding to a SPIRVToMSLConverterOptions platform enum value.
-SPIRV_CROSS_NAMESPACE::CompilerMSL::Options::Platform getCompilerMSLPlatform(SPIRVToMSLConverterOptions::Platform platform) {
-	switch (platform) {
-		case SPIRVToMSLConverterOptions::macOS: return SPIRV_CROSS_NAMESPACE::CompilerMSL::Options::macOS;
-		case SPIRVToMSLConverterOptions::iOS: return SPIRV_CROSS_NAMESPACE::CompilerMSL::Options::iOS;
-	}
-}
-
 // Populate a workgroup size dimension.
 void populateWorkgroupDimension(SPIRVWorkgroupSizeDimension& wgDim, uint32_t size, SPIRV_CROSS_NAMESPACE::SpecializationConstant& spvSpecConst) {
 	wgDim.size = max(size, 1u);
diff --git a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.h b/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.h
index 0d86ffe..ecaa595 100644
--- a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.h
+++ b/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.h
@@ -20,6 +20,7 @@
 #define __SPIRVToMSLConverter_h_ 1
 
 #include <SPIRV-Cross/spirv.hpp>
+#include <SPIRV-Cross/spirv_msl.hpp>
 #include <string>
 #include <vector>
 #include <unordered_map>
@@ -37,78 +38,33 @@
 	 * CHANGES TO THIS STRUCT SHOULD BE CAPTURED IN THE STREAMING LOGIC OF THE PIPELINE CACHE.
 	 */
 	typedef struct SPIRVToMSLConverterOptions {
-
-		enum Platform {
-			iOS = 0,
-			macOS = 1
-		};
-
+		SPIRV_CROSS_NAMESPACE::CompilerMSL::Options mslOptions;
 		std::string entryPointName;
 		spv::ExecutionModel entryPointStage = spv::ExecutionModelMax;
 		spv::ExecutionMode tessPatchKind = spv::ExecutionModeMax;
-
-        uint32_t mslVersion = makeMSLVersion(2, 1);
-		Platform platform = getNativePlatform();
-		uint32_t texelBufferTextureWidth = 4096;
-		uint32_t swizzleBufferIndex = 0;
-		uint32_t indirectParamsBufferIndex = 0;
-		uint32_t outputBufferIndex = 0;
-		uint32_t patchOutputBufferIndex = 0;
-		uint32_t tessLevelBufferIndex = 0;
-		uint32_t bufferSizeBufferIndex = 0;
-		uint32_t inputThreadgroupMemIndex = 0;
 		uint32_t numTessControlPoints = 0;
 		bool shouldFlipVertexY = true;
-		bool isRenderingPoints = false;
-		bool shouldSwizzleTextureSamples = false;
-		bool shouldCaptureOutput = false;
-		bool tessDomainOriginInLowerLeft = false;
-
-		bool isRasterizationDisabled = false;
 		bool needsSwizzleBuffer = false;
 		bool needsOutputBuffer = false;
 		bool needsPatchOutputBuffer = false;
 		bool needsBufferSizeBuffer = false;
 		bool needsInputThreadgroupMem = false;
 
-        /** 
-         * Returns whether the specified options match this one.
-         * It does if all corresponding elements are equal.
-         */
-        bool matches(const SPIRVToMSLConverterOptions& other) const;
+		/**
+		 * Returns whether the specified options match this one.
+		 * It does if all corresponding elements are equal.
+		 */
+		bool matches(const SPIRVToMSLConverterOptions& other) const;
 
 		bool hasEntryPoint() const {
 			return !entryPointName.empty() && entryPointStage != spv::ExecutionModelMax;
 		}
 
-        void setMSLVersion(uint32_t major, uint32_t minor = 0, uint32_t point = 0) {
-            mslVersion = makeMSLVersion(major, minor, point);
-        }
-
-        bool supportsMSLVersion(uint32_t major, uint32_t minor = 0, uint32_t point = 0) const {
-            return mslVersion >= makeMSLVersion(major, minor, point);
-        }
-
-        static uint32_t makeMSLVersion(uint32_t major, uint32_t minor = 0, uint32_t patch = 0) {
-            return (major * 10000) + (minor * 100) + patch;
-        }
-
 		static std::string printMSLVersion(uint32_t mslVersion, bool includePatch = false);
 
-		static Platform getNativePlatform();
+		SPIRVToMSLConverterOptions();
 
-    } SPIRVToMSLConverterOptions;
-
-	/**
-	 * Defines the format of a vertex attribute. Currently limited to describing
-	 * whether or not the attribute is of an 8-bit unsigned format, a 16-bit
-	 * unsigned format, or some other format.
-	 */
-	enum class MSLVertexFormat {
-		Other,
-		UInt8,
-		UInt16
-	};
+	} SPIRVToMSLConverterOptions;
 
 	/**
 	 * Defines MSL characteristics of a vertex attribute at a particular location.
@@ -119,22 +75,16 @@
 	 * CHANGES TO THIS STRUCT SHOULD BE CAPTURED IN THE STREAMING LOGIC OF THE PIPELINE CACHE.
 	 */
 	typedef struct MSLVertexAttribute {
-		uint32_t location = 0;
-		uint32_t mslBuffer = 0;
-        uint32_t mslOffset = 0;
-        uint32_t mslStride = 0;
-		MSLVertexFormat format = MSLVertexFormat::Other;
-		spv::BuiltIn builtin = spv::BuiltInMax;
-        bool isPerInstance = false;
+		SPIRV_CROSS_NAMESPACE::MSLVertexAttr vertexAttribute;
 
 		bool isUsedByShader = false;
 
-        /**
-         * Returns whether the specified vertex attribute match this one.
-         * It does if all corresponding elements except isUsedByShader are equal.
-         */
-        bool matches(const MSLVertexAttribute& other) const;
-        
+		/**
+		 * Returns whether the specified vertex attribute match this one.
+		 * It does if all corresponding elements except isUsedByShader are equal.
+		 */
+		bool matches(const MSLVertexAttribute& other) const;
+
 	} MSLVertexAttribute;
 
 	/**
@@ -144,27 +94,27 @@
 	 * or sampler elements will be populated. The isUsedByShader flag is set to true during
 	 * compilation of SPIR-V to MSL if the shader makes use of this vertex attribute.
 	 *
+	 * If requiresConstExprSampler is true, the resource is a sampler whose content must be
+	 * hardcoded into the MSL as a constexpr type, instead of passed in as a runtime-bound variable.
+	 * The content of that constexpr sampler is defined in the constExprSampler parameter.
+	 *
 	 * THIS STRUCT IS STREAMED OUT AS PART OF THE PIEPLINE CACHE.
 	 * CHANGES TO THIS STRUCT SHOULD BE CAPTURED IN THE STREAMING LOGIC OF THE PIPELINE CACHE.
 	 */
 	typedef struct MSLResourceBinding {
-		spv::ExecutionModel stage;
-		uint32_t descriptorSet = 0;
-		uint32_t binding = 0;
-
-		uint32_t mslBuffer = 0;
-		uint32_t mslTexture = 0;
-		uint32_t mslSampler = 0;
+		SPIRV_CROSS_NAMESPACE::MSLResourceBinding resourceBinding;
+		SPIRV_CROSS_NAMESPACE::MSLConstexprSampler constExprSampler;
+		bool requiresConstExprSampler = false;
 
 		bool isUsedByShader = false;
 
-        /**
-         * Returns whether the specified resource binding match this one.
-         * It does if all corresponding elements except isUsedByShader are equal.
-         */
-        bool matches(const MSLResourceBinding& other) const;
+		/**
+		 * Returns whether the specified resource binding match this one.
+		 * It does if all corresponding elements except isUsedByShader are equal.
+		 */
+		bool matches(const MSLResourceBinding& other) const;
 
-    } MSLResourceBinding;
+	} MSLResourceBinding;
 
 	/**
 	 * Context passed to the SPIRVToMSLConverter to map SPIR-V descriptors to Metal resource indices.
@@ -233,12 +183,6 @@
 		} workgroupSize;
 	} SPIRVEntryPoint;
 
-	/** Special constant used in a MSLResourceBinding descriptorSet element to indicate the bindings for the push constants. */
-    static const uint32_t kPushConstDescSet = std::numeric_limits<uint32_t>::max();
-
-	/** Special constant used in a MSLResourceBinding binding element to indicate the bindings for the push constants. */
-	static const uint32_t kPushConstBinding = 0;
-
 
 #pragma mark -
 #pragma mark SPIRVToMSLConverter
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverterTool/MoltenVKShaderConverterTool.cpp b/MoltenVKShaderConverter/MoltenVKShaderConverterTool/MoltenVKShaderConverterTool.cpp
index cf441bc..b95ab6b 100644
--- a/MoltenVKShaderConverter/MoltenVKShaderConverterTool/MoltenVKShaderConverterTool.cpp
+++ b/MoltenVKShaderConverter/MoltenVKShaderConverterTool/MoltenVKShaderConverterTool.cpp
@@ -205,8 +205,8 @@
 
 	// Derive the context under which conversion will occur
 	SPIRVToMSLConverterContext mslContext;
-	mslContext.options.platform = _mslPlatform;
-	mslContext.options.setMSLVersion(_mslVersionMajor, _mslVersionMinor, _mslVersionPatch);
+	mslContext.options.mslOptions.platform = _mslPlatform;
+	mslContext.options.mslOptions.set_msl_version(_mslVersionMajor, _mslVersionMinor, _mslVersionPatch);
 	mslContext.options.shouldFlipVertexY = _shouldFlipVertexY;
 
 	SPIRVToMSLConverter spvConverter;
@@ -387,7 +387,7 @@
 	_mslVersionMajor = 2;
 	_mslVersionMinor = 1;
 	_mslVersionPatch = 0;
-	_mslPlatform = SPIRVToMSLConverterOptions::getNativePlatform();
+	_mslPlatform = SPIRVToMSLConverterOptions().mslOptions.platform;
 
 	_isActive = parseArgs(argc, argv);
 	if ( !_isActive ) { showUsage(); }
@@ -463,10 +463,10 @@
 
 			switch (shdrTypeStr.front()) {
 				case 'm':
-					_mslPlatform = SPIRVToMSLConverterOptions::macOS;
+					_mslPlatform = SPIRV_CROSS_NAMESPACE::CompilerMSL::Options::macOS;
 					break;
 				case 'i':
-					_mslPlatform = SPIRVToMSLConverterOptions::iOS;
+					_mslPlatform = SPIRV_CROSS_NAMESPACE::CompilerMSL::Options::iOS;
 					break;
 				default:
 					return false;
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverterTool/MoltenVKShaderConverterTool.h b/MoltenVKShaderConverter/MoltenVKShaderConverterTool/MoltenVKShaderConverterTool.h
index b4baa61..de571fa 100644
--- a/MoltenVKShaderConverter/MoltenVKShaderConverterTool/MoltenVKShaderConverterTool.h
+++ b/MoltenVKShaderConverter/MoltenVKShaderConverterTool/MoltenVKShaderConverterTool.h
@@ -106,7 +106,7 @@
 		uint32_t _mslVersionMajor;
 		uint32_t _mslVersionMinor;
 		uint32_t _mslVersionPatch;
-		SPIRVToMSLConverterOptions::Platform _mslPlatform;
+		SPIRV_CROSS_NAMESPACE::CompilerMSL::Options::Platform _mslPlatform;
 		bool _isActive;
 		bool _shouldUseDirectoryRecursion;
 		bool _shouldReadGLSL;
diff --git a/README.md b/README.md
index 046524c..72d7fd1 100644
--- a/README.md
+++ b/README.md
@@ -99,7 +99,7 @@
 1. Ensure you have `cmake` and `python3` installed:
 
 		brew install cmake
-		brew install python
+		brew install python3
 
    For faster dependency builds, you can also optionally install `ninja`:
 
diff --git a/Templates/spirv-tools/build.zip b/Templates/spirv-tools/build.zip
new file mode 100644
index 0000000..2434da0
--- /dev/null
+++ b/Templates/spirv-tools/build.zip
Binary files differ
diff --git a/fetchDependencies b/fetchDependencies
index 92e2ec6..89ad70e 100755
--- a/fetchDependencies
+++ b/fetchDependencies
@@ -4,29 +4,32 @@
 #
 # fetchDependencies - Retrieves the correct versions of all dependencies
 #
-# macOS usage: ./fetchDependencies [-v] [--debug] [--v-headers-root path] [--spirv-cross-root path] [--glslang-root path]
+# macOS usage: ./fetchDependencies [-v] [--debug] [--skip-spirv-tools-build]
+#                                  [--v-headers-root path] [--spirv-cross-root path] [--glslang-root path]
 #
-#      --v-headers-root path
-#              "path" specifies a directory path to a
-#              KhronosGroup/Vulkan-Headers repository.
-#              This repository does not have to be built.
-#
-#      --spirv-cross-root path
-#              "path" specifies a directory path to a
-#              KhronosGroup/SPIRV-Cross repository.
-#              This repository does not have to be built.
+#      --debug
+#              Build the external libraries in Debug mode, which may be useful when debugging
+#              and tracing calls into those libraries.
 #
 #      --glslang-root path
-#              "path" specifies a directory path to a KhronosGroup/glslang
-#              repository.  This repository does need to be built and the
-#              build directory must be in the specified directory.
-#              It should be built the same way this script builds it.
+#              "path" specifies a directory path to a KhronosGroup/glslang repository.
+#              This repository does need to be built and the build directory must be in the
+#              specified directory. It should be built the same way this script builds it.
+#
+#      --skip-spirv-tools-build
+#              Skip the spirv-tools build and install a template of pre-generated SPIRV-Tools header files
+#              instead. The primary purpose of this is to allow Travis CI to skip the SPIRV-Tools build
+#              because Travis cannot support the required use of Python3 by the SPIRV-Tools build.
+#
+#      --spirv-cross-root path
+#              "path" specifies a directory path to a KhronosGroup/SPIRV-Cross repository.
+#              This repository does not have to be built.
 #
 #      -v      verbose output
 #
-#      --debug
-#              Build the external libraries in Debug mode, which may be useful
-#              when debugging and tracing calls into those libraries.
+#      --v-headers-root path
+#              "path" specifies a directory path to a KhronosGroup/Vulkan-Headers repository.
+#              This repository does not have to be built.
 #
 
 set -o errexit
@@ -38,6 +41,7 @@
 V_HEADERS_ROOT=""
 SPIRV_CROSS_ROOT=""
 GLSLANG_ROOT=""
+SKIP_SPV_TLS_BLD=""
 
 while (( "$#" )); do
   case "$1" in
@@ -49,6 +53,10 @@
          XC_BUILD_VERBOSITY=""
          shift 1
          ;;
+       --skip-spirv-tools-build)
+         SKIP_SPV_TLS_BLD="Y"
+         shift 1
+         ;;
        --v-headers-root)
          V_HEADERS_ROOT=$2
          shift 2
@@ -220,8 +228,15 @@
 	cd -  > /dev/null
 fi
 
-#Make sure the embedded spirv-tools is built
-build_repo "${REPO_NAME}/External/spirv-tools"
+# Build the embedded spirv-tools, or use option of pre-generated headers
+SPV_TLS_DIR="${REPO_NAME}/External/spirv-tools"
+if [ ! "$SKIP_SPV_TLS_BLD" = "" ]; then
+	unzip -o -q -d "${SPV_TLS_DIR}" ../Templates/spirv-tools/build.zip
+	rm -rf "${SPV_TLS_DIR}/__MACOSX"
+else
+	build_repo "${SPV_TLS_DIR}"
+fi
+
 
 
 # ----------------- Vulkan-Tools -------------------