diff --git a/.travis.yml b/.travis.yml
index 04394cf..3856b71 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,13 +2,11 @@
 
 # macOS and Xcode Version
 os: osx
-osx_image: xcode11.3
+osx_image: xcode11.5
 
-# Build dependencies
-# Travis has trouble with python3, which SPIRV-Tools requires,
-# so skip the SPIRV-Tools build, and use templeted headers instead.
+# Build dependencies with verbose logging to avoid Travis timing out.
 install:
-  - ./fetchDependencies -v --skip-spirv-tools-build
+  - ./fetchDependencies -v
 
 script:
   - xcodebuild -project MoltenVKPackaging.xcodeproj -scheme "MoltenVK Package"
diff --git a/Common/MVKOSExtensions.h b/Common/MVKOSExtensions.h
index 8e7e821..83adaae 100644
--- a/Common/MVKOSExtensions.h
+++ b/Common/MVKOSExtensions.h
@@ -18,12 +18,17 @@
 
 #pragma once
 
+#include "MVKCommonEnvironment.h"
 #include <dispatch/dispatch.h>
 #include <string>
+#include <limits>
 
 
 typedef float MVKOSVersion;
 
+/*** Constant indicating unsupported functionality in an OS. */
+static const MVKOSVersion kMVKOSVersionUnsupported = std::numeric_limits<MVKOSVersion>::max();
+
 /**
  * Returns the operating system version as an MVKOSVersion, which is a float in which the
  * whole number portion indicates the major version, and the fractional portion indicates 
@@ -33,10 +38,30 @@
  */
 MVKOSVersion mvkOSVersion();
 
+/** Returns a MVKOSVersion built from the version components. */
+inline MVKOSVersion mvkMakeOSVersion(uint32_t major, uint32_t minor, uint32_t patch) {
+	return (float)major + ((float)minor / 100.0f) + ((float)patch / 10000.0f);
+}
+
 /** Returns whether the operating system version is at least minVer. */
 inline bool mvkOSVersionIsAtLeast(MVKOSVersion minVer) { return mvkOSVersion() >= minVer; }
 
 /**
+ * Returns whether the operating system version is at least the appropriate min version.
+ * The constant kMVKOSVersionUnsupported can be used for either value to cause the test
+ * to always fail on that OS, which is useful for indidicating functionalty guarded by
+ * this test is not supported on that OS.
+ */
+inline bool mvkOSVersionIsAtLeast(MVKOSVersion macOSMinVer, MVKOSVersion iOSMinVer) {
+#if MVK_MACOS
+	return mvkOSVersionIsAtLeast(macOSMinVer);
+#endif
+#if MVK_IOS
+	return mvkOSVersionIsAtLeast(iOSMinVer);
+#endif
+}
+
+/**
  * Returns a monotonic timestamp value for use in Vulkan and performance timestamping.
  *
  * The returned value corresponds to the number of CPU "ticks" since the app was initialized.
diff --git a/Common/MVKOSExtensions.mm b/Common/MVKOSExtensions.mm
index f04484c..2783777 100644
--- a/Common/MVKOSExtensions.mm
+++ b/Common/MVKOSExtensions.mm
@@ -29,17 +29,13 @@
 
 using namespace std;
 
-static const MVKOSVersion kMVKOSVersionUnknown = 0.0f;
-static MVKOSVersion _mvkOSVersion = kMVKOSVersionUnknown;
 MVKOSVersion mvkOSVersion() {
-    if (_mvkOSVersion == kMVKOSVersionUnknown) {
-        NSOperatingSystemVersion osVer = [[NSProcessInfo processInfo] operatingSystemVersion];
-        float maj = osVer.majorVersion;
-        float min = osVer.minorVersion;
-        float pat = osVer.patchVersion;
-        _mvkOSVersion = maj + (min / 100.0f) +  + (pat / 10000.0f);
-    }
-    return _mvkOSVersion;
+	static MVKOSVersion _mvkOSVersion = 0;
+	if ( !_mvkOSVersion ) {
+		NSOperatingSystemVersion osVer = [[NSProcessInfo processInfo] operatingSystemVersion];
+		_mvkOSVersion = mvkMakeOSVersion((uint32_t)osVer.majorVersion, (uint32_t)osVer.minorVersion, (uint32_t)osVer.patchVersion);
+	}
+	return _mvkOSVersion;
 }
 
 static uint64_t _mvkTimestampBase;
diff --git a/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/project.pbxproj b/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/project.pbxproj
index adb88b3..145fcef 100644
--- a/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/project.pbxproj
+++ b/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/project.pbxproj
@@ -659,7 +659,6 @@
 				PRODUCT_NAME = "API-Samples";
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
-				VALID_ARCHS = arm64;
 			};
 			name = Debug;
 		};
@@ -681,7 +680,6 @@
 				PRODUCT_NAME = "API-Samples";
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
-				VALID_ARCHS = arm64;
 			};
 			name = Release;
 		};
@@ -738,6 +736,7 @@
 		C01FCF4F08A954540054247B /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
 				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
 				CLANG_CXX_LIBRARY = "libc++";
 				CLANG_ENABLE_MODULES = YES;
@@ -768,6 +767,7 @@
 		C01FCF5008A954540054247B /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
 				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
 				CLANG_CXX_LIBRARY = "libc++";
 				CLANG_ENABLE_MODULES = YES;
diff --git a/Demos/LunarG-VulkanSamples/API-Samples/generateSPIRVShaders b/Demos/LunarG-VulkanSamples/API-Samples/generateSPIRVShaders
index b234111..3233861 100755
--- a/Demos/LunarG-VulkanSamples/API-Samples/generateSPIRVShaders
+++ b/Demos/LunarG-VulkanSamples/API-Samples/generateSPIRVShaders
@@ -10,27 +10,14 @@
 set -e
 
 echo
-echo ========== Building MoltenVKShaderConverter tool ==========
+echo ========== Converting API-Samples shader files ==========
 echo
 
 cd "../../.."
 
-XC_PROJ="MoltenVKPackaging.xcodeproj"
-XC_SCHEME="MVKShaderConverterTool Package"
-
-xcodebuild  \
-	-project "MoltenVKPackaging.xcodeproj"  \
-	-scheme "MVKShaderConverterTool Package"  \
-	-quiet  \
-	build
-
-echo
-echo ========== Converting API-Samples shader files ==========
-echo
-
 "Package/Latest/MoltenVKShaderConverter/Tools/MoltenVKShaderConverter"  \
  -r -gi -so -oh -xs . -q  \
- -d "Demos/LunarG-VulkanSamples/VulkanSamples/API-Samples"
+ -d "Demos/LunarG-VulkanSamples/VulkanSamples/API-Samples" > /dev/null
 
 cd -  > /dev/null
 
diff --git a/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/project.pbxproj b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/project.pbxproj
index 75030f0..2766dab 100644
--- a/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/project.pbxproj
+++ b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/project.pbxproj
@@ -359,7 +359,6 @@
 				PRODUCT_NAME = Cube;
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
-				VALID_ARCHS = arm64;
 			};
 			name = Debug;
 		};
@@ -380,13 +379,13 @@
 				PRODUCT_NAME = Cube;
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
-				VALID_ARCHS = arm64;
 			};
 			name = Release;
 		};
 		C01FCF4F08A954540054247B /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
 				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
 				CLANG_CXX_LIBRARY = "libc++";
 				CLANG_ENABLE_MODULES = YES;
@@ -417,6 +416,7 @@
 		C01FCF5008A954540054247B /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
 				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
 				CLANG_CXX_LIBRARY = "libc++";
 				CLANG_ENABLE_MODULES = YES;
diff --git a/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/project.pbxproj b/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/project.pbxproj
index 9129ae3..3f77a1b 100644
--- a/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/project.pbxproj
+++ b/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/project.pbxproj
@@ -360,7 +360,6 @@
 				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/static\"";
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
-				VALID_ARCHS = arm64;
 			};
 			name = Debug;
 		};
@@ -375,7 +374,6 @@
 				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/static\"";
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
-				VALID_ARCHS = arm64;
 			};
 			name = Release;
 		};
@@ -416,6 +414,7 @@
 		C01FCF4F08A954540054247B /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
 				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
 				CLANG_CXX_LIBRARY = "libc++";
 				CLANG_ENABLE_MODULES = YES;
@@ -448,6 +447,7 @@
 		C01FCF5008A954540054247B /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
 				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
 				CLANG_CXX_LIBRARY = "libc++";
 				CLANG_ENABLE_MODULES = YES;
diff --git a/Docs/MoltenVK_Runtime_UserGuide.md b/Docs/MoltenVK_Runtime_UserGuide.md
index 826bfee..80528d5 100644
--- a/Docs/MoltenVK_Runtime_UserGuide.md
+++ b/Docs/MoltenVK_Runtime_UserGuide.md
@@ -63,7 +63,7 @@
 *Vulkan*, which uses *SPIR-V*. **MoltenVK** automatically converts your *SPIR-V* shaders 
 to their *MSL* equivalents. This can be performed transparently at run time, using the 
 **Runtime Shader Conversion** feature of **MoltenVK**, or at development time using the 
-[**MoltenVKShaderConverter**] (#shader_converter_tool) tool provided with this **MoltenVK** 
+[**MoltenVKShaderConverter**](#shader_converter_tool) tool provided with this **MoltenVK** 
 distribution package.
 
 To provide *Vulkan* capability to the *iOS* and *macOS* platforms, **MoltenVK** uses *Apple's* 
@@ -256,6 +256,7 @@
 - `VK_KHR_push_descriptor`
 - `VK_KHR_relaxed_block_layout`
 - `VK_KHR_sampler_mirror_clamp_to_edge` *(macOS)*
+- `VK_KHR_sampler_ycbcr_conversion`
 - `VK_KHR_shader_draw_parameters`
 - `VK_KHR_shader_float16_int8`
 - `VK_KHR_storage_buffer_storage_class`
diff --git a/Docs/Whats_New.md b/Docs/Whats_New.md
index 9afd2df..10448f5 100644
--- a/Docs/Whats_New.md
+++ b/Docs/Whats_New.md
@@ -13,6 +13,31 @@
 
 
 
+MoltenVK 1.0.44
+---------------
+
+Released TBD
+
+- Remove use of `@available()` directive as it was causing issues in some build environments
+- Refactor **MoltenVK** *Xcode* build architectures
+- Demo `API-Samples generateSPIRVShaders` no longer builds `MoltenVKShaderController` tool.
+
+
+MoltenVK 1.0.43
+---------------
+
+Released 2020/06/09
+
+- Fix issue in reporting properties of substitutable `VkFormats`.
+- Fix vertex attribute offset adjustments when vertex buffer stride is zero.
+- Update `fetchDependencies` script to use pre-built `spirv-tools` files by default.
+- Update `maxVertexInputBindingStride` and `maxVertexInputAttributeOffset` 
+  to minimum Vulkan values.
+- Numerous documentation typo corrections.
+- Update `VK_MVK_MOLTENVK_SPEC_VERSION` to `26`.
+- Update Travis CI to Xcode 11.5.
+
+
 
 MoltenVK 1.0.42
 ---------------
@@ -20,22 +45,58 @@
 Released 2020/06/01
 
 - Add support for extensions:
+	- `VK_GOOGLE_display_timing`
 	- `VK_KHR_external_memory` (non-functional groundwork for future 
 	  Metal-resource Vulkan extension).
 	- `VK_KHR_external_memory_capabilities` (non-functional groundwork 
 	   for future Metal-resource Vulkan extension).
-- Memory consumption improvements.
+- Memory consumption improvements in command handling and vector pre-allocation optimizations.
+- `vkQueuePresentKHR()` returns a `VkResult` for each swapchain.
+- `MVKPipeline` disable fragment shader outputs for unused attachments.
+- `MVKBuffer` support texel buffers in host-coherent memory on Mac.
+- `MVKDescriptor` pass buffers to shaders that do atomic image accesses.
+- Support vertex attribute offsets larger than the vertex buffer stride.
+- Fix crash when more than two GPUs.
+- Fix issue where `vkGetPhysicalDeviceFormatProperties()` incorrectly returned 
+  properties for unsupported formats.
+- Fix stack overflow in when logging and reporting very long messages.
+- Fix situation where compute pipeline state not retained across copy and renderpass operations.
+- Fix buffer offset calculation.
+- Fixes to maximum FPS calculations.
+- Fix buffer size passed to shaders when `VkDescriptorBufferInfo.range` set to `VK_WHOLE_SIZE`.
+- Update maximum number of framebuffer layers to 2048.
+- Support stencil only image formats in identity swizzle case.
+- Enables format atomic capabilities only when format supports it.
+- Add `MVKSmallVector` as a more memory efficient substitute of `MVKVector`.
 - Reinstate `VulkanSamples API-Samples` demo apps and add 
   `input_attachment` and `push_descriptors` demos.
-- `vkQueuePresentKHR()` returns a `VkResult` for each swapchain.
+- Add `MVK_CONFIG_AUTO_GPU_CAPTURE_OUTPUT_FILE` environment variable 
+  to support capturing GPU traces to a file.
 - Consolidate frame and non-frame performance reporting.
 	- Remove `vkGetSwapchainPerformanceMVK()` from API.
 	- Swapchain performance can be retrieved with other activity performance 
 	  through `vkGetPerformanceStatisticsMVK()`.
 	- Add `MVK_CONFIG_PERFORMANCE_LOGGING_INLINE` env var to enable/disable
 	  logging of performance of each activity when it happens. 
-- Fix crash when more than two GPUs.
+	- Reduce thread locking on performance statistics collection.
+- Numerous documentation typo corrections.
 - Support Xcode 11.5.
+- Update dependency libraries to match *Vulkan SDK 1.2.141*.
+- Update to latest SPIRV-Cross version:
+	- MSL: mark `BuiltInFragCoord` as implicitly used for subpass reads.
+	- MSL: Deal with cases where builtin is implicitly needed, declared, but unused.
+	- MSL: Do not use base expression with PhysicalTypeID `OpCompositeExtract`.
+	- MSL: Add options to control emission of fragment outputs.
+	- MSL: Force disabled fragment builtins to have the right name.
+	- MSL: Allow removing clip distance user varyings.
+	- MSL: Support edge case with DX layout in scalar block layout.
+	- MSL: Deal correctly with initializers on Private variables.
+	- MSL: Fix case where `subpassInput` is passed to leaf functions.
+	- MSL: Redirect member indices when buffer has been sorted by Offset.
+	- MSL: If the packed type is scalar, don't emit "pack_" prefix.
+	- MSL: Avoid packed arrays in more cases.
+	- Do not add NonWritable/NonReadable decorations for regular images.
+	- Expose a query if samplers or images are comparison resources.
 
 
 
diff --git a/ExternalDependencies.xcodeproj/project.pbxproj b/ExternalDependencies.xcodeproj/project.pbxproj
index 1b0f51c..578b93f 100644
--- a/ExternalDependencies.xcodeproj/project.pbxproj
+++ b/ExternalDependencies.xcodeproj/project.pbxproj
@@ -54,776 +54,6 @@
 		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 */; };
-		A9415A87243667F700566F16 /* spirv_target_env.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941583F243667F600566F16 /* spirv_target_env.cpp */; };
-		A9415A88243667F700566F16 /* spirv_target_env.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941583F243667F600566F16 /* spirv_target_env.cpp */; };
-		A9415A89243667F700566F16 /* spirv_fuzzer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415841243667F600566F16 /* spirv_fuzzer_options.h */; };
-		A9415A8A243667F700566F16 /* spirv_fuzzer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415841243667F600566F16 /* spirv_fuzzer_options.h */; };
-		A9415A8B243667F700566F16 /* assembly_grammar.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415842243667F600566F16 /* assembly_grammar.h */; };
-		A9415A8C243667F700566F16 /* assembly_grammar.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415842243667F600566F16 /* assembly_grammar.h */; };
-		A9415A8D243667F700566F16 /* enum_set.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415843243667F600566F16 /* enum_set.h */; };
-		A9415A8E243667F700566F16 /* enum_set.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415843243667F600566F16 /* enum_set.h */; };
-		A9415A8F243667F700566F16 /* text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415846243667F600566F16 /* text.cpp */; };
-		A9415A90243667F700566F16 /* text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415846243667F600566F16 /* text.cpp */; };
-		A9415A91243667F700566F16 /* assembly_grammar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415847243667F600566F16 /* assembly_grammar.cpp */; };
-		A9415A92243667F700566F16 /* assembly_grammar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415847243667F600566F16 /* assembly_grammar.cpp */; };
-		A9415A93243667F700566F16 /* text.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415848243667F600566F16 /* text.h */; };
-		A9415A94243667F700566F16 /* text.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415848243667F600566F16 /* text.h */; };
-		A9415A95243667F700566F16 /* extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415849243667F600566F16 /* extensions.cpp */; };
-		A9415A96243667F700566F16 /* extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415849243667F600566F16 /* extensions.cpp */; };
-		A9415A97243667F700566F16 /* pch_source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941584A243667F600566F16 /* pch_source.cpp */; };
-		A9415A98243667F700566F16 /* pch_source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941584A243667F600566F16 /* pch_source.cpp */; };
-		A9415A99243667F700566F16 /* parse_number.h in Headers */ = {isa = PBXBuildFile; fileRef = A941584C243667F600566F16 /* parse_number.h */; };
-		A9415A9A243667F700566F16 /* parse_number.h in Headers */ = {isa = PBXBuildFile; fileRef = A941584C243667F600566F16 /* parse_number.h */; };
-		A9415A9B243667F700566F16 /* ilist_node.h in Headers */ = {isa = PBXBuildFile; fileRef = A941584D243667F600566F16 /* ilist_node.h */; };
-		A9415A9C243667F700566F16 /* ilist_node.h in Headers */ = {isa = PBXBuildFile; fileRef = A941584D243667F600566F16 /* ilist_node.h */; };
-		A9415A9D243667F700566F16 /* make_unique.h in Headers */ = {isa = PBXBuildFile; fileRef = A941584E243667F600566F16 /* make_unique.h */; };
-		A9415A9E243667F700566F16 /* make_unique.h in Headers */ = {isa = PBXBuildFile; fileRef = A941584E243667F600566F16 /* make_unique.h */; };
-		A9415A9F243667F700566F16 /* string_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A941584F243667F600566F16 /* string_utils.h */; };
-		A9415AA0243667F700566F16 /* string_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A941584F243667F600566F16 /* string_utils.h */; };
-		A9415AA1243667F700566F16 /* small_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415850243667F600566F16 /* small_vector.h */; };
-		A9415AA2243667F700566F16 /* small_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415850243667F600566F16 /* small_vector.h */; };
-		A9415AA3243667F700566F16 /* timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415851243667F600566F16 /* timer.cpp */; };
-		A9415AA4243667F700566F16 /* timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415851243667F600566F16 /* timer.cpp */; };
-		A9415AA5243667F700566F16 /* timer.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415852243667F600566F16 /* timer.h */; };
-		A9415AA6243667F700566F16 /* timer.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415852243667F600566F16 /* timer.h */; };
-		A9415AA7243667F700566F16 /* string_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415853243667F600566F16 /* string_utils.cpp */; };
-		A9415AA8243667F700566F16 /* string_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415853243667F600566F16 /* string_utils.cpp */; };
-		A9415AA9243667F700566F16 /* bit_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415854243667F600566F16 /* bit_vector.h */; };
-		A9415AAA243667F700566F16 /* bit_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415854243667F600566F16 /* bit_vector.h */; };
-		A9415AAB243667F700566F16 /* bitutils.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415855243667F600566F16 /* bitutils.h */; };
-		A9415AAC243667F700566F16 /* bitutils.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415855243667F600566F16 /* bitutils.h */; };
-		A9415AAD243667F700566F16 /* hex_float.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415856243667F600566F16 /* hex_float.h */; };
-		A9415AAE243667F700566F16 /* hex_float.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415856243667F600566F16 /* hex_float.h */; };
-		A9415AAF243667F700566F16 /* parse_number.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415857243667F600566F16 /* parse_number.cpp */; };
-		A9415AB0243667F700566F16 /* parse_number.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415857243667F600566F16 /* parse_number.cpp */; };
-		A9415AB1243667F700566F16 /* bit_vector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415858243667F600566F16 /* bit_vector.cpp */; };
-		A9415AB2243667F700566F16 /* bit_vector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415858243667F600566F16 /* bit_vector.cpp */; };
-		A9415AB3243667F700566F16 /* ilist.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415859243667F600566F16 /* ilist.h */; };
-		A9415AB4243667F700566F16 /* ilist.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415859243667F600566F16 /* ilist.h */; };
-		A9415AB5243667F700566F16 /* spirv_target_env.h in Headers */ = {isa = PBXBuildFile; fileRef = A941585A243667F600566F16 /* spirv_target_env.h */; };
-		A9415AB6243667F700566F16 /* spirv_target_env.h in Headers */ = {isa = PBXBuildFile; fileRef = A941585A243667F600566F16 /* spirv_target_env.h */; };
-		A9415AB7243667F700566F16 /* table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941585B243667F600566F16 /* table.cpp */; };
-		A9415AB8243667F700566F16 /* table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941585B243667F600566F16 /* table.cpp */; };
-		A9415AB9243667F700566F16 /* operand_to_undef_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A941585E243667F600566F16 /* operand_to_undef_reduction_opportunity_finder.h */; };
-		A9415ABA243667F700566F16 /* operand_to_undef_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A941585E243667F600566F16 /* operand_to_undef_reduction_opportunity_finder.h */; };
-		A9415ABB243667F700566F16 /* remove_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941585F243667F600566F16 /* remove_selection_reduction_opportunity.cpp */; };
-		A9415ABC243667F700566F16 /* remove_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941585F243667F600566F16 /* remove_selection_reduction_opportunity.cpp */; };
-		A9415ABD243667F700566F16 /* remove_block_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415860243667F600566F16 /* remove_block_reduction_opportunity.h */; };
-		A9415ABE243667F700566F16 /* remove_block_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415860243667F600566F16 /* remove_block_reduction_opportunity.h */; };
-		A9415ABF243667F700566F16 /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415861243667F600566F16 /* operand_to_dominating_id_reduction_opportunity_finder.h */; };
-		A9415AC0243667F700566F16 /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415861243667F600566F16 /* operand_to_dominating_id_reduction_opportunity_finder.h */; };
-		A9415AC1243667F700566F16 /* reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415862243667F600566F16 /* reduction_pass.cpp */; };
-		A9415AC2243667F700566F16 /* reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415862243667F600566F16 /* reduction_pass.cpp */; };
-		A9415AC3243667F700566F16 /* operand_to_const_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415863243667F600566F16 /* operand_to_const_reduction_opportunity_finder.cpp */; };
-		A9415AC4243667F700566F16 /* operand_to_const_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415863243667F600566F16 /* operand_to_const_reduction_opportunity_finder.cpp */; };
-		A9415AC5243667F700566F16 /* operand_to_const_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415864243667F600566F16 /* operand_to_const_reduction_opportunity_finder.h */; };
-		A9415AC6243667F700566F16 /* operand_to_const_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415864243667F600566F16 /* operand_to_const_reduction_opportunity_finder.h */; };
-		A9415AC7243667F700566F16 /* reduction_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415866243667F600566F16 /* reduction_util.cpp */; };
-		A9415AC8243667F700566F16 /* reduction_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415866243667F600566F16 /* reduction_util.cpp */; };
-		A9415AC9243667F700566F16 /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415867243667F600566F16 /* structured_loop_to_selection_reduction_opportunity_finder.cpp */; };
-		A9415ACA243667F700566F16 /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415867243667F600566F16 /* structured_loop_to_selection_reduction_opportunity_finder.cpp */; };
-		A9415ACB243667F700566F16 /* simple_conditional_branch_to_branch_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415868243667F600566F16 /* simple_conditional_branch_to_branch_reduction_opportunity.h */; };
-		A9415ACC243667F700566F16 /* simple_conditional_branch_to_branch_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415868243667F600566F16 /* simple_conditional_branch_to_branch_reduction_opportunity.h */; };
-		A9415ACD243667F700566F16 /* remove_function_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415869243667F600566F16 /* remove_function_reduction_opportunity_finder.cpp */; };
-		A9415ACE243667F700566F16 /* remove_function_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415869243667F600566F16 /* remove_function_reduction_opportunity_finder.cpp */; };
-		A9415ACF243667F700566F16 /* remove_instruction_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A941586A243667F600566F16 /* remove_instruction_reduction_opportunity.h */; };
-		A9415AD0243667F700566F16 /* remove_instruction_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A941586A243667F600566F16 /* remove_instruction_reduction_opportunity.h */; };
-		A9415AD1243667F700566F16 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A941586B243667F600566F16 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h */; };
-		A9415AD2243667F700566F16 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A941586B243667F600566F16 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h */; };
-		A9415AD3243667F700566F16 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941586C243667F600566F16 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp */; };
-		A9415AD4243667F700566F16 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941586C243667F600566F16 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp */; };
-		A9415AD5243667F700566F16 /* remove_function_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941586D243667F600566F16 /* remove_function_reduction_opportunity.cpp */; };
-		A9415AD6243667F700566F16 /* remove_function_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941586D243667F600566F16 /* remove_function_reduction_opportunity.cpp */; };
-		A9415AD7243667F700566F16 /* simple_conditional_branch_to_branch_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941586E243667F600566F16 /* simple_conditional_branch_to_branch_opportunity_finder.cpp */; };
-		A9415AD8243667F700566F16 /* simple_conditional_branch_to_branch_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941586E243667F600566F16 /* simple_conditional_branch_to_branch_opportunity_finder.cpp */; };
-		A9415AD9243667F700566F16 /* remove_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941586F243667F600566F16 /* remove_selection_reduction_opportunity_finder.cpp */; };
-		A9415ADA243667F700566F16 /* remove_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941586F243667F600566F16 /* remove_selection_reduction_opportunity_finder.cpp */; };
-		A9415ADB243667F700566F16 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415870243667F600566F16 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp */; };
-		A9415ADC243667F700566F16 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415870243667F600566F16 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp */; };
-		A9415ADD243667F700566F16 /* simple_conditional_branch_to_branch_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415871243667F600566F16 /* simple_conditional_branch_to_branch_opportunity_finder.h */; };
-		A9415ADE243667F700566F16 /* simple_conditional_branch_to_branch_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415871243667F600566F16 /* simple_conditional_branch_to_branch_opportunity_finder.h */; };
-		A9415ADF243667F700566F16 /* merge_blocks_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415872243667F600566F16 /* merge_blocks_reduction_opportunity.cpp */; };
-		A9415AE0243667F700566F16 /* merge_blocks_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415872243667F600566F16 /* merge_blocks_reduction_opportunity.cpp */; };
-		A9415AE1243667F700566F16 /* change_operand_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415873243667F600566F16 /* change_operand_reduction_opportunity.cpp */; };
-		A9415AE2243667F700566F16 /* change_operand_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415873243667F600566F16 /* change_operand_reduction_opportunity.cpp */; };
-		A9415AE3243667F700566F16 /* structured_loop_to_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415874243667F600566F16 /* structured_loop_to_selection_reduction_opportunity.h */; };
-		A9415AE4243667F700566F16 /* structured_loop_to_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415874243667F600566F16 /* structured_loop_to_selection_reduction_opportunity.h */; };
-		A9415AE5243667F700566F16 /* remove_function_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415875243667F600566F16 /* remove_function_reduction_opportunity.h */; };
-		A9415AE6243667F700566F16 /* remove_function_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415875243667F600566F16 /* remove_function_reduction_opportunity.h */; };
-		A9415AE7243667F700566F16 /* change_operand_to_undef_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415876243667F600566F16 /* change_operand_to_undef_reduction_opportunity.h */; };
-		A9415AE8243667F700566F16 /* change_operand_to_undef_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415876243667F600566F16 /* change_operand_to_undef_reduction_opportunity.h */; };
-		A9415AE9243667F700566F16 /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415877243667F600566F16 /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp */; };
-		A9415AEA243667F700566F16 /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415877243667F600566F16 /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp */; };
-		A9415AEB243667F700566F16 /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415878243667F600566F16 /* structured_loop_to_selection_reduction_opportunity_finder.h */; };
-		A9415AEC243667F700566F16 /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415878243667F600566F16 /* structured_loop_to_selection_reduction_opportunity_finder.h */; };
-		A9415AED243667F700566F16 /* remove_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415879243667F600566F16 /* remove_selection_reduction_opportunity.h */; };
-		A9415AEE243667F700566F16 /* remove_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415879243667F600566F16 /* remove_selection_reduction_opportunity.h */; };
-		A9415AEF243667F700566F16 /* remove_instruction_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941587A243667F600566F16 /* remove_instruction_reduction_opportunity.cpp */; };
-		A9415AF0243667F700566F16 /* remove_instruction_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941587A243667F600566F16 /* remove_instruction_reduction_opportunity.cpp */; };
-		A9415AF1243667F700566F16 /* remove_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A941587B243667F600566F16 /* remove_selection_reduction_opportunity_finder.h */; };
-		A9415AF2243667F700566F16 /* remove_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A941587B243667F600566F16 /* remove_selection_reduction_opportunity_finder.h */; };
-		A9415AF3243667F700566F16 /* merge_blocks_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A941587C243667F600566F16 /* merge_blocks_reduction_opportunity_finder.h */; };
-		A9415AF4243667F700566F16 /* merge_blocks_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A941587C243667F600566F16 /* merge_blocks_reduction_opportunity_finder.h */; };
-		A9415AF5243667F700566F16 /* pch_source_reduce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941587D243667F600566F16 /* pch_source_reduce.cpp */; };
-		A9415AF6243667F700566F16 /* pch_source_reduce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941587D243667F600566F16 /* pch_source_reduce.cpp */; };
-		A9415AF7243667F700566F16 /* reducer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941587E243667F600566F16 /* reducer.cpp */; };
-		A9415AF8243667F700566F16 /* reducer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941587E243667F600566F16 /* reducer.cpp */; };
-		A9415AF9243667F700566F16 /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941587F243667F600566F16 /* operand_to_undef_reduction_opportunity_finder.cpp */; };
-		A9415AFA243667F700566F16 /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941587F243667F600566F16 /* operand_to_undef_reduction_opportunity_finder.cpp */; };
-		A9415AFB243667F700566F16 /* remove_function_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415880243667F600566F16 /* remove_function_reduction_opportunity_finder.h */; };
-		A9415AFC243667F700566F16 /* remove_function_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415880243667F600566F16 /* remove_function_reduction_opportunity_finder.h */; };
-		A9415AFD243667F700566F16 /* pch_source_reduce.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415881243667F600566F16 /* pch_source_reduce.h */; };
-		A9415AFE243667F700566F16 /* pch_source_reduce.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415881243667F600566F16 /* pch_source_reduce.h */; };
-		A9415AFF243667F700566F16 /* remove_unreferenced_instruction_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415882243667F600566F16 /* remove_unreferenced_instruction_reduction_opportunity_finder.h */; };
-		A9415B00243667F700566F16 /* remove_unreferenced_instruction_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415882243667F600566F16 /* remove_unreferenced_instruction_reduction_opportunity_finder.h */; };
-		A9415B01243667F700566F16 /* merge_blocks_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415883243667F600566F16 /* merge_blocks_reduction_opportunity_finder.cpp */; };
-		A9415B02243667F700566F16 /* merge_blocks_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415883243667F600566F16 /* merge_blocks_reduction_opportunity_finder.cpp */; };
-		A9415B03243667F700566F16 /* reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415884243667F600566F16 /* reduction_opportunity.cpp */; };
-		A9415B04243667F700566F16 /* reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415884243667F600566F16 /* reduction_opportunity.cpp */; };
-		A9415B05243667F700566F16 /* reducer.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415885243667F600566F16 /* reducer.h */; };
-		A9415B06243667F700566F16 /* reducer.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415885243667F600566F16 /* reducer.h */; };
-		A9415B07243667F700566F16 /* change_operand_to_undef_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415886243667F600566F16 /* change_operand_to_undef_reduction_opportunity.cpp */; };
-		A9415B08243667F700566F16 /* change_operand_to_undef_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415886243667F600566F16 /* change_operand_to_undef_reduction_opportunity.cpp */; };
-		A9415B09243667F700566F16 /* reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415887243667F600566F16 /* reduction_opportunity.h */; };
-		A9415B0A243667F700566F16 /* reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415887243667F600566F16 /* reduction_opportunity.h */; };
-		A9415B0B243667F700566F16 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415888243667F600566F16 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h */; };
-		A9415B0C243667F700566F16 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415888243667F600566F16 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h */; };
-		A9415B0D243667F700566F16 /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415889243667F600566F16 /* operand_to_dominating_id_reduction_opportunity_finder.cpp */; };
-		A9415B0E243667F700566F16 /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415889243667F600566F16 /* operand_to_dominating_id_reduction_opportunity_finder.cpp */; };
-		A9415B0F243667F700566F16 /* reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A941588A243667F600566F16 /* reduction_opportunity_finder.h */; };
-		A9415B10243667F700566F16 /* reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A941588A243667F600566F16 /* reduction_opportunity_finder.h */; };
-		A9415B11243667F700566F16 /* change_operand_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A941588B243667F600566F16 /* change_operand_reduction_opportunity.h */; };
-		A9415B12243667F700566F16 /* change_operand_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A941588B243667F600566F16 /* change_operand_reduction_opportunity.h */; };
-		A9415B13243667F700566F16 /* remove_block_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A941588C243667F600566F16 /* remove_block_reduction_opportunity_finder.h */; };
-		A9415B14243667F700566F16 /* remove_block_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A941588C243667F600566F16 /* remove_block_reduction_opportunity_finder.h */; };
-		A9415B15243667F700566F16 /* remove_block_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941588D243667F600566F16 /* remove_block_reduction_opportunity_finder.cpp */; };
-		A9415B16243667F700566F16 /* remove_block_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941588D243667F600566F16 /* remove_block_reduction_opportunity_finder.cpp */; };
-		A9415B17243667F700566F16 /* reduction_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A941588E243667F600566F16 /* reduction_util.h */; };
-		A9415B18243667F700566F16 /* reduction_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A941588E243667F600566F16 /* reduction_util.h */; };
-		A9415B19243667F700566F16 /* merge_blocks_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A941588F243667F600566F16 /* merge_blocks_reduction_opportunity.h */; };
-		A9415B1A243667F700566F16 /* merge_blocks_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A941588F243667F600566F16 /* merge_blocks_reduction_opportunity.h */; };
-		A9415B1B243667F700566F16 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415890243667F600566F16 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp */; };
-		A9415B1C243667F700566F16 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415890243667F600566F16 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp */; };
-		A9415B1D243667F700566F16 /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415891243667F600566F16 /* structured_loop_to_selection_reduction_opportunity.cpp */; };
-		A9415B1E243667F700566F16 /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415891243667F600566F16 /* structured_loop_to_selection_reduction_opportunity.cpp */; };
-		A9415B1F243667F700566F16 /* remove_block_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415892243667F600566F16 /* remove_block_reduction_opportunity.cpp */; };
-		A9415B20243667F700566F16 /* remove_block_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415892243667F600566F16 /* remove_block_reduction_opportunity.cpp */; };
-		A9415B21243667F700566F16 /* reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415893243667F600566F16 /* reduction_pass.h */; };
-		A9415B22243667F700566F16 /* reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415893243667F600566F16 /* reduction_pass.h */; };
-		A9415B23243667F700566F16 /* latest_version_opencl_std_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415894243667F600566F16 /* latest_version_opencl_std_header.h */; };
-		A9415B24243667F700566F16 /* latest_version_opencl_std_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415894243667F600566F16 /* latest_version_opencl_std_header.h */; };
-		A9415B25243667F700566F16 /* spirv_optimizer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415895243667F600566F16 /* spirv_optimizer_options.cpp */; };
-		A9415B26243667F700566F16 /* spirv_optimizer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415895243667F600566F16 /* spirv_optimizer_options.cpp */; };
-		A9415B27243667F700566F16 /* cfa.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415896243667F600566F16 /* cfa.h */; };
-		A9415B28243667F800566F16 /* cfa.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415896243667F600566F16 /* cfa.h */; };
-		A9415B29243667F800566F16 /* pch_source.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415897243667F600566F16 /* pch_source.h */; };
-		A9415B2A243667F800566F16 /* pch_source.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415897243667F600566F16 /* pch_source.h */; };
-		A9415B2B243667F800566F16 /* enum_string_mapping.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415898243667F600566F16 /* enum_string_mapping.h */; };
-		A9415B2C243667F800566F16 /* enum_string_mapping.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415898243667F600566F16 /* enum_string_mapping.h */; };
-		A9415B2D243667F800566F16 /* spirv_fuzzer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415899243667F600566F16 /* spirv_fuzzer_options.cpp */; };
-		A9415B2E243667F800566F16 /* spirv_fuzzer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415899243667F600566F16 /* spirv_fuzzer_options.cpp */; };
-		A9415B2F243667F800566F16 /* spirv_reducer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A941589A243667F600566F16 /* spirv_reducer_options.h */; };
-		A9415B30243667F800566F16 /* spirv_reducer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A941589A243667F600566F16 /* spirv_reducer_options.h */; };
-		A9415B31243667F800566F16 /* spirv_validator_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941589B243667F600566F16 /* spirv_validator_options.cpp */; };
-		A9415B32243667F800566F16 /* spirv_validator_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941589B243667F600566F16 /* spirv_validator_options.cpp */; };
-		A9415B33243667F800566F16 /* print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941589D243667F600566F16 /* print.cpp */; };
-		A9415B34243667F800566F16 /* print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941589D243667F600566F16 /* print.cpp */; };
-		A9415B35243667F800566F16 /* spirv_definition.h in Headers */ = {isa = PBXBuildFile; fileRef = A941589E243667F600566F16 /* spirv_definition.h */; };
-		A9415B36243667F800566F16 /* spirv_definition.h in Headers */ = {isa = PBXBuildFile; fileRef = A941589E243667F600566F16 /* spirv_definition.h */; };
-		A9415B37243667F800566F16 /* operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A941589F243667F600566F16 /* operand.h */; };
-		A9415B38243667F800566F16 /* operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A941589F243667F600566F16 /* operand.h */; };
-		A9415B39243667F800566F16 /* spirv_endian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158A0243667F600566F16 /* spirv_endian.cpp */; };
-		A9415B3A243667F800566F16 /* spirv_endian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158A0243667F600566F16 /* spirv_endian.cpp */; };
-		A9415B3B243667F800566F16 /* macro.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158A1243667F600566F16 /* macro.h */; };
-		A9415B3C243667F800566F16 /* macro.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158A1243667F600566F16 /* macro.h */; };
-		A9415B3D243667F800566F16 /* spirv_constant.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158A2243667F600566F16 /* spirv_constant.h */; };
-		A9415B3E243667F800566F16 /* spirv_constant.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158A2243667F600566F16 /* spirv_constant.h */; };
-		A9415B3F243667F800566F16 /* binary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158A4243667F600566F16 /* binary.cpp */; };
-		A9415B40243667F800566F16 /* binary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158A4243667F600566F16 /* binary.cpp */; };
-		A9415B41243667F800566F16 /* spirv_validator_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158A5243667F600566F16 /* spirv_validator_options.h */; };
-		A9415B42243667F800566F16 /* spirv_validator_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158A5243667F600566F16 /* spirv_validator_options.h */; };
-		A9415B43243667F800566F16 /* enum_string_mapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158A6243667F600566F16 /* enum_string_mapping.cpp */; };
-		A9415B44243667F800566F16 /* enum_string_mapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158A6243667F600566F16 /* enum_string_mapping.cpp */; };
-		A9415B45243667F800566F16 /* text_handler.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158A7243667F600566F16 /* text_handler.h */; };
-		A9415B46243667F800566F16 /* text_handler.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158A7243667F600566F16 /* text_handler.h */; };
-		A9415B47243667F800566F16 /* parsed_operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158A8243667F600566F16 /* parsed_operand.h */; };
-		A9415B48243667F800566F16 /* parsed_operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158A8243667F600566F16 /* parsed_operand.h */; };
-		A9415B49243667F800566F16 /* name_mapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158A9243667F600566F16 /* name_mapper.h */; };
-		A9415B4A243667F800566F16 /* name_mapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158A9243667F600566F16 /* name_mapper.h */; };
-		A9415B4B243667F800566F16 /* spirv_reducer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158AA243667F600566F16 /* spirv_reducer_options.cpp */; };
-		A9415B4C243667F800566F16 /* spirv_reducer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158AA243667F600566F16 /* spirv_reducer_options.cpp */; };
-		A9415B4D243667F800566F16 /* parsed_operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158AB243667F600566F16 /* parsed_operand.cpp */; };
-		A9415B4E243667F800566F16 /* parsed_operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158AB243667F600566F16 /* parsed_operand.cpp */; };
-		A9415B4F243667F800566F16 /* diagnostic.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158AC243667F600566F16 /* diagnostic.h */; };
-		A9415B50243667F800566F16 /* diagnostic.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158AC243667F600566F16 /* diagnostic.h */; };
-		A9415B51243667F800566F16 /* spirv_endian.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158AD243667F600566F16 /* spirv_endian.h */; };
-		A9415B52243667F800566F16 /* spirv_endian.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158AD243667F600566F16 /* spirv_endian.h */; };
-		A9415B53243667F800566F16 /* name_mapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158AE243667F600566F16 /* name_mapper.cpp */; };
-		A9415B54243667F800566F16 /* name_mapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158AE243667F600566F16 /* name_mapper.cpp */; };
-		A9415B55243667F800566F16 /* linker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158B2243667F600566F16 /* linker.cpp */; };
-		A9415B56243667F800566F16 /* linker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158B2243667F600566F16 /* linker.cpp */; };
-		A9415B57243667F800566F16 /* software_version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158B3243667F600566F16 /* software_version.cpp */; };
-		A9415B58243667F800566F16 /* software_version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158B3243667F600566F16 /* software_version.cpp */; };
-		A9415B59243667F800566F16 /* opcode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158B4243667F600566F16 /* opcode.cpp */; };
-		A9415B5A243667F800566F16 /* opcode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158B4243667F600566F16 /* opcode.cpp */; };
-		A9415B5B243667F800566F16 /* print.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158B5243667F600566F16 /* print.h */; };
-		A9415B5C243667F800566F16 /* print.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158B5243667F600566F16 /* print.h */; };
-		A9415B5D243667F800566F16 /* ext_inst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158B6243667F600566F16 /* ext_inst.cpp */; };
-		A9415B5E243667F800566F16 /* ext_inst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158B6243667F600566F16 /* ext_inst.cpp */; };
-		A9415B5F243667F800566F16 /* disassemble.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158B7243667F600566F16 /* disassemble.h */; };
-		A9415B60243667F800566F16 /* disassemble.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158B7243667F600566F16 /* disassemble.h */; };
-		A9415B61243667F800566F16 /* optimizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158B9243667F600566F16 /* optimizer.cpp */; };
-		A9415B62243667F800566F16 /* optimizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158B9243667F600566F16 /* optimizer.cpp */; };
-		A9415B63243667F800566F16 /* if_conversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158BA243667F600566F16 /* if_conversion.h */; };
-		A9415B64243667F800566F16 /* if_conversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158BA243667F600566F16 /* if_conversion.h */; };
-		A9415B65243667F800566F16 /* register_pressure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158BB243667F600566F16 /* register_pressure.cpp */; };
-		A9415B66243667F800566F16 /* register_pressure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158BB243667F600566F16 /* register_pressure.cpp */; };
-		A9415B67243667F800566F16 /* loop_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158BC243667F600566F16 /* loop_utils.cpp */; };
-		A9415B68243667F800566F16 /* loop_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158BC243667F600566F16 /* loop_utils.cpp */; };
-		A9415B69243667F800566F16 /* merge_return_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158BD243667F600566F16 /* merge_return_pass.h */; };
-		A9415B6A243667F800566F16 /* merge_return_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158BD243667F600566F16 /* merge_return_pass.h */; };
-		A9415B6B243667F800566F16 /* inline_opaque_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158BE243667F600566F16 /* inline_opaque_pass.h */; };
-		A9415B6C243667F800566F16 /* inline_opaque_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158BE243667F600566F16 /* inline_opaque_pass.h */; };
-		A9415B6D243667F800566F16 /* loop_fusion.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158BF243667F600566F16 /* loop_fusion.h */; };
-		A9415B6E243667F800566F16 /* loop_fusion.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158BF243667F600566F16 /* loop_fusion.h */; };
-		A9415B6F243667F800566F16 /* combine_access_chains.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158C0243667F600566F16 /* combine_access_chains.cpp */; };
-		A9415B70243667F800566F16 /* combine_access_chains.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158C0243667F600566F16 /* combine_access_chains.cpp */; };
-		A9415B71243667F800566F16 /* build_module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158C1243667F600566F16 /* build_module.cpp */; };
-		A9415B72243667F800566F16 /* build_module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158C1243667F600566F16 /* build_module.cpp */; };
-		A9415B73243667F800566F16 /* composite.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158C2243667F600566F16 /* composite.h */; };
-		A9415B74243667F800566F16 /* composite.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158C2243667F600566F16 /* composite.h */; };
-		A9415B75243667F800566F16 /* compact_ids_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158C3243667F600566F16 /* compact_ids_pass.h */; };
-		A9415B76243667F800566F16 /* compact_ids_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158C3243667F600566F16 /* compact_ids_pass.h */; };
-		A9415B77243667F800566F16 /* register_pressure.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158C4243667F600566F16 /* register_pressure.h */; };
-		A9415B78243667F800566F16 /* register_pressure.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158C4243667F600566F16 /* register_pressure.h */; };
-		A9415B79243667F800566F16 /* tree_iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158C5243667F600566F16 /* tree_iterator.h */; };
-		A9415B7A243667F800566F16 /* tree_iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158C5243667F600566F16 /* tree_iterator.h */; };
-		A9415B7B243667F800566F16 /* graphics_robust_access_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158C6243667F600566F16 /* graphics_robust_access_pass.h */; };
-		A9415B7C243667F800566F16 /* graphics_robust_access_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158C6243667F600566F16 /* graphics_robust_access_pass.h */; };
-		A9415B7D243667F800566F16 /* strip_atomic_counter_memory_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158C7243667F600566F16 /* strip_atomic_counter_memory_pass.h */; };
-		A9415B7E243667F800566F16 /* strip_atomic_counter_memory_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158C7243667F600566F16 /* strip_atomic_counter_memory_pass.h */; };
-		A9415B7F243667F800566F16 /* legalize_vector_shuffle_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158C8243667F600566F16 /* legalize_vector_shuffle_pass.h */; };
-		A9415B80243667F800566F16 /* legalize_vector_shuffle_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158C8243667F600566F16 /* legalize_vector_shuffle_pass.h */; };
-		A9415B81243667F800566F16 /* local_single_store_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158C9243667F600566F16 /* local_single_store_elim_pass.h */; };
-		A9415B82243667F800566F16 /* local_single_store_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158C9243667F600566F16 /* local_single_store_elim_pass.h */; };
-		A9415B83243667F800566F16 /* reduce_load_size.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158CA243667F600566F16 /* reduce_load_size.h */; };
-		A9415B84243667F800566F16 /* reduce_load_size.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158CA243667F600566F16 /* reduce_load_size.h */; };
-		A9415B85243667F800566F16 /* code_sink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158CB243667F600566F16 /* code_sink.cpp */; };
-		A9415B86243667F800566F16 /* code_sink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158CB243667F600566F16 /* code_sink.cpp */; };
-		A9415B87243667F800566F16 /* types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158CC243667F600566F16 /* types.cpp */; };
-		A9415B88243667F800566F16 /* types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158CC243667F600566F16 /* types.cpp */; };
-		A9415B89243667F800566F16 /* scalar_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158CD243667F600566F16 /* scalar_analysis.h */; };
-		A9415B8A243667F800566F16 /* scalar_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158CD243667F600566F16 /* scalar_analysis.h */; };
-		A9415B8B243667F800566F16 /* strip_debug_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158CE243667F600566F16 /* strip_debug_info_pass.h */; };
-		A9415B8C243667F800566F16 /* strip_debug_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158CE243667F600566F16 /* strip_debug_info_pass.h */; };
-		A9415B8D243667F800566F16 /* cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158CF243667F600566F16 /* cfg.cpp */; };
-		A9415B8E243667F800566F16 /* cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158CF243667F600566F16 /* cfg.cpp */; };
-		A9415B8F243667F800566F16 /* strip_atomic_counter_memory_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158D0243667F600566F16 /* strip_atomic_counter_memory_pass.cpp */; };
-		A9415B90243667F800566F16 /* strip_atomic_counter_memory_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158D0243667F600566F16 /* strip_atomic_counter_memory_pass.cpp */; };
-		A9415B91243667F800566F16 /* decoration_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158D1243667F600566F16 /* decoration_manager.cpp */; };
-		A9415B92243667F800566F16 /* decoration_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158D1243667F600566F16 /* decoration_manager.cpp */; };
-		A9415B93243667F800566F16 /* local_single_block_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158D2243667F600566F16 /* local_single_block_elim_pass.cpp */; };
-		A9415B94243667F800566F16 /* local_single_block_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158D2243667F600566F16 /* local_single_block_elim_pass.cpp */; };
-		A9415B95243667F800566F16 /* freeze_spec_constant_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158D3243667F600566F16 /* freeze_spec_constant_value_pass.cpp */; };
-		A9415B96243667F800566F16 /* freeze_spec_constant_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158D3243667F600566F16 /* freeze_spec_constant_value_pass.cpp */; };
-		A9415B97243667F800566F16 /* replace_invalid_opc.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158D4243667F600566F16 /* replace_invalid_opc.h */; };
-		A9415B98243667F800566F16 /* replace_invalid_opc.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158D4243667F600566F16 /* replace_invalid_opc.h */; };
-		A9415B99243667F800566F16 /* local_access_chain_convert_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158D5243667F600566F16 /* local_access_chain_convert_pass.h */; };
-		A9415B9A243667F800566F16 /* local_access_chain_convert_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158D5243667F600566F16 /* local_access_chain_convert_pass.h */; };
-		A9415B9B243667F800566F16 /* inst_bindless_check_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158D6243667F600566F16 /* inst_bindless_check_pass.cpp */; };
-		A9415B9C243667F800566F16 /* inst_bindless_check_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158D6243667F600566F16 /* inst_bindless_check_pass.cpp */; };
-		A9415B9D243667F800566F16 /* local_redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158D7243667F600566F16 /* local_redundancy_elimination.cpp */; };
-		A9415B9E243667F800566F16 /* local_redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158D7243667F600566F16 /* local_redundancy_elimination.cpp */; };
-		A9415B9F243667F800566F16 /* instrument_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158D9243667F600566F16 /* instrument_pass.cpp */; };
-		A9415BA0243667F800566F16 /* instrument_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158D9243667F600566F16 /* instrument_pass.cpp */; };
-		A9415BA1243667F800566F16 /* propagator.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158DA243667F600566F16 /* propagator.h */; };
-		A9415BA2243667F800566F16 /* propagator.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158DA243667F600566F16 /* propagator.h */; };
-		A9415BA3243667F800566F16 /* instruction_list.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158DB243667F600566F16 /* instruction_list.h */; };
-		A9415BA4243667F800566F16 /* instruction_list.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158DB243667F600566F16 /* instruction_list.h */; };
-		A9415BA5243667F800566F16 /* feature_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158DC243667F600566F16 /* feature_manager.cpp */; };
-		A9415BA6243667F800566F16 /* feature_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158DC243667F600566F16 /* feature_manager.cpp */; };
-		A9415BA7243667F800566F16 /* pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158DD243667F600566F16 /* pass.cpp */; };
-		A9415BA8243667F800566F16 /* pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158DD243667F600566F16 /* pass.cpp */; };
-		A9415BA9243667F800566F16 /* loop_fission.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158DE243667F600566F16 /* loop_fission.cpp */; };
-		A9415BAA243667F800566F16 /* loop_fission.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158DE243667F600566F16 /* loop_fission.cpp */; };
-		A9415BAB243667F800566F16 /* dominator_tree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158DF243667F600566F16 /* dominator_tree.cpp */; };
-		A9415BAC243667F800566F16 /* dominator_tree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158DF243667F600566F16 /* dominator_tree.cpp */; };
-		A9415BAD243667F800566F16 /* amd_ext_to_khr.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158E0243667F600566F16 /* amd_ext_to_khr.h */; };
-		A9415BAE243667F800566F16 /* amd_ext_to_khr.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158E0243667F600566F16 /* amd_ext_to_khr.h */; };
-		A9415BAF243667F800566F16 /* merge_return_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158E1243667F600566F16 /* merge_return_pass.cpp */; };
-		A9415BB0243667F800566F16 /* merge_return_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158E1243667F600566F16 /* merge_return_pass.cpp */; };
-		A9415BB1243667F800566F16 /* ir_context.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158E2243667F600566F16 /* ir_context.h */; };
-		A9415BB2243667F800566F16 /* ir_context.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158E2243667F600566F16 /* ir_context.h */; };
-		A9415BB3243667F800566F16 /* eliminate_dead_constant_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158E3243667F600566F16 /* eliminate_dead_constant_pass.cpp */; };
-		A9415BB4243667F800566F16 /* eliminate_dead_constant_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158E3243667F600566F16 /* eliminate_dead_constant_pass.cpp */; };
-		A9415BB5243667F800566F16 /* cfg_cleanup_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158E4243667F600566F16 /* cfg_cleanup_pass.cpp */; };
-		A9415BB6243667F800566F16 /* cfg_cleanup_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158E4243667F600566F16 /* cfg_cleanup_pass.cpp */; };
-		A9415BB7243667F800566F16 /* wrap_opkill.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158E5243667F600566F16 /* wrap_opkill.cpp */; };
-		A9415BB8243667F800566F16 /* wrap_opkill.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158E5243667F600566F16 /* wrap_opkill.cpp */; };
-		A9415BB9243667F800566F16 /* const_folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158E6243667F600566F16 /* const_folding_rules.cpp */; };
-		A9415BBA243667F800566F16 /* const_folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158E6243667F600566F16 /* const_folding_rules.cpp */; };
-		A9415BBB243667F800566F16 /* loop_unroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158E7243667F600566F16 /* loop_unroller.h */; };
-		A9415BBC243667F800566F16 /* loop_unroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158E7243667F600566F16 /* loop_unroller.h */; };
-		A9415BBD243667F800566F16 /* strip_debug_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158E8243667F600566F16 /* strip_debug_info_pass.cpp */; };
-		A9415BBE243667F800566F16 /* strip_debug_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158E8243667F600566F16 /* strip_debug_info_pass.cpp */; };
-		A9415BBF243667F800566F16 /* ssa_rewrite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158E9243667F600566F16 /* ssa_rewrite_pass.cpp */; };
-		A9415BC0243667F800566F16 /* ssa_rewrite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158E9243667F600566F16 /* ssa_rewrite_pass.cpp */; };
-		A9415BC1243667F800566F16 /* loop_dependence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158EA243667F600566F16 /* loop_dependence.cpp */; };
-		A9415BC2243667F800566F16 /* loop_dependence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158EA243667F600566F16 /* loop_dependence.cpp */; };
-		A9415BC3243667F800566F16 /* unify_const_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158EB243667F600566F16 /* unify_const_pass.h */; };
-		A9415BC4243667F800566F16 /* unify_const_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158EB243667F600566F16 /* unify_const_pass.h */; };
-		A9415BC5243667F800566F16 /* ir_loader.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158EC243667F600566F16 /* ir_loader.h */; };
-		A9415BC6243667F800566F16 /* ir_loader.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158EC243667F600566F16 /* ir_loader.h */; };
-		A9415BC7243667F800566F16 /* inst_debug_printf_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158ED243667F600566F16 /* inst_debug_printf_pass.cpp */; };
-		A9415BC8243667F800566F16 /* inst_debug_printf_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158ED243667F600566F16 /* inst_debug_printf_pass.cpp */; };
-		A9415BC9243667F800566F16 /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158EE243667F600566F16 /* types.h */; };
-		A9415BCA243667F800566F16 /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158EE243667F600566F16 /* types.h */; };
-		A9415BCB243667F800566F16 /* fold_spec_constant_op_and_composite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158EF243667F600566F16 /* fold_spec_constant_op_and_composite_pass.h */; };
-		A9415BCC243667F800566F16 /* fold_spec_constant_op_and_composite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158EF243667F600566F16 /* fold_spec_constant_op_and_composite_pass.h */; };
-		A9415BCD243667F800566F16 /* mem_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158F0243667F600566F16 /* mem_pass.cpp */; };
-		A9415BCE243667F800566F16 /* mem_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158F0243667F600566F16 /* mem_pass.cpp */; };
-		A9415BCF243667F800566F16 /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158F1243667F600566F16 /* basic_block.h */; };
-		A9415BD0243667F800566F16 /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158F1243667F600566F16 /* basic_block.h */; };
-		A9415BD1243667F800566F16 /* remove_duplicates_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158F2243667F600566F16 /* remove_duplicates_pass.cpp */; };
-		A9415BD2243667F800566F16 /* remove_duplicates_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158F2243667F600566F16 /* remove_duplicates_pass.cpp */; };
-		A9415BD3243667F800566F16 /* dead_variable_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158F3243667F600566F16 /* dead_variable_elimination.cpp */; };
-		A9415BD4243667F800566F16 /* dead_variable_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158F3243667F600566F16 /* dead_variable_elimination.cpp */; };
-		A9415BD5243667F800566F16 /* block_merge_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158F4243667F600566F16 /* block_merge_pass.h */; };
-		A9415BD6243667F800566F16 /* block_merge_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158F4243667F600566F16 /* block_merge_pass.h */; };
-		A9415BD7243667F800566F16 /* module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158F5243667F600566F16 /* module.cpp */; };
-		A9415BD8243667F800566F16 /* module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158F5243667F600566F16 /* module.cpp */; };
-		A9415BD9243667F800566F16 /* fold_spec_constant_op_and_composite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158F6243667F600566F16 /* fold_spec_constant_op_and_composite_pass.cpp */; };
-		A9415BDA243667F800566F16 /* fold_spec_constant_op_and_composite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158F6243667F600566F16 /* fold_spec_constant_op_and_composite_pass.cpp */; };
-		A9415BDB243667F800566F16 /* loop_unswitch_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158F7243667F600566F16 /* loop_unswitch_pass.cpp */; };
-		A9415BDC243667F800566F16 /* loop_unswitch_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158F7243667F600566F16 /* loop_unswitch_pass.cpp */; };
-		A9415BDD243667F800566F16 /* unify_const_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158F8243667F600566F16 /* unify_const_pass.cpp */; };
-		A9415BDE243667F800566F16 /* unify_const_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158F8243667F600566F16 /* unify_const_pass.cpp */; };
-		A9415BDF243667F800566F16 /* type_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158F9243667F600566F16 /* type_manager.cpp */; };
-		A9415BE0243667F800566F16 /* type_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158F9243667F600566F16 /* type_manager.cpp */; };
-		A9415BE1243667F800566F16 /* generate_webgpu_initializers_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158FA243667F600566F16 /* generate_webgpu_initializers_pass.cpp */; };
-		A9415BE2243667F800566F16 /* generate_webgpu_initializers_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158FA243667F600566F16 /* generate_webgpu_initializers_pass.cpp */; };
-		A9415BE3243667F800566F16 /* private_to_local_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158FB243667F600566F16 /* private_to_local_pass.h */; };
-		A9415BE4243667F800566F16 /* private_to_local_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158FB243667F600566F16 /* private_to_local_pass.h */; };
-		A9415BE5243667F800566F16 /* convert_to_half_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158FC243667F600566F16 /* convert_to_half_pass.h */; };
-		A9415BE6243667F800566F16 /* convert_to_half_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158FC243667F600566F16 /* convert_to_half_pass.h */; };
-		A9415BE7243667F800566F16 /* relax_float_ops_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158FD243667F600566F16 /* relax_float_ops_pass.h */; };
-		A9415BE8243667F800566F16 /* relax_float_ops_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158FD243667F600566F16 /* relax_float_ops_pass.h */; };
-		A9415BE9243667F800566F16 /* inline_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158FE243667F600566F16 /* inline_pass.cpp */; };
-		A9415BEA243667F800566F16 /* inline_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94158FE243667F600566F16 /* inline_pass.cpp */; };
-		A9415BEB243667F800566F16 /* def_use_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158FF243667F600566F16 /* def_use_manager.h */; };
-		A9415BEC243667F800566F16 /* def_use_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A94158FF243667F600566F16 /* def_use_manager.h */; };
-		A9415BED243667F800566F16 /* ir_loader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415900243667F600566F16 /* ir_loader.cpp */; };
-		A9415BEE243667F800566F16 /* ir_loader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415900243667F600566F16 /* ir_loader.cpp */; };
-		A9415BEF243667F800566F16 /* cfg_cleanup_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415901243667F600566F16 /* cfg_cleanup_pass.h */; };
-		A9415BF0243667F800566F16 /* cfg_cleanup_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415901243667F600566F16 /* cfg_cleanup_pass.h */; };
-		A9415BF1243667F800566F16 /* licm_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415902243667F600566F16 /* licm_pass.cpp */; };
-		A9415BF2243667F800566F16 /* licm_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415902243667F600566F16 /* licm_pass.cpp */; };
-		A9415BF3243667F800566F16 /* eliminate_dead_functions_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415903243667F600566F16 /* eliminate_dead_functions_pass.cpp */; };
-		A9415BF4243667F800566F16 /* eliminate_dead_functions_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415903243667F600566F16 /* eliminate_dead_functions_pass.cpp */; };
-		A9415BF5243667F800566F16 /* local_redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415904243667F600566F16 /* local_redundancy_elimination.h */; };
-		A9415BF6243667F800566F16 /* local_redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415904243667F600566F16 /* local_redundancy_elimination.h */; };
-		A9415BF7243667F800566F16 /* split_invalid_unreachable_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415905243667F600566F16 /* split_invalid_unreachable_pass.cpp */; };
-		A9415BF8243667F800566F16 /* split_invalid_unreachable_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415905243667F600566F16 /* split_invalid_unreachable_pass.cpp */; };
-		A9415BF9243667F800566F16 /* loop_peeling.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415906243667F600566F16 /* loop_peeling.h */; };
-		A9415BFA243667F800566F16 /* loop_peeling.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415906243667F600566F16 /* loop_peeling.h */; };
-		A9415BFB243667F800566F16 /* vector_dce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415907243667F600566F16 /* vector_dce.cpp */; };
-		A9415BFC243667F800566F16 /* vector_dce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415907243667F600566F16 /* vector_dce.cpp */; };
-		A9415BFD243667F800566F16 /* block_merge_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415908243667F600566F16 /* block_merge_util.h */; };
-		A9415BFE243667F800566F16 /* block_merge_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415908243667F600566F16 /* block_merge_util.h */; };
-		A9415BFF243667F800566F16 /* loop_unroller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415909243667F600566F16 /* loop_unroller.cpp */; };
-		A9415C00243667F800566F16 /* loop_unroller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415909243667F600566F16 /* loop_unroller.cpp */; };
-		A9415C01243667F800566F16 /* desc_sroa.h in Headers */ = {isa = PBXBuildFile; fileRef = A941590A243667F600566F16 /* desc_sroa.h */; };
-		A9415C02243667F800566F16 /* desc_sroa.h in Headers */ = {isa = PBXBuildFile; fileRef = A941590A243667F600566F16 /* desc_sroa.h */; };
-		A9415C03243667F800566F16 /* constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941590B243667F600566F16 /* constants.cpp */; };
-		A9415C04243667F800566F16 /* constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941590B243667F600566F16 /* constants.cpp */; };
-		A9415C05243667F800566F16 /* loop_fusion_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A941590C243667F600566F16 /* loop_fusion_pass.h */; };
-		A9415C06243667F800566F16 /* loop_fusion_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A941590C243667F600566F16 /* loop_fusion_pass.h */; };
-		A9415C07243667F800566F16 /* struct_cfg_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A941590D243667F600566F16 /* struct_cfg_analysis.h */; };
-		A9415C08243667F800566F16 /* struct_cfg_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A941590D243667F600566F16 /* struct_cfg_analysis.h */; };
-		A9415C09243667F800566F16 /* inst_buff_addr_check_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941590E243667F600566F16 /* inst_buff_addr_check_pass.cpp */; };
-		A9415C0A243667F800566F16 /* inst_buff_addr_check_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941590E243667F600566F16 /* inst_buff_addr_check_pass.cpp */; };
-		A9415C0B243667F800566F16 /* def_use_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941590F243667F600566F16 /* def_use_manager.cpp */; };
-		A9415C0C243667F800566F16 /* def_use_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941590F243667F600566F16 /* def_use_manager.cpp */; };
-		A9415C0D243667F800566F16 /* wrap_opkill.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415910243667F600566F16 /* wrap_opkill.h */; };
-		A9415C0E243667F800566F16 /* wrap_opkill.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415910243667F600566F16 /* wrap_opkill.h */; };
-		A9415C0F243667F800566F16 /* strip_reflect_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415911243667F600566F16 /* strip_reflect_info_pass.cpp */; };
-		A9415C10243667F800566F16 /* strip_reflect_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415911243667F600566F16 /* strip_reflect_info_pass.cpp */; };
-		A9415C11243667F800566F16 /* decoration_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415912243667F600566F16 /* decoration_manager.h */; };
-		A9415C12243667F800566F16 /* decoration_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415912243667F600566F16 /* decoration_manager.h */; };
-		A9415C13243667F800566F16 /* ccp_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415913243667F600566F16 /* ccp_pass.cpp */; };
-		A9415C14243667F800566F16 /* ccp_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415913243667F600566F16 /* ccp_pass.cpp */; };
-		A9415C15243667F800566F16 /* process_lines_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415914243667F600566F16 /* process_lines_pass.h */; };
-		A9415C16243667F800566F16 /* process_lines_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415914243667F600566F16 /* process_lines_pass.h */; };
-		A9415C17243667F800566F16 /* local_single_block_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415915243667F600566F16 /* local_single_block_elim_pass.h */; };
-		A9415C18243667F800566F16 /* local_single_block_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415915243667F600566F16 /* local_single_block_elim_pass.h */; };
-		A9415C19243667F800566F16 /* pch_source_opt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415916243667F600566F16 /* pch_source_opt.cpp */; };
-		A9415C1A243667F800566F16 /* pch_source_opt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415916243667F600566F16 /* pch_source_opt.cpp */; };
-		A9415C1B243667F800566F16 /* inst_buff_addr_check_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415917243667F600566F16 /* inst_buff_addr_check_pass.h */; };
-		A9415C1C243667F800566F16 /* inst_buff_addr_check_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415917243667F600566F16 /* inst_buff_addr_check_pass.h */; };
-		A9415C1D243667F800566F16 /* strength_reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415918243667F600566F16 /* strength_reduction_pass.h */; };
-		A9415C1E243667F800566F16 /* strength_reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415918243667F600566F16 /* strength_reduction_pass.h */; };
-		A9415C1F243667F800566F16 /* aggressive_dead_code_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415919243667F600566F16 /* aggressive_dead_code_elim_pass.cpp */; };
-		A9415C20243667F800566F16 /* aggressive_dead_code_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415919243667F600566F16 /* aggressive_dead_code_elim_pass.cpp */; };
-		A9415C21243667F800566F16 /* eliminate_dead_functions_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941591A243667F600566F16 /* eliminate_dead_functions_util.cpp */; };
-		A9415C22243667F800566F16 /* eliminate_dead_functions_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941591A243667F600566F16 /* eliminate_dead_functions_util.cpp */; };
-		A9415C23243667F800566F16 /* inst_debug_printf_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A941591B243667F600566F16 /* inst_debug_printf_pass.h */; };
-		A9415C24243667F800566F16 /* inst_debug_printf_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A941591B243667F600566F16 /* inst_debug_printf_pass.h */; };
-		A9415C25243667F800566F16 /* simplification_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941591C243667F600566F16 /* simplification_pass.cpp */; };
-		A9415C26243667F800566F16 /* simplification_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941591C243667F600566F16 /* simplification_pass.cpp */; };
-		A9415C27243667F800566F16 /* dead_branch_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941591D243667F600566F16 /* dead_branch_elim_pass.cpp */; };
-		A9415C28243667F800566F16 /* dead_branch_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941591D243667F600566F16 /* dead_branch_elim_pass.cpp */; };
-		A9415C29243667F800566F16 /* flatten_decoration_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941591E243667F600566F16 /* flatten_decoration_pass.cpp */; };
-		A9415C2A243667F800566F16 /* flatten_decoration_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941591E243667F600566F16 /* flatten_decoration_pass.cpp */; };
-		A9415C2B243667F800566F16 /* dead_insert_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A941591F243667F600566F16 /* dead_insert_elim_pass.h */; };
-		A9415C2C243667F800566F16 /* dead_insert_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A941591F243667F600566F16 /* dead_insert_elim_pass.h */; };
-		A9415C2D243667F800566F16 /* folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415920243667F600566F16 /* folding_rules.cpp */; };
-		A9415C2E243667F800566F16 /* folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415920243667F600566F16 /* folding_rules.cpp */; };
-		A9415C2F243667F800566F16 /* freeze_spec_constant_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415921243667F600566F16 /* freeze_spec_constant_value_pass.h */; };
-		A9415C30243667F800566F16 /* freeze_spec_constant_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415921243667F600566F16 /* freeze_spec_constant_value_pass.h */; };
-		A9415C31243667F800566F16 /* ir_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415922243667F600566F16 /* ir_context.cpp */; };
-		A9415C32243667F800566F16 /* ir_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415922243667F600566F16 /* ir_context.cpp */; };
-		A9415C33243667F800566F16 /* instrument_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415923243667F600566F16 /* instrument_pass.h */; };
-		A9415C34243667F800566F16 /* instrument_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415923243667F600566F16 /* instrument_pass.h */; };
-		A9415C35243667F800566F16 /* mem_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415924243667F600566F16 /* mem_pass.h */; };
-		A9415C36243667F800566F16 /* mem_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415924243667F600566F16 /* mem_pass.h */; };
-		A9415C37243667F800566F16 /* loop_descriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415925243667F600566F16 /* loop_descriptor.cpp */; };
-		A9415C38243667F800566F16 /* loop_descriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415925243667F600566F16 /* loop_descriptor.cpp */; };
-		A9415C39243667F800566F16 /* eliminate_dead_members_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415926243667F600566F16 /* eliminate_dead_members_pass.h */; };
-		A9415C3A243667F800566F16 /* eliminate_dead_members_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415926243667F600566F16 /* eliminate_dead_members_pass.h */; };
-		A9415C3B243667F800566F16 /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415927243667F600566F16 /* function.cpp */; };
-		A9415C3C243667F800566F16 /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415927243667F600566F16 /* function.cpp */; };
-		A9415C3D243667F800566F16 /* instruction_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415928243667F600566F16 /* instruction_list.cpp */; };
-		A9415C3E243667F800566F16 /* instruction_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415928243667F600566F16 /* instruction_list.cpp */; };
-		A9415C3F243667F800566F16 /* composite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415929243667F600566F16 /* composite.cpp */; };
-		A9415C40243667F800566F16 /* composite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415929243667F600566F16 /* composite.cpp */; };
-		A9415C41243667F800566F16 /* convert_to_half_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941592A243667F600566F16 /* convert_to_half_pass.cpp */; };
-		A9415C42243667F800566F16 /* convert_to_half_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941592A243667F600566F16 /* convert_to_half_pass.cpp */; };
-		A9415C43243667F800566F16 /* process_lines_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941592B243667F600566F16 /* process_lines_pass.cpp */; };
-		A9415C44243667F800566F16 /* process_lines_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941592B243667F600566F16 /* process_lines_pass.cpp */; };
-		A9415C45243667F800566F16 /* inline_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A941592C243667F600566F16 /* inline_pass.h */; };
-		A9415C46243667F800566F16 /* inline_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A941592C243667F600566F16 /* inline_pass.h */; };
-		A9415C47243667F800566F16 /* loop_dependence.h in Headers */ = {isa = PBXBuildFile; fileRef = A941592D243667F600566F16 /* loop_dependence.h */; };
-		A9415C48243667F800566F16 /* loop_dependence.h in Headers */ = {isa = PBXBuildFile; fileRef = A941592D243667F600566F16 /* loop_dependence.h */; };
-		A9415C49243667F800566F16 /* value_number_table.h in Headers */ = {isa = PBXBuildFile; fileRef = A941592E243667F600566F16 /* value_number_table.h */; };
-		A9415C4A243667F800566F16 /* value_number_table.h in Headers */ = {isa = PBXBuildFile; fileRef = A941592E243667F600566F16 /* value_number_table.h */; };
-		A9415C4B243667F800566F16 /* flatten_decoration_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A941592F243667F600566F16 /* flatten_decoration_pass.h */; };
-		A9415C4C243667F800566F16 /* flatten_decoration_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A941592F243667F600566F16 /* flatten_decoration_pass.h */; };
-		A9415C4D243667F800566F16 /* if_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415930243667F600566F16 /* if_conversion.cpp */; };
-		A9415C4E243667F800566F16 /* if_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415930243667F600566F16 /* if_conversion.cpp */; };
-		A9415C4F243667F800566F16 /* inline_exhaustive_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415931243667F600566F16 /* inline_exhaustive_pass.h */; };
-		A9415C50243667F800566F16 /* inline_exhaustive_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415931243667F600566F16 /* inline_exhaustive_pass.h */; };
-		A9415C51243667F800566F16 /* constants.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415932243667F600566F16 /* constants.h */; };
-		A9415C52243667F800566F16 /* constants.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415932243667F600566F16 /* constants.h */; };
-		A9415C53243667F800566F16 /* eliminate_dead_members_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415933243667F600566F16 /* eliminate_dead_members_pass.cpp */; };
-		A9415C54243667F800566F16 /* eliminate_dead_members_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415933243667F600566F16 /* eliminate_dead_members_pass.cpp */; };
-		A9415C55243667F800566F16 /* strength_reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415934243667F600566F16 /* strength_reduction_pass.cpp */; };
-		A9415C56243667F800566F16 /* strength_reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415934243667F600566F16 /* strength_reduction_pass.cpp */; };
-		A9415C57243667F800566F16 /* desc_sroa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415935243667F600566F16 /* desc_sroa.cpp */; };
-		A9415C58243667F800566F16 /* desc_sroa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415935243667F600566F16 /* desc_sroa.cpp */; };
-		A9415C59243667F800566F16 /* block_merge_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415936243667F600566F16 /* block_merge_util.cpp */; };
-		A9415C5A243667F800566F16 /* block_merge_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415936243667F600566F16 /* block_merge_util.cpp */; };
-		A9415C5B243667F800566F16 /* upgrade_memory_model.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415937243667F600566F16 /* upgrade_memory_model.h */; };
-		A9415C5C243667F800566F16 /* upgrade_memory_model.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415937243667F600566F16 /* upgrade_memory_model.h */; };
-		A9415C5D243667F800566F16 /* copy_prop_arrays.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415938243667F600566F16 /* copy_prop_arrays.cpp */; };
-		A9415C5E243667F800566F16 /* copy_prop_arrays.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415938243667F600566F16 /* copy_prop_arrays.cpp */; };
-		A9415C5F243667F800566F16 /* pass_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415939243667F600566F16 /* pass_manager.cpp */; };
-		A9415C60243667F800566F16 /* pass_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415939243667F600566F16 /* pass_manager.cpp */; };
-		A9415C61243667F800566F16 /* inline_exhaustive_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941593A243667F600566F16 /* inline_exhaustive_pass.cpp */; };
-		A9415C62243667F800566F16 /* inline_exhaustive_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941593A243667F600566F16 /* inline_exhaustive_pass.cpp */; };
-		A9415C63243667F800566F16 /* loop_fission.h in Headers */ = {isa = PBXBuildFile; fileRef = A941593B243667F600566F16 /* loop_fission.h */; };
-		A9415C64243667F800566F16 /* loop_fission.h in Headers */ = {isa = PBXBuildFile; fileRef = A941593B243667F600566F16 /* loop_fission.h */; };
-		A9415C65243667F800566F16 /* workaround1209.h in Headers */ = {isa = PBXBuildFile; fileRef = A941593C243667F600566F16 /* workaround1209.h */; };
-		A9415C66243667F800566F16 /* workaround1209.h in Headers */ = {isa = PBXBuildFile; fileRef = A941593C243667F600566F16 /* workaround1209.h */; };
-		A9415C67243667F800566F16 /* loop_fusion_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941593D243667F600566F16 /* loop_fusion_pass.cpp */; };
-		A9415C68243667F800566F16 /* loop_fusion_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941593D243667F600566F16 /* loop_fusion_pass.cpp */; };
-		A9415C69243667F800566F16 /* log.h in Headers */ = {isa = PBXBuildFile; fileRef = A941593E243667F600566F16 /* log.h */; };
-		A9415C6A243667F800566F16 /* log.h in Headers */ = {isa = PBXBuildFile; fileRef = A941593E243667F600566F16 /* log.h */; };
-		A9415C6B243667F800566F16 /* split_invalid_unreachable_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A941593F243667F600566F16 /* split_invalid_unreachable_pass.h */; };
-		A9415C6C243667F800566F16 /* split_invalid_unreachable_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A941593F243667F600566F16 /* split_invalid_unreachable_pass.h */; };
-		A9415C6D243667F800566F16 /* copy_prop_arrays.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415940243667F600566F16 /* copy_prop_arrays.h */; };
-		A9415C6E243667F800566F16 /* copy_prop_arrays.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415940243667F600566F16 /* copy_prop_arrays.h */; };
-		A9415C6F243667F800566F16 /* eliminate_dead_constant_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415941243667F600566F16 /* eliminate_dead_constant_pass.h */; };
-		A9415C70243667F800566F16 /* eliminate_dead_constant_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415941243667F600566F16 /* eliminate_dead_constant_pass.h */; };
-		A9415C71243667F800566F16 /* dead_insert_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415942243667F600566F16 /* dead_insert_elim_pass.cpp */; };
-		A9415C72243667F800566F16 /* dead_insert_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415942243667F600566F16 /* dead_insert_elim_pass.cpp */; };
-		A9415C73243667F800566F16 /* ssa_rewrite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415943243667F600566F16 /* ssa_rewrite_pass.h */; };
-		A9415C74243667F800566F16 /* ssa_rewrite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415943243667F600566F16 /* ssa_rewrite_pass.h */; };
-		A9415C75243667F800566F16 /* scalar_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415944243667F600566F16 /* scalar_analysis.cpp */; };
-		A9415C76243667F800566F16 /* scalar_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415944243667F600566F16 /* scalar_analysis.cpp */; };
-		A9415C77243667F800566F16 /* dead_variable_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415945243667F600566F16 /* dead_variable_elimination.h */; };
-		A9415C78243667F800566F16 /* dead_variable_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415945243667F600566F16 /* dead_variable_elimination.h */; };
-		A9415C79243667F800566F16 /* block_merge_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415946243667F600566F16 /* block_merge_pass.cpp */; };
-		A9415C7A243667F800566F16 /* block_merge_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415946243667F600566F16 /* block_merge_pass.cpp */; };
-		A9415C7B243667F800566F16 /* dominator_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415947243667F600566F16 /* dominator_analysis.h */; };
-		A9415C7C243667F800566F16 /* dominator_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415947243667F600566F16 /* dominator_analysis.h */; };
-		A9415C7D243667F800566F16 /* pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415948243667F600566F16 /* pass.h */; };
-		A9415C7E243667F800566F16 /* pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415948243667F600566F16 /* pass.h */; };
-		A9415C7F243667F800566F16 /* folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415949243667F600566F16 /* folding_rules.h */; };
-		A9415C80243667F800566F16 /* folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415949243667F600566F16 /* folding_rules.h */; };
-		A9415C81243667F800566F16 /* eliminate_dead_functions_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A941594A243667F600566F16 /* eliminate_dead_functions_pass.h */; };
-		A9415C82243667F800566F16 /* eliminate_dead_functions_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A941594A243667F600566F16 /* eliminate_dead_functions_pass.h */; };
-		A9415C83243667F800566F16 /* eliminate_dead_functions_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A941594B243667F600566F16 /* eliminate_dead_functions_util.h */; };
-		A9415C84243667F800566F16 /* eliminate_dead_functions_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A941594B243667F600566F16 /* eliminate_dead_functions_util.h */; };
-		A9415C85243667F800566F16 /* fold.h in Headers */ = {isa = PBXBuildFile; fileRef = A941594C243667F600566F16 /* fold.h */; };
-		A9415C86243667F800566F16 /* fold.h in Headers */ = {isa = PBXBuildFile; fileRef = A941594C243667F600566F16 /* fold.h */; };
-		A9415C87243667F800566F16 /* local_single_store_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941594D243667F600566F16 /* local_single_store_elim_pass.cpp */; };
-		A9415C88243667F800566F16 /* local_single_store_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941594D243667F600566F16 /* local_single_store_elim_pass.cpp */; };
-		A9415C89243667F800566F16 /* dead_branch_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A941594E243667F600566F16 /* dead_branch_elim_pass.h */; };
-		A9415C8A243667F800566F16 /* dead_branch_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A941594E243667F600566F16 /* dead_branch_elim_pass.h */; };
-		A9415C8B243667F800566F16 /* private_to_local_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941594F243667F600566F16 /* private_to_local_pass.cpp */; };
-		A9415C8C243667F800566F16 /* private_to_local_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941594F243667F600566F16 /* private_to_local_pass.cpp */; };
-		A9415C8D243667F800566F16 /* scalar_analysis_nodes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415950243667F600566F16 /* scalar_analysis_nodes.h */; };
-		A9415C8E243667F800566F16 /* scalar_analysis_nodes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415950243667F600566F16 /* scalar_analysis_nodes.h */; };
-		A9415C8F243667F800566F16 /* propagator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415951243667F600566F16 /* propagator.cpp */; };
-		A9415C90243667F800566F16 /* propagator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415951243667F600566F16 /* propagator.cpp */; };
-		A9415C91243667F800566F16 /* fix_storage_class.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415952243667F600566F16 /* fix_storage_class.h */; };
-		A9415C92243667F800566F16 /* fix_storage_class.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415952243667F600566F16 /* fix_storage_class.h */; };
-		A9415C93243667F800566F16 /* loop_dependence_helpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415953243667F600566F16 /* loop_dependence_helpers.cpp */; };
-		A9415C94243667F800566F16 /* loop_dependence_helpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415953243667F600566F16 /* loop_dependence_helpers.cpp */; };
-		A9415C95243667F800566F16 /* set_spec_constant_default_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415954243667F600566F16 /* set_spec_constant_default_value_pass.cpp */; };
-		A9415C96243667F800566F16 /* set_spec_constant_default_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415954243667F600566F16 /* set_spec_constant_default_value_pass.cpp */; };
-		A9415C97243667F800566F16 /* passes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415955243667F600566F16 /* passes.h */; };
-		A9415C98243667F800566F16 /* passes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415955243667F600566F16 /* passes.h */; };
-		A9415C99243667F800566F16 /* fold.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415956243667F600566F16 /* fold.cpp */; };
-		A9415C9A243667F800566F16 /* fold.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415956243667F600566F16 /* fold.cpp */; };
-		A9415C9B243667F800566F16 /* amd_ext_to_khr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415957243667F600566F16 /* amd_ext_to_khr.cpp */; };
-		A9415C9C243667F800566F16 /* amd_ext_to_khr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415957243667F600566F16 /* amd_ext_to_khr.cpp */; };
-		A9415C9D243667F800566F16 /* strip_reflect_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415958243667F600566F16 /* strip_reflect_info_pass.h */; };
-		A9415C9E243667F800566F16 /* strip_reflect_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415958243667F600566F16 /* strip_reflect_info_pass.h */; };
-		A9415C9F243667F800566F16 /* scalar_replacement_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415959243667F600566F16 /* scalar_replacement_pass.cpp */; };
-		A9415CA0243667F800566F16 /* scalar_replacement_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415959243667F600566F16 /* scalar_replacement_pass.cpp */; };
-		A9415CA1243667F800566F16 /* simplification_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A941595A243667F600566F16 /* simplification_pass.h */; };
-		A9415CA2243667F800566F16 /* simplification_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A941595A243667F600566F16 /* simplification_pass.h */; };
-		A9415CA3243667F800566F16 /* remove_duplicates_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A941595B243667F600566F16 /* remove_duplicates_pass.h */; };
-		A9415CA4243667F800566F16 /* remove_duplicates_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A941595B243667F600566F16 /* remove_duplicates_pass.h */; };
-		A9415CA5243667F800566F16 /* redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941595C243667F600566F16 /* redundancy_elimination.cpp */; };
-		A9415CA6243667F800566F16 /* redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941595C243667F600566F16 /* redundancy_elimination.cpp */; };
-		A9415CA7243667F800566F16 /* reflect.h in Headers */ = {isa = PBXBuildFile; fileRef = A941595D243667F600566F16 /* reflect.h */; };
-		A9415CA8243667F800566F16 /* reflect.h in Headers */ = {isa = PBXBuildFile; fileRef = A941595D243667F600566F16 /* reflect.h */; };
-		A9415CA9243667F800566F16 /* workaround1209.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941595E243667F600566F16 /* workaround1209.cpp */; };
-		A9415CAA243667F800566F16 /* workaround1209.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941595E243667F600566F16 /* workaround1209.cpp */; };
-		A9415CAB243667F800566F16 /* null_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A941595F243667F600566F16 /* null_pass.h */; };
-		A9415CAC243667F800566F16 /* null_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A941595F243667F600566F16 /* null_pass.h */; };
-		A9415CAD243667F800566F16 /* relax_float_ops_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415960243667F600566F16 /* relax_float_ops_pass.cpp */; };
-		A9415CAE243667F800566F16 /* relax_float_ops_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415960243667F600566F16 /* relax_float_ops_pass.cpp */; };
-		A9415CAF243667F800566F16 /* const_folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415961243667F600566F16 /* const_folding_rules.h */; };
-		A9415CB0243667F800566F16 /* const_folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415961243667F600566F16 /* const_folding_rules.h */; };
-		A9415CB1243667F800566F16 /* scalar_replacement_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415962243667F600566F16 /* scalar_replacement_pass.h */; };
-		A9415CB2243667F800566F16 /* scalar_replacement_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415962243667F600566F16 /* scalar_replacement_pass.h */; };
-		A9415CB3243667F800566F16 /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415963243667F600566F16 /* instruction.cpp */; };
-		A9415CB4243667F800566F16 /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415963243667F600566F16 /* instruction.cpp */; };
-		A9415CB5243667F800566F16 /* pch_source_opt.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415964243667F600566F16 /* pch_source_opt.h */; };
-		A9415CB6243667F800566F16 /* pch_source_opt.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415964243667F600566F16 /* pch_source_opt.h */; };
-		A9415CB7243667F800566F16 /* reduce_load_size.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415965243667F600566F16 /* reduce_load_size.cpp */; };
-		A9415CB8243667F800566F16 /* reduce_load_size.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415965243667F600566F16 /* reduce_load_size.cpp */; };
-		A9415CB9243667F800566F16 /* redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415966243667F600566F16 /* redundancy_elimination.h */; };
-		A9415CBA243667F800566F16 /* redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415966243667F600566F16 /* redundancy_elimination.h */; };
-		A9415CBB243667F800566F16 /* fix_storage_class.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415967243667F600566F16 /* fix_storage_class.cpp */; };
-		A9415CBC243667F800566F16 /* fix_storage_class.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415967243667F600566F16 /* fix_storage_class.cpp */; };
-		A9415CBD243667F800566F16 /* value_number_table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415968243667F600566F16 /* value_number_table.cpp */; };
-		A9415CBE243667F800566F16 /* value_number_table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415968243667F600566F16 /* value_number_table.cpp */; };
-		A9415CBF243667F800566F16 /* inline_opaque_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415969243667F600566F16 /* inline_opaque_pass.cpp */; };
-		A9415CC0243667F800566F16 /* inline_opaque_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415969243667F600566F16 /* inline_opaque_pass.cpp */; };
-		A9415CC1243667F800566F16 /* replace_invalid_opc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941596A243667F600566F16 /* replace_invalid_opc.cpp */; };
-		A9415CC2243667F800566F16 /* replace_invalid_opc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941596A243667F600566F16 /* replace_invalid_opc.cpp */; };
-		A9415CC3243667F800566F16 /* loop_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A941596B243667F600566F16 /* loop_utils.h */; };
-		A9415CC4243667F800566F16 /* loop_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A941596B243667F600566F16 /* loop_utils.h */; };
-		A9415CC5243667F800566F16 /* module.h in Headers */ = {isa = PBXBuildFile; fileRef = A941596C243667F700566F16 /* module.h */; };
-		A9415CC6243667F800566F16 /* module.h in Headers */ = {isa = PBXBuildFile; fileRef = A941596C243667F700566F16 /* module.h */; };
-		A9415CC7243667F800566F16 /* dominator_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941596D243667F700566F16 /* dominator_analysis.cpp */; };
-		A9415CC8243667F800566F16 /* dominator_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941596D243667F700566F16 /* dominator_analysis.cpp */; };
-		A9415CC9243667F800566F16 /* decompose_initialized_variables_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941596E243667F700566F16 /* decompose_initialized_variables_pass.cpp */; };
-		A9415CCA243667F800566F16 /* decompose_initialized_variables_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941596E243667F700566F16 /* decompose_initialized_variables_pass.cpp */; };
-		A9415CCB243667F800566F16 /* ir_builder.h in Headers */ = {isa = PBXBuildFile; fileRef = A941596F243667F700566F16 /* ir_builder.h */; };
-		A9415CCC243667F800566F16 /* ir_builder.h in Headers */ = {isa = PBXBuildFile; fileRef = A941596F243667F700566F16 /* ir_builder.h */; };
-		A9415CCD243667F800566F16 /* loop_unswitch_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415970243667F700566F16 /* loop_unswitch_pass.h */; };
-		A9415CCE243667F800566F16 /* loop_unswitch_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415970243667F700566F16 /* loop_unswitch_pass.h */; };
-		A9415CCF243667F800566F16 /* cfg.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415971243667F700566F16 /* cfg.h */; };
-		A9415CD0243667F800566F16 /* cfg.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415971243667F700566F16 /* cfg.h */; };
-		A9415CD1243667F800566F16 /* code_sink.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415972243667F700566F16 /* code_sink.h */; };
-		A9415CD2243667F800566F16 /* code_sink.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415972243667F700566F16 /* code_sink.h */; };
-		A9415CD3243667F800566F16 /* loop_descriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415973243667F700566F16 /* loop_descriptor.h */; };
-		A9415CD4243667F800566F16 /* loop_descriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415973243667F700566F16 /* loop_descriptor.h */; };
-		A9415CD5243667F800566F16 /* generate_webgpu_initializers_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415974243667F700566F16 /* generate_webgpu_initializers_pass.h */; };
-		A9415CD6243667F800566F16 /* generate_webgpu_initializers_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415974243667F700566F16 /* generate_webgpu_initializers_pass.h */; };
-		A9415CD7243667F800566F16 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415975243667F700566F16 /* instruction.h */; };
-		A9415CD8243667F800566F16 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415975243667F700566F16 /* instruction.h */; };
-		A9415CD9243667F800566F16 /* aggressive_dead_code_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415976243667F700566F16 /* aggressive_dead_code_elim_pass.h */; };
-		A9415CDA243667F800566F16 /* aggressive_dead_code_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415976243667F700566F16 /* aggressive_dead_code_elim_pass.h */; };
-		A9415CDB243667F800566F16 /* struct_cfg_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415977243667F700566F16 /* struct_cfg_analysis.cpp */; };
-		A9415CDC243667F800566F16 /* struct_cfg_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415977243667F700566F16 /* struct_cfg_analysis.cpp */; };
-		A9415CDD243667F800566F16 /* vector_dce.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415978243667F700566F16 /* vector_dce.h */; };
-		A9415CDE243667F800566F16 /* vector_dce.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415978243667F700566F16 /* vector_dce.h */; };
-		A9415CDF243667F800566F16 /* combine_access_chains.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415979243667F700566F16 /* combine_access_chains.h */; };
-		A9415CE0243667F800566F16 /* combine_access_chains.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415979243667F700566F16 /* combine_access_chains.h */; };
-		A9415CE1243667F800566F16 /* pass_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A941597A243667F700566F16 /* pass_manager.h */; };
-		A9415CE2243667F800566F16 /* pass_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A941597A243667F700566F16 /* pass_manager.h */; };
-		A9415CE3243667F800566F16 /* local_access_chain_convert_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941597B243667F700566F16 /* local_access_chain_convert_pass.cpp */; };
-		A9415CE4243667F800566F16 /* local_access_chain_convert_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941597B243667F700566F16 /* local_access_chain_convert_pass.cpp */; };
-		A9415CE5243667F800566F16 /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941597C243667F700566F16 /* basic_block.cpp */; };
-		A9415CE6243667F800566F16 /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941597C243667F700566F16 /* basic_block.cpp */; };
-		A9415CE7243667F800566F16 /* iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A941597D243667F700566F16 /* iterator.h */; };
-		A9415CE8243667F800566F16 /* iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A941597D243667F700566F16 /* iterator.h */; };
-		A9415CE9243667F800566F16 /* licm_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A941597E243667F700566F16 /* licm_pass.h */; };
-		A9415CEA243667F800566F16 /* licm_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A941597E243667F700566F16 /* licm_pass.h */; };
-		A9415CEB243667F800566F16 /* build_module.h in Headers */ = {isa = PBXBuildFile; fileRef = A941597F243667F700566F16 /* build_module.h */; };
-		A9415CEC243667F800566F16 /* build_module.h in Headers */ = {isa = PBXBuildFile; fileRef = A941597F243667F700566F16 /* build_module.h */; };
-		A9415CED243667F800566F16 /* ccp_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415980243667F700566F16 /* ccp_pass.h */; };
-		A9415CEE243667F800566F16 /* ccp_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415980243667F700566F16 /* ccp_pass.h */; };
-		A9415CEF243667F800566F16 /* graphics_robust_access_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415981243667F700566F16 /* graphics_robust_access_pass.cpp */; };
-		A9415CF0243667F800566F16 /* graphics_robust_access_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415981243667F700566F16 /* graphics_robust_access_pass.cpp */; };
-		A9415CF1243667F800566F16 /* decompose_initialized_variables_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415982243667F700566F16 /* decompose_initialized_variables_pass.h */; };
-		A9415CF2243667F800566F16 /* decompose_initialized_variables_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415982243667F700566F16 /* decompose_initialized_variables_pass.h */; };
-		A9415CF3243667F800566F16 /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415983243667F700566F16 /* function.h */; };
-		A9415CF4243667F800566F16 /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415983243667F700566F16 /* function.h */; };
-		A9415CF5243667F800566F16 /* loop_fusion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415984243667F700566F16 /* loop_fusion.cpp */; };
-		A9415CF6243667F800566F16 /* loop_fusion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415984243667F700566F16 /* loop_fusion.cpp */; };
-		A9415CF7243667F800566F16 /* upgrade_memory_model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415985243667F700566F16 /* upgrade_memory_model.cpp */; };
-		A9415CF8243667F800566F16 /* upgrade_memory_model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415985243667F700566F16 /* upgrade_memory_model.cpp */; };
-		A9415CF9243667F800566F16 /* feature_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415986243667F700566F16 /* feature_manager.h */; };
-		A9415CFA243667F800566F16 /* feature_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415986243667F700566F16 /* feature_manager.h */; };
-		A9415CFB243667F800566F16 /* inst_bindless_check_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415987243667F700566F16 /* inst_bindless_check_pass.h */; };
-		A9415CFC243667F800566F16 /* inst_bindless_check_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415987243667F700566F16 /* inst_bindless_check_pass.h */; };
-		A9415CFD243667F800566F16 /* scalar_analysis_simplification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415988243667F700566F16 /* scalar_analysis_simplification.cpp */; };
-		A9415CFE243667F800566F16 /* scalar_analysis_simplification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415988243667F700566F16 /* scalar_analysis_simplification.cpp */; };
-		A9415CFF243667F800566F16 /* set_spec_constant_default_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415989243667F700566F16 /* set_spec_constant_default_value_pass.h */; };
-		A9415D00243667F800566F16 /* set_spec_constant_default_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415989243667F700566F16 /* set_spec_constant_default_value_pass.h */; };
-		A9415D01243667F800566F16 /* dominator_tree.h in Headers */ = {isa = PBXBuildFile; fileRef = A941598A243667F700566F16 /* dominator_tree.h */; };
-		A9415D02243667F800566F16 /* dominator_tree.h in Headers */ = {isa = PBXBuildFile; fileRef = A941598A243667F700566F16 /* dominator_tree.h */; };
-		A9415D03243667F800566F16 /* legalize_vector_shuffle_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941598B243667F700566F16 /* legalize_vector_shuffle_pass.cpp */; };
-		A9415D04243667F800566F16 /* legalize_vector_shuffle_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941598B243667F700566F16 /* legalize_vector_shuffle_pass.cpp */; };
-		A9415D05243667F800566F16 /* type_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A941598C243667F700566F16 /* type_manager.h */; };
-		A9415D06243667F800566F16 /* type_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A941598C243667F700566F16 /* type_manager.h */; };
-		A9415D07243667F800566F16 /* compact_ids_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941598D243667F700566F16 /* compact_ids_pass.cpp */; };
-		A9415D08243667F800566F16 /* compact_ids_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941598D243667F700566F16 /* compact_ids_pass.cpp */; };
-		A9415D09243667F800566F16 /* loop_peeling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941598E243667F700566F16 /* loop_peeling.cpp */; };
-		A9415D0A243667F800566F16 /* loop_peeling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A941598E243667F700566F16 /* loop_peeling.cpp */; };
-		A9415D0B243667F800566F16 /* table.h in Headers */ = {isa = PBXBuildFile; fileRef = A941598F243667F700566F16 /* table.h */; };
-		A9415D0C243667F800566F16 /* table.h in Headers */ = {isa = PBXBuildFile; fileRef = A941598F243667F700566F16 /* table.h */; };
-		A9415E77243667F900566F16 /* ext_inst.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A48243667F700566F16 /* ext_inst.h */; };
-		A9415E78243667F900566F16 /* ext_inst.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A48243667F700566F16 /* ext_inst.h */; };
-		A9415E79243667F900566F16 /* diagnostic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A49243667F700566F16 /* diagnostic.cpp */; };
-		A9415E7A243667F900566F16 /* diagnostic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A49243667F700566F16 /* diagnostic.cpp */; };
-		A9415E7B243667F900566F16 /* latest_version_spirv_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A4A243667F700566F16 /* latest_version_spirv_header.h */; };
-		A9415E7C243667F900566F16 /* latest_version_spirv_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A4A243667F700566F16 /* latest_version_spirv_header.h */; };
-		A9415E7D243667F900566F16 /* libspirv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A4B243667F700566F16 /* libspirv.cpp */; };
-		A9415E7E243667F900566F16 /* libspirv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A4B243667F700566F16 /* libspirv.cpp */; };
-		A9415E7F243667F900566F16 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A4C243667F700566F16 /* instruction.h */; };
-		A9415E80243667F900566F16 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A4C243667F700566F16 /* instruction.h */; };
-		A9415E81243667F900566F16 /* spirv_optimizer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A4D243667F700566F16 /* spirv_optimizer_options.h */; };
-		A9415E82243667F900566F16 /* spirv_optimizer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A4D243667F700566F16 /* spirv_optimizer_options.h */; };
-		A9415E83243667F900566F16 /* opcode.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A4E243667F700566F16 /* opcode.h */; };
-		A9415E84243667F900566F16 /* opcode.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A4E243667F700566F16 /* opcode.h */; };
-		A9415E85243667F900566F16 /* operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A4F243667F700566F16 /* operand.cpp */; };
-		A9415E86243667F900566F16 /* operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A4F243667F700566F16 /* operand.cpp */; };
-		A9415E87243667F900566F16 /* latest_version_glsl_std_450_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A50243667F700566F16 /* latest_version_glsl_std_450_header.h */; };
-		A9415E88243667F900566F16 /* latest_version_glsl_std_450_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A50243667F700566F16 /* latest_version_glsl_std_450_header.h */; };
-		A9415E89243667F900566F16 /* extensions.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A51243667F700566F16 /* extensions.h */; };
-		A9415E8A243667F900566F16 /* extensions.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A51243667F700566F16 /* extensions.h */; };
-		A9415E8B243667F900566F16 /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A52243667F700566F16 /* disassemble.cpp */; };
-		A9415E8C243667F900566F16 /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A52243667F700566F16 /* disassemble.cpp */; };
-		A9415E8D243667F900566F16 /* binary.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A53243667F700566F16 /* binary.h */; };
-		A9415E8E243667F900566F16 /* binary.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A53243667F700566F16 /* binary.h */; };
-		A9415E8F243667F900566F16 /* text_handler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A54243667F700566F16 /* text_handler.cpp */; };
-		A9415E90243667F900566F16 /* text_handler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A54243667F700566F16 /* text_handler.cpp */; };
-		A9415E91243667F900566F16 /* validate_annotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A56243667F700566F16 /* validate_annotation.cpp */; };
-		A9415E92243667F900566F16 /* validate_annotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A56243667F700566F16 /* validate_annotation.cpp */; };
-		A9415E93243667F900566F16 /* validate_misc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A57243667F700566F16 /* validate_misc.cpp */; };
-		A9415E94243667F900566F16 /* validate_misc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A57243667F700566F16 /* validate_misc.cpp */; };
-		A9415E95243667F900566F16 /* validate_cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A58243667F700566F16 /* validate_cfg.cpp */; };
-		A9415E96243667F900566F16 /* validate_cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A58243667F700566F16 /* validate_cfg.cpp */; };
-		A9415E97243667F900566F16 /* validate_capability.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A59243667F700566F16 /* validate_capability.cpp */; };
-		A9415E98243667F900566F16 /* validate_capability.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A59243667F700566F16 /* validate_capability.cpp */; };
-		A9415E99243667F900566F16 /* construct.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A5A243667F700566F16 /* construct.h */; };
-		A9415E9A243667F900566F16 /* construct.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A5A243667F700566F16 /* construct.h */; };
-		A9415E9B243667F900566F16 /* validate_barriers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A5B243667F700566F16 /* validate_barriers.cpp */; };
-		A9415E9C243667F900566F16 /* validate_barriers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A5B243667F700566F16 /* validate_barriers.cpp */; };
-		A9415E9D243667F900566F16 /* validate_non_uniform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A5C243667F700566F16 /* validate_non_uniform.cpp */; };
-		A9415E9E243667F900566F16 /* validate_non_uniform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A5C243667F700566F16 /* validate_non_uniform.cpp */; };
-		A9415E9F243667F900566F16 /* validate_scopes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A5D243667F700566F16 /* validate_scopes.cpp */; };
-		A9415EA0243667F900566F16 /* validate_scopes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A5D243667F700566F16 /* validate_scopes.cpp */; };
-		A9415EA1243667F900566F16 /* validate_atomics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A5E243667F700566F16 /* validate_atomics.cpp */; };
-		A9415EA2243667F900566F16 /* validate_atomics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A5E243667F700566F16 /* validate_atomics.cpp */; };
-		A9415EA3243667F900566F16 /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A5F243667F700566F16 /* basic_block.h */; };
-		A9415EA4243667F900566F16 /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A5F243667F700566F16 /* basic_block.h */; };
-		A9415EA5243667F900566F16 /* validate_instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A60243667F700566F16 /* validate_instruction.cpp */; };
-		A9415EA6243667F900566F16 /* validate_instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A60243667F700566F16 /* validate_instruction.cpp */; };
-		A9415EA7243667F900566F16 /* validate_decorations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A61243667F700566F16 /* validate_decorations.cpp */; };
-		A9415EA8243667F900566F16 /* validate_decorations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A61243667F700566F16 /* validate_decorations.cpp */; };
-		A9415EA9243667F900566F16 /* validate_debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A62243667F700566F16 /* validate_debug.cpp */; };
-		A9415EAA243667F900566F16 /* validate_debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A62243667F700566F16 /* validate_debug.cpp */; };
-		A9415EAB243667F900566F16 /* validate_builtins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A63243667F700566F16 /* validate_builtins.cpp */; };
-		A9415EAC243667F900566F16 /* validate_builtins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A63243667F700566F16 /* validate_builtins.cpp */; };
-		A9415EAD243667F900566F16 /* validate_interfaces.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A64243667F700566F16 /* validate_interfaces.cpp */; };
-		A9415EAE243667F900566F16 /* validate_interfaces.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A64243667F700566F16 /* validate_interfaces.cpp */; };
-		A9415EAF243667F900566F16 /* validate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A65243667F700566F16 /* validate.cpp */; };
-		A9415EB0243667F900566F16 /* validate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A65243667F700566F16 /* validate.cpp */; };
-		A9415EB1243667F900566F16 /* validation_state.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A66243667F700566F16 /* validation_state.h */; };
-		A9415EB2243667F900566F16 /* validation_state.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A66243667F700566F16 /* validation_state.h */; };
-		A9415EB3243667F900566F16 /* validate_constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A67243667F700566F16 /* validate_constants.cpp */; };
-		A9415EB4243667F900566F16 /* validate_constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A67243667F700566F16 /* validate_constants.cpp */; };
-		A9415EB5243667F900566F16 /* validate_bitwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A68243667F700566F16 /* validate_bitwise.cpp */; };
-		A9415EB6243667F900566F16 /* validate_bitwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A68243667F700566F16 /* validate_bitwise.cpp */; };
-		A9415EB7243667F900566F16 /* validate_extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A69243667F700566F16 /* validate_extensions.cpp */; };
-		A9415EB8243667F900566F16 /* validate_extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A69243667F700566F16 /* validate_extensions.cpp */; };
-		A9415EB9243667F900566F16 /* construct.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A6A243667F700566F16 /* construct.cpp */; };
-		A9415EBA243667F900566F16 /* construct.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A6A243667F700566F16 /* construct.cpp */; };
-		A9415EBB243667F900566F16 /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A6B243667F700566F16 /* function.cpp */; };
-		A9415EBC243667F900566F16 /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A6B243667F700566F16 /* function.cpp */; };
-		A9415EBD243667F900566F16 /* validate.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A6C243667F700566F16 /* validate.h */; };
-		A9415EBE243667F900566F16 /* validate.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A6C243667F700566F16 /* validate.h */; };
-		A9415EBF243667F900566F16 /* validate_adjacency.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A6D243667F700566F16 /* validate_adjacency.cpp */; };
-		A9415EC0243667F900566F16 /* validate_adjacency.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A6D243667F700566F16 /* validate_adjacency.cpp */; };
-		A9415EC1243667F900566F16 /* validate_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A6E243667F700566F16 /* validate_conversion.cpp */; };
-		A9415EC2243667F900566F16 /* validate_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A6E243667F700566F16 /* validate_conversion.cpp */; };
-		A9415EC3243667F900566F16 /* validate_small_type_uses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A6F243667F700566F16 /* validate_small_type_uses.cpp */; };
-		A9415EC4243667F900566F16 /* validate_small_type_uses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A6F243667F700566F16 /* validate_small_type_uses.cpp */; };
-		A9415EC5243667F900566F16 /* validate_scopes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A70243667F700566F16 /* validate_scopes.h */; };
-		A9415EC6243667F900566F16 /* validate_scopes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A70243667F700566F16 /* validate_scopes.h */; };
-		A9415EC7243667F900566F16 /* validate_id.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A71243667F700566F16 /* validate_id.cpp */; };
-		A9415EC8243667F900566F16 /* validate_id.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A71243667F700566F16 /* validate_id.cpp */; };
-		A9415EC9243667F900566F16 /* validate_memory_semantics.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A72243667F700566F16 /* validate_memory_semantics.h */; };
-		A9415ECA243667F900566F16 /* validate_memory_semantics.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A72243667F700566F16 /* validate_memory_semantics.h */; };
-		A9415ECB243667F900566F16 /* validate_arithmetics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A73243667F700566F16 /* validate_arithmetics.cpp */; };
-		A9415ECC243667F900566F16 /* validate_arithmetics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A73243667F700566F16 /* validate_arithmetics.cpp */; };
-		A9415ECD243667F900566F16 /* validate_mode_setting.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A74243667F700566F16 /* validate_mode_setting.cpp */; };
-		A9415ECE243667F900566F16 /* validate_mode_setting.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A74243667F700566F16 /* validate_mode_setting.cpp */; };
-		A9415ECF243667F900566F16 /* validate_memory_semantics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A75243667F700566F16 /* validate_memory_semantics.cpp */; };
-		A9415ED0243667F900566F16 /* validate_memory_semantics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A75243667F700566F16 /* validate_memory_semantics.cpp */; };
-		A9415ED1243667F900566F16 /* validate_logicals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A76243667F700566F16 /* validate_logicals.cpp */; };
-		A9415ED2243667F900566F16 /* validate_logicals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A76243667F700566F16 /* validate_logicals.cpp */; };
-		A9415ED3243667F900566F16 /* validate_derivatives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A77243667F700566F16 /* validate_derivatives.cpp */; };
-		A9415ED4243667F900566F16 /* validate_derivatives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A77243667F700566F16 /* validate_derivatives.cpp */; };
-		A9415ED5243667F900566F16 /* validate_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A78243667F700566F16 /* validate_memory.cpp */; };
-		A9415ED6243667F900566F16 /* validate_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A78243667F700566F16 /* validate_memory.cpp */; };
-		A9415ED7243667F900566F16 /* validate_image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A79243667F700566F16 /* validate_image.cpp */; };
-		A9415ED8243667F900566F16 /* validate_image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A79243667F700566F16 /* validate_image.cpp */; };
-		A9415ED9243667F900566F16 /* validate_literals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A7A243667F700566F16 /* validate_literals.cpp */; };
-		A9415EDA243667F900566F16 /* validate_literals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A7A243667F700566F16 /* validate_literals.cpp */; };
-		A9415EDB243667F900566F16 /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A7B243667F700566F16 /* instruction.cpp */; };
-		A9415EDC243667F900566F16 /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A7B243667F700566F16 /* instruction.cpp */; };
-		A9415EDD243667F900566F16 /* validate_type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A7C243667F700566F16 /* validate_type.cpp */; };
-		A9415EDE243667F900566F16 /* validate_type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A7C243667F700566F16 /* validate_type.cpp */; };
-		A9415EDF243667F900566F16 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A7D243667F700566F16 /* instruction.h */; };
-		A9415EE0243667F900566F16 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A7D243667F700566F16 /* instruction.h */; };
-		A9415EE1243667F900566F16 /* validate_execution_limitations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A7E243667F700566F16 /* validate_execution_limitations.cpp */; };
-		A9415EE2243667F900566F16 /* validate_execution_limitations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A7E243667F700566F16 /* validate_execution_limitations.cpp */; };
-		A9415EE3243667F900566F16 /* validate_layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A7F243667F700566F16 /* validate_layout.cpp */; };
-		A9415EE4243667F900566F16 /* validate_layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A7F243667F700566F16 /* validate_layout.cpp */; };
-		A9415EE5243667F900566F16 /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A80243667F700566F16 /* basic_block.cpp */; };
-		A9415EE6243667F900566F16 /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A80243667F700566F16 /* basic_block.cpp */; };
-		A9415EE7243667F900566F16 /* validate_function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A81243667F700566F16 /* validate_function.cpp */; };
-		A9415EE8243667F900566F16 /* validate_function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A81243667F700566F16 /* validate_function.cpp */; };
-		A9415EE9243667F900566F16 /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A82243667F700566F16 /* function.h */; };
-		A9415EEA243667F900566F16 /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A82243667F700566F16 /* function.h */; };
-		A9415EEB243667F900566F16 /* validate_composites.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A83243667F700566F16 /* validate_composites.cpp */; };
-		A9415EEC243667F900566F16 /* validate_composites.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A83243667F700566F16 /* validate_composites.cpp */; };
-		A9415EED243667F900566F16 /* validation_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A84243667F700566F16 /* validation_state.cpp */; };
-		A9415EEE243667F900566F16 /* validation_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A84243667F700566F16 /* validation_state.cpp */; };
-		A9415EEF243667F900566F16 /* validate_primitives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A85243667F700566F16 /* validate_primitives.cpp */; };
-		A9415EF0243667F900566F16 /* validate_primitives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9415A85243667F700566F16 /* validate_primitives.cpp */; };
-		A9415EF1243667F900566F16 /* decoration.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A86243667F700566F16 /* decoration.h */; };
-		A9415EF2243667F900566F16 /* decoration.h in Headers */ = {isa = PBXBuildFile; fileRef = A9415A86243667F700566F16 /* decoration.h */; };
 		A95D911C23A7F1E500CBCC60 /* glslang.js.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A95D90AD23A7F1E500CBCC60 /* glslang.js.cpp */; };
 		A95D911D23A7F1E500CBCC60 /* glslang.js.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A95D90AD23A7F1E500CBCC60 /* glslang.js.cpp */; };
 		A95D911E23A7F1E500CBCC60 /* ossource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A95D90AF23A7F1E500CBCC60 /* ossource.cpp */; };
@@ -1034,6 +264,788 @@
 		A976292621CC60BC00B52A68 /* spirv_msl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A976290D21CC60BC00B52A68 /* spirv_msl.cpp */; };
 		A976292721CC60BC00B52A68 /* spirv_cross_parsed_ir.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A976290E21CC60BC00B52A68 /* spirv_cross_parsed_ir.cpp */; };
 		A976292821CC60BC00B52A68 /* spirv_cross_parsed_ir.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A976290E21CC60BC00B52A68 /* spirv_cross_parsed_ir.cpp */; };
+		A9765DF12485758500FDD115 /* spirv_target_env.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765B9B2485758300FDD115 /* spirv_target_env.cpp */; };
+		A9765DF22485758500FDD115 /* spirv_target_env.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765B9B2485758300FDD115 /* spirv_target_env.cpp */; };
+		A9765DF32485758500FDD115 /* spirv_fuzzer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765B9D2485758300FDD115 /* spirv_fuzzer_options.h */; };
+		A9765DF42485758500FDD115 /* spirv_fuzzer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765B9D2485758300FDD115 /* spirv_fuzzer_options.h */; };
+		A9765DF52485758500FDD115 /* assembly_grammar.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765B9E2485758300FDD115 /* assembly_grammar.h */; };
+		A9765DF62485758500FDD115 /* assembly_grammar.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765B9E2485758300FDD115 /* assembly_grammar.h */; };
+		A9765DF72485758500FDD115 /* enum_set.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765B9F2485758300FDD115 /* enum_set.h */; };
+		A9765DF82485758500FDD115 /* enum_set.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765B9F2485758300FDD115 /* enum_set.h */; };
+		A9765DF92485758500FDD115 /* text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BA22485758300FDD115 /* text.cpp */; };
+		A9765DFA2485758500FDD115 /* text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BA22485758300FDD115 /* text.cpp */; };
+		A9765DFB2485758500FDD115 /* assembly_grammar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BA32485758300FDD115 /* assembly_grammar.cpp */; };
+		A9765DFC2485758500FDD115 /* assembly_grammar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BA32485758300FDD115 /* assembly_grammar.cpp */; };
+		A9765DFD2485758500FDD115 /* text.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BA42485758300FDD115 /* text.h */; };
+		A9765DFE2485758500FDD115 /* text.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BA42485758300FDD115 /* text.h */; };
+		A9765DFF2485758500FDD115 /* extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BA52485758300FDD115 /* extensions.cpp */; };
+		A9765E002485758500FDD115 /* extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BA52485758300FDD115 /* extensions.cpp */; };
+		A9765E012485758500FDD115 /* pch_source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BA62485758300FDD115 /* pch_source.cpp */; };
+		A9765E022485758500FDD115 /* pch_source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BA62485758300FDD115 /* pch_source.cpp */; };
+		A9765E032485758500FDD115 /* parse_number.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BA82485758300FDD115 /* parse_number.h */; };
+		A9765E042485758500FDD115 /* parse_number.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BA82485758300FDD115 /* parse_number.h */; };
+		A9765E052485758500FDD115 /* ilist_node.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BA92485758300FDD115 /* ilist_node.h */; };
+		A9765E062485758500FDD115 /* ilist_node.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BA92485758300FDD115 /* ilist_node.h */; };
+		A9765E072485758500FDD115 /* make_unique.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BAA2485758300FDD115 /* make_unique.h */; };
+		A9765E082485758500FDD115 /* make_unique.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BAA2485758300FDD115 /* make_unique.h */; };
+		A9765E092485758500FDD115 /* string_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BAB2485758300FDD115 /* string_utils.h */; };
+		A9765E0A2485758500FDD115 /* string_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BAB2485758300FDD115 /* string_utils.h */; };
+		A9765E0B2485758500FDD115 /* small_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BAC2485758300FDD115 /* small_vector.h */; };
+		A9765E0C2485758500FDD115 /* small_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BAC2485758300FDD115 /* small_vector.h */; };
+		A9765E0D2485758500FDD115 /* timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BAD2485758300FDD115 /* timer.cpp */; };
+		A9765E0E2485758500FDD115 /* timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BAD2485758300FDD115 /* timer.cpp */; };
+		A9765E0F2485758500FDD115 /* timer.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BAE2485758300FDD115 /* timer.h */; };
+		A9765E102485758500FDD115 /* timer.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BAE2485758300FDD115 /* timer.h */; };
+		A9765E112485758500FDD115 /* string_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BAF2485758300FDD115 /* string_utils.cpp */; };
+		A9765E122485758500FDD115 /* string_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BAF2485758300FDD115 /* string_utils.cpp */; };
+		A9765E132485758500FDD115 /* bit_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BB02485758300FDD115 /* bit_vector.h */; };
+		A9765E142485758500FDD115 /* bit_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BB02485758300FDD115 /* bit_vector.h */; };
+		A9765E152485758500FDD115 /* bitutils.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BB12485758300FDD115 /* bitutils.h */; };
+		A9765E162485758500FDD115 /* bitutils.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BB12485758300FDD115 /* bitutils.h */; };
+		A9765E172485758500FDD115 /* hex_float.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BB22485758300FDD115 /* hex_float.h */; };
+		A9765E182485758500FDD115 /* hex_float.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BB22485758300FDD115 /* hex_float.h */; };
+		A9765E192485758500FDD115 /* parse_number.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BB32485758300FDD115 /* parse_number.cpp */; };
+		A9765E1A2485758500FDD115 /* parse_number.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BB32485758300FDD115 /* parse_number.cpp */; };
+		A9765E1B2485758500FDD115 /* bit_vector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BB42485758300FDD115 /* bit_vector.cpp */; };
+		A9765E1C2485758500FDD115 /* bit_vector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BB42485758300FDD115 /* bit_vector.cpp */; };
+		A9765E1D2485758500FDD115 /* ilist.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BB52485758300FDD115 /* ilist.h */; };
+		A9765E1E2485758500FDD115 /* ilist.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BB52485758300FDD115 /* ilist.h */; };
+		A9765E1F2485758500FDD115 /* spirv_target_env.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BB62485758300FDD115 /* spirv_target_env.h */; };
+		A9765E202485758500FDD115 /* spirv_target_env.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BB62485758300FDD115 /* spirv_target_env.h */; };
+		A9765E212485758500FDD115 /* table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BB72485758300FDD115 /* table.cpp */; };
+		A9765E222485758500FDD115 /* table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BB72485758300FDD115 /* table.cpp */; };
+		A9765E232485758500FDD115 /* operand_to_undef_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BBA2485758300FDD115 /* operand_to_undef_reduction_opportunity_finder.h */; };
+		A9765E242485758500FDD115 /* operand_to_undef_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BBA2485758300FDD115 /* operand_to_undef_reduction_opportunity_finder.h */; };
+		A9765E252485758500FDD115 /* remove_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BBB2485758300FDD115 /* remove_selection_reduction_opportunity.cpp */; };
+		A9765E262485758500FDD115 /* remove_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BBB2485758300FDD115 /* remove_selection_reduction_opportunity.cpp */; };
+		A9765E272485758500FDD115 /* remove_block_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BBC2485758300FDD115 /* remove_block_reduction_opportunity.h */; };
+		A9765E282485758500FDD115 /* remove_block_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BBC2485758300FDD115 /* remove_block_reduction_opportunity.h */; };
+		A9765E292485758500FDD115 /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BBD2485758300FDD115 /* operand_to_dominating_id_reduction_opportunity_finder.h */; };
+		A9765E2A2485758500FDD115 /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BBD2485758300FDD115 /* operand_to_dominating_id_reduction_opportunity_finder.h */; };
+		A9765E2B2485758500FDD115 /* reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BBE2485758300FDD115 /* reduction_pass.cpp */; };
+		A9765E2C2485758500FDD115 /* reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BBE2485758300FDD115 /* reduction_pass.cpp */; };
+		A9765E2D2485758500FDD115 /* operand_to_const_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BBF2485758300FDD115 /* operand_to_const_reduction_opportunity_finder.cpp */; };
+		A9765E2E2485758500FDD115 /* operand_to_const_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BBF2485758300FDD115 /* operand_to_const_reduction_opportunity_finder.cpp */; };
+		A9765E2F2485758500FDD115 /* operand_to_const_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BC02485758300FDD115 /* operand_to_const_reduction_opportunity_finder.h */; };
+		A9765E302485758500FDD115 /* operand_to_const_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BC02485758300FDD115 /* operand_to_const_reduction_opportunity_finder.h */; };
+		A9765E312485758500FDD115 /* reduction_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BC22485758300FDD115 /* reduction_util.cpp */; };
+		A9765E322485758500FDD115 /* reduction_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BC22485758300FDD115 /* reduction_util.cpp */; };
+		A9765E332485758500FDD115 /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BC32485758300FDD115 /* structured_loop_to_selection_reduction_opportunity_finder.cpp */; };
+		A9765E342485758500FDD115 /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BC32485758300FDD115 /* structured_loop_to_selection_reduction_opportunity_finder.cpp */; };
+		A9765E352485758500FDD115 /* simple_conditional_branch_to_branch_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BC42485758300FDD115 /* simple_conditional_branch_to_branch_reduction_opportunity.h */; };
+		A9765E362485758500FDD115 /* simple_conditional_branch_to_branch_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BC42485758300FDD115 /* simple_conditional_branch_to_branch_reduction_opportunity.h */; };
+		A9765E372485758500FDD115 /* remove_function_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BC52485758300FDD115 /* remove_function_reduction_opportunity_finder.cpp */; };
+		A9765E382485758500FDD115 /* remove_function_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BC52485758300FDD115 /* remove_function_reduction_opportunity_finder.cpp */; };
+		A9765E392485758500FDD115 /* remove_instruction_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BC62485758300FDD115 /* remove_instruction_reduction_opportunity.h */; };
+		A9765E3A2485758500FDD115 /* remove_instruction_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BC62485758300FDD115 /* remove_instruction_reduction_opportunity.h */; };
+		A9765E3B2485758500FDD115 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BC72485758300FDD115 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h */; };
+		A9765E3C2485758500FDD115 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BC72485758300FDD115 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h */; };
+		A9765E3D2485758500FDD115 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BC82485758300FDD115 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp */; };
+		A9765E3E2485758500FDD115 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BC82485758300FDD115 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp */; };
+		A9765E3F2485758500FDD115 /* remove_function_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BC92485758300FDD115 /* remove_function_reduction_opportunity.cpp */; };
+		A9765E402485758500FDD115 /* remove_function_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BC92485758300FDD115 /* remove_function_reduction_opportunity.cpp */; };
+		A9765E412485758500FDD115 /* simple_conditional_branch_to_branch_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BCA2485758300FDD115 /* simple_conditional_branch_to_branch_opportunity_finder.cpp */; };
+		A9765E422485758500FDD115 /* simple_conditional_branch_to_branch_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BCA2485758300FDD115 /* simple_conditional_branch_to_branch_opportunity_finder.cpp */; };
+		A9765E432485758500FDD115 /* remove_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BCB2485758300FDD115 /* remove_selection_reduction_opportunity_finder.cpp */; };
+		A9765E442485758600FDD115 /* remove_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BCB2485758300FDD115 /* remove_selection_reduction_opportunity_finder.cpp */; };
+		A9765E452485758600FDD115 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BCC2485758300FDD115 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp */; };
+		A9765E462485758600FDD115 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BCC2485758300FDD115 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp */; };
+		A9765E472485758600FDD115 /* remove_struct_member_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BCD2485758300FDD115 /* remove_struct_member_reduction_opportunity.h */; };
+		A9765E482485758600FDD115 /* remove_struct_member_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BCD2485758300FDD115 /* remove_struct_member_reduction_opportunity.h */; };
+		A9765E492485758600FDD115 /* simple_conditional_branch_to_branch_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BCE2485758300FDD115 /* simple_conditional_branch_to_branch_opportunity_finder.h */; };
+		A9765E4A2485758600FDD115 /* simple_conditional_branch_to_branch_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BCE2485758300FDD115 /* simple_conditional_branch_to_branch_opportunity_finder.h */; };
+		A9765E4B2485758600FDD115 /* merge_blocks_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BCF2485758300FDD115 /* merge_blocks_reduction_opportunity.cpp */; };
+		A9765E4C2485758600FDD115 /* merge_blocks_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BCF2485758300FDD115 /* merge_blocks_reduction_opportunity.cpp */; };
+		A9765E4D2485758600FDD115 /* change_operand_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BD02485758300FDD115 /* change_operand_reduction_opportunity.cpp */; };
+		A9765E4E2485758600FDD115 /* change_operand_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BD02485758300FDD115 /* change_operand_reduction_opportunity.cpp */; };
+		A9765E4F2485758600FDD115 /* structured_loop_to_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BD12485758300FDD115 /* structured_loop_to_selection_reduction_opportunity.h */; };
+		A9765E502485758600FDD115 /* structured_loop_to_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BD12485758300FDD115 /* structured_loop_to_selection_reduction_opportunity.h */; };
+		A9765E512485758600FDD115 /* remove_function_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BD22485758300FDD115 /* remove_function_reduction_opportunity.h */; };
+		A9765E522485758600FDD115 /* remove_function_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BD22485758300FDD115 /* remove_function_reduction_opportunity.h */; };
+		A9765E532485758600FDD115 /* remove_unused_instruction_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BD32485758300FDD115 /* remove_unused_instruction_reduction_opportunity_finder.h */; };
+		A9765E542485758600FDD115 /* remove_unused_instruction_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BD32485758300FDD115 /* remove_unused_instruction_reduction_opportunity_finder.h */; };
+		A9765E552485758600FDD115 /* change_operand_to_undef_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BD42485758300FDD115 /* change_operand_to_undef_reduction_opportunity.h */; };
+		A9765E562485758600FDD115 /* change_operand_to_undef_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BD42485758300FDD115 /* change_operand_to_undef_reduction_opportunity.h */; };
+		A9765E572485758600FDD115 /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BD52485758300FDD115 /* structured_loop_to_selection_reduction_opportunity_finder.h */; };
+		A9765E582485758600FDD115 /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BD52485758300FDD115 /* structured_loop_to_selection_reduction_opportunity_finder.h */; };
+		A9765E592485758600FDD115 /* remove_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BD62485758300FDD115 /* remove_selection_reduction_opportunity.h */; };
+		A9765E5A2485758600FDD115 /* remove_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BD62485758300FDD115 /* remove_selection_reduction_opportunity.h */; };
+		A9765E5B2485758600FDD115 /* remove_instruction_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BD72485758300FDD115 /* remove_instruction_reduction_opportunity.cpp */; };
+		A9765E5C2485758600FDD115 /* remove_instruction_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BD72485758300FDD115 /* remove_instruction_reduction_opportunity.cpp */; };
+		A9765E5D2485758600FDD115 /* remove_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BD82485758300FDD115 /* remove_selection_reduction_opportunity_finder.h */; };
+		A9765E5E2485758600FDD115 /* remove_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BD82485758300FDD115 /* remove_selection_reduction_opportunity_finder.h */; };
+		A9765E5F2485758600FDD115 /* merge_blocks_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BD92485758300FDD115 /* merge_blocks_reduction_opportunity_finder.h */; };
+		A9765E602485758600FDD115 /* merge_blocks_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BD92485758300FDD115 /* merge_blocks_reduction_opportunity_finder.h */; };
+		A9765E612485758600FDD115 /* pch_source_reduce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BDA2485758300FDD115 /* pch_source_reduce.cpp */; };
+		A9765E622485758600FDD115 /* pch_source_reduce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BDA2485758300FDD115 /* pch_source_reduce.cpp */; };
+		A9765E632485758600FDD115 /* remove_struct_member_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BDB2485758300FDD115 /* remove_struct_member_reduction_opportunity.cpp */; };
+		A9765E642485758600FDD115 /* remove_struct_member_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BDB2485758300FDD115 /* remove_struct_member_reduction_opportunity.cpp */; };
+		A9765E652485758600FDD115 /* remove_unused_struct_member_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BDC2485758300FDD115 /* remove_unused_struct_member_reduction_opportunity_finder.h */; };
+		A9765E662485758600FDD115 /* remove_unused_struct_member_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BDC2485758300FDD115 /* remove_unused_struct_member_reduction_opportunity_finder.h */; };
+		A9765E672485758600FDD115 /* remove_unused_instruction_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BDD2485758300FDD115 /* remove_unused_instruction_reduction_opportunity_finder.cpp */; };
+		A9765E682485758600FDD115 /* remove_unused_instruction_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BDD2485758300FDD115 /* remove_unused_instruction_reduction_opportunity_finder.cpp */; };
+		A9765E692485758600FDD115 /* reducer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BDE2485758300FDD115 /* reducer.cpp */; };
+		A9765E6A2485758600FDD115 /* reducer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BDE2485758300FDD115 /* reducer.cpp */; };
+		A9765E6B2485758600FDD115 /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BDF2485758300FDD115 /* operand_to_undef_reduction_opportunity_finder.cpp */; };
+		A9765E6C2485758600FDD115 /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BDF2485758300FDD115 /* operand_to_undef_reduction_opportunity_finder.cpp */; };
+		A9765E6D2485758600FDD115 /* remove_function_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BE02485758300FDD115 /* remove_function_reduction_opportunity_finder.h */; };
+		A9765E6E2485758600FDD115 /* remove_function_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BE02485758300FDD115 /* remove_function_reduction_opportunity_finder.h */; };
+		A9765E6F2485758600FDD115 /* pch_source_reduce.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BE12485758300FDD115 /* pch_source_reduce.h */; };
+		A9765E702485758600FDD115 /* pch_source_reduce.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BE12485758300FDD115 /* pch_source_reduce.h */; };
+		A9765E712485758600FDD115 /* merge_blocks_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BE22485758300FDD115 /* merge_blocks_reduction_opportunity_finder.cpp */; };
+		A9765E722485758600FDD115 /* merge_blocks_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BE22485758300FDD115 /* merge_blocks_reduction_opportunity_finder.cpp */; };
+		A9765E732485758600FDD115 /* reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BE32485758300FDD115 /* reduction_opportunity.cpp */; };
+		A9765E742485758600FDD115 /* reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BE32485758300FDD115 /* reduction_opportunity.cpp */; };
+		A9765E752485758600FDD115 /* reducer.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BE42485758300FDD115 /* reducer.h */; };
+		A9765E762485758600FDD115 /* reducer.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BE42485758300FDD115 /* reducer.h */; };
+		A9765E772485758600FDD115 /* change_operand_to_undef_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BE52485758300FDD115 /* change_operand_to_undef_reduction_opportunity.cpp */; };
+		A9765E782485758600FDD115 /* change_operand_to_undef_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BE52485758300FDD115 /* change_operand_to_undef_reduction_opportunity.cpp */; };
+		A9765E792485758600FDD115 /* reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BE62485758300FDD115 /* reduction_opportunity.h */; };
+		A9765E7A2485758600FDD115 /* reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BE62485758300FDD115 /* reduction_opportunity.h */; };
+		A9765E7B2485758600FDD115 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BE72485758300FDD115 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h */; };
+		A9765E7C2485758600FDD115 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BE72485758300FDD115 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h */; };
+		A9765E7D2485758600FDD115 /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BE82485758300FDD115 /* operand_to_dominating_id_reduction_opportunity_finder.cpp */; };
+		A9765E7E2485758600FDD115 /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BE82485758300FDD115 /* operand_to_dominating_id_reduction_opportunity_finder.cpp */; };
+		A9765E7F2485758600FDD115 /* reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BE92485758300FDD115 /* reduction_opportunity_finder.h */; };
+		A9765E802485758600FDD115 /* reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BE92485758300FDD115 /* reduction_opportunity_finder.h */; };
+		A9765E812485758600FDD115 /* change_operand_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BEA2485758300FDD115 /* change_operand_reduction_opportunity.h */; };
+		A9765E822485758600FDD115 /* change_operand_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BEA2485758300FDD115 /* change_operand_reduction_opportunity.h */; };
+		A9765E832485758600FDD115 /* remove_block_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BEB2485758300FDD115 /* remove_block_reduction_opportunity_finder.h */; };
+		A9765E842485758600FDD115 /* remove_block_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BEB2485758300FDD115 /* remove_block_reduction_opportunity_finder.h */; };
+		A9765E852485758600FDD115 /* remove_block_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BEC2485758300FDD115 /* remove_block_reduction_opportunity_finder.cpp */; };
+		A9765E862485758600FDD115 /* remove_block_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BEC2485758300FDD115 /* remove_block_reduction_opportunity_finder.cpp */; };
+		A9765E872485758600FDD115 /* reduction_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BED2485758300FDD115 /* reduction_util.h */; };
+		A9765E882485758600FDD115 /* reduction_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BED2485758300FDD115 /* reduction_util.h */; };
+		A9765E892485758600FDD115 /* merge_blocks_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BEE2485758300FDD115 /* merge_blocks_reduction_opportunity.h */; };
+		A9765E8A2485758600FDD115 /* merge_blocks_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BEE2485758300FDD115 /* merge_blocks_reduction_opportunity.h */; };
+		A9765E8B2485758600FDD115 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BEF2485758300FDD115 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp */; };
+		A9765E8C2485758600FDD115 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BEF2485758300FDD115 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp */; };
+		A9765E8D2485758600FDD115 /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BF02485758300FDD115 /* structured_loop_to_selection_reduction_opportunity.cpp */; };
+		A9765E8E2485758600FDD115 /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BF02485758300FDD115 /* structured_loop_to_selection_reduction_opportunity.cpp */; };
+		A9765E8F2485758600FDD115 /* remove_block_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BF12485758300FDD115 /* remove_block_reduction_opportunity.cpp */; };
+		A9765E902485758600FDD115 /* remove_block_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BF12485758300FDD115 /* remove_block_reduction_opportunity.cpp */; };
+		A9765E912485758600FDD115 /* remove_unused_struct_member_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BF22485758300FDD115 /* remove_unused_struct_member_reduction_opportunity_finder.cpp */; };
+		A9765E922485758600FDD115 /* remove_unused_struct_member_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BF22485758300FDD115 /* remove_unused_struct_member_reduction_opportunity_finder.cpp */; };
+		A9765E932485758600FDD115 /* reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BF32485758300FDD115 /* reduction_pass.h */; };
+		A9765E942485758600FDD115 /* reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BF32485758300FDD115 /* reduction_pass.h */; };
+		A9765E952485758600FDD115 /* latest_version_opencl_std_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BF42485758300FDD115 /* latest_version_opencl_std_header.h */; };
+		A9765E962485758600FDD115 /* latest_version_opencl_std_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BF42485758300FDD115 /* latest_version_opencl_std_header.h */; };
+		A9765E972485758600FDD115 /* spirv_optimizer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BF52485758300FDD115 /* spirv_optimizer_options.cpp */; };
+		A9765E982485758600FDD115 /* spirv_optimizer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BF52485758300FDD115 /* spirv_optimizer_options.cpp */; };
+		A9765E992485758600FDD115 /* cfa.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BF62485758300FDD115 /* cfa.h */; };
+		A9765E9A2485758600FDD115 /* cfa.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BF62485758300FDD115 /* cfa.h */; };
+		A9765E9B2485758600FDD115 /* pch_source.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BF72485758300FDD115 /* pch_source.h */; };
+		A9765E9C2485758600FDD115 /* pch_source.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BF72485758300FDD115 /* pch_source.h */; };
+		A9765E9D2485758600FDD115 /* enum_string_mapping.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BF82485758300FDD115 /* enum_string_mapping.h */; };
+		A9765E9E2485758600FDD115 /* enum_string_mapping.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BF82485758300FDD115 /* enum_string_mapping.h */; };
+		A9765E9F2485758600FDD115 /* spirv_fuzzer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BF92485758300FDD115 /* spirv_fuzzer_options.cpp */; };
+		A9765EA02485758600FDD115 /* spirv_fuzzer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BF92485758300FDD115 /* spirv_fuzzer_options.cpp */; };
+		A9765EA12485758600FDD115 /* spirv_reducer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BFA2485758300FDD115 /* spirv_reducer_options.h */; };
+		A9765EA22485758600FDD115 /* spirv_reducer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BFA2485758300FDD115 /* spirv_reducer_options.h */; };
+		A9765EA32485758600FDD115 /* spirv_validator_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BFB2485758300FDD115 /* spirv_validator_options.cpp */; };
+		A9765EA42485758600FDD115 /* spirv_validator_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BFB2485758300FDD115 /* spirv_validator_options.cpp */; };
+		A9765EA52485758600FDD115 /* print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BFD2485758300FDD115 /* print.cpp */; };
+		A9765EA62485758600FDD115 /* print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765BFD2485758300FDD115 /* print.cpp */; };
+		A9765EA72485758600FDD115 /* spirv_definition.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BFE2485758300FDD115 /* spirv_definition.h */; };
+		A9765EA82485758600FDD115 /* spirv_definition.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BFE2485758300FDD115 /* spirv_definition.h */; };
+		A9765EA92485758600FDD115 /* operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BFF2485758300FDD115 /* operand.h */; };
+		A9765EAA2485758600FDD115 /* operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765BFF2485758300FDD115 /* operand.h */; };
+		A9765EAB2485758600FDD115 /* spirv_endian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C002485758300FDD115 /* spirv_endian.cpp */; };
+		A9765EAC2485758600FDD115 /* spirv_endian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C002485758300FDD115 /* spirv_endian.cpp */; };
+		A9765EAD2485758600FDD115 /* macro.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C012485758300FDD115 /* macro.h */; };
+		A9765EAE2485758600FDD115 /* macro.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C012485758300FDD115 /* macro.h */; };
+		A9765EAF2485758600FDD115 /* spirv_constant.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C022485758300FDD115 /* spirv_constant.h */; };
+		A9765EB02485758600FDD115 /* spirv_constant.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C022485758300FDD115 /* spirv_constant.h */; };
+		A9765EB12485758600FDD115 /* binary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C042485758300FDD115 /* binary.cpp */; };
+		A9765EB22485758600FDD115 /* binary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C042485758300FDD115 /* binary.cpp */; };
+		A9765EB32485758600FDD115 /* spirv_validator_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C052485758300FDD115 /* spirv_validator_options.h */; };
+		A9765EB42485758600FDD115 /* spirv_validator_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C052485758300FDD115 /* spirv_validator_options.h */; };
+		A9765EB52485758600FDD115 /* enum_string_mapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C062485758300FDD115 /* enum_string_mapping.cpp */; };
+		A9765EB62485758600FDD115 /* enum_string_mapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C062485758300FDD115 /* enum_string_mapping.cpp */; };
+		A9765EB72485758600FDD115 /* text_handler.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C072485758300FDD115 /* text_handler.h */; };
+		A9765EB82485758600FDD115 /* text_handler.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C072485758300FDD115 /* text_handler.h */; };
+		A9765EB92485758600FDD115 /* parsed_operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C082485758300FDD115 /* parsed_operand.h */; };
+		A9765EBA2485758600FDD115 /* parsed_operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C082485758300FDD115 /* parsed_operand.h */; };
+		A9765EBB2485758600FDD115 /* name_mapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C092485758300FDD115 /* name_mapper.h */; };
+		A9765EBC2485758600FDD115 /* name_mapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C092485758300FDD115 /* name_mapper.h */; };
+		A9765EBD2485758600FDD115 /* spirv_reducer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C0A2485758300FDD115 /* spirv_reducer_options.cpp */; };
+		A9765EBE2485758600FDD115 /* spirv_reducer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C0A2485758300FDD115 /* spirv_reducer_options.cpp */; };
+		A9765EBF2485758600FDD115 /* parsed_operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C0B2485758300FDD115 /* parsed_operand.cpp */; };
+		A9765EC02485758600FDD115 /* parsed_operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C0B2485758300FDD115 /* parsed_operand.cpp */; };
+		A9765EC12485758600FDD115 /* diagnostic.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C0C2485758300FDD115 /* diagnostic.h */; };
+		A9765EC22485758600FDD115 /* diagnostic.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C0C2485758300FDD115 /* diagnostic.h */; };
+		A9765EC32485758600FDD115 /* spirv_endian.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C0D2485758300FDD115 /* spirv_endian.h */; };
+		A9765EC42485758600FDD115 /* spirv_endian.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C0D2485758300FDD115 /* spirv_endian.h */; };
+		A9765EC52485758600FDD115 /* name_mapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C0E2485758300FDD115 /* name_mapper.cpp */; };
+		A9765EC62485758600FDD115 /* name_mapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C0E2485758300FDD115 /* name_mapper.cpp */; };
+		A9765EC72485758600FDD115 /* linker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C122485758300FDD115 /* linker.cpp */; };
+		A9765EC82485758600FDD115 /* linker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C122485758300FDD115 /* linker.cpp */; };
+		A9765EC92485758600FDD115 /* software_version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C132485758300FDD115 /* software_version.cpp */; };
+		A9765ECA2485758600FDD115 /* software_version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C132485758300FDD115 /* software_version.cpp */; };
+		A9765ECB2485758600FDD115 /* opcode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C142485758300FDD115 /* opcode.cpp */; };
+		A9765ECC2485758600FDD115 /* opcode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C142485758300FDD115 /* opcode.cpp */; };
+		A9765ECD2485758600FDD115 /* print.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C152485758300FDD115 /* print.h */; };
+		A9765ECE2485758600FDD115 /* print.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C152485758300FDD115 /* print.h */; };
+		A9765ECF2485758600FDD115 /* ext_inst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C162485758300FDD115 /* ext_inst.cpp */; };
+		A9765ED02485758600FDD115 /* ext_inst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C162485758300FDD115 /* ext_inst.cpp */; };
+		A9765ED12485758600FDD115 /* disassemble.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C172485758300FDD115 /* disassemble.h */; };
+		A9765ED22485758600FDD115 /* disassemble.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C172485758300FDD115 /* disassemble.h */; };
+		A9765ED32485758600FDD115 /* optimizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C192485758300FDD115 /* optimizer.cpp */; };
+		A9765ED42485758600FDD115 /* optimizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C192485758300FDD115 /* optimizer.cpp */; };
+		A9765ED52485758600FDD115 /* if_conversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C1A2485758300FDD115 /* if_conversion.h */; };
+		A9765ED62485758600FDD115 /* if_conversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C1A2485758300FDD115 /* if_conversion.h */; };
+		A9765ED72485758600FDD115 /* register_pressure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C1B2485758300FDD115 /* register_pressure.cpp */; };
+		A9765ED82485758600FDD115 /* register_pressure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C1B2485758300FDD115 /* register_pressure.cpp */; };
+		A9765ED92485758600FDD115 /* loop_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C1C2485758300FDD115 /* loop_utils.cpp */; };
+		A9765EDA2485758600FDD115 /* loop_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C1C2485758300FDD115 /* loop_utils.cpp */; };
+		A9765EDB2485758600FDD115 /* merge_return_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C1D2485758300FDD115 /* merge_return_pass.h */; };
+		A9765EDC2485758600FDD115 /* merge_return_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C1D2485758300FDD115 /* merge_return_pass.h */; };
+		A9765EDD2485758600FDD115 /* inline_opaque_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C1E2485758300FDD115 /* inline_opaque_pass.h */; };
+		A9765EDE2485758600FDD115 /* inline_opaque_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C1E2485758300FDD115 /* inline_opaque_pass.h */; };
+		A9765EDF2485758600FDD115 /* loop_fusion.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C1F2485758300FDD115 /* loop_fusion.h */; };
+		A9765EE02485758600FDD115 /* loop_fusion.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C1F2485758300FDD115 /* loop_fusion.h */; };
+		A9765EE12485758600FDD115 /* combine_access_chains.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C202485758300FDD115 /* combine_access_chains.cpp */; };
+		A9765EE22485758600FDD115 /* combine_access_chains.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C202485758300FDD115 /* combine_access_chains.cpp */; };
+		A9765EE32485758600FDD115 /* build_module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C212485758300FDD115 /* build_module.cpp */; };
+		A9765EE42485758600FDD115 /* build_module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C212485758300FDD115 /* build_module.cpp */; };
+		A9765EE52485758600FDD115 /* composite.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C222485758300FDD115 /* composite.h */; };
+		A9765EE62485758600FDD115 /* composite.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C222485758300FDD115 /* composite.h */; };
+		A9765EE72485758600FDD115 /* compact_ids_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C232485758300FDD115 /* compact_ids_pass.h */; };
+		A9765EE82485758600FDD115 /* compact_ids_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C232485758300FDD115 /* compact_ids_pass.h */; };
+		A9765EE92485758600FDD115 /* register_pressure.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C242485758300FDD115 /* register_pressure.h */; };
+		A9765EEA2485758600FDD115 /* register_pressure.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C242485758300FDD115 /* register_pressure.h */; };
+		A9765EEB2485758600FDD115 /* tree_iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C252485758300FDD115 /* tree_iterator.h */; };
+		A9765EEC2485758600FDD115 /* tree_iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C252485758300FDD115 /* tree_iterator.h */; };
+		A9765EED2485758600FDD115 /* graphics_robust_access_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C262485758300FDD115 /* graphics_robust_access_pass.h */; };
+		A9765EEE2485758600FDD115 /* graphics_robust_access_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C262485758300FDD115 /* graphics_robust_access_pass.h */; };
+		A9765EEF2485758600FDD115 /* strip_atomic_counter_memory_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C272485758300FDD115 /* strip_atomic_counter_memory_pass.h */; };
+		A9765EF02485758600FDD115 /* strip_atomic_counter_memory_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C272485758300FDD115 /* strip_atomic_counter_memory_pass.h */; };
+		A9765EF12485758600FDD115 /* legalize_vector_shuffle_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C282485758300FDD115 /* legalize_vector_shuffle_pass.h */; };
+		A9765EF22485758600FDD115 /* legalize_vector_shuffle_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C282485758300FDD115 /* legalize_vector_shuffle_pass.h */; };
+		A9765EF32485758600FDD115 /* local_single_store_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C292485758300FDD115 /* local_single_store_elim_pass.h */; };
+		A9765EF42485758600FDD115 /* local_single_store_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C292485758300FDD115 /* local_single_store_elim_pass.h */; };
+		A9765EF52485758600FDD115 /* reduce_load_size.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C2A2485758300FDD115 /* reduce_load_size.h */; };
+		A9765EF62485758600FDD115 /* reduce_load_size.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C2A2485758300FDD115 /* reduce_load_size.h */; };
+		A9765EF72485758600FDD115 /* code_sink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C2B2485758300FDD115 /* code_sink.cpp */; };
+		A9765EF82485758600FDD115 /* code_sink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C2B2485758300FDD115 /* code_sink.cpp */; };
+		A9765EF92485758600FDD115 /* types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C2C2485758300FDD115 /* types.cpp */; };
+		A9765EFA2485758600FDD115 /* types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C2C2485758300FDD115 /* types.cpp */; };
+		A9765EFB2485758600FDD115 /* scalar_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C2D2485758300FDD115 /* scalar_analysis.h */; };
+		A9765EFC2485758600FDD115 /* scalar_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C2D2485758300FDD115 /* scalar_analysis.h */; };
+		A9765EFD2485758600FDD115 /* strip_debug_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C2E2485758300FDD115 /* strip_debug_info_pass.h */; };
+		A9765EFE2485758600FDD115 /* strip_debug_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C2E2485758300FDD115 /* strip_debug_info_pass.h */; };
+		A9765EFF2485758600FDD115 /* cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C2F2485758300FDD115 /* cfg.cpp */; };
+		A9765F002485758600FDD115 /* cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C2F2485758300FDD115 /* cfg.cpp */; };
+		A9765F012485758600FDD115 /* strip_atomic_counter_memory_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C302485758300FDD115 /* strip_atomic_counter_memory_pass.cpp */; };
+		A9765F022485758600FDD115 /* strip_atomic_counter_memory_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C302485758300FDD115 /* strip_atomic_counter_memory_pass.cpp */; };
+		A9765F032485758600FDD115 /* decoration_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C312485758300FDD115 /* decoration_manager.cpp */; };
+		A9765F042485758600FDD115 /* decoration_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C312485758300FDD115 /* decoration_manager.cpp */; };
+		A9765F052485758600FDD115 /* local_single_block_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C322485758300FDD115 /* local_single_block_elim_pass.cpp */; };
+		A9765F062485758600FDD115 /* local_single_block_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C322485758300FDD115 /* local_single_block_elim_pass.cpp */; };
+		A9765F072485758600FDD115 /* freeze_spec_constant_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C332485758300FDD115 /* freeze_spec_constant_value_pass.cpp */; };
+		A9765F082485758600FDD115 /* freeze_spec_constant_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C332485758300FDD115 /* freeze_spec_constant_value_pass.cpp */; };
+		A9765F092485758600FDD115 /* replace_invalid_opc.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C342485758300FDD115 /* replace_invalid_opc.h */; };
+		A9765F0A2485758600FDD115 /* replace_invalid_opc.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C342485758300FDD115 /* replace_invalid_opc.h */; };
+		A9765F0B2485758600FDD115 /* local_access_chain_convert_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C352485758300FDD115 /* local_access_chain_convert_pass.h */; };
+		A9765F0C2485758600FDD115 /* local_access_chain_convert_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C352485758300FDD115 /* local_access_chain_convert_pass.h */; };
+		A9765F0D2485758600FDD115 /* inst_bindless_check_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C362485758300FDD115 /* inst_bindless_check_pass.cpp */; };
+		A9765F0E2485758600FDD115 /* inst_bindless_check_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C362485758300FDD115 /* inst_bindless_check_pass.cpp */; };
+		A9765F0F2485758600FDD115 /* local_redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C372485758300FDD115 /* local_redundancy_elimination.cpp */; };
+		A9765F102485758600FDD115 /* local_redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C372485758300FDD115 /* local_redundancy_elimination.cpp */; };
+		A9765F112485758600FDD115 /* instrument_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C392485758300FDD115 /* instrument_pass.cpp */; };
+		A9765F122485758600FDD115 /* instrument_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C392485758300FDD115 /* instrument_pass.cpp */; };
+		A9765F132485758600FDD115 /* propagator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C3A2485758300FDD115 /* propagator.h */; };
+		A9765F142485758600FDD115 /* propagator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C3A2485758300FDD115 /* propagator.h */; };
+		A9765F152485758600FDD115 /* instruction_list.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C3B2485758300FDD115 /* instruction_list.h */; };
+		A9765F162485758600FDD115 /* instruction_list.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C3B2485758300FDD115 /* instruction_list.h */; };
+		A9765F172485758600FDD115 /* feature_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C3C2485758300FDD115 /* feature_manager.cpp */; };
+		A9765F182485758600FDD115 /* feature_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C3C2485758300FDD115 /* feature_manager.cpp */; };
+		A9765F192485758600FDD115 /* pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C3D2485758300FDD115 /* pass.cpp */; };
+		A9765F1A2485758600FDD115 /* pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C3D2485758300FDD115 /* pass.cpp */; };
+		A9765F1B2485758600FDD115 /* loop_fission.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C3E2485758300FDD115 /* loop_fission.cpp */; };
+		A9765F1C2485758600FDD115 /* loop_fission.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C3E2485758300FDD115 /* loop_fission.cpp */; };
+		A9765F1D2485758600FDD115 /* dominator_tree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C3F2485758300FDD115 /* dominator_tree.cpp */; };
+		A9765F1E2485758600FDD115 /* dominator_tree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C3F2485758300FDD115 /* dominator_tree.cpp */; };
+		A9765F1F2485758600FDD115 /* amd_ext_to_khr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C402485758300FDD115 /* amd_ext_to_khr.h */; };
+		A9765F202485758600FDD115 /* amd_ext_to_khr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C402485758300FDD115 /* amd_ext_to_khr.h */; };
+		A9765F212485758600FDD115 /* merge_return_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C412485758300FDD115 /* merge_return_pass.cpp */; };
+		A9765F222485758600FDD115 /* merge_return_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C412485758300FDD115 /* merge_return_pass.cpp */; };
+		A9765F232485758600FDD115 /* ir_context.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C422485758300FDD115 /* ir_context.h */; };
+		A9765F242485758600FDD115 /* ir_context.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C422485758300FDD115 /* ir_context.h */; };
+		A9765F252485758600FDD115 /* eliminate_dead_constant_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C432485758300FDD115 /* eliminate_dead_constant_pass.cpp */; };
+		A9765F262485758600FDD115 /* eliminate_dead_constant_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C432485758300FDD115 /* eliminate_dead_constant_pass.cpp */; };
+		A9765F272485758600FDD115 /* cfg_cleanup_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C442485758300FDD115 /* cfg_cleanup_pass.cpp */; };
+		A9765F282485758600FDD115 /* cfg_cleanup_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C442485758300FDD115 /* cfg_cleanup_pass.cpp */; };
+		A9765F292485758600FDD115 /* wrap_opkill.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C452485758300FDD115 /* wrap_opkill.cpp */; };
+		A9765F2A2485758600FDD115 /* wrap_opkill.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C452485758300FDD115 /* wrap_opkill.cpp */; };
+		A9765F2B2485758600FDD115 /* const_folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C462485758300FDD115 /* const_folding_rules.cpp */; };
+		A9765F2C2485758600FDD115 /* const_folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C462485758300FDD115 /* const_folding_rules.cpp */; };
+		A9765F2D2485758600FDD115 /* loop_unroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C472485758300FDD115 /* loop_unroller.h */; };
+		A9765F2E2485758600FDD115 /* loop_unroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C472485758300FDD115 /* loop_unroller.h */; };
+		A9765F2F2485758600FDD115 /* strip_debug_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C482485758300FDD115 /* strip_debug_info_pass.cpp */; };
+		A9765F302485758600FDD115 /* strip_debug_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C482485758300FDD115 /* strip_debug_info_pass.cpp */; };
+		A9765F312485758600FDD115 /* ssa_rewrite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C492485758300FDD115 /* ssa_rewrite_pass.cpp */; };
+		A9765F322485758600FDD115 /* ssa_rewrite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C492485758300FDD115 /* ssa_rewrite_pass.cpp */; };
+		A9765F332485758600FDD115 /* loop_dependence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C4A2485758300FDD115 /* loop_dependence.cpp */; };
+		A9765F342485758600FDD115 /* loop_dependence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C4A2485758300FDD115 /* loop_dependence.cpp */; };
+		A9765F352485758600FDD115 /* unify_const_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C4B2485758300FDD115 /* unify_const_pass.h */; };
+		A9765F362485758600FDD115 /* unify_const_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C4B2485758300FDD115 /* unify_const_pass.h */; };
+		A9765F372485758600FDD115 /* ir_loader.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C4C2485758300FDD115 /* ir_loader.h */; };
+		A9765F382485758600FDD115 /* ir_loader.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C4C2485758300FDD115 /* ir_loader.h */; };
+		A9765F392485758600FDD115 /* inst_debug_printf_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C4D2485758300FDD115 /* inst_debug_printf_pass.cpp */; };
+		A9765F3A2485758600FDD115 /* inst_debug_printf_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C4D2485758300FDD115 /* inst_debug_printf_pass.cpp */; };
+		A9765F3B2485758600FDD115 /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C4E2485758300FDD115 /* types.h */; };
+		A9765F3C2485758600FDD115 /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C4E2485758300FDD115 /* types.h */; };
+		A9765F3D2485758600FDD115 /* fold_spec_constant_op_and_composite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C4F2485758300FDD115 /* fold_spec_constant_op_and_composite_pass.h */; };
+		A9765F3E2485758600FDD115 /* fold_spec_constant_op_and_composite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C4F2485758300FDD115 /* fold_spec_constant_op_and_composite_pass.h */; };
+		A9765F3F2485758600FDD115 /* mem_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C502485758300FDD115 /* mem_pass.cpp */; };
+		A9765F402485758600FDD115 /* mem_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C502485758300FDD115 /* mem_pass.cpp */; };
+		A9765F412485758600FDD115 /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C512485758300FDD115 /* basic_block.h */; };
+		A9765F422485758600FDD115 /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C512485758300FDD115 /* basic_block.h */; };
+		A9765F432485758600FDD115 /* remove_duplicates_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C522485758300FDD115 /* remove_duplicates_pass.cpp */; };
+		A9765F442485758600FDD115 /* remove_duplicates_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C522485758300FDD115 /* remove_duplicates_pass.cpp */; };
+		A9765F452485758600FDD115 /* dead_variable_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C532485758300FDD115 /* dead_variable_elimination.cpp */; };
+		A9765F462485758600FDD115 /* dead_variable_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C532485758300FDD115 /* dead_variable_elimination.cpp */; };
+		A9765F472485758600FDD115 /* block_merge_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C542485758300FDD115 /* block_merge_pass.h */; };
+		A9765F482485758600FDD115 /* block_merge_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C542485758300FDD115 /* block_merge_pass.h */; };
+		A9765F492485758600FDD115 /* module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C552485758400FDD115 /* module.cpp */; };
+		A9765F4A2485758600FDD115 /* module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C552485758400FDD115 /* module.cpp */; };
+		A9765F4B2485758600FDD115 /* debug_info_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C562485758400FDD115 /* debug_info_manager.h */; };
+		A9765F4C2485758600FDD115 /* debug_info_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C562485758400FDD115 /* debug_info_manager.h */; };
+		A9765F4D2485758600FDD115 /* fold_spec_constant_op_and_composite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C572485758400FDD115 /* fold_spec_constant_op_and_composite_pass.cpp */; };
+		A9765F4E2485758600FDD115 /* fold_spec_constant_op_and_composite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C572485758400FDD115 /* fold_spec_constant_op_and_composite_pass.cpp */; };
+		A9765F4F2485758600FDD115 /* loop_unswitch_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C582485758400FDD115 /* loop_unswitch_pass.cpp */; };
+		A9765F502485758600FDD115 /* loop_unswitch_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C582485758400FDD115 /* loop_unswitch_pass.cpp */; };
+		A9765F512485758600FDD115 /* unify_const_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C592485758400FDD115 /* unify_const_pass.cpp */; };
+		A9765F522485758600FDD115 /* unify_const_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C592485758400FDD115 /* unify_const_pass.cpp */; };
+		A9765F532485758600FDD115 /* type_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C5A2485758400FDD115 /* type_manager.cpp */; };
+		A9765F542485758600FDD115 /* type_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C5A2485758400FDD115 /* type_manager.cpp */; };
+		A9765F552485758600FDD115 /* generate_webgpu_initializers_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C5B2485758400FDD115 /* generate_webgpu_initializers_pass.cpp */; };
+		A9765F562485758600FDD115 /* generate_webgpu_initializers_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C5B2485758400FDD115 /* generate_webgpu_initializers_pass.cpp */; };
+		A9765F572485758600FDD115 /* private_to_local_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C5C2485758400FDD115 /* private_to_local_pass.h */; };
+		A9765F582485758600FDD115 /* private_to_local_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C5C2485758400FDD115 /* private_to_local_pass.h */; };
+		A9765F592485758600FDD115 /* convert_to_half_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C5D2485758400FDD115 /* convert_to_half_pass.h */; };
+		A9765F5A2485758600FDD115 /* convert_to_half_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C5D2485758400FDD115 /* convert_to_half_pass.h */; };
+		A9765F5B2485758600FDD115 /* relax_float_ops_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C5E2485758400FDD115 /* relax_float_ops_pass.h */; };
+		A9765F5C2485758600FDD115 /* relax_float_ops_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C5E2485758400FDD115 /* relax_float_ops_pass.h */; };
+		A9765F5D2485758600FDD115 /* inline_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C5F2485758400FDD115 /* inline_pass.cpp */; };
+		A9765F5E2485758600FDD115 /* inline_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C5F2485758400FDD115 /* inline_pass.cpp */; };
+		A9765F5F2485758600FDD115 /* def_use_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C602485758400FDD115 /* def_use_manager.h */; };
+		A9765F602485758600FDD115 /* def_use_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C602485758400FDD115 /* def_use_manager.h */; };
+		A9765F612485758600FDD115 /* ir_loader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C612485758400FDD115 /* ir_loader.cpp */; };
+		A9765F622485758600FDD115 /* ir_loader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C612485758400FDD115 /* ir_loader.cpp */; };
+		A9765F632485758600FDD115 /* cfg_cleanup_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C622485758400FDD115 /* cfg_cleanup_pass.h */; };
+		A9765F642485758600FDD115 /* cfg_cleanup_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C622485758400FDD115 /* cfg_cleanup_pass.h */; };
+		A9765F652485758600FDD115 /* licm_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C632485758400FDD115 /* licm_pass.cpp */; };
+		A9765F662485758600FDD115 /* licm_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C632485758400FDD115 /* licm_pass.cpp */; };
+		A9765F672485758600FDD115 /* eliminate_dead_functions_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C642485758400FDD115 /* eliminate_dead_functions_pass.cpp */; };
+		A9765F682485758600FDD115 /* eliminate_dead_functions_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C642485758400FDD115 /* eliminate_dead_functions_pass.cpp */; };
+		A9765F692485758600FDD115 /* local_redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C652485758400FDD115 /* local_redundancy_elimination.h */; };
+		A9765F6A2485758600FDD115 /* local_redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C652485758400FDD115 /* local_redundancy_elimination.h */; };
+		A9765F6B2485758600FDD115 /* split_invalid_unreachable_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C662485758400FDD115 /* split_invalid_unreachable_pass.cpp */; };
+		A9765F6C2485758600FDD115 /* split_invalid_unreachable_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C662485758400FDD115 /* split_invalid_unreachable_pass.cpp */; };
+		A9765F6D2485758600FDD115 /* loop_peeling.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C672485758400FDD115 /* loop_peeling.h */; };
+		A9765F6E2485758600FDD115 /* loop_peeling.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C672485758400FDD115 /* loop_peeling.h */; };
+		A9765F6F2485758600FDD115 /* vector_dce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C682485758400FDD115 /* vector_dce.cpp */; };
+		A9765F702485758600FDD115 /* vector_dce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C682485758400FDD115 /* vector_dce.cpp */; };
+		A9765F712485758600FDD115 /* block_merge_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C692485758400FDD115 /* block_merge_util.h */; };
+		A9765F722485758600FDD115 /* block_merge_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C692485758400FDD115 /* block_merge_util.h */; };
+		A9765F732485758600FDD115 /* loop_unroller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C6A2485758400FDD115 /* loop_unroller.cpp */; };
+		A9765F742485758600FDD115 /* loop_unroller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C6A2485758400FDD115 /* loop_unroller.cpp */; };
+		A9765F752485758600FDD115 /* desc_sroa.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C6B2485758400FDD115 /* desc_sroa.h */; };
+		A9765F762485758600FDD115 /* desc_sroa.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C6B2485758400FDD115 /* desc_sroa.h */; };
+		A9765F772485758600FDD115 /* constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C6C2485758400FDD115 /* constants.cpp */; };
+		A9765F782485758600FDD115 /* constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C6C2485758400FDD115 /* constants.cpp */; };
+		A9765F792485758600FDD115 /* loop_fusion_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C6D2485758400FDD115 /* loop_fusion_pass.h */; };
+		A9765F7A2485758600FDD115 /* loop_fusion_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C6D2485758400FDD115 /* loop_fusion_pass.h */; };
+		A9765F7B2485758600FDD115 /* struct_cfg_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C6E2485758400FDD115 /* struct_cfg_analysis.h */; };
+		A9765F7C2485758600FDD115 /* struct_cfg_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C6E2485758400FDD115 /* struct_cfg_analysis.h */; };
+		A9765F7D2485758600FDD115 /* inst_buff_addr_check_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C6F2485758400FDD115 /* inst_buff_addr_check_pass.cpp */; };
+		A9765F7E2485758600FDD115 /* inst_buff_addr_check_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C6F2485758400FDD115 /* inst_buff_addr_check_pass.cpp */; };
+		A9765F7F2485758600FDD115 /* def_use_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C702485758400FDD115 /* def_use_manager.cpp */; };
+		A9765F802485758600FDD115 /* def_use_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C702485758400FDD115 /* def_use_manager.cpp */; };
+		A9765F812485758600FDD115 /* wrap_opkill.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C712485758400FDD115 /* wrap_opkill.h */; };
+		A9765F822485758600FDD115 /* wrap_opkill.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C712485758400FDD115 /* wrap_opkill.h */; };
+		A9765F832485758600FDD115 /* strip_reflect_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C722485758400FDD115 /* strip_reflect_info_pass.cpp */; };
+		A9765F842485758600FDD115 /* strip_reflect_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C722485758400FDD115 /* strip_reflect_info_pass.cpp */; };
+		A9765F852485758600FDD115 /* decoration_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C732485758400FDD115 /* decoration_manager.h */; };
+		A9765F862485758600FDD115 /* decoration_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C732485758400FDD115 /* decoration_manager.h */; };
+		A9765F872485758600FDD115 /* ccp_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C742485758400FDD115 /* ccp_pass.cpp */; };
+		A9765F882485758600FDD115 /* ccp_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C742485758400FDD115 /* ccp_pass.cpp */; };
+		A9765F892485758600FDD115 /* process_lines_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C752485758400FDD115 /* process_lines_pass.h */; };
+		A9765F8A2485758600FDD115 /* process_lines_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C752485758400FDD115 /* process_lines_pass.h */; };
+		A9765F8B2485758600FDD115 /* local_single_block_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C762485758400FDD115 /* local_single_block_elim_pass.h */; };
+		A9765F8C2485758600FDD115 /* local_single_block_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C762485758400FDD115 /* local_single_block_elim_pass.h */; };
+		A9765F8D2485758600FDD115 /* pch_source_opt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C772485758400FDD115 /* pch_source_opt.cpp */; };
+		A9765F8E2485758600FDD115 /* pch_source_opt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C772485758400FDD115 /* pch_source_opt.cpp */; };
+		A9765F8F2485758600FDD115 /* inst_buff_addr_check_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C782485758400FDD115 /* inst_buff_addr_check_pass.h */; };
+		A9765F902485758600FDD115 /* inst_buff_addr_check_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C782485758400FDD115 /* inst_buff_addr_check_pass.h */; };
+		A9765F912485758600FDD115 /* strength_reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C792485758400FDD115 /* strength_reduction_pass.h */; };
+		A9765F922485758600FDD115 /* strength_reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C792485758400FDD115 /* strength_reduction_pass.h */; };
+		A9765F932485758600FDD115 /* aggressive_dead_code_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C7A2485758400FDD115 /* aggressive_dead_code_elim_pass.cpp */; };
+		A9765F942485758600FDD115 /* aggressive_dead_code_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C7A2485758400FDD115 /* aggressive_dead_code_elim_pass.cpp */; };
+		A9765F952485758600FDD115 /* eliminate_dead_functions_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C7B2485758400FDD115 /* eliminate_dead_functions_util.cpp */; };
+		A9765F962485758600FDD115 /* eliminate_dead_functions_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C7B2485758400FDD115 /* eliminate_dead_functions_util.cpp */; };
+		A9765F972485758600FDD115 /* inst_debug_printf_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C7C2485758400FDD115 /* inst_debug_printf_pass.h */; };
+		A9765F982485758600FDD115 /* inst_debug_printf_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C7C2485758400FDD115 /* inst_debug_printf_pass.h */; };
+		A9765F992485758600FDD115 /* simplification_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C7D2485758400FDD115 /* simplification_pass.cpp */; };
+		A9765F9A2485758600FDD115 /* simplification_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C7D2485758400FDD115 /* simplification_pass.cpp */; };
+		A9765F9B2485758600FDD115 /* dead_branch_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C7E2485758400FDD115 /* dead_branch_elim_pass.cpp */; };
+		A9765F9C2485758600FDD115 /* dead_branch_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C7E2485758400FDD115 /* dead_branch_elim_pass.cpp */; };
+		A9765F9D2485758600FDD115 /* flatten_decoration_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C7F2485758400FDD115 /* flatten_decoration_pass.cpp */; };
+		A9765F9E2485758600FDD115 /* flatten_decoration_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C7F2485758400FDD115 /* flatten_decoration_pass.cpp */; };
+		A9765F9F2485758600FDD115 /* dead_insert_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C802485758400FDD115 /* dead_insert_elim_pass.h */; };
+		A9765FA02485758600FDD115 /* dead_insert_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C802485758400FDD115 /* dead_insert_elim_pass.h */; };
+		A9765FA12485758600FDD115 /* folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C812485758400FDD115 /* folding_rules.cpp */; };
+		A9765FA22485758600FDD115 /* folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C812485758400FDD115 /* folding_rules.cpp */; };
+		A9765FA32485758600FDD115 /* freeze_spec_constant_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C822485758400FDD115 /* freeze_spec_constant_value_pass.h */; };
+		A9765FA42485758600FDD115 /* freeze_spec_constant_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C822485758400FDD115 /* freeze_spec_constant_value_pass.h */; };
+		A9765FA52485758600FDD115 /* ir_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C832485758400FDD115 /* ir_context.cpp */; };
+		A9765FA62485758600FDD115 /* ir_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C832485758400FDD115 /* ir_context.cpp */; };
+		A9765FA72485758600FDD115 /* instrument_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C842485758400FDD115 /* instrument_pass.h */; };
+		A9765FA82485758600FDD115 /* instrument_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C842485758400FDD115 /* instrument_pass.h */; };
+		A9765FA92485758600FDD115 /* mem_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C852485758400FDD115 /* mem_pass.h */; };
+		A9765FAA2485758600FDD115 /* mem_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C852485758400FDD115 /* mem_pass.h */; };
+		A9765FAB2485758600FDD115 /* loop_descriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C862485758400FDD115 /* loop_descriptor.cpp */; };
+		A9765FAC2485758600FDD115 /* loop_descriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C862485758400FDD115 /* loop_descriptor.cpp */; };
+		A9765FAD2485758600FDD115 /* eliminate_dead_members_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C872485758400FDD115 /* eliminate_dead_members_pass.h */; };
+		A9765FAE2485758600FDD115 /* eliminate_dead_members_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C872485758400FDD115 /* eliminate_dead_members_pass.h */; };
+		A9765FAF2485758600FDD115 /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C882485758400FDD115 /* function.cpp */; };
+		A9765FB02485758600FDD115 /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C882485758400FDD115 /* function.cpp */; };
+		A9765FB12485758600FDD115 /* instruction_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C892485758400FDD115 /* instruction_list.cpp */; };
+		A9765FB22485758600FDD115 /* instruction_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C892485758400FDD115 /* instruction_list.cpp */; };
+		A9765FB32485758600FDD115 /* composite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C8A2485758400FDD115 /* composite.cpp */; };
+		A9765FB42485758600FDD115 /* composite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C8A2485758400FDD115 /* composite.cpp */; };
+		A9765FB52485758600FDD115 /* convert_to_half_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C8B2485758400FDD115 /* convert_to_half_pass.cpp */; };
+		A9765FB62485758600FDD115 /* convert_to_half_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C8B2485758400FDD115 /* convert_to_half_pass.cpp */; };
+		A9765FB72485758600FDD115 /* process_lines_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C8C2485758400FDD115 /* process_lines_pass.cpp */; };
+		A9765FB82485758600FDD115 /* process_lines_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C8C2485758400FDD115 /* process_lines_pass.cpp */; };
+		A9765FB92485758600FDD115 /* inline_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C8D2485758400FDD115 /* inline_pass.h */; };
+		A9765FBA2485758600FDD115 /* inline_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C8D2485758400FDD115 /* inline_pass.h */; };
+		A9765FBB2485758600FDD115 /* loop_dependence.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C8E2485758400FDD115 /* loop_dependence.h */; };
+		A9765FBC2485758600FDD115 /* loop_dependence.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C8E2485758400FDD115 /* loop_dependence.h */; };
+		A9765FBD2485758600FDD115 /* value_number_table.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C8F2485758400FDD115 /* value_number_table.h */; };
+		A9765FBE2485758600FDD115 /* value_number_table.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C8F2485758400FDD115 /* value_number_table.h */; };
+		A9765FBF2485758600FDD115 /* flatten_decoration_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C902485758400FDD115 /* flatten_decoration_pass.h */; };
+		A9765FC02485758600FDD115 /* flatten_decoration_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C902485758400FDD115 /* flatten_decoration_pass.h */; };
+		A9765FC12485758600FDD115 /* if_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C912485758400FDD115 /* if_conversion.cpp */; };
+		A9765FC22485758600FDD115 /* if_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C912485758400FDD115 /* if_conversion.cpp */; };
+		A9765FC32485758600FDD115 /* debug_info_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C922485758400FDD115 /* debug_info_manager.cpp */; };
+		A9765FC42485758600FDD115 /* debug_info_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C922485758400FDD115 /* debug_info_manager.cpp */; };
+		A9765FC52485758600FDD115 /* inline_exhaustive_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C932485758400FDD115 /* inline_exhaustive_pass.h */; };
+		A9765FC62485758600FDD115 /* inline_exhaustive_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C932485758400FDD115 /* inline_exhaustive_pass.h */; };
+		A9765FC72485758600FDD115 /* constants.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C942485758400FDD115 /* constants.h */; };
+		A9765FC82485758600FDD115 /* constants.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C942485758400FDD115 /* constants.h */; };
+		A9765FC92485758600FDD115 /* eliminate_dead_members_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C952485758400FDD115 /* eliminate_dead_members_pass.cpp */; };
+		A9765FCA2485758600FDD115 /* eliminate_dead_members_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C952485758400FDD115 /* eliminate_dead_members_pass.cpp */; };
+		A9765FCB2485758600FDD115 /* strength_reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C962485758400FDD115 /* strength_reduction_pass.cpp */; };
+		A9765FCC2485758600FDD115 /* strength_reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C962485758400FDD115 /* strength_reduction_pass.cpp */; };
+		A9765FCD2485758600FDD115 /* desc_sroa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C972485758400FDD115 /* desc_sroa.cpp */; };
+		A9765FCE2485758600FDD115 /* desc_sroa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C972485758400FDD115 /* desc_sroa.cpp */; };
+		A9765FCF2485758600FDD115 /* block_merge_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C982485758400FDD115 /* block_merge_util.cpp */; };
+		A9765FD02485758600FDD115 /* block_merge_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C982485758400FDD115 /* block_merge_util.cpp */; };
+		A9765FD12485758600FDD115 /* upgrade_memory_model.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C992485758400FDD115 /* upgrade_memory_model.h */; };
+		A9765FD22485758600FDD115 /* upgrade_memory_model.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C992485758400FDD115 /* upgrade_memory_model.h */; };
+		A9765FD32485758600FDD115 /* copy_prop_arrays.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C9A2485758400FDD115 /* copy_prop_arrays.cpp */; };
+		A9765FD42485758600FDD115 /* copy_prop_arrays.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C9A2485758400FDD115 /* copy_prop_arrays.cpp */; };
+		A9765FD52485758600FDD115 /* pass_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C9B2485758400FDD115 /* pass_manager.cpp */; };
+		A9765FD62485758600FDD115 /* pass_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C9B2485758400FDD115 /* pass_manager.cpp */; };
+		A9765FD72485758600FDD115 /* inline_exhaustive_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C9C2485758400FDD115 /* inline_exhaustive_pass.cpp */; };
+		A9765FD82485758600FDD115 /* inline_exhaustive_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C9C2485758400FDD115 /* inline_exhaustive_pass.cpp */; };
+		A9765FD92485758600FDD115 /* loop_fission.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C9D2485758400FDD115 /* loop_fission.h */; };
+		A9765FDA2485758600FDD115 /* loop_fission.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C9D2485758400FDD115 /* loop_fission.h */; };
+		A9765FDB2485758600FDD115 /* workaround1209.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C9E2485758400FDD115 /* workaround1209.h */; };
+		A9765FDC2485758600FDD115 /* workaround1209.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765C9E2485758400FDD115 /* workaround1209.h */; };
+		A9765FDD2485758600FDD115 /* loop_fusion_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C9F2485758400FDD115 /* loop_fusion_pass.cpp */; };
+		A9765FDE2485758600FDD115 /* loop_fusion_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765C9F2485758400FDD115 /* loop_fusion_pass.cpp */; };
+		A9765FDF2485758600FDD115 /* log.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CA02485758400FDD115 /* log.h */; };
+		A9765FE02485758600FDD115 /* log.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CA02485758400FDD115 /* log.h */; };
+		A9765FE12485758600FDD115 /* split_invalid_unreachable_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CA12485758400FDD115 /* split_invalid_unreachable_pass.h */; };
+		A9765FE22485758600FDD115 /* split_invalid_unreachable_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CA12485758400FDD115 /* split_invalid_unreachable_pass.h */; };
+		A9765FE32485758600FDD115 /* copy_prop_arrays.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CA22485758400FDD115 /* copy_prop_arrays.h */; };
+		A9765FE42485758600FDD115 /* copy_prop_arrays.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CA22485758400FDD115 /* copy_prop_arrays.h */; };
+		A9765FE52485758600FDD115 /* eliminate_dead_constant_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CA32485758400FDD115 /* eliminate_dead_constant_pass.h */; };
+		A9765FE62485758600FDD115 /* eliminate_dead_constant_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CA32485758400FDD115 /* eliminate_dead_constant_pass.h */; };
+		A9765FE72485758600FDD115 /* dead_insert_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CA42485758400FDD115 /* dead_insert_elim_pass.cpp */; };
+		A9765FE82485758600FDD115 /* dead_insert_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CA42485758400FDD115 /* dead_insert_elim_pass.cpp */; };
+		A9765FE92485758600FDD115 /* ssa_rewrite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CA52485758400FDD115 /* ssa_rewrite_pass.h */; };
+		A9765FEA2485758600FDD115 /* ssa_rewrite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CA52485758400FDD115 /* ssa_rewrite_pass.h */; };
+		A9765FEB2485758600FDD115 /* scalar_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CA62485758400FDD115 /* scalar_analysis.cpp */; };
+		A9765FEC2485758600FDD115 /* scalar_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CA62485758400FDD115 /* scalar_analysis.cpp */; };
+		A9765FED2485758600FDD115 /* dead_variable_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CA72485758400FDD115 /* dead_variable_elimination.h */; };
+		A9765FEE2485758600FDD115 /* dead_variable_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CA72485758400FDD115 /* dead_variable_elimination.h */; };
+		A9765FEF2485758600FDD115 /* block_merge_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CA82485758400FDD115 /* block_merge_pass.cpp */; };
+		A9765FF02485758600FDD115 /* block_merge_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CA82485758400FDD115 /* block_merge_pass.cpp */; };
+		A9765FF12485758600FDD115 /* dominator_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CA92485758400FDD115 /* dominator_analysis.h */; };
+		A9765FF22485758600FDD115 /* dominator_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CA92485758400FDD115 /* dominator_analysis.h */; };
+		A9765FF32485758600FDD115 /* pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CAA2485758400FDD115 /* pass.h */; };
+		A9765FF42485758600FDD115 /* pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CAA2485758400FDD115 /* pass.h */; };
+		A9765FF52485758600FDD115 /* folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CAB2485758400FDD115 /* folding_rules.h */; };
+		A9765FF62485758600FDD115 /* folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CAB2485758400FDD115 /* folding_rules.h */; };
+		A9765FF72485758600FDD115 /* eliminate_dead_functions_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CAC2485758400FDD115 /* eliminate_dead_functions_pass.h */; };
+		A9765FF82485758600FDD115 /* eliminate_dead_functions_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CAC2485758400FDD115 /* eliminate_dead_functions_pass.h */; };
+		A9765FF92485758600FDD115 /* eliminate_dead_functions_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CAD2485758400FDD115 /* eliminate_dead_functions_util.h */; };
+		A9765FFA2485758600FDD115 /* eliminate_dead_functions_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CAD2485758400FDD115 /* eliminate_dead_functions_util.h */; };
+		A9765FFB2485758600FDD115 /* fold.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CAE2485758400FDD115 /* fold.h */; };
+		A9765FFC2485758600FDD115 /* fold.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CAE2485758400FDD115 /* fold.h */; };
+		A9765FFD2485758600FDD115 /* local_single_store_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CAF2485758400FDD115 /* local_single_store_elim_pass.cpp */; };
+		A9765FFE2485758600FDD115 /* local_single_store_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CAF2485758400FDD115 /* local_single_store_elim_pass.cpp */; };
+		A9765FFF2485758600FDD115 /* dead_branch_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CB02485758400FDD115 /* dead_branch_elim_pass.h */; };
+		A97660002485758600FDD115 /* dead_branch_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CB02485758400FDD115 /* dead_branch_elim_pass.h */; };
+		A97660012485758600FDD115 /* private_to_local_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CB12485758400FDD115 /* private_to_local_pass.cpp */; };
+		A97660022485758600FDD115 /* private_to_local_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CB12485758400FDD115 /* private_to_local_pass.cpp */; };
+		A97660032485758600FDD115 /* scalar_analysis_nodes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CB22485758400FDD115 /* scalar_analysis_nodes.h */; };
+		A97660042485758600FDD115 /* scalar_analysis_nodes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CB22485758400FDD115 /* scalar_analysis_nodes.h */; };
+		A97660052485758600FDD115 /* propagator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CB32485758400FDD115 /* propagator.cpp */; };
+		A97660062485758600FDD115 /* propagator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CB32485758400FDD115 /* propagator.cpp */; };
+		A97660072485758600FDD115 /* fix_storage_class.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CB42485758400FDD115 /* fix_storage_class.h */; };
+		A97660082485758600FDD115 /* fix_storage_class.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CB42485758400FDD115 /* fix_storage_class.h */; };
+		A97660092485758600FDD115 /* loop_dependence_helpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CB52485758400FDD115 /* loop_dependence_helpers.cpp */; };
+		A976600A2485758600FDD115 /* loop_dependence_helpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CB52485758400FDD115 /* loop_dependence_helpers.cpp */; };
+		A976600B2485758600FDD115 /* set_spec_constant_default_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CB62485758400FDD115 /* set_spec_constant_default_value_pass.cpp */; };
+		A976600C2485758600FDD115 /* set_spec_constant_default_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CB62485758400FDD115 /* set_spec_constant_default_value_pass.cpp */; };
+		A976600D2485758600FDD115 /* passes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CB72485758400FDD115 /* passes.h */; };
+		A976600E2485758600FDD115 /* passes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CB72485758400FDD115 /* passes.h */; };
+		A976600F2485758600FDD115 /* fold.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CB82485758400FDD115 /* fold.cpp */; };
+		A97660102485758600FDD115 /* fold.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CB82485758400FDD115 /* fold.cpp */; };
+		A97660112485758600FDD115 /* amd_ext_to_khr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CB92485758400FDD115 /* amd_ext_to_khr.cpp */; };
+		A97660122485758600FDD115 /* amd_ext_to_khr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CB92485758400FDD115 /* amd_ext_to_khr.cpp */; };
+		A97660132485758600FDD115 /* strip_reflect_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CBA2485758400FDD115 /* strip_reflect_info_pass.h */; };
+		A97660142485758600FDD115 /* strip_reflect_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CBA2485758400FDD115 /* strip_reflect_info_pass.h */; };
+		A97660152485758600FDD115 /* scalar_replacement_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CBB2485758400FDD115 /* scalar_replacement_pass.cpp */; };
+		A97660162485758600FDD115 /* scalar_replacement_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CBB2485758400FDD115 /* scalar_replacement_pass.cpp */; };
+		A97660172485758600FDD115 /* simplification_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CBC2485758400FDD115 /* simplification_pass.h */; };
+		A97660182485758600FDD115 /* simplification_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CBC2485758400FDD115 /* simplification_pass.h */; };
+		A97660192485758600FDD115 /* remove_duplicates_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CBD2485758400FDD115 /* remove_duplicates_pass.h */; };
+		A976601A2485758600FDD115 /* remove_duplicates_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CBD2485758400FDD115 /* remove_duplicates_pass.h */; };
+		A976601B2485758600FDD115 /* redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CBE2485758400FDD115 /* redundancy_elimination.cpp */; };
+		A976601C2485758600FDD115 /* redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CBE2485758400FDD115 /* redundancy_elimination.cpp */; };
+		A976601D2485758600FDD115 /* reflect.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CBF2485758400FDD115 /* reflect.h */; };
+		A976601E2485758600FDD115 /* reflect.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CBF2485758400FDD115 /* reflect.h */; };
+		A976601F2485758600FDD115 /* workaround1209.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CC02485758400FDD115 /* workaround1209.cpp */; };
+		A97660202485758600FDD115 /* workaround1209.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CC02485758400FDD115 /* workaround1209.cpp */; };
+		A97660212485758600FDD115 /* null_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CC12485758400FDD115 /* null_pass.h */; };
+		A97660222485758600FDD115 /* null_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CC12485758400FDD115 /* null_pass.h */; };
+		A97660232485758600FDD115 /* relax_float_ops_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CC22485758400FDD115 /* relax_float_ops_pass.cpp */; };
+		A97660242485758600FDD115 /* relax_float_ops_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CC22485758400FDD115 /* relax_float_ops_pass.cpp */; };
+		A97660252485758600FDD115 /* const_folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CC32485758400FDD115 /* const_folding_rules.h */; };
+		A97660262485758600FDD115 /* const_folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CC32485758400FDD115 /* const_folding_rules.h */; };
+		A97660272485758600FDD115 /* scalar_replacement_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CC42485758400FDD115 /* scalar_replacement_pass.h */; };
+		A97660282485758600FDD115 /* scalar_replacement_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CC42485758400FDD115 /* scalar_replacement_pass.h */; };
+		A97660292485758600FDD115 /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CC52485758400FDD115 /* instruction.cpp */; };
+		A976602A2485758600FDD115 /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CC52485758400FDD115 /* instruction.cpp */; };
+		A976602B2485758600FDD115 /* pch_source_opt.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CC62485758400FDD115 /* pch_source_opt.h */; };
+		A976602C2485758600FDD115 /* pch_source_opt.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CC62485758400FDD115 /* pch_source_opt.h */; };
+		A976602D2485758600FDD115 /* reduce_load_size.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CC72485758400FDD115 /* reduce_load_size.cpp */; };
+		A976602E2485758600FDD115 /* reduce_load_size.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CC72485758400FDD115 /* reduce_load_size.cpp */; };
+		A976602F2485758600FDD115 /* redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CC82485758400FDD115 /* redundancy_elimination.h */; };
+		A97660302485758600FDD115 /* redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CC82485758400FDD115 /* redundancy_elimination.h */; };
+		A97660312485758600FDD115 /* fix_storage_class.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CC92485758400FDD115 /* fix_storage_class.cpp */; };
+		A97660322485758600FDD115 /* fix_storage_class.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CC92485758400FDD115 /* fix_storage_class.cpp */; };
+		A97660332485758600FDD115 /* value_number_table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CCA2485758400FDD115 /* value_number_table.cpp */; };
+		A97660342485758600FDD115 /* value_number_table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CCA2485758400FDD115 /* value_number_table.cpp */; };
+		A97660352485758600FDD115 /* inline_opaque_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CCB2485758400FDD115 /* inline_opaque_pass.cpp */; };
+		A97660362485758600FDD115 /* inline_opaque_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CCB2485758400FDD115 /* inline_opaque_pass.cpp */; };
+		A97660372485758600FDD115 /* replace_invalid_opc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CCC2485758400FDD115 /* replace_invalid_opc.cpp */; };
+		A97660382485758600FDD115 /* replace_invalid_opc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CCC2485758400FDD115 /* replace_invalid_opc.cpp */; };
+		A97660392485758600FDD115 /* loop_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CCD2485758400FDD115 /* loop_utils.h */; };
+		A976603A2485758600FDD115 /* loop_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CCD2485758400FDD115 /* loop_utils.h */; };
+		A976603B2485758600FDD115 /* module.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CCE2485758400FDD115 /* module.h */; };
+		A976603C2485758600FDD115 /* module.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CCE2485758400FDD115 /* module.h */; };
+		A976603D2485758600FDD115 /* dominator_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CCF2485758400FDD115 /* dominator_analysis.cpp */; };
+		A976603E2485758600FDD115 /* dominator_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CCF2485758400FDD115 /* dominator_analysis.cpp */; };
+		A976603F2485758600FDD115 /* decompose_initialized_variables_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CD02485758400FDD115 /* decompose_initialized_variables_pass.cpp */; };
+		A97660402485758600FDD115 /* decompose_initialized_variables_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CD02485758400FDD115 /* decompose_initialized_variables_pass.cpp */; };
+		A97660412485758600FDD115 /* ir_builder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CD12485758400FDD115 /* ir_builder.h */; };
+		A97660422485758600FDD115 /* ir_builder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CD12485758400FDD115 /* ir_builder.h */; };
+		A97660432485758600FDD115 /* loop_unswitch_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CD22485758400FDD115 /* loop_unswitch_pass.h */; };
+		A97660442485758600FDD115 /* loop_unswitch_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CD22485758400FDD115 /* loop_unswitch_pass.h */; };
+		A97660452485758600FDD115 /* cfg.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CD32485758400FDD115 /* cfg.h */; };
+		A97660462485758600FDD115 /* cfg.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CD32485758400FDD115 /* cfg.h */; };
+		A97660472485758600FDD115 /* code_sink.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CD42485758400FDD115 /* code_sink.h */; };
+		A97660482485758600FDD115 /* code_sink.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CD42485758400FDD115 /* code_sink.h */; };
+		A97660492485758600FDD115 /* loop_descriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CD52485758400FDD115 /* loop_descriptor.h */; };
+		A976604A2485758600FDD115 /* loop_descriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CD52485758400FDD115 /* loop_descriptor.h */; };
+		A976604B2485758600FDD115 /* generate_webgpu_initializers_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CD62485758400FDD115 /* generate_webgpu_initializers_pass.h */; };
+		A976604C2485758600FDD115 /* generate_webgpu_initializers_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CD62485758400FDD115 /* generate_webgpu_initializers_pass.h */; };
+		A976604D2485758600FDD115 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CD72485758400FDD115 /* instruction.h */; };
+		A976604E2485758600FDD115 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CD72485758400FDD115 /* instruction.h */; };
+		A976604F2485758600FDD115 /* aggressive_dead_code_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CD82485758400FDD115 /* aggressive_dead_code_elim_pass.h */; };
+		A97660502485758600FDD115 /* aggressive_dead_code_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CD82485758400FDD115 /* aggressive_dead_code_elim_pass.h */; };
+		A97660512485758600FDD115 /* struct_cfg_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CD92485758400FDD115 /* struct_cfg_analysis.cpp */; };
+		A97660522485758600FDD115 /* struct_cfg_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CD92485758400FDD115 /* struct_cfg_analysis.cpp */; };
+		A97660532485758600FDD115 /* vector_dce.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CDA2485758400FDD115 /* vector_dce.h */; };
+		A97660542485758600FDD115 /* vector_dce.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CDA2485758400FDD115 /* vector_dce.h */; };
+		A97660552485758600FDD115 /* combine_access_chains.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CDB2485758400FDD115 /* combine_access_chains.h */; };
+		A97660562485758600FDD115 /* combine_access_chains.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CDB2485758400FDD115 /* combine_access_chains.h */; };
+		A97660572485758600FDD115 /* pass_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CDC2485758400FDD115 /* pass_manager.h */; };
+		A97660582485758600FDD115 /* pass_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CDC2485758400FDD115 /* pass_manager.h */; };
+		A97660592485758600FDD115 /* local_access_chain_convert_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CDD2485758400FDD115 /* local_access_chain_convert_pass.cpp */; };
+		A976605A2485758600FDD115 /* local_access_chain_convert_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CDD2485758400FDD115 /* local_access_chain_convert_pass.cpp */; };
+		A976605B2485758600FDD115 /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CDE2485758400FDD115 /* basic_block.cpp */; };
+		A976605C2485758600FDD115 /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CDE2485758400FDD115 /* basic_block.cpp */; };
+		A976605D2485758600FDD115 /* iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CDF2485758400FDD115 /* iterator.h */; };
+		A976605E2485758600FDD115 /* iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CDF2485758400FDD115 /* iterator.h */; };
+		A976605F2485758600FDD115 /* licm_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CE02485758400FDD115 /* licm_pass.h */; };
+		A97660602485758600FDD115 /* licm_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CE02485758400FDD115 /* licm_pass.h */; };
+		A97660612485758600FDD115 /* build_module.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CE12485758400FDD115 /* build_module.h */; };
+		A97660622485758600FDD115 /* build_module.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CE12485758400FDD115 /* build_module.h */; };
+		A97660632485758600FDD115 /* ccp_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CE22485758400FDD115 /* ccp_pass.h */; };
+		A97660642485758600FDD115 /* ccp_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CE22485758400FDD115 /* ccp_pass.h */; };
+		A97660652485758600FDD115 /* graphics_robust_access_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CE32485758400FDD115 /* graphics_robust_access_pass.cpp */; };
+		A97660662485758600FDD115 /* graphics_robust_access_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CE32485758400FDD115 /* graphics_robust_access_pass.cpp */; };
+		A97660672485758600FDD115 /* decompose_initialized_variables_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CE42485758400FDD115 /* decompose_initialized_variables_pass.h */; };
+		A97660682485758600FDD115 /* decompose_initialized_variables_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CE42485758400FDD115 /* decompose_initialized_variables_pass.h */; };
+		A97660692485758600FDD115 /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CE52485758400FDD115 /* function.h */; };
+		A976606A2485758600FDD115 /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CE52485758400FDD115 /* function.h */; };
+		A976606B2485758600FDD115 /* loop_fusion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CE62485758400FDD115 /* loop_fusion.cpp */; };
+		A976606C2485758600FDD115 /* loop_fusion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CE62485758400FDD115 /* loop_fusion.cpp */; };
+		A976606D2485758600FDD115 /* upgrade_memory_model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CE72485758400FDD115 /* upgrade_memory_model.cpp */; };
+		A976606E2485758600FDD115 /* upgrade_memory_model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CE72485758400FDD115 /* upgrade_memory_model.cpp */; };
+		A976606F2485758600FDD115 /* feature_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CE82485758400FDD115 /* feature_manager.h */; };
+		A97660702485758600FDD115 /* feature_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CE82485758400FDD115 /* feature_manager.h */; };
+		A97660712485758600FDD115 /* inst_bindless_check_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CE92485758400FDD115 /* inst_bindless_check_pass.h */; };
+		A97660722485758600FDD115 /* inst_bindless_check_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CE92485758400FDD115 /* inst_bindless_check_pass.h */; };
+		A97660732485758600FDD115 /* scalar_analysis_simplification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CEA2485758400FDD115 /* scalar_analysis_simplification.cpp */; };
+		A97660742485758600FDD115 /* scalar_analysis_simplification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CEA2485758400FDD115 /* scalar_analysis_simplification.cpp */; };
+		A97660752485758600FDD115 /* set_spec_constant_default_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CEB2485758400FDD115 /* set_spec_constant_default_value_pass.h */; };
+		A97660762485758600FDD115 /* set_spec_constant_default_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CEB2485758400FDD115 /* set_spec_constant_default_value_pass.h */; };
+		A97660772485758600FDD115 /* dominator_tree.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CEC2485758400FDD115 /* dominator_tree.h */; };
+		A97660782485758600FDD115 /* dominator_tree.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CEC2485758400FDD115 /* dominator_tree.h */; };
+		A97660792485758600FDD115 /* legalize_vector_shuffle_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CED2485758400FDD115 /* legalize_vector_shuffle_pass.cpp */; };
+		A976607A2485758600FDD115 /* legalize_vector_shuffle_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CED2485758400FDD115 /* legalize_vector_shuffle_pass.cpp */; };
+		A976607B2485758600FDD115 /* type_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CEE2485758400FDD115 /* type_manager.h */; };
+		A976607C2485758600FDD115 /* type_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CEE2485758400FDD115 /* type_manager.h */; };
+		A976607D2485758600FDD115 /* compact_ids_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CEF2485758400FDD115 /* compact_ids_pass.cpp */; };
+		A976607E2485758600FDD115 /* compact_ids_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CEF2485758400FDD115 /* compact_ids_pass.cpp */; };
+		A976607F2485758600FDD115 /* loop_peeling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CF02485758400FDD115 /* loop_peeling.cpp */; };
+		A97660802485758600FDD115 /* loop_peeling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765CF02485758400FDD115 /* loop_peeling.cpp */; };
+		A97660812485758600FDD115 /* table.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CF12485758400FDD115 /* table.h */; };
+		A97660822485758600FDD115 /* table.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765CF12485758400FDD115 /* table.h */; };
+		A97661FD2485758700FDD115 /* ext_inst.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DB22485758500FDD115 /* ext_inst.h */; };
+		A97661FE2485758700FDD115 /* ext_inst.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DB22485758500FDD115 /* ext_inst.h */; };
+		A97661FF2485758700FDD115 /* diagnostic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DB32485758500FDD115 /* diagnostic.cpp */; };
+		A97662002485758700FDD115 /* diagnostic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DB32485758500FDD115 /* diagnostic.cpp */; };
+		A97662012485758700FDD115 /* latest_version_spirv_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DB42485758500FDD115 /* latest_version_spirv_header.h */; };
+		A97662022485758700FDD115 /* latest_version_spirv_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DB42485758500FDD115 /* latest_version_spirv_header.h */; };
+		A97662032485758700FDD115 /* libspirv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DB52485758500FDD115 /* libspirv.cpp */; };
+		A97662042485758700FDD115 /* libspirv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DB52485758500FDD115 /* libspirv.cpp */; };
+		A97662052485758700FDD115 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DB62485758500FDD115 /* instruction.h */; };
+		A97662062485758700FDD115 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DB62485758500FDD115 /* instruction.h */; };
+		A97662072485758700FDD115 /* spirv_optimizer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DB72485758500FDD115 /* spirv_optimizer_options.h */; };
+		A97662082485758700FDD115 /* spirv_optimizer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DB72485758500FDD115 /* spirv_optimizer_options.h */; };
+		A97662092485758700FDD115 /* opcode.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DB82485758500FDD115 /* opcode.h */; };
+		A976620A2485758700FDD115 /* opcode.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DB82485758500FDD115 /* opcode.h */; };
+		A976620B2485758700FDD115 /* operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DB92485758500FDD115 /* operand.cpp */; };
+		A976620C2485758700FDD115 /* operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DB92485758500FDD115 /* operand.cpp */; };
+		A976620D2485758700FDD115 /* latest_version_glsl_std_450_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DBA2485758500FDD115 /* latest_version_glsl_std_450_header.h */; };
+		A976620E2485758700FDD115 /* latest_version_glsl_std_450_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DBA2485758500FDD115 /* latest_version_glsl_std_450_header.h */; };
+		A976620F2485758700FDD115 /* extensions.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DBB2485758500FDD115 /* extensions.h */; };
+		A97662102485758700FDD115 /* extensions.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DBB2485758500FDD115 /* extensions.h */; };
+		A97662112485758700FDD115 /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DBC2485758500FDD115 /* disassemble.cpp */; };
+		A97662122485758700FDD115 /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DBC2485758500FDD115 /* disassemble.cpp */; };
+		A97662132485758700FDD115 /* binary.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DBD2485758500FDD115 /* binary.h */; };
+		A97662142485758700FDD115 /* binary.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DBD2485758500FDD115 /* binary.h */; };
+		A97662152485758700FDD115 /* text_handler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DBE2485758500FDD115 /* text_handler.cpp */; };
+		A97662162485758700FDD115 /* text_handler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DBE2485758500FDD115 /* text_handler.cpp */; };
+		A97662172485758700FDD115 /* validate_annotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DC02485758500FDD115 /* validate_annotation.cpp */; };
+		A97662182485758700FDD115 /* validate_annotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DC02485758500FDD115 /* validate_annotation.cpp */; };
+		A97662192485758700FDD115 /* validate_misc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DC12485758500FDD115 /* validate_misc.cpp */; };
+		A976621A2485758700FDD115 /* validate_misc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DC12485758500FDD115 /* validate_misc.cpp */; };
+		A976621B2485758700FDD115 /* validate_cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DC22485758500FDD115 /* validate_cfg.cpp */; };
+		A976621C2485758700FDD115 /* validate_cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DC22485758500FDD115 /* validate_cfg.cpp */; };
+		A976621D2485758700FDD115 /* validate_capability.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DC32485758500FDD115 /* validate_capability.cpp */; };
+		A976621E2485758700FDD115 /* validate_capability.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DC32485758500FDD115 /* validate_capability.cpp */; };
+		A976621F2485758700FDD115 /* construct.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DC42485758500FDD115 /* construct.h */; };
+		A97662202485758700FDD115 /* construct.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DC42485758500FDD115 /* construct.h */; };
+		A97662212485758700FDD115 /* validate_barriers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DC52485758500FDD115 /* validate_barriers.cpp */; };
+		A97662222485758700FDD115 /* validate_barriers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DC52485758500FDD115 /* validate_barriers.cpp */; };
+		A97662232485758700FDD115 /* validate_non_uniform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DC62485758500FDD115 /* validate_non_uniform.cpp */; };
+		A97662242485758700FDD115 /* validate_non_uniform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DC62485758500FDD115 /* validate_non_uniform.cpp */; };
+		A97662252485758700FDD115 /* validate_scopes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DC72485758500FDD115 /* validate_scopes.cpp */; };
+		A97662262485758700FDD115 /* validate_scopes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DC72485758500FDD115 /* validate_scopes.cpp */; };
+		A97662272485758700FDD115 /* validate_atomics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DC82485758500FDD115 /* validate_atomics.cpp */; };
+		A97662282485758700FDD115 /* validate_atomics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DC82485758500FDD115 /* validate_atomics.cpp */; };
+		A97662292485758700FDD115 /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DC92485758500FDD115 /* basic_block.h */; };
+		A976622A2485758700FDD115 /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DC92485758500FDD115 /* basic_block.h */; };
+		A976622B2485758700FDD115 /* validate_instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DCA2485758500FDD115 /* validate_instruction.cpp */; };
+		A976622C2485758700FDD115 /* validate_instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DCA2485758500FDD115 /* validate_instruction.cpp */; };
+		A976622D2485758700FDD115 /* validate_decorations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DCB2485758500FDD115 /* validate_decorations.cpp */; };
+		A976622E2485758700FDD115 /* validate_decorations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DCB2485758500FDD115 /* validate_decorations.cpp */; };
+		A976622F2485758700FDD115 /* validate_debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DCC2485758500FDD115 /* validate_debug.cpp */; };
+		A97662302485758700FDD115 /* validate_debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DCC2485758500FDD115 /* validate_debug.cpp */; };
+		A97662312485758700FDD115 /* validate_builtins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DCD2485758500FDD115 /* validate_builtins.cpp */; };
+		A97662322485758700FDD115 /* validate_builtins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DCD2485758500FDD115 /* validate_builtins.cpp */; };
+		A97662332485758700FDD115 /* validate_interfaces.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DCE2485758500FDD115 /* validate_interfaces.cpp */; };
+		A97662342485758700FDD115 /* validate_interfaces.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DCE2485758500FDD115 /* validate_interfaces.cpp */; };
+		A97662352485758700FDD115 /* validate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DCF2485758500FDD115 /* validate.cpp */; };
+		A97662362485758700FDD115 /* validate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DCF2485758500FDD115 /* validate.cpp */; };
+		A97662372485758700FDD115 /* validation_state.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DD02485758500FDD115 /* validation_state.h */; };
+		A97662382485758700FDD115 /* validation_state.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DD02485758500FDD115 /* validation_state.h */; };
+		A97662392485758700FDD115 /* validate_constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DD12485758500FDD115 /* validate_constants.cpp */; };
+		A976623A2485758700FDD115 /* validate_constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DD12485758500FDD115 /* validate_constants.cpp */; };
+		A976623B2485758700FDD115 /* validate_bitwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DD22485758500FDD115 /* validate_bitwise.cpp */; };
+		A976623C2485758700FDD115 /* validate_bitwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DD22485758500FDD115 /* validate_bitwise.cpp */; };
+		A976623D2485758700FDD115 /* validate_extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DD32485758500FDD115 /* validate_extensions.cpp */; };
+		A976623E2485758700FDD115 /* validate_extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DD32485758500FDD115 /* validate_extensions.cpp */; };
+		A976623F2485758700FDD115 /* construct.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DD42485758500FDD115 /* construct.cpp */; };
+		A97662402485758700FDD115 /* construct.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DD42485758500FDD115 /* construct.cpp */; };
+		A97662412485758700FDD115 /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DD52485758500FDD115 /* function.cpp */; };
+		A97662422485758700FDD115 /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DD52485758500FDD115 /* function.cpp */; };
+		A97662432485758700FDD115 /* validate.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DD62485758500FDD115 /* validate.h */; };
+		A97662442485758700FDD115 /* validate.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DD62485758500FDD115 /* validate.h */; };
+		A97662452485758700FDD115 /* validate_adjacency.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DD72485758500FDD115 /* validate_adjacency.cpp */; };
+		A97662462485758700FDD115 /* validate_adjacency.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DD72485758500FDD115 /* validate_adjacency.cpp */; };
+		A97662472485758700FDD115 /* validate_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DD82485758500FDD115 /* validate_conversion.cpp */; };
+		A97662482485758700FDD115 /* validate_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DD82485758500FDD115 /* validate_conversion.cpp */; };
+		A97662492485758700FDD115 /* validate_small_type_uses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DD92485758500FDD115 /* validate_small_type_uses.cpp */; };
+		A976624A2485758700FDD115 /* validate_small_type_uses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DD92485758500FDD115 /* validate_small_type_uses.cpp */; };
+		A976624B2485758700FDD115 /* validate_scopes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DDA2485758500FDD115 /* validate_scopes.h */; };
+		A976624C2485758700FDD115 /* validate_scopes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DDA2485758500FDD115 /* validate_scopes.h */; };
+		A976624D2485758700FDD115 /* validate_id.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DDB2485758500FDD115 /* validate_id.cpp */; };
+		A976624E2485758700FDD115 /* validate_id.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DDB2485758500FDD115 /* validate_id.cpp */; };
+		A976624F2485758700FDD115 /* validate_memory_semantics.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DDC2485758500FDD115 /* validate_memory_semantics.h */; };
+		A97662502485758700FDD115 /* validate_memory_semantics.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DDC2485758500FDD115 /* validate_memory_semantics.h */; };
+		A97662512485758700FDD115 /* validate_arithmetics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DDD2485758500FDD115 /* validate_arithmetics.cpp */; };
+		A97662522485758700FDD115 /* validate_arithmetics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DDD2485758500FDD115 /* validate_arithmetics.cpp */; };
+		A97662532485758700FDD115 /* validate_mode_setting.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DDE2485758500FDD115 /* validate_mode_setting.cpp */; };
+		A97662542485758700FDD115 /* validate_mode_setting.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DDE2485758500FDD115 /* validate_mode_setting.cpp */; };
+		A97662552485758700FDD115 /* validate_memory_semantics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DDF2485758500FDD115 /* validate_memory_semantics.cpp */; };
+		A97662562485758700FDD115 /* validate_memory_semantics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DDF2485758500FDD115 /* validate_memory_semantics.cpp */; };
+		A97662572485758700FDD115 /* validate_logicals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DE02485758500FDD115 /* validate_logicals.cpp */; };
+		A97662582485758700FDD115 /* validate_logicals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DE02485758500FDD115 /* validate_logicals.cpp */; };
+		A97662592485758700FDD115 /* validate_derivatives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DE12485758500FDD115 /* validate_derivatives.cpp */; };
+		A976625A2485758700FDD115 /* validate_derivatives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DE12485758500FDD115 /* validate_derivatives.cpp */; };
+		A976625B2485758700FDD115 /* validate_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DE22485758500FDD115 /* validate_memory.cpp */; };
+		A976625C2485758700FDD115 /* validate_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DE22485758500FDD115 /* validate_memory.cpp */; };
+		A976625D2485758700FDD115 /* validate_image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DE32485758500FDD115 /* validate_image.cpp */; };
+		A976625E2485758700FDD115 /* validate_image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DE32485758500FDD115 /* validate_image.cpp */; };
+		A976625F2485758700FDD115 /* validate_literals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DE42485758500FDD115 /* validate_literals.cpp */; };
+		A97662602485758700FDD115 /* validate_literals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DE42485758500FDD115 /* validate_literals.cpp */; };
+		A97662612485758700FDD115 /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DE52485758500FDD115 /* instruction.cpp */; };
+		A97662622485758700FDD115 /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DE52485758500FDD115 /* instruction.cpp */; };
+		A97662632485758700FDD115 /* validate_type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DE62485758500FDD115 /* validate_type.cpp */; };
+		A97662642485758700FDD115 /* validate_type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DE62485758500FDD115 /* validate_type.cpp */; };
+		A97662652485758700FDD115 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DE72485758500FDD115 /* instruction.h */; };
+		A97662662485758700FDD115 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DE72485758500FDD115 /* instruction.h */; };
+		A97662672485758700FDD115 /* validate_execution_limitations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DE82485758500FDD115 /* validate_execution_limitations.cpp */; };
+		A97662682485758700FDD115 /* validate_execution_limitations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DE82485758500FDD115 /* validate_execution_limitations.cpp */; };
+		A97662692485758700FDD115 /* validate_layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DE92485758500FDD115 /* validate_layout.cpp */; };
+		A976626A2485758700FDD115 /* validate_layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DE92485758500FDD115 /* validate_layout.cpp */; };
+		A976626B2485758700FDD115 /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DEA2485758500FDD115 /* basic_block.cpp */; };
+		A976626C2485758700FDD115 /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DEA2485758500FDD115 /* basic_block.cpp */; };
+		A976626D2485758700FDD115 /* validate_function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DEB2485758500FDD115 /* validate_function.cpp */; };
+		A976626E2485758700FDD115 /* validate_function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DEB2485758500FDD115 /* validate_function.cpp */; };
+		A976626F2485758700FDD115 /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DEC2485758500FDD115 /* function.h */; };
+		A97662702485758700FDD115 /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DEC2485758500FDD115 /* function.h */; };
+		A97662712485758700FDD115 /* validate_composites.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DED2485758500FDD115 /* validate_composites.cpp */; };
+		A97662722485758700FDD115 /* validate_composites.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DED2485758500FDD115 /* validate_composites.cpp */; };
+		A97662732485758700FDD115 /* validation_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DEE2485758500FDD115 /* validation_state.cpp */; };
+		A97662742485758700FDD115 /* validation_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DEE2485758500FDD115 /* validation_state.cpp */; };
+		A97662752485758700FDD115 /* validate_primitives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DEF2485758500FDD115 /* validate_primitives.cpp */; };
+		A97662762485758700FDD115 /* validate_primitives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9765DEF2485758500FDD115 /* validate_primitives.cpp */; };
+		A97662772485758700FDD115 /* decoration.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DF02485758500FDD115 /* decoration.h */; };
+		A97662782485758700FDD115 /* decoration.h in Headers */ = {isa = PBXBuildFile; fileRef = A9765DF02485758500FDD115 /* decoration.h */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXContainerItemProxy section */
@@ -1101,401 +1113,6 @@
 		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; };
 		A91BF011235F9C510039B7DE /* gen_spirv_cross_rev_hdr.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = gen_spirv_cross_rev_hdr.sh; sourceTree = "<group>"; };
-		A941583F243667F600566F16 /* spirv_target_env.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_target_env.cpp; sourceTree = "<group>"; };
-		A9415840243667F600566F16 /* 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>"; };
-		A9415841243667F600566F16 /* spirv_fuzzer_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_fuzzer_options.h; sourceTree = "<group>"; };
-		A9415842243667F600566F16 /* assembly_grammar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = assembly_grammar.h; sourceTree = "<group>"; };
-		A9415843243667F600566F16 /* enum_set.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enum_set.h; sourceTree = "<group>"; };
-		A9415844243667F600566F16 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
-		A9415845243667F600566F16 /* extinst.spv-amd-shader-ballot.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "extinst.spv-amd-shader-ballot.grammar.json"; sourceTree = "<group>"; };
-		A9415846243667F600566F16 /* text.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = text.cpp; sourceTree = "<group>"; };
-		A9415847243667F600566F16 /* assembly_grammar.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = assembly_grammar.cpp; sourceTree = "<group>"; };
-		A9415848243667F600566F16 /* text.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = text.h; sourceTree = "<group>"; };
-		A9415849243667F600566F16 /* extensions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = extensions.cpp; sourceTree = "<group>"; };
-		A941584A243667F600566F16 /* pch_source.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pch_source.cpp; sourceTree = "<group>"; };
-		A941584C243667F600566F16 /* parse_number.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = parse_number.h; sourceTree = "<group>"; };
-		A941584D243667F600566F16 /* ilist_node.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ilist_node.h; sourceTree = "<group>"; };
-		A941584E243667F600566F16 /* make_unique.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = make_unique.h; sourceTree = "<group>"; };
-		A941584F243667F600566F16 /* string_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = string_utils.h; sourceTree = "<group>"; };
-		A9415850243667F600566F16 /* small_vector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = small_vector.h; sourceTree = "<group>"; };
-		A9415851243667F600566F16 /* timer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = timer.cpp; sourceTree = "<group>"; };
-		A9415852243667F600566F16 /* timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = timer.h; sourceTree = "<group>"; };
-		A9415853243667F600566F16 /* string_utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = string_utils.cpp; sourceTree = "<group>"; };
-		A9415854243667F600566F16 /* bit_vector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bit_vector.h; sourceTree = "<group>"; };
-		A9415855243667F600566F16 /* bitutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bitutils.h; sourceTree = "<group>"; };
-		A9415856243667F600566F16 /* hex_float.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hex_float.h; sourceTree = "<group>"; };
-		A9415857243667F600566F16 /* parse_number.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parse_number.cpp; sourceTree = "<group>"; };
-		A9415858243667F600566F16 /* bit_vector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bit_vector.cpp; sourceTree = "<group>"; };
-		A9415859243667F600566F16 /* ilist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ilist.h; sourceTree = "<group>"; };
-		A941585A243667F600566F16 /* spirv_target_env.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_target_env.h; sourceTree = "<group>"; };
-		A941585B243667F600566F16 /* table.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = table.cpp; sourceTree = "<group>"; };
-		A941585C243667F600566F16 /* extinst.opencl.debuginfo.100.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = extinst.opencl.debuginfo.100.grammar.json; sourceTree = "<group>"; };
-		A941585E243667F600566F16 /* 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>"; };
-		A941585F243667F600566F16 /* remove_selection_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_selection_reduction_opportunity.cpp; sourceTree = "<group>"; };
-		A9415860243667F600566F16 /* remove_block_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_block_reduction_opportunity.h; sourceTree = "<group>"; };
-		A9415861243667F600566F16 /* 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>"; };
-		A9415862243667F600566F16 /* reduction_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduction_pass.cpp; sourceTree = "<group>"; };
-		A9415863243667F600566F16 /* 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>"; };
-		A9415864243667F600566F16 /* 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>"; };
-		A9415865243667F600566F16 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
-		A9415866243667F600566F16 /* reduction_util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduction_util.cpp; sourceTree = "<group>"; };
-		A9415867243667F600566F16 /* 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>"; };
-		A9415868243667F600566F16 /* 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>"; };
-		A9415869243667F600566F16 /* remove_function_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_function_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
-		A941586A243667F600566F16 /* remove_instruction_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_instruction_reduction_opportunity.h; sourceTree = "<group>"; };
-		A941586B243667F600566F16 /* 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>"; };
-		A941586C243667F600566F16 /* 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>"; };
-		A941586D243667F600566F16 /* remove_function_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_function_reduction_opportunity.cpp; sourceTree = "<group>"; };
-		A941586E243667F600566F16 /* 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>"; };
-		A941586F243667F600566F16 /* remove_selection_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_selection_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
-		A9415870243667F600566F16 /* 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>"; };
-		A9415871243667F600566F16 /* 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>"; };
-		A9415872243667F600566F16 /* merge_blocks_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = merge_blocks_reduction_opportunity.cpp; sourceTree = "<group>"; };
-		A9415873243667F600566F16 /* change_operand_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = change_operand_reduction_opportunity.cpp; sourceTree = "<group>"; };
-		A9415874243667F600566F16 /* 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>"; };
-		A9415875243667F600566F16 /* remove_function_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_function_reduction_opportunity.h; sourceTree = "<group>"; };
-		A9415876243667F600566F16 /* 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>"; };
-		A9415877243667F600566F16 /* 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>"; };
-		A9415878243667F600566F16 /* 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>"; };
-		A9415879243667F600566F16 /* remove_selection_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_selection_reduction_opportunity.h; sourceTree = "<group>"; };
-		A941587A243667F600566F16 /* remove_instruction_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_instruction_reduction_opportunity.cpp; sourceTree = "<group>"; };
-		A941587B243667F600566F16 /* remove_selection_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_selection_reduction_opportunity_finder.h; sourceTree = "<group>"; };
-		A941587C243667F600566F16 /* merge_blocks_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = merge_blocks_reduction_opportunity_finder.h; sourceTree = "<group>"; };
-		A941587D243667F600566F16 /* pch_source_reduce.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pch_source_reduce.cpp; sourceTree = "<group>"; };
-		A941587E243667F600566F16 /* reducer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reducer.cpp; sourceTree = "<group>"; };
-		A941587F243667F600566F16 /* 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>"; };
-		A9415880243667F600566F16 /* remove_function_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_function_reduction_opportunity_finder.h; sourceTree = "<group>"; };
-		A9415881243667F600566F16 /* pch_source_reduce.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pch_source_reduce.h; sourceTree = "<group>"; };
-		A9415882243667F600566F16 /* 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>"; };
-		A9415883243667F600566F16 /* merge_blocks_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = merge_blocks_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
-		A9415884243667F600566F16 /* reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduction_opportunity.cpp; sourceTree = "<group>"; };
-		A9415885243667F600566F16 /* reducer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reducer.h; sourceTree = "<group>"; };
-		A9415886243667F600566F16 /* 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>"; };
-		A9415887243667F600566F16 /* reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduction_opportunity.h; sourceTree = "<group>"; };
-		A9415888243667F600566F16 /* 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>"; };
-		A9415889243667F600566F16 /* 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>"; };
-		A941588A243667F600566F16 /* reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduction_opportunity_finder.h; sourceTree = "<group>"; };
-		A941588B243667F600566F16 /* change_operand_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = change_operand_reduction_opportunity.h; sourceTree = "<group>"; };
-		A941588C243667F600566F16 /* remove_block_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_block_reduction_opportunity_finder.h; sourceTree = "<group>"; };
-		A941588D243667F600566F16 /* remove_block_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_block_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
-		A941588E243667F600566F16 /* reduction_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduction_util.h; sourceTree = "<group>"; };
-		A941588F243667F600566F16 /* merge_blocks_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = merge_blocks_reduction_opportunity.h; sourceTree = "<group>"; };
-		A9415890243667F600566F16 /* 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>"; };
-		A9415891243667F600566F16 /* 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>"; };
-		A9415892243667F600566F16 /* remove_block_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_block_reduction_opportunity.cpp; sourceTree = "<group>"; };
-		A9415893243667F600566F16 /* reduction_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduction_pass.h; sourceTree = "<group>"; };
-		A9415894243667F600566F16 /* latest_version_opencl_std_header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = latest_version_opencl_std_header.h; sourceTree = "<group>"; };
-		A9415895243667F600566F16 /* spirv_optimizer_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_optimizer_options.cpp; sourceTree = "<group>"; };
-		A9415896243667F600566F16 /* cfa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfa.h; sourceTree = "<group>"; };
-		A9415897243667F600566F16 /* pch_source.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pch_source.h; sourceTree = "<group>"; };
-		A9415898243667F600566F16 /* enum_string_mapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enum_string_mapping.h; sourceTree = "<group>"; };
-		A9415899243667F600566F16 /* spirv_fuzzer_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_fuzzer_options.cpp; sourceTree = "<group>"; };
-		A941589A243667F600566F16 /* spirv_reducer_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_reducer_options.h; sourceTree = "<group>"; };
-		A941589B243667F600566F16 /* spirv_validator_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_validator_options.cpp; sourceTree = "<group>"; };
-		A941589C243667F600566F16 /* 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>"; };
-		A941589D243667F600566F16 /* print.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = print.cpp; sourceTree = "<group>"; };
-		A941589E243667F600566F16 /* spirv_definition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_definition.h; sourceTree = "<group>"; };
-		A941589F243667F600566F16 /* operand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = operand.h; sourceTree = "<group>"; };
-		A94158A0243667F600566F16 /* spirv_endian.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_endian.cpp; sourceTree = "<group>"; };
-		A94158A1243667F600566F16 /* macro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = macro.h; sourceTree = "<group>"; };
-		A94158A2243667F600566F16 /* spirv_constant.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_constant.h; sourceTree = "<group>"; };
-		A94158A3243667F600566F16 /* extinst.spv-amd-gcn-shader.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "extinst.spv-amd-gcn-shader.grammar.json"; sourceTree = "<group>"; };
-		A94158A4243667F600566F16 /* binary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = binary.cpp; sourceTree = "<group>"; };
-		A94158A5243667F600566F16 /* spirv_validator_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_validator_options.h; sourceTree = "<group>"; };
-		A94158A6243667F600566F16 /* enum_string_mapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = enum_string_mapping.cpp; sourceTree = "<group>"; };
-		A94158A7243667F600566F16 /* text_handler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = text_handler.h; sourceTree = "<group>"; };
-		A94158A8243667F600566F16 /* parsed_operand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = parsed_operand.h; sourceTree = "<group>"; };
-		A94158A9243667F600566F16 /* name_mapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = name_mapper.h; sourceTree = "<group>"; };
-		A94158AA243667F600566F16 /* spirv_reducer_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_reducer_options.cpp; sourceTree = "<group>"; };
-		A94158AB243667F600566F16 /* parsed_operand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parsed_operand.cpp; sourceTree = "<group>"; };
-		A94158AC243667F600566F16 /* diagnostic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = diagnostic.h; sourceTree = "<group>"; };
-		A94158AD243667F600566F16 /* spirv_endian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_endian.h; sourceTree = "<group>"; };
-		A94158AE243667F600566F16 /* name_mapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = name_mapper.cpp; sourceTree = "<group>"; };
-		A94158AF243667F600566F16 /* extinst.debuginfo.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = extinst.debuginfo.grammar.json; sourceTree = "<group>"; };
-		A94158B1243667F600566F16 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
-		A94158B2243667F600566F16 /* linker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = linker.cpp; sourceTree = "<group>"; };
-		A94158B3243667F600566F16 /* software_version.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = software_version.cpp; sourceTree = "<group>"; };
-		A94158B4243667F600566F16 /* opcode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opcode.cpp; sourceTree = "<group>"; };
-		A94158B5243667F600566F16 /* print.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = print.h; sourceTree = "<group>"; };
-		A94158B6243667F600566F16 /* ext_inst.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ext_inst.cpp; sourceTree = "<group>"; };
-		A94158B7243667F600566F16 /* disassemble.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = disassemble.h; sourceTree = "<group>"; };
-		A94158B9243667F600566F16 /* optimizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = optimizer.cpp; sourceTree = "<group>"; };
-		A94158BA243667F600566F16 /* if_conversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = if_conversion.h; sourceTree = "<group>"; };
-		A94158BB243667F600566F16 /* register_pressure.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = register_pressure.cpp; sourceTree = "<group>"; };
-		A94158BC243667F600566F16 /* loop_utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_utils.cpp; sourceTree = "<group>"; };
-		A94158BD243667F600566F16 /* merge_return_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = merge_return_pass.h; sourceTree = "<group>"; };
-		A94158BE243667F600566F16 /* inline_opaque_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline_opaque_pass.h; sourceTree = "<group>"; };
-		A94158BF243667F600566F16 /* loop_fusion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_fusion.h; sourceTree = "<group>"; };
-		A94158C0243667F600566F16 /* combine_access_chains.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = combine_access_chains.cpp; sourceTree = "<group>"; };
-		A94158C1243667F600566F16 /* build_module.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = build_module.cpp; sourceTree = "<group>"; };
-		A94158C2243667F600566F16 /* composite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = composite.h; sourceTree = "<group>"; };
-		A94158C3243667F600566F16 /* compact_ids_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = compact_ids_pass.h; sourceTree = "<group>"; };
-		A94158C4243667F600566F16 /* register_pressure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = register_pressure.h; sourceTree = "<group>"; };
-		A94158C5243667F600566F16 /* tree_iterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tree_iterator.h; sourceTree = "<group>"; };
-		A94158C6243667F600566F16 /* graphics_robust_access_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = graphics_robust_access_pass.h; sourceTree = "<group>"; };
-		A94158C7243667F600566F16 /* strip_atomic_counter_memory_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strip_atomic_counter_memory_pass.h; sourceTree = "<group>"; };
-		A94158C8243667F600566F16 /* legalize_vector_shuffle_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = legalize_vector_shuffle_pass.h; sourceTree = "<group>"; };
-		A94158C9243667F600566F16 /* local_single_store_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_single_store_elim_pass.h; sourceTree = "<group>"; };
-		A94158CA243667F600566F16 /* reduce_load_size.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduce_load_size.h; sourceTree = "<group>"; };
-		A94158CB243667F600566F16 /* code_sink.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = code_sink.cpp; sourceTree = "<group>"; };
-		A94158CC243667F600566F16 /* types.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = types.cpp; sourceTree = "<group>"; };
-		A94158CD243667F600566F16 /* scalar_analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scalar_analysis.h; sourceTree = "<group>"; };
-		A94158CE243667F600566F16 /* strip_debug_info_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strip_debug_info_pass.h; sourceTree = "<group>"; };
-		A94158CF243667F600566F16 /* cfg.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cfg.cpp; sourceTree = "<group>"; };
-		A94158D0243667F600566F16 /* strip_atomic_counter_memory_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strip_atomic_counter_memory_pass.cpp; sourceTree = "<group>"; };
-		A94158D1243667F600566F16 /* decoration_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decoration_manager.cpp; sourceTree = "<group>"; };
-		A94158D2243667F600566F16 /* local_single_block_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_single_block_elim_pass.cpp; sourceTree = "<group>"; };
-		A94158D3243667F600566F16 /* freeze_spec_constant_value_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = freeze_spec_constant_value_pass.cpp; sourceTree = "<group>"; };
-		A94158D4243667F600566F16 /* replace_invalid_opc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = replace_invalid_opc.h; sourceTree = "<group>"; };
-		A94158D5243667F600566F16 /* local_access_chain_convert_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_access_chain_convert_pass.h; sourceTree = "<group>"; };
-		A94158D6243667F600566F16 /* inst_bindless_check_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inst_bindless_check_pass.cpp; sourceTree = "<group>"; };
-		A94158D7243667F600566F16 /* local_redundancy_elimination.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_redundancy_elimination.cpp; sourceTree = "<group>"; };
-		A94158D8243667F600566F16 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
-		A94158D9243667F600566F16 /* instrument_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instrument_pass.cpp; sourceTree = "<group>"; };
-		A94158DA243667F600566F16 /* propagator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = propagator.h; sourceTree = "<group>"; };
-		A94158DB243667F600566F16 /* instruction_list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction_list.h; sourceTree = "<group>"; };
-		A94158DC243667F600566F16 /* feature_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = feature_manager.cpp; sourceTree = "<group>"; };
-		A94158DD243667F600566F16 /* pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pass.cpp; sourceTree = "<group>"; };
-		A94158DE243667F600566F16 /* loop_fission.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_fission.cpp; sourceTree = "<group>"; };
-		A94158DF243667F600566F16 /* dominator_tree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dominator_tree.cpp; sourceTree = "<group>"; };
-		A94158E0243667F600566F16 /* amd_ext_to_khr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = amd_ext_to_khr.h; sourceTree = "<group>"; };
-		A94158E1243667F600566F16 /* merge_return_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = merge_return_pass.cpp; sourceTree = "<group>"; };
-		A94158E2243667F600566F16 /* ir_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_context.h; sourceTree = "<group>"; };
-		A94158E3243667F600566F16 /* eliminate_dead_constant_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_constant_pass.cpp; sourceTree = "<group>"; };
-		A94158E4243667F600566F16 /* cfg_cleanup_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cfg_cleanup_pass.cpp; sourceTree = "<group>"; };
-		A94158E5243667F600566F16 /* wrap_opkill.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_opkill.cpp; sourceTree = "<group>"; };
-		A94158E6243667F600566F16 /* const_folding_rules.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = const_folding_rules.cpp; sourceTree = "<group>"; };
-		A94158E7243667F600566F16 /* loop_unroller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_unroller.h; sourceTree = "<group>"; };
-		A94158E8243667F600566F16 /* strip_debug_info_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strip_debug_info_pass.cpp; sourceTree = "<group>"; };
-		A94158E9243667F600566F16 /* ssa_rewrite_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ssa_rewrite_pass.cpp; sourceTree = "<group>"; };
-		A94158EA243667F600566F16 /* loop_dependence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_dependence.cpp; sourceTree = "<group>"; };
-		A94158EB243667F600566F16 /* unify_const_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unify_const_pass.h; sourceTree = "<group>"; };
-		A94158EC243667F600566F16 /* ir_loader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_loader.h; sourceTree = "<group>"; };
-		A94158ED243667F600566F16 /* inst_debug_printf_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inst_debug_printf_pass.cpp; sourceTree = "<group>"; };
-		A94158EE243667F600566F16 /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = "<group>"; };
-		A94158EF243667F600566F16 /* 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>"; };
-		A94158F0243667F600566F16 /* mem_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mem_pass.cpp; sourceTree = "<group>"; };
-		A94158F1243667F600566F16 /* basic_block.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = basic_block.h; sourceTree = "<group>"; };
-		A94158F2243667F600566F16 /* remove_duplicates_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_duplicates_pass.cpp; sourceTree = "<group>"; };
-		A94158F3243667F600566F16 /* dead_variable_elimination.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dead_variable_elimination.cpp; sourceTree = "<group>"; };
-		A94158F4243667F600566F16 /* block_merge_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_merge_pass.h; sourceTree = "<group>"; };
-		A94158F5243667F600566F16 /* module.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = module.cpp; sourceTree = "<group>"; };
-		A94158F6243667F600566F16 /* 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>"; };
-		A94158F7243667F600566F16 /* loop_unswitch_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_unswitch_pass.cpp; sourceTree = "<group>"; };
-		A94158F8243667F600566F16 /* unify_const_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unify_const_pass.cpp; sourceTree = "<group>"; };
-		A94158F9243667F600566F16 /* type_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = type_manager.cpp; sourceTree = "<group>"; };
-		A94158FA243667F600566F16 /* generate_webgpu_initializers_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = generate_webgpu_initializers_pass.cpp; sourceTree = "<group>"; };
-		A94158FB243667F600566F16 /* private_to_local_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = private_to_local_pass.h; sourceTree = "<group>"; };
-		A94158FC243667F600566F16 /* convert_to_half_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = convert_to_half_pass.h; sourceTree = "<group>"; };
-		A94158FD243667F600566F16 /* relax_float_ops_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = relax_float_ops_pass.h; sourceTree = "<group>"; };
-		A94158FE243667F600566F16 /* inline_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inline_pass.cpp; sourceTree = "<group>"; };
-		A94158FF243667F600566F16 /* def_use_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = def_use_manager.h; sourceTree = "<group>"; };
-		A9415900243667F600566F16 /* ir_loader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_loader.cpp; sourceTree = "<group>"; };
-		A9415901243667F600566F16 /* cfg_cleanup_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfg_cleanup_pass.h; sourceTree = "<group>"; };
-		A9415902243667F600566F16 /* licm_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = licm_pass.cpp; sourceTree = "<group>"; };
-		A9415903243667F600566F16 /* eliminate_dead_functions_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_functions_pass.cpp; sourceTree = "<group>"; };
-		A9415904243667F600566F16 /* local_redundancy_elimination.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_redundancy_elimination.h; sourceTree = "<group>"; };
-		A9415905243667F600566F16 /* split_invalid_unreachable_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = split_invalid_unreachable_pass.cpp; sourceTree = "<group>"; };
-		A9415906243667F600566F16 /* loop_peeling.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_peeling.h; sourceTree = "<group>"; };
-		A9415907243667F600566F16 /* vector_dce.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vector_dce.cpp; sourceTree = "<group>"; };
-		A9415908243667F600566F16 /* block_merge_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_merge_util.h; sourceTree = "<group>"; };
-		A9415909243667F600566F16 /* loop_unroller.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_unroller.cpp; sourceTree = "<group>"; };
-		A941590A243667F600566F16 /* desc_sroa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = desc_sroa.h; sourceTree = "<group>"; };
-		A941590B243667F600566F16 /* constants.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = constants.cpp; sourceTree = "<group>"; };
-		A941590C243667F600566F16 /* loop_fusion_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_fusion_pass.h; sourceTree = "<group>"; };
-		A941590D243667F600566F16 /* struct_cfg_analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = struct_cfg_analysis.h; sourceTree = "<group>"; };
-		A941590E243667F600566F16 /* inst_buff_addr_check_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inst_buff_addr_check_pass.cpp; sourceTree = "<group>"; };
-		A941590F243667F600566F16 /* def_use_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = def_use_manager.cpp; sourceTree = "<group>"; };
-		A9415910243667F600566F16 /* wrap_opkill.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_opkill.h; sourceTree = "<group>"; };
-		A9415911243667F600566F16 /* strip_reflect_info_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strip_reflect_info_pass.cpp; sourceTree = "<group>"; };
-		A9415912243667F600566F16 /* decoration_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoration_manager.h; sourceTree = "<group>"; };
-		A9415913243667F600566F16 /* ccp_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ccp_pass.cpp; sourceTree = "<group>"; };
-		A9415914243667F600566F16 /* process_lines_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = process_lines_pass.h; sourceTree = "<group>"; };
-		A9415915243667F600566F16 /* local_single_block_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_single_block_elim_pass.h; sourceTree = "<group>"; };
-		A9415916243667F600566F16 /* pch_source_opt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pch_source_opt.cpp; sourceTree = "<group>"; };
-		A9415917243667F600566F16 /* inst_buff_addr_check_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inst_buff_addr_check_pass.h; sourceTree = "<group>"; };
-		A9415918243667F600566F16 /* strength_reduction_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strength_reduction_pass.h; sourceTree = "<group>"; };
-		A9415919243667F600566F16 /* aggressive_dead_code_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aggressive_dead_code_elim_pass.cpp; sourceTree = "<group>"; };
-		A941591A243667F600566F16 /* eliminate_dead_functions_util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_functions_util.cpp; sourceTree = "<group>"; };
-		A941591B243667F600566F16 /* inst_debug_printf_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inst_debug_printf_pass.h; sourceTree = "<group>"; };
-		A941591C243667F600566F16 /* simplification_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = simplification_pass.cpp; sourceTree = "<group>"; };
-		A941591D243667F600566F16 /* dead_branch_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dead_branch_elim_pass.cpp; sourceTree = "<group>"; };
-		A941591E243667F600566F16 /* flatten_decoration_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = flatten_decoration_pass.cpp; sourceTree = "<group>"; };
-		A941591F243667F600566F16 /* dead_insert_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dead_insert_elim_pass.h; sourceTree = "<group>"; };
-		A9415920243667F600566F16 /* folding_rules.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = folding_rules.cpp; sourceTree = "<group>"; };
-		A9415921243667F600566F16 /* freeze_spec_constant_value_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = freeze_spec_constant_value_pass.h; sourceTree = "<group>"; };
-		A9415922243667F600566F16 /* ir_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_context.cpp; sourceTree = "<group>"; };
-		A9415923243667F600566F16 /* instrument_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instrument_pass.h; sourceTree = "<group>"; };
-		A9415924243667F600566F16 /* mem_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mem_pass.h; sourceTree = "<group>"; };
-		A9415925243667F600566F16 /* loop_descriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_descriptor.cpp; sourceTree = "<group>"; };
-		A9415926243667F600566F16 /* eliminate_dead_members_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_members_pass.h; sourceTree = "<group>"; };
-		A9415927243667F600566F16 /* function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = function.cpp; sourceTree = "<group>"; };
-		A9415928243667F600566F16 /* instruction_list.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instruction_list.cpp; sourceTree = "<group>"; };
-		A9415929243667F600566F16 /* composite.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = composite.cpp; sourceTree = "<group>"; };
-		A941592A243667F600566F16 /* convert_to_half_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = convert_to_half_pass.cpp; sourceTree = "<group>"; };
-		A941592B243667F600566F16 /* process_lines_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = process_lines_pass.cpp; sourceTree = "<group>"; };
-		A941592C243667F600566F16 /* inline_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline_pass.h; sourceTree = "<group>"; };
-		A941592D243667F600566F16 /* loop_dependence.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_dependence.h; sourceTree = "<group>"; };
-		A941592E243667F600566F16 /* value_number_table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = value_number_table.h; sourceTree = "<group>"; };
-		A941592F243667F600566F16 /* flatten_decoration_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = flatten_decoration_pass.h; sourceTree = "<group>"; };
-		A9415930243667F600566F16 /* if_conversion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = if_conversion.cpp; sourceTree = "<group>"; };
-		A9415931243667F600566F16 /* inline_exhaustive_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline_exhaustive_pass.h; sourceTree = "<group>"; };
-		A9415932243667F600566F16 /* constants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = constants.h; sourceTree = "<group>"; };
-		A9415933243667F600566F16 /* eliminate_dead_members_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_members_pass.cpp; sourceTree = "<group>"; };
-		A9415934243667F600566F16 /* strength_reduction_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strength_reduction_pass.cpp; sourceTree = "<group>"; };
-		A9415935243667F600566F16 /* desc_sroa.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = desc_sroa.cpp; sourceTree = "<group>"; };
-		A9415936243667F600566F16 /* block_merge_util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_merge_util.cpp; sourceTree = "<group>"; };
-		A9415937243667F600566F16 /* upgrade_memory_model.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = upgrade_memory_model.h; sourceTree = "<group>"; };
-		A9415938243667F600566F16 /* copy_prop_arrays.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = copy_prop_arrays.cpp; sourceTree = "<group>"; };
-		A9415939243667F600566F16 /* pass_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pass_manager.cpp; sourceTree = "<group>"; };
-		A941593A243667F600566F16 /* inline_exhaustive_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inline_exhaustive_pass.cpp; sourceTree = "<group>"; };
-		A941593B243667F600566F16 /* loop_fission.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_fission.h; sourceTree = "<group>"; };
-		A941593C243667F600566F16 /* workaround1209.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = workaround1209.h; sourceTree = "<group>"; };
-		A941593D243667F600566F16 /* loop_fusion_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_fusion_pass.cpp; sourceTree = "<group>"; };
-		A941593E243667F600566F16 /* log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = log.h; sourceTree = "<group>"; };
-		A941593F243667F600566F16 /* split_invalid_unreachable_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = split_invalid_unreachable_pass.h; sourceTree = "<group>"; };
-		A9415940243667F600566F16 /* copy_prop_arrays.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = copy_prop_arrays.h; sourceTree = "<group>"; };
-		A9415941243667F600566F16 /* eliminate_dead_constant_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_constant_pass.h; sourceTree = "<group>"; };
-		A9415942243667F600566F16 /* dead_insert_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dead_insert_elim_pass.cpp; sourceTree = "<group>"; };
-		A9415943243667F600566F16 /* ssa_rewrite_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ssa_rewrite_pass.h; sourceTree = "<group>"; };
-		A9415944243667F600566F16 /* scalar_analysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scalar_analysis.cpp; sourceTree = "<group>"; };
-		A9415945243667F600566F16 /* dead_variable_elimination.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dead_variable_elimination.h; sourceTree = "<group>"; };
-		A9415946243667F600566F16 /* block_merge_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_merge_pass.cpp; sourceTree = "<group>"; };
-		A9415947243667F600566F16 /* dominator_analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dominator_analysis.h; sourceTree = "<group>"; };
-		A9415948243667F600566F16 /* pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pass.h; sourceTree = "<group>"; };
-		A9415949243667F600566F16 /* folding_rules.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = folding_rules.h; sourceTree = "<group>"; };
-		A941594A243667F600566F16 /* eliminate_dead_functions_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_functions_pass.h; sourceTree = "<group>"; };
-		A941594B243667F600566F16 /* eliminate_dead_functions_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_functions_util.h; sourceTree = "<group>"; };
-		A941594C243667F600566F16 /* fold.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fold.h; sourceTree = "<group>"; };
-		A941594D243667F600566F16 /* local_single_store_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_single_store_elim_pass.cpp; sourceTree = "<group>"; };
-		A941594E243667F600566F16 /* dead_branch_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dead_branch_elim_pass.h; sourceTree = "<group>"; };
-		A941594F243667F600566F16 /* private_to_local_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = private_to_local_pass.cpp; sourceTree = "<group>"; };
-		A9415950243667F600566F16 /* scalar_analysis_nodes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scalar_analysis_nodes.h; sourceTree = "<group>"; };
-		A9415951243667F600566F16 /* propagator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = propagator.cpp; sourceTree = "<group>"; };
-		A9415952243667F600566F16 /* fix_storage_class.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fix_storage_class.h; sourceTree = "<group>"; };
-		A9415953243667F600566F16 /* loop_dependence_helpers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_dependence_helpers.cpp; sourceTree = "<group>"; };
-		A9415954243667F600566F16 /* 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>"; };
-		A9415955243667F600566F16 /* passes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = passes.h; sourceTree = "<group>"; };
-		A9415956243667F600566F16 /* fold.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fold.cpp; sourceTree = "<group>"; };
-		A9415957243667F600566F16 /* amd_ext_to_khr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = amd_ext_to_khr.cpp; sourceTree = "<group>"; };
-		A9415958243667F600566F16 /* strip_reflect_info_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strip_reflect_info_pass.h; sourceTree = "<group>"; };
-		A9415959243667F600566F16 /* scalar_replacement_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scalar_replacement_pass.cpp; sourceTree = "<group>"; };
-		A941595A243667F600566F16 /* simplification_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = simplification_pass.h; sourceTree = "<group>"; };
-		A941595B243667F600566F16 /* remove_duplicates_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_duplicates_pass.h; sourceTree = "<group>"; };
-		A941595C243667F600566F16 /* redundancy_elimination.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = redundancy_elimination.cpp; sourceTree = "<group>"; };
-		A941595D243667F600566F16 /* reflect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reflect.h; sourceTree = "<group>"; };
-		A941595E243667F600566F16 /* workaround1209.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = workaround1209.cpp; sourceTree = "<group>"; };
-		A941595F243667F600566F16 /* null_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = null_pass.h; sourceTree = "<group>"; };
-		A9415960243667F600566F16 /* relax_float_ops_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = relax_float_ops_pass.cpp; sourceTree = "<group>"; };
-		A9415961243667F600566F16 /* const_folding_rules.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = const_folding_rules.h; sourceTree = "<group>"; };
-		A9415962243667F600566F16 /* scalar_replacement_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scalar_replacement_pass.h; sourceTree = "<group>"; };
-		A9415963243667F600566F16 /* instruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instruction.cpp; sourceTree = "<group>"; };
-		A9415964243667F600566F16 /* pch_source_opt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pch_source_opt.h; sourceTree = "<group>"; };
-		A9415965243667F600566F16 /* reduce_load_size.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduce_load_size.cpp; sourceTree = "<group>"; };
-		A9415966243667F600566F16 /* redundancy_elimination.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = redundancy_elimination.h; sourceTree = "<group>"; };
-		A9415967243667F600566F16 /* fix_storage_class.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fix_storage_class.cpp; sourceTree = "<group>"; };
-		A9415968243667F600566F16 /* value_number_table.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = value_number_table.cpp; sourceTree = "<group>"; };
-		A9415969243667F600566F16 /* inline_opaque_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inline_opaque_pass.cpp; sourceTree = "<group>"; };
-		A941596A243667F600566F16 /* replace_invalid_opc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = replace_invalid_opc.cpp; sourceTree = "<group>"; };
-		A941596B243667F600566F16 /* loop_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_utils.h; sourceTree = "<group>"; };
-		A941596C243667F700566F16 /* module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = module.h; sourceTree = "<group>"; };
-		A941596D243667F700566F16 /* dominator_analysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dominator_analysis.cpp; sourceTree = "<group>"; };
-		A941596E243667F700566F16 /* decompose_initialized_variables_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decompose_initialized_variables_pass.cpp; sourceTree = "<group>"; };
-		A941596F243667F700566F16 /* ir_builder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_builder.h; sourceTree = "<group>"; };
-		A9415970243667F700566F16 /* loop_unswitch_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_unswitch_pass.h; sourceTree = "<group>"; };
-		A9415971243667F700566F16 /* cfg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfg.h; sourceTree = "<group>"; };
-		A9415972243667F700566F16 /* code_sink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = code_sink.h; sourceTree = "<group>"; };
-		A9415973243667F700566F16 /* loop_descriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_descriptor.h; sourceTree = "<group>"; };
-		A9415974243667F700566F16 /* generate_webgpu_initializers_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = generate_webgpu_initializers_pass.h; sourceTree = "<group>"; };
-		A9415975243667F700566F16 /* instruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction.h; sourceTree = "<group>"; };
-		A9415976243667F700566F16 /* aggressive_dead_code_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aggressive_dead_code_elim_pass.h; sourceTree = "<group>"; };
-		A9415977243667F700566F16 /* struct_cfg_analysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = struct_cfg_analysis.cpp; sourceTree = "<group>"; };
-		A9415978243667F700566F16 /* vector_dce.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vector_dce.h; sourceTree = "<group>"; };
-		A9415979243667F700566F16 /* combine_access_chains.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = combine_access_chains.h; sourceTree = "<group>"; };
-		A941597A243667F700566F16 /* pass_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pass_manager.h; sourceTree = "<group>"; };
-		A941597B243667F700566F16 /* local_access_chain_convert_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_access_chain_convert_pass.cpp; sourceTree = "<group>"; };
-		A941597C243667F700566F16 /* basic_block.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = basic_block.cpp; sourceTree = "<group>"; };
-		A941597D243667F700566F16 /* iterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iterator.h; sourceTree = "<group>"; };
-		A941597E243667F700566F16 /* licm_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = licm_pass.h; sourceTree = "<group>"; };
-		A941597F243667F700566F16 /* build_module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = build_module.h; sourceTree = "<group>"; };
-		A9415980243667F700566F16 /* ccp_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccp_pass.h; sourceTree = "<group>"; };
-		A9415981243667F700566F16 /* graphics_robust_access_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = graphics_robust_access_pass.cpp; sourceTree = "<group>"; };
-		A9415982243667F700566F16 /* decompose_initialized_variables_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decompose_initialized_variables_pass.h; sourceTree = "<group>"; };
-		A9415983243667F700566F16 /* function.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = function.h; sourceTree = "<group>"; };
-		A9415984243667F700566F16 /* loop_fusion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_fusion.cpp; sourceTree = "<group>"; };
-		A9415985243667F700566F16 /* upgrade_memory_model.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = upgrade_memory_model.cpp; sourceTree = "<group>"; };
-		A9415986243667F700566F16 /* feature_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = feature_manager.h; sourceTree = "<group>"; };
-		A9415987243667F700566F16 /* inst_bindless_check_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inst_bindless_check_pass.h; sourceTree = "<group>"; };
-		A9415988243667F700566F16 /* scalar_analysis_simplification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scalar_analysis_simplification.cpp; sourceTree = "<group>"; };
-		A9415989243667F700566F16 /* 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>"; };
-		A941598A243667F700566F16 /* dominator_tree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dominator_tree.h; sourceTree = "<group>"; };
-		A941598B243667F700566F16 /* legalize_vector_shuffle_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = legalize_vector_shuffle_pass.cpp; sourceTree = "<group>"; };
-		A941598C243667F700566F16 /* type_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = type_manager.h; sourceTree = "<group>"; };
-		A941598D243667F700566F16 /* compact_ids_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = compact_ids_pass.cpp; sourceTree = "<group>"; };
-		A941598E243667F700566F16 /* loop_peeling.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_peeling.cpp; sourceTree = "<group>"; };
-		A941598F243667F700566F16 /* table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = table.h; sourceTree = "<group>"; };
-		A9415A48243667F700566F16 /* ext_inst.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ext_inst.h; sourceTree = "<group>"; };
-		A9415A49243667F700566F16 /* diagnostic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = diagnostic.cpp; sourceTree = "<group>"; };
-		A9415A4A243667F700566F16 /* latest_version_spirv_header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = latest_version_spirv_header.h; sourceTree = "<group>"; };
-		A9415A4B243667F700566F16 /* libspirv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = libspirv.cpp; sourceTree = "<group>"; };
-		A9415A4C243667F700566F16 /* instruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction.h; sourceTree = "<group>"; };
-		A9415A4D243667F700566F16 /* spirv_optimizer_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_optimizer_options.h; sourceTree = "<group>"; };
-		A9415A4E243667F700566F16 /* opcode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opcode.h; sourceTree = "<group>"; };
-		A9415A4F243667F700566F16 /* operand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = operand.cpp; sourceTree = "<group>"; };
-		A9415A50243667F700566F16 /* 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>"; };
-		A9415A51243667F700566F16 /* extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = extensions.h; sourceTree = "<group>"; };
-		A9415A52243667F700566F16 /* disassemble.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = disassemble.cpp; sourceTree = "<group>"; };
-		A9415A53243667F700566F16 /* binary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = binary.h; sourceTree = "<group>"; };
-		A9415A54243667F700566F16 /* text_handler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = text_handler.cpp; sourceTree = "<group>"; };
-		A9415A56243667F700566F16 /* validate_annotation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_annotation.cpp; sourceTree = "<group>"; };
-		A9415A57243667F700566F16 /* validate_misc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_misc.cpp; sourceTree = "<group>"; };
-		A9415A58243667F700566F16 /* validate_cfg.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_cfg.cpp; sourceTree = "<group>"; };
-		A9415A59243667F700566F16 /* validate_capability.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_capability.cpp; sourceTree = "<group>"; };
-		A9415A5A243667F700566F16 /* construct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = construct.h; sourceTree = "<group>"; };
-		A9415A5B243667F700566F16 /* validate_barriers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_barriers.cpp; sourceTree = "<group>"; };
-		A9415A5C243667F700566F16 /* validate_non_uniform.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_non_uniform.cpp; sourceTree = "<group>"; };
-		A9415A5D243667F700566F16 /* validate_scopes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_scopes.cpp; sourceTree = "<group>"; };
-		A9415A5E243667F700566F16 /* validate_atomics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_atomics.cpp; sourceTree = "<group>"; };
-		A9415A5F243667F700566F16 /* basic_block.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = basic_block.h; sourceTree = "<group>"; };
-		A9415A60243667F700566F16 /* validate_instruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_instruction.cpp; sourceTree = "<group>"; };
-		A9415A61243667F700566F16 /* validate_decorations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_decorations.cpp; sourceTree = "<group>"; };
-		A9415A62243667F700566F16 /* validate_debug.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_debug.cpp; sourceTree = "<group>"; };
-		A9415A63243667F700566F16 /* validate_builtins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_builtins.cpp; sourceTree = "<group>"; };
-		A9415A64243667F700566F16 /* validate_interfaces.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_interfaces.cpp; sourceTree = "<group>"; };
-		A9415A65243667F700566F16 /* validate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate.cpp; sourceTree = "<group>"; };
-		A9415A66243667F700566F16 /* validation_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validation_state.h; sourceTree = "<group>"; };
-		A9415A67243667F700566F16 /* validate_constants.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_constants.cpp; sourceTree = "<group>"; };
-		A9415A68243667F700566F16 /* validate_bitwise.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_bitwise.cpp; sourceTree = "<group>"; };
-		A9415A69243667F700566F16 /* validate_extensions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_extensions.cpp; sourceTree = "<group>"; };
-		A9415A6A243667F700566F16 /* construct.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = construct.cpp; sourceTree = "<group>"; };
-		A9415A6B243667F700566F16 /* function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = function.cpp; sourceTree = "<group>"; };
-		A9415A6C243667F700566F16 /* validate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validate.h; sourceTree = "<group>"; };
-		A9415A6D243667F700566F16 /* validate_adjacency.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_adjacency.cpp; sourceTree = "<group>"; };
-		A9415A6E243667F700566F16 /* validate_conversion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_conversion.cpp; sourceTree = "<group>"; };
-		A9415A6F243667F700566F16 /* validate_small_type_uses.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_small_type_uses.cpp; sourceTree = "<group>"; };
-		A9415A70243667F700566F16 /* validate_scopes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validate_scopes.h; sourceTree = "<group>"; };
-		A9415A71243667F700566F16 /* validate_id.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_id.cpp; sourceTree = "<group>"; };
-		A9415A72243667F700566F16 /* validate_memory_semantics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validate_memory_semantics.h; sourceTree = "<group>"; };
-		A9415A73243667F700566F16 /* validate_arithmetics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_arithmetics.cpp; sourceTree = "<group>"; };
-		A9415A74243667F700566F16 /* validate_mode_setting.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_mode_setting.cpp; sourceTree = "<group>"; };
-		A9415A75243667F700566F16 /* validate_memory_semantics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_memory_semantics.cpp; sourceTree = "<group>"; };
-		A9415A76243667F700566F16 /* validate_logicals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_logicals.cpp; sourceTree = "<group>"; };
-		A9415A77243667F700566F16 /* validate_derivatives.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_derivatives.cpp; sourceTree = "<group>"; };
-		A9415A78243667F700566F16 /* validate_memory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_memory.cpp; sourceTree = "<group>"; };
-		A9415A79243667F700566F16 /* validate_image.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_image.cpp; sourceTree = "<group>"; };
-		A9415A7A243667F700566F16 /* validate_literals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_literals.cpp; sourceTree = "<group>"; };
-		A9415A7B243667F700566F16 /* instruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instruction.cpp; sourceTree = "<group>"; };
-		A9415A7C243667F700566F16 /* validate_type.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_type.cpp; sourceTree = "<group>"; };
-		A9415A7D243667F700566F16 /* instruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction.h; sourceTree = "<group>"; };
-		A9415A7E243667F700566F16 /* validate_execution_limitations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_execution_limitations.cpp; sourceTree = "<group>"; };
-		A9415A7F243667F700566F16 /* validate_layout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_layout.cpp; sourceTree = "<group>"; };
-		A9415A80243667F700566F16 /* basic_block.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = basic_block.cpp; sourceTree = "<group>"; };
-		A9415A81243667F700566F16 /* validate_function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_function.cpp; sourceTree = "<group>"; };
-		A9415A82243667F700566F16 /* function.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = function.h; sourceTree = "<group>"; };
-		A9415A83243667F700566F16 /* validate_composites.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_composites.cpp; sourceTree = "<group>"; };
-		A9415A84243667F700566F16 /* validation_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validation_state.cpp; sourceTree = "<group>"; };
-		A9415A85243667F700566F16 /* validate_primitives.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_primitives.cpp; sourceTree = "<group>"; };
-		A9415A86243667F700566F16 /* decoration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoration.h; sourceTree = "<group>"; };
 		A9415EF624366B0E00566F16 /* packagePregenSpirvToolsHeaders */ = {isa = PBXFileReference; lastKnownFileType = text; path = packagePregenSpirvToolsHeaders; sourceTree = "<group>"; };
 		A95D90A723A7F1E500CBCC60 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
 		A95D90AA23A7F1E500CBCC60 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
@@ -1619,6 +1236,407 @@
 		A976290C21CC60BC00B52A68 /* spirv_parser.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = spirv_parser.hpp; sourceTree = "<group>"; };
 		A976290D21CC60BC00B52A68 /* spirv_msl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_msl.cpp; sourceTree = "<group>"; };
 		A976290E21CC60BC00B52A68 /* spirv_cross_parsed_ir.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_cross_parsed_ir.cpp; sourceTree = "<group>"; };
+		A9765B9B2485758300FDD115 /* spirv_target_env.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_target_env.cpp; sourceTree = "<group>"; };
+		A9765B9C2485758300FDD115 /* 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>"; };
+		A9765B9D2485758300FDD115 /* spirv_fuzzer_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_fuzzer_options.h; sourceTree = "<group>"; };
+		A9765B9E2485758300FDD115 /* assembly_grammar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = assembly_grammar.h; sourceTree = "<group>"; };
+		A9765B9F2485758300FDD115 /* enum_set.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enum_set.h; sourceTree = "<group>"; };
+		A9765BA02485758300FDD115 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
+		A9765BA12485758300FDD115 /* extinst.spv-amd-shader-ballot.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "extinst.spv-amd-shader-ballot.grammar.json"; sourceTree = "<group>"; };
+		A9765BA22485758300FDD115 /* text.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = text.cpp; sourceTree = "<group>"; };
+		A9765BA32485758300FDD115 /* assembly_grammar.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = assembly_grammar.cpp; sourceTree = "<group>"; };
+		A9765BA42485758300FDD115 /* text.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = text.h; sourceTree = "<group>"; };
+		A9765BA52485758300FDD115 /* extensions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = extensions.cpp; sourceTree = "<group>"; };
+		A9765BA62485758300FDD115 /* pch_source.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pch_source.cpp; sourceTree = "<group>"; };
+		A9765BA82485758300FDD115 /* parse_number.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = parse_number.h; sourceTree = "<group>"; };
+		A9765BA92485758300FDD115 /* ilist_node.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ilist_node.h; sourceTree = "<group>"; };
+		A9765BAA2485758300FDD115 /* make_unique.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = make_unique.h; sourceTree = "<group>"; };
+		A9765BAB2485758300FDD115 /* string_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = string_utils.h; sourceTree = "<group>"; };
+		A9765BAC2485758300FDD115 /* small_vector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = small_vector.h; sourceTree = "<group>"; };
+		A9765BAD2485758300FDD115 /* timer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = timer.cpp; sourceTree = "<group>"; };
+		A9765BAE2485758300FDD115 /* timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = timer.h; sourceTree = "<group>"; };
+		A9765BAF2485758300FDD115 /* string_utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = string_utils.cpp; sourceTree = "<group>"; };
+		A9765BB02485758300FDD115 /* bit_vector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bit_vector.h; sourceTree = "<group>"; };
+		A9765BB12485758300FDD115 /* bitutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bitutils.h; sourceTree = "<group>"; };
+		A9765BB22485758300FDD115 /* hex_float.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hex_float.h; sourceTree = "<group>"; };
+		A9765BB32485758300FDD115 /* parse_number.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parse_number.cpp; sourceTree = "<group>"; };
+		A9765BB42485758300FDD115 /* bit_vector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bit_vector.cpp; sourceTree = "<group>"; };
+		A9765BB52485758300FDD115 /* ilist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ilist.h; sourceTree = "<group>"; };
+		A9765BB62485758300FDD115 /* spirv_target_env.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_target_env.h; sourceTree = "<group>"; };
+		A9765BB72485758300FDD115 /* table.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = table.cpp; sourceTree = "<group>"; };
+		A9765BB82485758300FDD115 /* extinst.opencl.debuginfo.100.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = extinst.opencl.debuginfo.100.grammar.json; sourceTree = "<group>"; };
+		A9765BBA2485758300FDD115 /* 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>"; };
+		A9765BBB2485758300FDD115 /* remove_selection_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_selection_reduction_opportunity.cpp; sourceTree = "<group>"; };
+		A9765BBC2485758300FDD115 /* remove_block_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_block_reduction_opportunity.h; sourceTree = "<group>"; };
+		A9765BBD2485758300FDD115 /* 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>"; };
+		A9765BBE2485758300FDD115 /* reduction_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduction_pass.cpp; sourceTree = "<group>"; };
+		A9765BBF2485758300FDD115 /* 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>"; };
+		A9765BC02485758300FDD115 /* 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>"; };
+		A9765BC12485758300FDD115 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
+		A9765BC22485758300FDD115 /* reduction_util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduction_util.cpp; sourceTree = "<group>"; };
+		A9765BC32485758300FDD115 /* 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>"; };
+		A9765BC42485758300FDD115 /* 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>"; };
+		A9765BC52485758300FDD115 /* remove_function_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_function_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
+		A9765BC62485758300FDD115 /* remove_instruction_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_instruction_reduction_opportunity.h; sourceTree = "<group>"; };
+		A9765BC72485758300FDD115 /* 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>"; };
+		A9765BC82485758300FDD115 /* 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>"; };
+		A9765BC92485758300FDD115 /* remove_function_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_function_reduction_opportunity.cpp; sourceTree = "<group>"; };
+		A9765BCA2485758300FDD115 /* 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>"; };
+		A9765BCB2485758300FDD115 /* remove_selection_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_selection_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
+		A9765BCC2485758300FDD115 /* 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>"; };
+		A9765BCD2485758300FDD115 /* remove_struct_member_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_struct_member_reduction_opportunity.h; sourceTree = "<group>"; };
+		A9765BCE2485758300FDD115 /* 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>"; };
+		A9765BCF2485758300FDD115 /* merge_blocks_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = merge_blocks_reduction_opportunity.cpp; sourceTree = "<group>"; };
+		A9765BD02485758300FDD115 /* change_operand_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = change_operand_reduction_opportunity.cpp; sourceTree = "<group>"; };
+		A9765BD12485758300FDD115 /* 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>"; };
+		A9765BD22485758300FDD115 /* remove_function_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_function_reduction_opportunity.h; sourceTree = "<group>"; };
+		A9765BD32485758300FDD115 /* remove_unused_instruction_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_unused_instruction_reduction_opportunity_finder.h; sourceTree = "<group>"; };
+		A9765BD42485758300FDD115 /* 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>"; };
+		A9765BD52485758300FDD115 /* 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>"; };
+		A9765BD62485758300FDD115 /* remove_selection_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_selection_reduction_opportunity.h; sourceTree = "<group>"; };
+		A9765BD72485758300FDD115 /* remove_instruction_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_instruction_reduction_opportunity.cpp; sourceTree = "<group>"; };
+		A9765BD82485758300FDD115 /* remove_selection_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_selection_reduction_opportunity_finder.h; sourceTree = "<group>"; };
+		A9765BD92485758300FDD115 /* merge_blocks_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = merge_blocks_reduction_opportunity_finder.h; sourceTree = "<group>"; };
+		A9765BDA2485758300FDD115 /* pch_source_reduce.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pch_source_reduce.cpp; sourceTree = "<group>"; };
+		A9765BDB2485758300FDD115 /* remove_struct_member_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_struct_member_reduction_opportunity.cpp; sourceTree = "<group>"; };
+		A9765BDC2485758300FDD115 /* remove_unused_struct_member_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_unused_struct_member_reduction_opportunity_finder.h; sourceTree = "<group>"; };
+		A9765BDD2485758300FDD115 /* remove_unused_instruction_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_unused_instruction_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
+		A9765BDE2485758300FDD115 /* reducer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reducer.cpp; sourceTree = "<group>"; };
+		A9765BDF2485758300FDD115 /* 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>"; };
+		A9765BE02485758300FDD115 /* remove_function_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_function_reduction_opportunity_finder.h; sourceTree = "<group>"; };
+		A9765BE12485758300FDD115 /* pch_source_reduce.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pch_source_reduce.h; sourceTree = "<group>"; };
+		A9765BE22485758300FDD115 /* merge_blocks_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = merge_blocks_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
+		A9765BE32485758300FDD115 /* reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduction_opportunity.cpp; sourceTree = "<group>"; };
+		A9765BE42485758300FDD115 /* reducer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reducer.h; sourceTree = "<group>"; };
+		A9765BE52485758300FDD115 /* 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>"; };
+		A9765BE62485758300FDD115 /* reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduction_opportunity.h; sourceTree = "<group>"; };
+		A9765BE72485758300FDD115 /* 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>"; };
+		A9765BE82485758300FDD115 /* 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>"; };
+		A9765BE92485758300FDD115 /* reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduction_opportunity_finder.h; sourceTree = "<group>"; };
+		A9765BEA2485758300FDD115 /* change_operand_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = change_operand_reduction_opportunity.h; sourceTree = "<group>"; };
+		A9765BEB2485758300FDD115 /* remove_block_reduction_opportunity_finder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_block_reduction_opportunity_finder.h; sourceTree = "<group>"; };
+		A9765BEC2485758300FDD115 /* remove_block_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_block_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
+		A9765BED2485758300FDD115 /* reduction_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduction_util.h; sourceTree = "<group>"; };
+		A9765BEE2485758300FDD115 /* merge_blocks_reduction_opportunity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = merge_blocks_reduction_opportunity.h; sourceTree = "<group>"; };
+		A9765BEF2485758300FDD115 /* 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>"; };
+		A9765BF02485758300FDD115 /* 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>"; };
+		A9765BF12485758300FDD115 /* remove_block_reduction_opportunity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_block_reduction_opportunity.cpp; sourceTree = "<group>"; };
+		A9765BF22485758300FDD115 /* remove_unused_struct_member_reduction_opportunity_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_unused_struct_member_reduction_opportunity_finder.cpp; sourceTree = "<group>"; };
+		A9765BF32485758300FDD115 /* reduction_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduction_pass.h; sourceTree = "<group>"; };
+		A9765BF42485758300FDD115 /* latest_version_opencl_std_header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = latest_version_opencl_std_header.h; sourceTree = "<group>"; };
+		A9765BF52485758300FDD115 /* spirv_optimizer_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_optimizer_options.cpp; sourceTree = "<group>"; };
+		A9765BF62485758300FDD115 /* cfa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfa.h; sourceTree = "<group>"; };
+		A9765BF72485758300FDD115 /* pch_source.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pch_source.h; sourceTree = "<group>"; };
+		A9765BF82485758300FDD115 /* enum_string_mapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enum_string_mapping.h; sourceTree = "<group>"; };
+		A9765BF92485758300FDD115 /* spirv_fuzzer_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_fuzzer_options.cpp; sourceTree = "<group>"; };
+		A9765BFA2485758300FDD115 /* spirv_reducer_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_reducer_options.h; sourceTree = "<group>"; };
+		A9765BFB2485758300FDD115 /* spirv_validator_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_validator_options.cpp; sourceTree = "<group>"; };
+		A9765BFC2485758300FDD115 /* 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>"; };
+		A9765BFD2485758300FDD115 /* print.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = print.cpp; sourceTree = "<group>"; };
+		A9765BFE2485758300FDD115 /* spirv_definition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_definition.h; sourceTree = "<group>"; };
+		A9765BFF2485758300FDD115 /* operand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = operand.h; sourceTree = "<group>"; };
+		A9765C002485758300FDD115 /* spirv_endian.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_endian.cpp; sourceTree = "<group>"; };
+		A9765C012485758300FDD115 /* macro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = macro.h; sourceTree = "<group>"; };
+		A9765C022485758300FDD115 /* spirv_constant.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_constant.h; sourceTree = "<group>"; };
+		A9765C032485758300FDD115 /* extinst.spv-amd-gcn-shader.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "extinst.spv-amd-gcn-shader.grammar.json"; sourceTree = "<group>"; };
+		A9765C042485758300FDD115 /* binary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = binary.cpp; sourceTree = "<group>"; };
+		A9765C052485758300FDD115 /* spirv_validator_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_validator_options.h; sourceTree = "<group>"; };
+		A9765C062485758300FDD115 /* enum_string_mapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = enum_string_mapping.cpp; sourceTree = "<group>"; };
+		A9765C072485758300FDD115 /* text_handler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = text_handler.h; sourceTree = "<group>"; };
+		A9765C082485758300FDD115 /* parsed_operand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = parsed_operand.h; sourceTree = "<group>"; };
+		A9765C092485758300FDD115 /* name_mapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = name_mapper.h; sourceTree = "<group>"; };
+		A9765C0A2485758300FDD115 /* spirv_reducer_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_reducer_options.cpp; sourceTree = "<group>"; };
+		A9765C0B2485758300FDD115 /* parsed_operand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parsed_operand.cpp; sourceTree = "<group>"; };
+		A9765C0C2485758300FDD115 /* diagnostic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = diagnostic.h; sourceTree = "<group>"; };
+		A9765C0D2485758300FDD115 /* spirv_endian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_endian.h; sourceTree = "<group>"; };
+		A9765C0E2485758300FDD115 /* name_mapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = name_mapper.cpp; sourceTree = "<group>"; };
+		A9765C0F2485758300FDD115 /* extinst.debuginfo.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = extinst.debuginfo.grammar.json; sourceTree = "<group>"; };
+		A9765C112485758300FDD115 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
+		A9765C122485758300FDD115 /* linker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = linker.cpp; sourceTree = "<group>"; };
+		A9765C132485758300FDD115 /* software_version.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = software_version.cpp; sourceTree = "<group>"; };
+		A9765C142485758300FDD115 /* opcode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opcode.cpp; sourceTree = "<group>"; };
+		A9765C152485758300FDD115 /* print.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = print.h; sourceTree = "<group>"; };
+		A9765C162485758300FDD115 /* ext_inst.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ext_inst.cpp; sourceTree = "<group>"; };
+		A9765C172485758300FDD115 /* disassemble.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = disassemble.h; sourceTree = "<group>"; };
+		A9765C192485758300FDD115 /* optimizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = optimizer.cpp; sourceTree = "<group>"; };
+		A9765C1A2485758300FDD115 /* if_conversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = if_conversion.h; sourceTree = "<group>"; };
+		A9765C1B2485758300FDD115 /* register_pressure.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = register_pressure.cpp; sourceTree = "<group>"; };
+		A9765C1C2485758300FDD115 /* loop_utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_utils.cpp; sourceTree = "<group>"; };
+		A9765C1D2485758300FDD115 /* merge_return_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = merge_return_pass.h; sourceTree = "<group>"; };
+		A9765C1E2485758300FDD115 /* inline_opaque_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline_opaque_pass.h; sourceTree = "<group>"; };
+		A9765C1F2485758300FDD115 /* loop_fusion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_fusion.h; sourceTree = "<group>"; };
+		A9765C202485758300FDD115 /* combine_access_chains.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = combine_access_chains.cpp; sourceTree = "<group>"; };
+		A9765C212485758300FDD115 /* build_module.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = build_module.cpp; sourceTree = "<group>"; };
+		A9765C222485758300FDD115 /* composite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = composite.h; sourceTree = "<group>"; };
+		A9765C232485758300FDD115 /* compact_ids_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = compact_ids_pass.h; sourceTree = "<group>"; };
+		A9765C242485758300FDD115 /* register_pressure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = register_pressure.h; sourceTree = "<group>"; };
+		A9765C252485758300FDD115 /* tree_iterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tree_iterator.h; sourceTree = "<group>"; };
+		A9765C262485758300FDD115 /* graphics_robust_access_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = graphics_robust_access_pass.h; sourceTree = "<group>"; };
+		A9765C272485758300FDD115 /* strip_atomic_counter_memory_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strip_atomic_counter_memory_pass.h; sourceTree = "<group>"; };
+		A9765C282485758300FDD115 /* legalize_vector_shuffle_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = legalize_vector_shuffle_pass.h; sourceTree = "<group>"; };
+		A9765C292485758300FDD115 /* local_single_store_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_single_store_elim_pass.h; sourceTree = "<group>"; };
+		A9765C2A2485758300FDD115 /* reduce_load_size.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduce_load_size.h; sourceTree = "<group>"; };
+		A9765C2B2485758300FDD115 /* code_sink.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = code_sink.cpp; sourceTree = "<group>"; };
+		A9765C2C2485758300FDD115 /* types.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = types.cpp; sourceTree = "<group>"; };
+		A9765C2D2485758300FDD115 /* scalar_analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scalar_analysis.h; sourceTree = "<group>"; };
+		A9765C2E2485758300FDD115 /* strip_debug_info_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strip_debug_info_pass.h; sourceTree = "<group>"; };
+		A9765C2F2485758300FDD115 /* cfg.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cfg.cpp; sourceTree = "<group>"; };
+		A9765C302485758300FDD115 /* strip_atomic_counter_memory_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strip_atomic_counter_memory_pass.cpp; sourceTree = "<group>"; };
+		A9765C312485758300FDD115 /* decoration_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decoration_manager.cpp; sourceTree = "<group>"; };
+		A9765C322485758300FDD115 /* local_single_block_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_single_block_elim_pass.cpp; sourceTree = "<group>"; };
+		A9765C332485758300FDD115 /* freeze_spec_constant_value_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = freeze_spec_constant_value_pass.cpp; sourceTree = "<group>"; };
+		A9765C342485758300FDD115 /* replace_invalid_opc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = replace_invalid_opc.h; sourceTree = "<group>"; };
+		A9765C352485758300FDD115 /* local_access_chain_convert_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_access_chain_convert_pass.h; sourceTree = "<group>"; };
+		A9765C362485758300FDD115 /* inst_bindless_check_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inst_bindless_check_pass.cpp; sourceTree = "<group>"; };
+		A9765C372485758300FDD115 /* local_redundancy_elimination.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_redundancy_elimination.cpp; sourceTree = "<group>"; };
+		A9765C382485758300FDD115 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
+		A9765C392485758300FDD115 /* instrument_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instrument_pass.cpp; sourceTree = "<group>"; };
+		A9765C3A2485758300FDD115 /* propagator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = propagator.h; sourceTree = "<group>"; };
+		A9765C3B2485758300FDD115 /* instruction_list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction_list.h; sourceTree = "<group>"; };
+		A9765C3C2485758300FDD115 /* feature_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = feature_manager.cpp; sourceTree = "<group>"; };
+		A9765C3D2485758300FDD115 /* pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pass.cpp; sourceTree = "<group>"; };
+		A9765C3E2485758300FDD115 /* loop_fission.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_fission.cpp; sourceTree = "<group>"; };
+		A9765C3F2485758300FDD115 /* dominator_tree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dominator_tree.cpp; sourceTree = "<group>"; };
+		A9765C402485758300FDD115 /* amd_ext_to_khr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = amd_ext_to_khr.h; sourceTree = "<group>"; };
+		A9765C412485758300FDD115 /* merge_return_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = merge_return_pass.cpp; sourceTree = "<group>"; };
+		A9765C422485758300FDD115 /* ir_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_context.h; sourceTree = "<group>"; };
+		A9765C432485758300FDD115 /* eliminate_dead_constant_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_constant_pass.cpp; sourceTree = "<group>"; };
+		A9765C442485758300FDD115 /* cfg_cleanup_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cfg_cleanup_pass.cpp; sourceTree = "<group>"; };
+		A9765C452485758300FDD115 /* wrap_opkill.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_opkill.cpp; sourceTree = "<group>"; };
+		A9765C462485758300FDD115 /* const_folding_rules.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = const_folding_rules.cpp; sourceTree = "<group>"; };
+		A9765C472485758300FDD115 /* loop_unroller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_unroller.h; sourceTree = "<group>"; };
+		A9765C482485758300FDD115 /* strip_debug_info_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strip_debug_info_pass.cpp; sourceTree = "<group>"; };
+		A9765C492485758300FDD115 /* ssa_rewrite_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ssa_rewrite_pass.cpp; sourceTree = "<group>"; };
+		A9765C4A2485758300FDD115 /* loop_dependence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_dependence.cpp; sourceTree = "<group>"; };
+		A9765C4B2485758300FDD115 /* unify_const_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unify_const_pass.h; sourceTree = "<group>"; };
+		A9765C4C2485758300FDD115 /* ir_loader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_loader.h; sourceTree = "<group>"; };
+		A9765C4D2485758300FDD115 /* inst_debug_printf_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inst_debug_printf_pass.cpp; sourceTree = "<group>"; };
+		A9765C4E2485758300FDD115 /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = "<group>"; };
+		A9765C4F2485758300FDD115 /* 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>"; };
+		A9765C502485758300FDD115 /* mem_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mem_pass.cpp; sourceTree = "<group>"; };
+		A9765C512485758300FDD115 /* basic_block.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = basic_block.h; sourceTree = "<group>"; };
+		A9765C522485758300FDD115 /* remove_duplicates_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_duplicates_pass.cpp; sourceTree = "<group>"; };
+		A9765C532485758300FDD115 /* dead_variable_elimination.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dead_variable_elimination.cpp; sourceTree = "<group>"; };
+		A9765C542485758300FDD115 /* block_merge_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_merge_pass.h; sourceTree = "<group>"; };
+		A9765C552485758400FDD115 /* module.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = module.cpp; sourceTree = "<group>"; };
+		A9765C562485758400FDD115 /* debug_info_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = debug_info_manager.h; sourceTree = "<group>"; };
+		A9765C572485758400FDD115 /* 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>"; };
+		A9765C582485758400FDD115 /* loop_unswitch_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_unswitch_pass.cpp; sourceTree = "<group>"; };
+		A9765C592485758400FDD115 /* unify_const_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unify_const_pass.cpp; sourceTree = "<group>"; };
+		A9765C5A2485758400FDD115 /* type_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = type_manager.cpp; sourceTree = "<group>"; };
+		A9765C5B2485758400FDD115 /* generate_webgpu_initializers_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = generate_webgpu_initializers_pass.cpp; sourceTree = "<group>"; };
+		A9765C5C2485758400FDD115 /* private_to_local_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = private_to_local_pass.h; sourceTree = "<group>"; };
+		A9765C5D2485758400FDD115 /* convert_to_half_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = convert_to_half_pass.h; sourceTree = "<group>"; };
+		A9765C5E2485758400FDD115 /* relax_float_ops_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = relax_float_ops_pass.h; sourceTree = "<group>"; };
+		A9765C5F2485758400FDD115 /* inline_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inline_pass.cpp; sourceTree = "<group>"; };
+		A9765C602485758400FDD115 /* def_use_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = def_use_manager.h; sourceTree = "<group>"; };
+		A9765C612485758400FDD115 /* ir_loader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_loader.cpp; sourceTree = "<group>"; };
+		A9765C622485758400FDD115 /* cfg_cleanup_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfg_cleanup_pass.h; sourceTree = "<group>"; };
+		A9765C632485758400FDD115 /* licm_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = licm_pass.cpp; sourceTree = "<group>"; };
+		A9765C642485758400FDD115 /* eliminate_dead_functions_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_functions_pass.cpp; sourceTree = "<group>"; };
+		A9765C652485758400FDD115 /* local_redundancy_elimination.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_redundancy_elimination.h; sourceTree = "<group>"; };
+		A9765C662485758400FDD115 /* split_invalid_unreachable_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = split_invalid_unreachable_pass.cpp; sourceTree = "<group>"; };
+		A9765C672485758400FDD115 /* loop_peeling.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_peeling.h; sourceTree = "<group>"; };
+		A9765C682485758400FDD115 /* vector_dce.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vector_dce.cpp; sourceTree = "<group>"; };
+		A9765C692485758400FDD115 /* block_merge_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_merge_util.h; sourceTree = "<group>"; };
+		A9765C6A2485758400FDD115 /* loop_unroller.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_unroller.cpp; sourceTree = "<group>"; };
+		A9765C6B2485758400FDD115 /* desc_sroa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = desc_sroa.h; sourceTree = "<group>"; };
+		A9765C6C2485758400FDD115 /* constants.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = constants.cpp; sourceTree = "<group>"; };
+		A9765C6D2485758400FDD115 /* loop_fusion_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_fusion_pass.h; sourceTree = "<group>"; };
+		A9765C6E2485758400FDD115 /* struct_cfg_analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = struct_cfg_analysis.h; sourceTree = "<group>"; };
+		A9765C6F2485758400FDD115 /* inst_buff_addr_check_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inst_buff_addr_check_pass.cpp; sourceTree = "<group>"; };
+		A9765C702485758400FDD115 /* def_use_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = def_use_manager.cpp; sourceTree = "<group>"; };
+		A9765C712485758400FDD115 /* wrap_opkill.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_opkill.h; sourceTree = "<group>"; };
+		A9765C722485758400FDD115 /* strip_reflect_info_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strip_reflect_info_pass.cpp; sourceTree = "<group>"; };
+		A9765C732485758400FDD115 /* decoration_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoration_manager.h; sourceTree = "<group>"; };
+		A9765C742485758400FDD115 /* ccp_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ccp_pass.cpp; sourceTree = "<group>"; };
+		A9765C752485758400FDD115 /* process_lines_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = process_lines_pass.h; sourceTree = "<group>"; };
+		A9765C762485758400FDD115 /* local_single_block_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_single_block_elim_pass.h; sourceTree = "<group>"; };
+		A9765C772485758400FDD115 /* pch_source_opt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pch_source_opt.cpp; sourceTree = "<group>"; };
+		A9765C782485758400FDD115 /* inst_buff_addr_check_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inst_buff_addr_check_pass.h; sourceTree = "<group>"; };
+		A9765C792485758400FDD115 /* strength_reduction_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strength_reduction_pass.h; sourceTree = "<group>"; };
+		A9765C7A2485758400FDD115 /* aggressive_dead_code_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aggressive_dead_code_elim_pass.cpp; sourceTree = "<group>"; };
+		A9765C7B2485758400FDD115 /* eliminate_dead_functions_util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_functions_util.cpp; sourceTree = "<group>"; };
+		A9765C7C2485758400FDD115 /* inst_debug_printf_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inst_debug_printf_pass.h; sourceTree = "<group>"; };
+		A9765C7D2485758400FDD115 /* simplification_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = simplification_pass.cpp; sourceTree = "<group>"; };
+		A9765C7E2485758400FDD115 /* dead_branch_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dead_branch_elim_pass.cpp; sourceTree = "<group>"; };
+		A9765C7F2485758400FDD115 /* flatten_decoration_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = flatten_decoration_pass.cpp; sourceTree = "<group>"; };
+		A9765C802485758400FDD115 /* dead_insert_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dead_insert_elim_pass.h; sourceTree = "<group>"; };
+		A9765C812485758400FDD115 /* folding_rules.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = folding_rules.cpp; sourceTree = "<group>"; };
+		A9765C822485758400FDD115 /* freeze_spec_constant_value_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = freeze_spec_constant_value_pass.h; sourceTree = "<group>"; };
+		A9765C832485758400FDD115 /* ir_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_context.cpp; sourceTree = "<group>"; };
+		A9765C842485758400FDD115 /* instrument_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instrument_pass.h; sourceTree = "<group>"; };
+		A9765C852485758400FDD115 /* mem_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mem_pass.h; sourceTree = "<group>"; };
+		A9765C862485758400FDD115 /* loop_descriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_descriptor.cpp; sourceTree = "<group>"; };
+		A9765C872485758400FDD115 /* eliminate_dead_members_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_members_pass.h; sourceTree = "<group>"; };
+		A9765C882485758400FDD115 /* function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = function.cpp; sourceTree = "<group>"; };
+		A9765C892485758400FDD115 /* instruction_list.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instruction_list.cpp; sourceTree = "<group>"; };
+		A9765C8A2485758400FDD115 /* composite.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = composite.cpp; sourceTree = "<group>"; };
+		A9765C8B2485758400FDD115 /* convert_to_half_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = convert_to_half_pass.cpp; sourceTree = "<group>"; };
+		A9765C8C2485758400FDD115 /* process_lines_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = process_lines_pass.cpp; sourceTree = "<group>"; };
+		A9765C8D2485758400FDD115 /* inline_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline_pass.h; sourceTree = "<group>"; };
+		A9765C8E2485758400FDD115 /* loop_dependence.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_dependence.h; sourceTree = "<group>"; };
+		A9765C8F2485758400FDD115 /* value_number_table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = value_number_table.h; sourceTree = "<group>"; };
+		A9765C902485758400FDD115 /* flatten_decoration_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = flatten_decoration_pass.h; sourceTree = "<group>"; };
+		A9765C912485758400FDD115 /* if_conversion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = if_conversion.cpp; sourceTree = "<group>"; };
+		A9765C922485758400FDD115 /* debug_info_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = debug_info_manager.cpp; sourceTree = "<group>"; };
+		A9765C932485758400FDD115 /* inline_exhaustive_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline_exhaustive_pass.h; sourceTree = "<group>"; };
+		A9765C942485758400FDD115 /* constants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = constants.h; sourceTree = "<group>"; };
+		A9765C952485758400FDD115 /* eliminate_dead_members_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_members_pass.cpp; sourceTree = "<group>"; };
+		A9765C962485758400FDD115 /* strength_reduction_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strength_reduction_pass.cpp; sourceTree = "<group>"; };
+		A9765C972485758400FDD115 /* desc_sroa.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = desc_sroa.cpp; sourceTree = "<group>"; };
+		A9765C982485758400FDD115 /* block_merge_util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_merge_util.cpp; sourceTree = "<group>"; };
+		A9765C992485758400FDD115 /* upgrade_memory_model.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = upgrade_memory_model.h; sourceTree = "<group>"; };
+		A9765C9A2485758400FDD115 /* copy_prop_arrays.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = copy_prop_arrays.cpp; sourceTree = "<group>"; };
+		A9765C9B2485758400FDD115 /* pass_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pass_manager.cpp; sourceTree = "<group>"; };
+		A9765C9C2485758400FDD115 /* inline_exhaustive_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inline_exhaustive_pass.cpp; sourceTree = "<group>"; };
+		A9765C9D2485758400FDD115 /* loop_fission.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_fission.h; sourceTree = "<group>"; };
+		A9765C9E2485758400FDD115 /* workaround1209.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = workaround1209.h; sourceTree = "<group>"; };
+		A9765C9F2485758400FDD115 /* loop_fusion_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_fusion_pass.cpp; sourceTree = "<group>"; };
+		A9765CA02485758400FDD115 /* log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = log.h; sourceTree = "<group>"; };
+		A9765CA12485758400FDD115 /* split_invalid_unreachable_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = split_invalid_unreachable_pass.h; sourceTree = "<group>"; };
+		A9765CA22485758400FDD115 /* copy_prop_arrays.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = copy_prop_arrays.h; sourceTree = "<group>"; };
+		A9765CA32485758400FDD115 /* eliminate_dead_constant_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_constant_pass.h; sourceTree = "<group>"; };
+		A9765CA42485758400FDD115 /* dead_insert_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dead_insert_elim_pass.cpp; sourceTree = "<group>"; };
+		A9765CA52485758400FDD115 /* ssa_rewrite_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ssa_rewrite_pass.h; sourceTree = "<group>"; };
+		A9765CA62485758400FDD115 /* scalar_analysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scalar_analysis.cpp; sourceTree = "<group>"; };
+		A9765CA72485758400FDD115 /* dead_variable_elimination.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dead_variable_elimination.h; sourceTree = "<group>"; };
+		A9765CA82485758400FDD115 /* block_merge_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_merge_pass.cpp; sourceTree = "<group>"; };
+		A9765CA92485758400FDD115 /* dominator_analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dominator_analysis.h; sourceTree = "<group>"; };
+		A9765CAA2485758400FDD115 /* pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pass.h; sourceTree = "<group>"; };
+		A9765CAB2485758400FDD115 /* folding_rules.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = folding_rules.h; sourceTree = "<group>"; };
+		A9765CAC2485758400FDD115 /* eliminate_dead_functions_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_functions_pass.h; sourceTree = "<group>"; };
+		A9765CAD2485758400FDD115 /* eliminate_dead_functions_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_functions_util.h; sourceTree = "<group>"; };
+		A9765CAE2485758400FDD115 /* fold.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fold.h; sourceTree = "<group>"; };
+		A9765CAF2485758400FDD115 /* local_single_store_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_single_store_elim_pass.cpp; sourceTree = "<group>"; };
+		A9765CB02485758400FDD115 /* dead_branch_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dead_branch_elim_pass.h; sourceTree = "<group>"; };
+		A9765CB12485758400FDD115 /* private_to_local_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = private_to_local_pass.cpp; sourceTree = "<group>"; };
+		A9765CB22485758400FDD115 /* scalar_analysis_nodes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scalar_analysis_nodes.h; sourceTree = "<group>"; };
+		A9765CB32485758400FDD115 /* propagator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = propagator.cpp; sourceTree = "<group>"; };
+		A9765CB42485758400FDD115 /* fix_storage_class.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fix_storage_class.h; sourceTree = "<group>"; };
+		A9765CB52485758400FDD115 /* loop_dependence_helpers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_dependence_helpers.cpp; sourceTree = "<group>"; };
+		A9765CB62485758400FDD115 /* 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>"; };
+		A9765CB72485758400FDD115 /* passes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = passes.h; sourceTree = "<group>"; };
+		A9765CB82485758400FDD115 /* fold.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fold.cpp; sourceTree = "<group>"; };
+		A9765CB92485758400FDD115 /* amd_ext_to_khr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = amd_ext_to_khr.cpp; sourceTree = "<group>"; };
+		A9765CBA2485758400FDD115 /* strip_reflect_info_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strip_reflect_info_pass.h; sourceTree = "<group>"; };
+		A9765CBB2485758400FDD115 /* scalar_replacement_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scalar_replacement_pass.cpp; sourceTree = "<group>"; };
+		A9765CBC2485758400FDD115 /* simplification_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = simplification_pass.h; sourceTree = "<group>"; };
+		A9765CBD2485758400FDD115 /* remove_duplicates_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_duplicates_pass.h; sourceTree = "<group>"; };
+		A9765CBE2485758400FDD115 /* redundancy_elimination.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = redundancy_elimination.cpp; sourceTree = "<group>"; };
+		A9765CBF2485758400FDD115 /* reflect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reflect.h; sourceTree = "<group>"; };
+		A9765CC02485758400FDD115 /* workaround1209.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = workaround1209.cpp; sourceTree = "<group>"; };
+		A9765CC12485758400FDD115 /* null_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = null_pass.h; sourceTree = "<group>"; };
+		A9765CC22485758400FDD115 /* relax_float_ops_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = relax_float_ops_pass.cpp; sourceTree = "<group>"; };
+		A9765CC32485758400FDD115 /* const_folding_rules.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = const_folding_rules.h; sourceTree = "<group>"; };
+		A9765CC42485758400FDD115 /* scalar_replacement_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scalar_replacement_pass.h; sourceTree = "<group>"; };
+		A9765CC52485758400FDD115 /* instruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instruction.cpp; sourceTree = "<group>"; };
+		A9765CC62485758400FDD115 /* pch_source_opt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pch_source_opt.h; sourceTree = "<group>"; };
+		A9765CC72485758400FDD115 /* reduce_load_size.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduce_load_size.cpp; sourceTree = "<group>"; };
+		A9765CC82485758400FDD115 /* redundancy_elimination.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = redundancy_elimination.h; sourceTree = "<group>"; };
+		A9765CC92485758400FDD115 /* fix_storage_class.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fix_storage_class.cpp; sourceTree = "<group>"; };
+		A9765CCA2485758400FDD115 /* value_number_table.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = value_number_table.cpp; sourceTree = "<group>"; };
+		A9765CCB2485758400FDD115 /* inline_opaque_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inline_opaque_pass.cpp; sourceTree = "<group>"; };
+		A9765CCC2485758400FDD115 /* replace_invalid_opc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = replace_invalid_opc.cpp; sourceTree = "<group>"; };
+		A9765CCD2485758400FDD115 /* loop_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_utils.h; sourceTree = "<group>"; };
+		A9765CCE2485758400FDD115 /* module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = module.h; sourceTree = "<group>"; };
+		A9765CCF2485758400FDD115 /* dominator_analysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dominator_analysis.cpp; sourceTree = "<group>"; };
+		A9765CD02485758400FDD115 /* decompose_initialized_variables_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decompose_initialized_variables_pass.cpp; sourceTree = "<group>"; };
+		A9765CD12485758400FDD115 /* ir_builder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_builder.h; sourceTree = "<group>"; };
+		A9765CD22485758400FDD115 /* loop_unswitch_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_unswitch_pass.h; sourceTree = "<group>"; };
+		A9765CD32485758400FDD115 /* cfg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfg.h; sourceTree = "<group>"; };
+		A9765CD42485758400FDD115 /* code_sink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = code_sink.h; sourceTree = "<group>"; };
+		A9765CD52485758400FDD115 /* loop_descriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_descriptor.h; sourceTree = "<group>"; };
+		A9765CD62485758400FDD115 /* generate_webgpu_initializers_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = generate_webgpu_initializers_pass.h; sourceTree = "<group>"; };
+		A9765CD72485758400FDD115 /* instruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction.h; sourceTree = "<group>"; };
+		A9765CD82485758400FDD115 /* aggressive_dead_code_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aggressive_dead_code_elim_pass.h; sourceTree = "<group>"; };
+		A9765CD92485758400FDD115 /* struct_cfg_analysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = struct_cfg_analysis.cpp; sourceTree = "<group>"; };
+		A9765CDA2485758400FDD115 /* vector_dce.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vector_dce.h; sourceTree = "<group>"; };
+		A9765CDB2485758400FDD115 /* combine_access_chains.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = combine_access_chains.h; sourceTree = "<group>"; };
+		A9765CDC2485758400FDD115 /* pass_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pass_manager.h; sourceTree = "<group>"; };
+		A9765CDD2485758400FDD115 /* local_access_chain_convert_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_access_chain_convert_pass.cpp; sourceTree = "<group>"; };
+		A9765CDE2485758400FDD115 /* basic_block.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = basic_block.cpp; sourceTree = "<group>"; };
+		A9765CDF2485758400FDD115 /* iterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iterator.h; sourceTree = "<group>"; };
+		A9765CE02485758400FDD115 /* licm_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = licm_pass.h; sourceTree = "<group>"; };
+		A9765CE12485758400FDD115 /* build_module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = build_module.h; sourceTree = "<group>"; };
+		A9765CE22485758400FDD115 /* ccp_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccp_pass.h; sourceTree = "<group>"; };
+		A9765CE32485758400FDD115 /* graphics_robust_access_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = graphics_robust_access_pass.cpp; sourceTree = "<group>"; };
+		A9765CE42485758400FDD115 /* decompose_initialized_variables_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decompose_initialized_variables_pass.h; sourceTree = "<group>"; };
+		A9765CE52485758400FDD115 /* function.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = function.h; sourceTree = "<group>"; };
+		A9765CE62485758400FDD115 /* loop_fusion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_fusion.cpp; sourceTree = "<group>"; };
+		A9765CE72485758400FDD115 /* upgrade_memory_model.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = upgrade_memory_model.cpp; sourceTree = "<group>"; };
+		A9765CE82485758400FDD115 /* feature_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = feature_manager.h; sourceTree = "<group>"; };
+		A9765CE92485758400FDD115 /* inst_bindless_check_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inst_bindless_check_pass.h; sourceTree = "<group>"; };
+		A9765CEA2485758400FDD115 /* scalar_analysis_simplification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scalar_analysis_simplification.cpp; sourceTree = "<group>"; };
+		A9765CEB2485758400FDD115 /* 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>"; };
+		A9765CEC2485758400FDD115 /* dominator_tree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dominator_tree.h; sourceTree = "<group>"; };
+		A9765CED2485758400FDD115 /* legalize_vector_shuffle_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = legalize_vector_shuffle_pass.cpp; sourceTree = "<group>"; };
+		A9765CEE2485758400FDD115 /* type_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = type_manager.h; sourceTree = "<group>"; };
+		A9765CEF2485758400FDD115 /* compact_ids_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = compact_ids_pass.cpp; sourceTree = "<group>"; };
+		A9765CF02485758400FDD115 /* loop_peeling.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_peeling.cpp; sourceTree = "<group>"; };
+		A9765CF12485758400FDD115 /* table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = table.h; sourceTree = "<group>"; };
+		A9765DB22485758500FDD115 /* ext_inst.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ext_inst.h; sourceTree = "<group>"; };
+		A9765DB32485758500FDD115 /* diagnostic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = diagnostic.cpp; sourceTree = "<group>"; };
+		A9765DB42485758500FDD115 /* latest_version_spirv_header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = latest_version_spirv_header.h; sourceTree = "<group>"; };
+		A9765DB52485758500FDD115 /* libspirv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = libspirv.cpp; sourceTree = "<group>"; };
+		A9765DB62485758500FDD115 /* instruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction.h; sourceTree = "<group>"; };
+		A9765DB72485758500FDD115 /* spirv_optimizer_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_optimizer_options.h; sourceTree = "<group>"; };
+		A9765DB82485758500FDD115 /* opcode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opcode.h; sourceTree = "<group>"; };
+		A9765DB92485758500FDD115 /* operand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = operand.cpp; sourceTree = "<group>"; };
+		A9765DBA2485758500FDD115 /* 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>"; };
+		A9765DBB2485758500FDD115 /* extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = extensions.h; sourceTree = "<group>"; };
+		A9765DBC2485758500FDD115 /* disassemble.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = disassemble.cpp; sourceTree = "<group>"; };
+		A9765DBD2485758500FDD115 /* binary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = binary.h; sourceTree = "<group>"; };
+		A9765DBE2485758500FDD115 /* text_handler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = text_handler.cpp; sourceTree = "<group>"; };
+		A9765DC02485758500FDD115 /* validate_annotation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_annotation.cpp; sourceTree = "<group>"; };
+		A9765DC12485758500FDD115 /* validate_misc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_misc.cpp; sourceTree = "<group>"; };
+		A9765DC22485758500FDD115 /* validate_cfg.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_cfg.cpp; sourceTree = "<group>"; };
+		A9765DC32485758500FDD115 /* validate_capability.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_capability.cpp; sourceTree = "<group>"; };
+		A9765DC42485758500FDD115 /* construct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = construct.h; sourceTree = "<group>"; };
+		A9765DC52485758500FDD115 /* validate_barriers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_barriers.cpp; sourceTree = "<group>"; };
+		A9765DC62485758500FDD115 /* validate_non_uniform.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_non_uniform.cpp; sourceTree = "<group>"; };
+		A9765DC72485758500FDD115 /* validate_scopes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_scopes.cpp; sourceTree = "<group>"; };
+		A9765DC82485758500FDD115 /* validate_atomics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_atomics.cpp; sourceTree = "<group>"; };
+		A9765DC92485758500FDD115 /* basic_block.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = basic_block.h; sourceTree = "<group>"; };
+		A9765DCA2485758500FDD115 /* validate_instruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_instruction.cpp; sourceTree = "<group>"; };
+		A9765DCB2485758500FDD115 /* validate_decorations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_decorations.cpp; sourceTree = "<group>"; };
+		A9765DCC2485758500FDD115 /* validate_debug.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_debug.cpp; sourceTree = "<group>"; };
+		A9765DCD2485758500FDD115 /* validate_builtins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_builtins.cpp; sourceTree = "<group>"; };
+		A9765DCE2485758500FDD115 /* validate_interfaces.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_interfaces.cpp; sourceTree = "<group>"; };
+		A9765DCF2485758500FDD115 /* validate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate.cpp; sourceTree = "<group>"; };
+		A9765DD02485758500FDD115 /* validation_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validation_state.h; sourceTree = "<group>"; };
+		A9765DD12485758500FDD115 /* validate_constants.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_constants.cpp; sourceTree = "<group>"; };
+		A9765DD22485758500FDD115 /* validate_bitwise.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_bitwise.cpp; sourceTree = "<group>"; };
+		A9765DD32485758500FDD115 /* validate_extensions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_extensions.cpp; sourceTree = "<group>"; };
+		A9765DD42485758500FDD115 /* construct.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = construct.cpp; sourceTree = "<group>"; };
+		A9765DD52485758500FDD115 /* function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = function.cpp; sourceTree = "<group>"; };
+		A9765DD62485758500FDD115 /* validate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validate.h; sourceTree = "<group>"; };
+		A9765DD72485758500FDD115 /* validate_adjacency.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_adjacency.cpp; sourceTree = "<group>"; };
+		A9765DD82485758500FDD115 /* validate_conversion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_conversion.cpp; sourceTree = "<group>"; };
+		A9765DD92485758500FDD115 /* validate_small_type_uses.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_small_type_uses.cpp; sourceTree = "<group>"; };
+		A9765DDA2485758500FDD115 /* validate_scopes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validate_scopes.h; sourceTree = "<group>"; };
+		A9765DDB2485758500FDD115 /* validate_id.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_id.cpp; sourceTree = "<group>"; };
+		A9765DDC2485758500FDD115 /* validate_memory_semantics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validate_memory_semantics.h; sourceTree = "<group>"; };
+		A9765DDD2485758500FDD115 /* validate_arithmetics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_arithmetics.cpp; sourceTree = "<group>"; };
+		A9765DDE2485758500FDD115 /* validate_mode_setting.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_mode_setting.cpp; sourceTree = "<group>"; };
+		A9765DDF2485758500FDD115 /* validate_memory_semantics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_memory_semantics.cpp; sourceTree = "<group>"; };
+		A9765DE02485758500FDD115 /* validate_logicals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_logicals.cpp; sourceTree = "<group>"; };
+		A9765DE12485758500FDD115 /* validate_derivatives.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_derivatives.cpp; sourceTree = "<group>"; };
+		A9765DE22485758500FDD115 /* validate_memory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_memory.cpp; sourceTree = "<group>"; };
+		A9765DE32485758500FDD115 /* validate_image.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_image.cpp; sourceTree = "<group>"; };
+		A9765DE42485758500FDD115 /* validate_literals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_literals.cpp; sourceTree = "<group>"; };
+		A9765DE52485758500FDD115 /* instruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instruction.cpp; sourceTree = "<group>"; };
+		A9765DE62485758500FDD115 /* validate_type.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_type.cpp; sourceTree = "<group>"; };
+		A9765DE72485758500FDD115 /* instruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction.h; sourceTree = "<group>"; };
+		A9765DE82485758500FDD115 /* validate_execution_limitations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_execution_limitations.cpp; sourceTree = "<group>"; };
+		A9765DE92485758500FDD115 /* validate_layout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_layout.cpp; sourceTree = "<group>"; };
+		A9765DEA2485758500FDD115 /* basic_block.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = basic_block.cpp; sourceTree = "<group>"; };
+		A9765DEB2485758500FDD115 /* validate_function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_function.cpp; sourceTree = "<group>"; };
+		A9765DEC2485758500FDD115 /* function.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = function.h; sourceTree = "<group>"; };
+		A9765DED2485758500FDD115 /* validate_composites.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_composites.cpp; sourceTree = "<group>"; };
+		A9765DEE2485758500FDD115 /* validation_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validation_state.cpp; sourceTree = "<group>"; };
+		A9765DEF2485758500FDD115 /* validate_primitives.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_primitives.cpp; sourceTree = "<group>"; };
+		A9765DF02485758500FDD115 /* decoration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoration.h; sourceTree = "<group>"; };
 		A9C2104521D14FD7006BA2D3 /* fetchDependencies */ = {isa = PBXFileReference; lastKnownFileType = text; path = fetchDependencies; sourceTree = "<group>"; };
 		A9C2104721D15843006BA2D3 /* ExternalRevisions */ = {isa = PBXFileReference; lastKnownFileType = folder; path = ExternalRevisions; sourceTree = "<group>"; };
 /* End PBXFileReference section */
@@ -1634,448 +1652,6 @@
 			path = External;
 			sourceTree = "<group>";
 		};
-		A941583E243667F600566F16 /* source */ = {
-			isa = PBXGroup;
-			children = (
-				A941583F243667F600566F16 /* spirv_target_env.cpp */,
-				A9415840243667F600566F16 /* extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json */,
-				A9415841243667F600566F16 /* spirv_fuzzer_options.h */,
-				A9415842243667F600566F16 /* assembly_grammar.h */,
-				A9415843243667F600566F16 /* enum_set.h */,
-				A9415844243667F600566F16 /* CMakeLists.txt */,
-				A9415845243667F600566F16 /* extinst.spv-amd-shader-ballot.grammar.json */,
-				A9415846243667F600566F16 /* text.cpp */,
-				A9415847243667F600566F16 /* assembly_grammar.cpp */,
-				A9415848243667F600566F16 /* text.h */,
-				A9415849243667F600566F16 /* extensions.cpp */,
-				A941584A243667F600566F16 /* pch_source.cpp */,
-				A941584B243667F600566F16 /* util */,
-				A941585A243667F600566F16 /* spirv_target_env.h */,
-				A941585B243667F600566F16 /* table.cpp */,
-				A941585C243667F600566F16 /* extinst.opencl.debuginfo.100.grammar.json */,
-				A941585D243667F600566F16 /* reduce */,
-				A9415894243667F600566F16 /* latest_version_opencl_std_header.h */,
-				A9415895243667F600566F16 /* spirv_optimizer_options.cpp */,
-				A9415896243667F600566F16 /* cfa.h */,
-				A9415897243667F600566F16 /* pch_source.h */,
-				A9415898243667F600566F16 /* enum_string_mapping.h */,
-				A9415899243667F600566F16 /* spirv_fuzzer_options.cpp */,
-				A941589A243667F600566F16 /* spirv_reducer_options.h */,
-				A941589B243667F600566F16 /* spirv_validator_options.cpp */,
-				A941589C243667F600566F16 /* extinst.spv-amd-shader-trinary-minmax.grammar.json */,
-				A941589D243667F600566F16 /* print.cpp */,
-				A941589E243667F600566F16 /* spirv_definition.h */,
-				A941589F243667F600566F16 /* operand.h */,
-				A94158A0243667F600566F16 /* spirv_endian.cpp */,
-				A94158A1243667F600566F16 /* macro.h */,
-				A94158A2243667F600566F16 /* spirv_constant.h */,
-				A94158A3243667F600566F16 /* extinst.spv-amd-gcn-shader.grammar.json */,
-				A94158A4243667F600566F16 /* binary.cpp */,
-				A94158A5243667F600566F16 /* spirv_validator_options.h */,
-				A94158A6243667F600566F16 /* enum_string_mapping.cpp */,
-				A94158A7243667F600566F16 /* text_handler.h */,
-				A94158A8243667F600566F16 /* parsed_operand.h */,
-				A94158A9243667F600566F16 /* name_mapper.h */,
-				A94158AA243667F600566F16 /* spirv_reducer_options.cpp */,
-				A94158AB243667F600566F16 /* parsed_operand.cpp */,
-				A94158AC243667F600566F16 /* diagnostic.h */,
-				A94158AD243667F600566F16 /* spirv_endian.h */,
-				A94158AE243667F600566F16 /* name_mapper.cpp */,
-				A94158AF243667F600566F16 /* extinst.debuginfo.grammar.json */,
-				A94158B0243667F600566F16 /* link */,
-				A94158B3243667F600566F16 /* software_version.cpp */,
-				A94158B4243667F600566F16 /* opcode.cpp */,
-				A94158B5243667F600566F16 /* print.h */,
-				A94158B6243667F600566F16 /* ext_inst.cpp */,
-				A94158B7243667F600566F16 /* disassemble.h */,
-				A94158B8243667F600566F16 /* opt */,
-				A941598F243667F700566F16 /* table.h */,
-				A9415A48243667F700566F16 /* ext_inst.h */,
-				A9415A49243667F700566F16 /* diagnostic.cpp */,
-				A9415A4A243667F700566F16 /* latest_version_spirv_header.h */,
-				A9415A4B243667F700566F16 /* libspirv.cpp */,
-				A9415A4C243667F700566F16 /* instruction.h */,
-				A9415A4D243667F700566F16 /* spirv_optimizer_options.h */,
-				A9415A4E243667F700566F16 /* opcode.h */,
-				A9415A4F243667F700566F16 /* operand.cpp */,
-				A9415A50243667F700566F16 /* latest_version_glsl_std_450_header.h */,
-				A9415A51243667F700566F16 /* extensions.h */,
-				A9415A52243667F700566F16 /* disassemble.cpp */,
-				A9415A53243667F700566F16 /* binary.h */,
-				A9415A54243667F700566F16 /* text_handler.cpp */,
-				A9415A55243667F700566F16 /* val */,
-			);
-			path = source;
-			sourceTree = "<group>";
-		};
-		A941584B243667F600566F16 /* util */ = {
-			isa = PBXGroup;
-			children = (
-				A941584C243667F600566F16 /* parse_number.h */,
-				A941584D243667F600566F16 /* ilist_node.h */,
-				A941584E243667F600566F16 /* make_unique.h */,
-				A941584F243667F600566F16 /* string_utils.h */,
-				A9415850243667F600566F16 /* small_vector.h */,
-				A9415851243667F600566F16 /* timer.cpp */,
-				A9415852243667F600566F16 /* timer.h */,
-				A9415853243667F600566F16 /* string_utils.cpp */,
-				A9415854243667F600566F16 /* bit_vector.h */,
-				A9415855243667F600566F16 /* bitutils.h */,
-				A9415856243667F600566F16 /* hex_float.h */,
-				A9415857243667F600566F16 /* parse_number.cpp */,
-				A9415858243667F600566F16 /* bit_vector.cpp */,
-				A9415859243667F600566F16 /* ilist.h */,
-			);
-			path = util;
-			sourceTree = "<group>";
-		};
-		A941585D243667F600566F16 /* reduce */ = {
-			isa = PBXGroup;
-			children = (
-				A941585E243667F600566F16 /* operand_to_undef_reduction_opportunity_finder.h */,
-				A941585F243667F600566F16 /* remove_selection_reduction_opportunity.cpp */,
-				A9415860243667F600566F16 /* remove_block_reduction_opportunity.h */,
-				A9415861243667F600566F16 /* operand_to_dominating_id_reduction_opportunity_finder.h */,
-				A9415862243667F600566F16 /* reduction_pass.cpp */,
-				A9415863243667F600566F16 /* operand_to_const_reduction_opportunity_finder.cpp */,
-				A9415864243667F600566F16 /* operand_to_const_reduction_opportunity_finder.h */,
-				A9415865243667F600566F16 /* CMakeLists.txt */,
-				A9415866243667F600566F16 /* reduction_util.cpp */,
-				A9415867243667F600566F16 /* structured_loop_to_selection_reduction_opportunity_finder.cpp */,
-				A9415868243667F600566F16 /* simple_conditional_branch_to_branch_reduction_opportunity.h */,
-				A9415869243667F600566F16 /* remove_function_reduction_opportunity_finder.cpp */,
-				A941586A243667F600566F16 /* remove_instruction_reduction_opportunity.h */,
-				A941586B243667F600566F16 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h */,
-				A941586C243667F600566F16 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp */,
-				A941586D243667F600566F16 /* remove_function_reduction_opportunity.cpp */,
-				A941586E243667F600566F16 /* simple_conditional_branch_to_branch_opportunity_finder.cpp */,
-				A941586F243667F600566F16 /* remove_selection_reduction_opportunity_finder.cpp */,
-				A9415870243667F600566F16 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp */,
-				A9415871243667F600566F16 /* simple_conditional_branch_to_branch_opportunity_finder.h */,
-				A9415872243667F600566F16 /* merge_blocks_reduction_opportunity.cpp */,
-				A9415873243667F600566F16 /* change_operand_reduction_opportunity.cpp */,
-				A9415874243667F600566F16 /* structured_loop_to_selection_reduction_opportunity.h */,
-				A9415875243667F600566F16 /* remove_function_reduction_opportunity.h */,
-				A9415876243667F600566F16 /* change_operand_to_undef_reduction_opportunity.h */,
-				A9415877243667F600566F16 /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp */,
-				A9415878243667F600566F16 /* structured_loop_to_selection_reduction_opportunity_finder.h */,
-				A9415879243667F600566F16 /* remove_selection_reduction_opportunity.h */,
-				A941587A243667F600566F16 /* remove_instruction_reduction_opportunity.cpp */,
-				A941587B243667F600566F16 /* remove_selection_reduction_opportunity_finder.h */,
-				A941587C243667F600566F16 /* merge_blocks_reduction_opportunity_finder.h */,
-				A941587D243667F600566F16 /* pch_source_reduce.cpp */,
-				A941587E243667F600566F16 /* reducer.cpp */,
-				A941587F243667F600566F16 /* operand_to_undef_reduction_opportunity_finder.cpp */,
-				A9415880243667F600566F16 /* remove_function_reduction_opportunity_finder.h */,
-				A9415881243667F600566F16 /* pch_source_reduce.h */,
-				A9415882243667F600566F16 /* remove_unreferenced_instruction_reduction_opportunity_finder.h */,
-				A9415883243667F600566F16 /* merge_blocks_reduction_opportunity_finder.cpp */,
-				A9415884243667F600566F16 /* reduction_opportunity.cpp */,
-				A9415885243667F600566F16 /* reducer.h */,
-				A9415886243667F600566F16 /* change_operand_to_undef_reduction_opportunity.cpp */,
-				A9415887243667F600566F16 /* reduction_opportunity.h */,
-				A9415888243667F600566F16 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h */,
-				A9415889243667F600566F16 /* operand_to_dominating_id_reduction_opportunity_finder.cpp */,
-				A941588A243667F600566F16 /* reduction_opportunity_finder.h */,
-				A941588B243667F600566F16 /* change_operand_reduction_opportunity.h */,
-				A941588C243667F600566F16 /* remove_block_reduction_opportunity_finder.h */,
-				A941588D243667F600566F16 /* remove_block_reduction_opportunity_finder.cpp */,
-				A941588E243667F600566F16 /* reduction_util.h */,
-				A941588F243667F600566F16 /* merge_blocks_reduction_opportunity.h */,
-				A9415890243667F600566F16 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp */,
-				A9415891243667F600566F16 /* structured_loop_to_selection_reduction_opportunity.cpp */,
-				A9415892243667F600566F16 /* remove_block_reduction_opportunity.cpp */,
-				A9415893243667F600566F16 /* reduction_pass.h */,
-			);
-			path = reduce;
-			sourceTree = "<group>";
-		};
-		A94158B0243667F600566F16 /* link */ = {
-			isa = PBXGroup;
-			children = (
-				A94158B1243667F600566F16 /* CMakeLists.txt */,
-				A94158B2243667F600566F16 /* linker.cpp */,
-			);
-			path = link;
-			sourceTree = "<group>";
-		};
-		A94158B8243667F600566F16 /* opt */ = {
-			isa = PBXGroup;
-			children = (
-				A94158B9243667F600566F16 /* optimizer.cpp */,
-				A94158BA243667F600566F16 /* if_conversion.h */,
-				A94158BB243667F600566F16 /* register_pressure.cpp */,
-				A94158BC243667F600566F16 /* loop_utils.cpp */,
-				A94158BD243667F600566F16 /* merge_return_pass.h */,
-				A94158BE243667F600566F16 /* inline_opaque_pass.h */,
-				A94158BF243667F600566F16 /* loop_fusion.h */,
-				A94158C0243667F600566F16 /* combine_access_chains.cpp */,
-				A94158C1243667F600566F16 /* build_module.cpp */,
-				A94158C2243667F600566F16 /* composite.h */,
-				A94158C3243667F600566F16 /* compact_ids_pass.h */,
-				A94158C4243667F600566F16 /* register_pressure.h */,
-				A94158C5243667F600566F16 /* tree_iterator.h */,
-				A94158C6243667F600566F16 /* graphics_robust_access_pass.h */,
-				A94158C7243667F600566F16 /* strip_atomic_counter_memory_pass.h */,
-				A94158C8243667F600566F16 /* legalize_vector_shuffle_pass.h */,
-				A94158C9243667F600566F16 /* local_single_store_elim_pass.h */,
-				A94158CA243667F600566F16 /* reduce_load_size.h */,
-				A94158CB243667F600566F16 /* code_sink.cpp */,
-				A94158CC243667F600566F16 /* types.cpp */,
-				A94158CD243667F600566F16 /* scalar_analysis.h */,
-				A94158CE243667F600566F16 /* strip_debug_info_pass.h */,
-				A94158CF243667F600566F16 /* cfg.cpp */,
-				A94158D0243667F600566F16 /* strip_atomic_counter_memory_pass.cpp */,
-				A94158D1243667F600566F16 /* decoration_manager.cpp */,
-				A94158D2243667F600566F16 /* local_single_block_elim_pass.cpp */,
-				A94158D3243667F600566F16 /* freeze_spec_constant_value_pass.cpp */,
-				A94158D4243667F600566F16 /* replace_invalid_opc.h */,
-				A94158D5243667F600566F16 /* local_access_chain_convert_pass.h */,
-				A94158D6243667F600566F16 /* inst_bindless_check_pass.cpp */,
-				A94158D7243667F600566F16 /* local_redundancy_elimination.cpp */,
-				A94158D8243667F600566F16 /* CMakeLists.txt */,
-				A94158D9243667F600566F16 /* instrument_pass.cpp */,
-				A94158DA243667F600566F16 /* propagator.h */,
-				A94158DB243667F600566F16 /* instruction_list.h */,
-				A94158DC243667F600566F16 /* feature_manager.cpp */,
-				A94158DD243667F600566F16 /* pass.cpp */,
-				A94158DE243667F600566F16 /* loop_fission.cpp */,
-				A94158DF243667F600566F16 /* dominator_tree.cpp */,
-				A94158E0243667F600566F16 /* amd_ext_to_khr.h */,
-				A94158E1243667F600566F16 /* merge_return_pass.cpp */,
-				A94158E2243667F600566F16 /* ir_context.h */,
-				A94158E3243667F600566F16 /* eliminate_dead_constant_pass.cpp */,
-				A94158E4243667F600566F16 /* cfg_cleanup_pass.cpp */,
-				A94158E5243667F600566F16 /* wrap_opkill.cpp */,
-				A94158E6243667F600566F16 /* const_folding_rules.cpp */,
-				A94158E7243667F600566F16 /* loop_unroller.h */,
-				A94158E8243667F600566F16 /* strip_debug_info_pass.cpp */,
-				A94158E9243667F600566F16 /* ssa_rewrite_pass.cpp */,
-				A94158EA243667F600566F16 /* loop_dependence.cpp */,
-				A94158EB243667F600566F16 /* unify_const_pass.h */,
-				A94158EC243667F600566F16 /* ir_loader.h */,
-				A94158ED243667F600566F16 /* inst_debug_printf_pass.cpp */,
-				A94158EE243667F600566F16 /* types.h */,
-				A94158EF243667F600566F16 /* fold_spec_constant_op_and_composite_pass.h */,
-				A94158F0243667F600566F16 /* mem_pass.cpp */,
-				A94158F1243667F600566F16 /* basic_block.h */,
-				A94158F2243667F600566F16 /* remove_duplicates_pass.cpp */,
-				A94158F3243667F600566F16 /* dead_variable_elimination.cpp */,
-				A94158F4243667F600566F16 /* block_merge_pass.h */,
-				A94158F5243667F600566F16 /* module.cpp */,
-				A94158F6243667F600566F16 /* fold_spec_constant_op_and_composite_pass.cpp */,
-				A94158F7243667F600566F16 /* loop_unswitch_pass.cpp */,
-				A94158F8243667F600566F16 /* unify_const_pass.cpp */,
-				A94158F9243667F600566F16 /* type_manager.cpp */,
-				A94158FA243667F600566F16 /* generate_webgpu_initializers_pass.cpp */,
-				A94158FB243667F600566F16 /* private_to_local_pass.h */,
-				A94158FC243667F600566F16 /* convert_to_half_pass.h */,
-				A94158FD243667F600566F16 /* relax_float_ops_pass.h */,
-				A94158FE243667F600566F16 /* inline_pass.cpp */,
-				A94158FF243667F600566F16 /* def_use_manager.h */,
-				A9415900243667F600566F16 /* ir_loader.cpp */,
-				A9415901243667F600566F16 /* cfg_cleanup_pass.h */,
-				A9415902243667F600566F16 /* licm_pass.cpp */,
-				A9415903243667F600566F16 /* eliminate_dead_functions_pass.cpp */,
-				A9415904243667F600566F16 /* local_redundancy_elimination.h */,
-				A9415905243667F600566F16 /* split_invalid_unreachable_pass.cpp */,
-				A9415906243667F600566F16 /* loop_peeling.h */,
-				A9415907243667F600566F16 /* vector_dce.cpp */,
-				A9415908243667F600566F16 /* block_merge_util.h */,
-				A9415909243667F600566F16 /* loop_unroller.cpp */,
-				A941590A243667F600566F16 /* desc_sroa.h */,
-				A941590B243667F600566F16 /* constants.cpp */,
-				A941590C243667F600566F16 /* loop_fusion_pass.h */,
-				A941590D243667F600566F16 /* struct_cfg_analysis.h */,
-				A941590E243667F600566F16 /* inst_buff_addr_check_pass.cpp */,
-				A941590F243667F600566F16 /* def_use_manager.cpp */,
-				A9415910243667F600566F16 /* wrap_opkill.h */,
-				A9415911243667F600566F16 /* strip_reflect_info_pass.cpp */,
-				A9415912243667F600566F16 /* decoration_manager.h */,
-				A9415913243667F600566F16 /* ccp_pass.cpp */,
-				A9415914243667F600566F16 /* process_lines_pass.h */,
-				A9415915243667F600566F16 /* local_single_block_elim_pass.h */,
-				A9415916243667F600566F16 /* pch_source_opt.cpp */,
-				A9415917243667F600566F16 /* inst_buff_addr_check_pass.h */,
-				A9415918243667F600566F16 /* strength_reduction_pass.h */,
-				A9415919243667F600566F16 /* aggressive_dead_code_elim_pass.cpp */,
-				A941591A243667F600566F16 /* eliminate_dead_functions_util.cpp */,
-				A941591B243667F600566F16 /* inst_debug_printf_pass.h */,
-				A941591C243667F600566F16 /* simplification_pass.cpp */,
-				A941591D243667F600566F16 /* dead_branch_elim_pass.cpp */,
-				A941591E243667F600566F16 /* flatten_decoration_pass.cpp */,
-				A941591F243667F600566F16 /* dead_insert_elim_pass.h */,
-				A9415920243667F600566F16 /* folding_rules.cpp */,
-				A9415921243667F600566F16 /* freeze_spec_constant_value_pass.h */,
-				A9415922243667F600566F16 /* ir_context.cpp */,
-				A9415923243667F600566F16 /* instrument_pass.h */,
-				A9415924243667F600566F16 /* mem_pass.h */,
-				A9415925243667F600566F16 /* loop_descriptor.cpp */,
-				A9415926243667F600566F16 /* eliminate_dead_members_pass.h */,
-				A9415927243667F600566F16 /* function.cpp */,
-				A9415928243667F600566F16 /* instruction_list.cpp */,
-				A9415929243667F600566F16 /* composite.cpp */,
-				A941592A243667F600566F16 /* convert_to_half_pass.cpp */,
-				A941592B243667F600566F16 /* process_lines_pass.cpp */,
-				A941592C243667F600566F16 /* inline_pass.h */,
-				A941592D243667F600566F16 /* loop_dependence.h */,
-				A941592E243667F600566F16 /* value_number_table.h */,
-				A941592F243667F600566F16 /* flatten_decoration_pass.h */,
-				A9415930243667F600566F16 /* if_conversion.cpp */,
-				A9415931243667F600566F16 /* inline_exhaustive_pass.h */,
-				A9415932243667F600566F16 /* constants.h */,
-				A9415933243667F600566F16 /* eliminate_dead_members_pass.cpp */,
-				A9415934243667F600566F16 /* strength_reduction_pass.cpp */,
-				A9415935243667F600566F16 /* desc_sroa.cpp */,
-				A9415936243667F600566F16 /* block_merge_util.cpp */,
-				A9415937243667F600566F16 /* upgrade_memory_model.h */,
-				A9415938243667F600566F16 /* copy_prop_arrays.cpp */,
-				A9415939243667F600566F16 /* pass_manager.cpp */,
-				A941593A243667F600566F16 /* inline_exhaustive_pass.cpp */,
-				A941593B243667F600566F16 /* loop_fission.h */,
-				A941593C243667F600566F16 /* workaround1209.h */,
-				A941593D243667F600566F16 /* loop_fusion_pass.cpp */,
-				A941593E243667F600566F16 /* log.h */,
-				A941593F243667F600566F16 /* split_invalid_unreachable_pass.h */,
-				A9415940243667F600566F16 /* copy_prop_arrays.h */,
-				A9415941243667F600566F16 /* eliminate_dead_constant_pass.h */,
-				A9415942243667F600566F16 /* dead_insert_elim_pass.cpp */,
-				A9415943243667F600566F16 /* ssa_rewrite_pass.h */,
-				A9415944243667F600566F16 /* scalar_analysis.cpp */,
-				A9415945243667F600566F16 /* dead_variable_elimination.h */,
-				A9415946243667F600566F16 /* block_merge_pass.cpp */,
-				A9415947243667F600566F16 /* dominator_analysis.h */,
-				A9415948243667F600566F16 /* pass.h */,
-				A9415949243667F600566F16 /* folding_rules.h */,
-				A941594A243667F600566F16 /* eliminate_dead_functions_pass.h */,
-				A941594B243667F600566F16 /* eliminate_dead_functions_util.h */,
-				A941594C243667F600566F16 /* fold.h */,
-				A941594D243667F600566F16 /* local_single_store_elim_pass.cpp */,
-				A941594E243667F600566F16 /* dead_branch_elim_pass.h */,
-				A941594F243667F600566F16 /* private_to_local_pass.cpp */,
-				A9415950243667F600566F16 /* scalar_analysis_nodes.h */,
-				A9415951243667F600566F16 /* propagator.cpp */,
-				A9415952243667F600566F16 /* fix_storage_class.h */,
-				A9415953243667F600566F16 /* loop_dependence_helpers.cpp */,
-				A9415954243667F600566F16 /* set_spec_constant_default_value_pass.cpp */,
-				A9415955243667F600566F16 /* passes.h */,
-				A9415956243667F600566F16 /* fold.cpp */,
-				A9415957243667F600566F16 /* amd_ext_to_khr.cpp */,
-				A9415958243667F600566F16 /* strip_reflect_info_pass.h */,
-				A9415959243667F600566F16 /* scalar_replacement_pass.cpp */,
-				A941595A243667F600566F16 /* simplification_pass.h */,
-				A941595B243667F600566F16 /* remove_duplicates_pass.h */,
-				A941595C243667F600566F16 /* redundancy_elimination.cpp */,
-				A941595D243667F600566F16 /* reflect.h */,
-				A941595E243667F600566F16 /* workaround1209.cpp */,
-				A941595F243667F600566F16 /* null_pass.h */,
-				A9415960243667F600566F16 /* relax_float_ops_pass.cpp */,
-				A9415961243667F600566F16 /* const_folding_rules.h */,
-				A9415962243667F600566F16 /* scalar_replacement_pass.h */,
-				A9415963243667F600566F16 /* instruction.cpp */,
-				A9415964243667F600566F16 /* pch_source_opt.h */,
-				A9415965243667F600566F16 /* reduce_load_size.cpp */,
-				A9415966243667F600566F16 /* redundancy_elimination.h */,
-				A9415967243667F600566F16 /* fix_storage_class.cpp */,
-				A9415968243667F600566F16 /* value_number_table.cpp */,
-				A9415969243667F600566F16 /* inline_opaque_pass.cpp */,
-				A941596A243667F600566F16 /* replace_invalid_opc.cpp */,
-				A941596B243667F600566F16 /* loop_utils.h */,
-				A941596C243667F700566F16 /* module.h */,
-				A941596D243667F700566F16 /* dominator_analysis.cpp */,
-				A941596E243667F700566F16 /* decompose_initialized_variables_pass.cpp */,
-				A941596F243667F700566F16 /* ir_builder.h */,
-				A9415970243667F700566F16 /* loop_unswitch_pass.h */,
-				A9415971243667F700566F16 /* cfg.h */,
-				A9415972243667F700566F16 /* code_sink.h */,
-				A9415973243667F700566F16 /* loop_descriptor.h */,
-				A9415974243667F700566F16 /* generate_webgpu_initializers_pass.h */,
-				A9415975243667F700566F16 /* instruction.h */,
-				A9415976243667F700566F16 /* aggressive_dead_code_elim_pass.h */,
-				A9415977243667F700566F16 /* struct_cfg_analysis.cpp */,
-				A9415978243667F700566F16 /* vector_dce.h */,
-				A9415979243667F700566F16 /* combine_access_chains.h */,
-				A941597A243667F700566F16 /* pass_manager.h */,
-				A941597B243667F700566F16 /* local_access_chain_convert_pass.cpp */,
-				A941597C243667F700566F16 /* basic_block.cpp */,
-				A941597D243667F700566F16 /* iterator.h */,
-				A941597E243667F700566F16 /* licm_pass.h */,
-				A941597F243667F700566F16 /* build_module.h */,
-				A9415980243667F700566F16 /* ccp_pass.h */,
-				A9415981243667F700566F16 /* graphics_robust_access_pass.cpp */,
-				A9415982243667F700566F16 /* decompose_initialized_variables_pass.h */,
-				A9415983243667F700566F16 /* function.h */,
-				A9415984243667F700566F16 /* loop_fusion.cpp */,
-				A9415985243667F700566F16 /* upgrade_memory_model.cpp */,
-				A9415986243667F700566F16 /* feature_manager.h */,
-				A9415987243667F700566F16 /* inst_bindless_check_pass.h */,
-				A9415988243667F700566F16 /* scalar_analysis_simplification.cpp */,
-				A9415989243667F700566F16 /* set_spec_constant_default_value_pass.h */,
-				A941598A243667F700566F16 /* dominator_tree.h */,
-				A941598B243667F700566F16 /* legalize_vector_shuffle_pass.cpp */,
-				A941598C243667F700566F16 /* type_manager.h */,
-				A941598D243667F700566F16 /* compact_ids_pass.cpp */,
-				A941598E243667F700566F16 /* loop_peeling.cpp */,
-			);
-			path = opt;
-			sourceTree = "<group>";
-		};
-		A9415A55243667F700566F16 /* val */ = {
-			isa = PBXGroup;
-			children = (
-				A9415A56243667F700566F16 /* validate_annotation.cpp */,
-				A9415A57243667F700566F16 /* validate_misc.cpp */,
-				A9415A58243667F700566F16 /* validate_cfg.cpp */,
-				A9415A59243667F700566F16 /* validate_capability.cpp */,
-				A9415A5A243667F700566F16 /* construct.h */,
-				A9415A5B243667F700566F16 /* validate_barriers.cpp */,
-				A9415A5C243667F700566F16 /* validate_non_uniform.cpp */,
-				A9415A5D243667F700566F16 /* validate_scopes.cpp */,
-				A9415A5E243667F700566F16 /* validate_atomics.cpp */,
-				A9415A5F243667F700566F16 /* basic_block.h */,
-				A9415A60243667F700566F16 /* validate_instruction.cpp */,
-				A9415A61243667F700566F16 /* validate_decorations.cpp */,
-				A9415A62243667F700566F16 /* validate_debug.cpp */,
-				A9415A63243667F700566F16 /* validate_builtins.cpp */,
-				A9415A64243667F700566F16 /* validate_interfaces.cpp */,
-				A9415A65243667F700566F16 /* validate.cpp */,
-				A9415A66243667F700566F16 /* validation_state.h */,
-				A9415A67243667F700566F16 /* validate_constants.cpp */,
-				A9415A68243667F700566F16 /* validate_bitwise.cpp */,
-				A9415A69243667F700566F16 /* validate_extensions.cpp */,
-				A9415A6A243667F700566F16 /* construct.cpp */,
-				A9415A6B243667F700566F16 /* function.cpp */,
-				A9415A6C243667F700566F16 /* validate.h */,
-				A9415A6D243667F700566F16 /* validate_adjacency.cpp */,
-				A9415A6E243667F700566F16 /* validate_conversion.cpp */,
-				A9415A6F243667F700566F16 /* validate_small_type_uses.cpp */,
-				A9415A70243667F700566F16 /* validate_scopes.h */,
-				A9415A71243667F700566F16 /* validate_id.cpp */,
-				A9415A72243667F700566F16 /* validate_memory_semantics.h */,
-				A9415A73243667F700566F16 /* validate_arithmetics.cpp */,
-				A9415A74243667F700566F16 /* validate_mode_setting.cpp */,
-				A9415A75243667F700566F16 /* validate_memory_semantics.cpp */,
-				A9415A76243667F700566F16 /* validate_logicals.cpp */,
-				A9415A77243667F700566F16 /* validate_derivatives.cpp */,
-				A9415A78243667F700566F16 /* validate_memory.cpp */,
-				A9415A79243667F700566F16 /* validate_image.cpp */,
-				A9415A7A243667F700566F16 /* validate_literals.cpp */,
-				A9415A7B243667F700566F16 /* instruction.cpp */,
-				A9415A7C243667F700566F16 /* validate_type.cpp */,
-				A9415A7D243667F700566F16 /* instruction.h */,
-				A9415A7E243667F700566F16 /* validate_execution_limitations.cpp */,
-				A9415A7F243667F700566F16 /* validate_layout.cpp */,
-				A9415A80243667F700566F16 /* basic_block.cpp */,
-				A9415A81243667F700566F16 /* validate_function.cpp */,
-				A9415A82243667F700566F16 /* function.h */,
-				A9415A83243667F700566F16 /* validate_composites.cpp */,
-				A9415A84243667F700566F16 /* validation_state.cpp */,
-				A9415A85243667F700566F16 /* validate_primitives.cpp */,
-				A9415A86243667F700566F16 /* decoration.h */,
-			);
-			path = val;
-			sourceTree = "<group>";
-		};
 		A95D90A623A7F1E500CBCC60 /* glslang */ = {
 			isa = PBXGroup;
 			children = (
@@ -2278,7 +1854,7 @@
 		A972A82421CECC410013AB25 /* SPIRV-Tools */ = {
 			isa = PBXGroup;
 			children = (
-				A941583E243667F600566F16 /* source */,
+				A9765B9A2485758300FDD115 /* source */,
 			);
 			name = "SPIRV-Tools";
 			path = "glslang/External/spirv-tools";
@@ -2329,6 +1905,454 @@
 			path = "SPIRV-Cross";
 			sourceTree = "<group>";
 		};
+		A9765B9A2485758300FDD115 /* source */ = {
+			isa = PBXGroup;
+			children = (
+				A9765B9B2485758300FDD115 /* spirv_target_env.cpp */,
+				A9765B9C2485758300FDD115 /* extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json */,
+				A9765B9D2485758300FDD115 /* spirv_fuzzer_options.h */,
+				A9765B9E2485758300FDD115 /* assembly_grammar.h */,
+				A9765B9F2485758300FDD115 /* enum_set.h */,
+				A9765BA02485758300FDD115 /* CMakeLists.txt */,
+				A9765BA12485758300FDD115 /* extinst.spv-amd-shader-ballot.grammar.json */,
+				A9765BA22485758300FDD115 /* text.cpp */,
+				A9765BA32485758300FDD115 /* assembly_grammar.cpp */,
+				A9765BA42485758300FDD115 /* text.h */,
+				A9765BA52485758300FDD115 /* extensions.cpp */,
+				A9765BA62485758300FDD115 /* pch_source.cpp */,
+				A9765BA72485758300FDD115 /* util */,
+				A9765BB62485758300FDD115 /* spirv_target_env.h */,
+				A9765BB72485758300FDD115 /* table.cpp */,
+				A9765BB82485758300FDD115 /* extinst.opencl.debuginfo.100.grammar.json */,
+				A9765BB92485758300FDD115 /* reduce */,
+				A9765BF42485758300FDD115 /* latest_version_opencl_std_header.h */,
+				A9765BF52485758300FDD115 /* spirv_optimizer_options.cpp */,
+				A9765BF62485758300FDD115 /* cfa.h */,
+				A9765BF72485758300FDD115 /* pch_source.h */,
+				A9765BF82485758300FDD115 /* enum_string_mapping.h */,
+				A9765BF92485758300FDD115 /* spirv_fuzzer_options.cpp */,
+				A9765BFA2485758300FDD115 /* spirv_reducer_options.h */,
+				A9765BFB2485758300FDD115 /* spirv_validator_options.cpp */,
+				A9765BFC2485758300FDD115 /* extinst.spv-amd-shader-trinary-minmax.grammar.json */,
+				A9765BFD2485758300FDD115 /* print.cpp */,
+				A9765BFE2485758300FDD115 /* spirv_definition.h */,
+				A9765BFF2485758300FDD115 /* operand.h */,
+				A9765C002485758300FDD115 /* spirv_endian.cpp */,
+				A9765C012485758300FDD115 /* macro.h */,
+				A9765C022485758300FDD115 /* spirv_constant.h */,
+				A9765C032485758300FDD115 /* extinst.spv-amd-gcn-shader.grammar.json */,
+				A9765C042485758300FDD115 /* binary.cpp */,
+				A9765C052485758300FDD115 /* spirv_validator_options.h */,
+				A9765C062485758300FDD115 /* enum_string_mapping.cpp */,
+				A9765C072485758300FDD115 /* text_handler.h */,
+				A9765C082485758300FDD115 /* parsed_operand.h */,
+				A9765C092485758300FDD115 /* name_mapper.h */,
+				A9765C0A2485758300FDD115 /* spirv_reducer_options.cpp */,
+				A9765C0B2485758300FDD115 /* parsed_operand.cpp */,
+				A9765C0C2485758300FDD115 /* diagnostic.h */,
+				A9765C0D2485758300FDD115 /* spirv_endian.h */,
+				A9765C0E2485758300FDD115 /* name_mapper.cpp */,
+				A9765C0F2485758300FDD115 /* extinst.debuginfo.grammar.json */,
+				A9765C102485758300FDD115 /* link */,
+				A9765C132485758300FDD115 /* software_version.cpp */,
+				A9765C142485758300FDD115 /* opcode.cpp */,
+				A9765C152485758300FDD115 /* print.h */,
+				A9765C162485758300FDD115 /* ext_inst.cpp */,
+				A9765C172485758300FDD115 /* disassemble.h */,
+				A9765C182485758300FDD115 /* opt */,
+				A9765CF12485758400FDD115 /* table.h */,
+				A9765DB22485758500FDD115 /* ext_inst.h */,
+				A9765DB32485758500FDD115 /* diagnostic.cpp */,
+				A9765DB42485758500FDD115 /* latest_version_spirv_header.h */,
+				A9765DB52485758500FDD115 /* libspirv.cpp */,
+				A9765DB62485758500FDD115 /* instruction.h */,
+				A9765DB72485758500FDD115 /* spirv_optimizer_options.h */,
+				A9765DB82485758500FDD115 /* opcode.h */,
+				A9765DB92485758500FDD115 /* operand.cpp */,
+				A9765DBA2485758500FDD115 /* latest_version_glsl_std_450_header.h */,
+				A9765DBB2485758500FDD115 /* extensions.h */,
+				A9765DBC2485758500FDD115 /* disassemble.cpp */,
+				A9765DBD2485758500FDD115 /* binary.h */,
+				A9765DBE2485758500FDD115 /* text_handler.cpp */,
+				A9765DBF2485758500FDD115 /* val */,
+			);
+			path = source;
+			sourceTree = "<group>";
+		};
+		A9765BA72485758300FDD115 /* util */ = {
+			isa = PBXGroup;
+			children = (
+				A9765BA82485758300FDD115 /* parse_number.h */,
+				A9765BA92485758300FDD115 /* ilist_node.h */,
+				A9765BAA2485758300FDD115 /* make_unique.h */,
+				A9765BAB2485758300FDD115 /* string_utils.h */,
+				A9765BAC2485758300FDD115 /* small_vector.h */,
+				A9765BAD2485758300FDD115 /* timer.cpp */,
+				A9765BAE2485758300FDD115 /* timer.h */,
+				A9765BAF2485758300FDD115 /* string_utils.cpp */,
+				A9765BB02485758300FDD115 /* bit_vector.h */,
+				A9765BB12485758300FDD115 /* bitutils.h */,
+				A9765BB22485758300FDD115 /* hex_float.h */,
+				A9765BB32485758300FDD115 /* parse_number.cpp */,
+				A9765BB42485758300FDD115 /* bit_vector.cpp */,
+				A9765BB52485758300FDD115 /* ilist.h */,
+			);
+			path = util;
+			sourceTree = "<group>";
+		};
+		A9765BB92485758300FDD115 /* reduce */ = {
+			isa = PBXGroup;
+			children = (
+				A9765BBA2485758300FDD115 /* operand_to_undef_reduction_opportunity_finder.h */,
+				A9765BBB2485758300FDD115 /* remove_selection_reduction_opportunity.cpp */,
+				A9765BBC2485758300FDD115 /* remove_block_reduction_opportunity.h */,
+				A9765BBD2485758300FDD115 /* operand_to_dominating_id_reduction_opportunity_finder.h */,
+				A9765BBE2485758300FDD115 /* reduction_pass.cpp */,
+				A9765BBF2485758300FDD115 /* operand_to_const_reduction_opportunity_finder.cpp */,
+				A9765BC02485758300FDD115 /* operand_to_const_reduction_opportunity_finder.h */,
+				A9765BC12485758300FDD115 /* CMakeLists.txt */,
+				A9765BC22485758300FDD115 /* reduction_util.cpp */,
+				A9765BC32485758300FDD115 /* structured_loop_to_selection_reduction_opportunity_finder.cpp */,
+				A9765BC42485758300FDD115 /* simple_conditional_branch_to_branch_reduction_opportunity.h */,
+				A9765BC52485758300FDD115 /* remove_function_reduction_opportunity_finder.cpp */,
+				A9765BC62485758300FDD115 /* remove_instruction_reduction_opportunity.h */,
+				A9765BC72485758300FDD115 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h */,
+				A9765BC82485758300FDD115 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp */,
+				A9765BC92485758300FDD115 /* remove_function_reduction_opportunity.cpp */,
+				A9765BCA2485758300FDD115 /* simple_conditional_branch_to_branch_opportunity_finder.cpp */,
+				A9765BCB2485758300FDD115 /* remove_selection_reduction_opportunity_finder.cpp */,
+				A9765BCC2485758300FDD115 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp */,
+				A9765BCD2485758300FDD115 /* remove_struct_member_reduction_opportunity.h */,
+				A9765BCE2485758300FDD115 /* simple_conditional_branch_to_branch_opportunity_finder.h */,
+				A9765BCF2485758300FDD115 /* merge_blocks_reduction_opportunity.cpp */,
+				A9765BD02485758300FDD115 /* change_operand_reduction_opportunity.cpp */,
+				A9765BD12485758300FDD115 /* structured_loop_to_selection_reduction_opportunity.h */,
+				A9765BD22485758300FDD115 /* remove_function_reduction_opportunity.h */,
+				A9765BD32485758300FDD115 /* remove_unused_instruction_reduction_opportunity_finder.h */,
+				A9765BD42485758300FDD115 /* change_operand_to_undef_reduction_opportunity.h */,
+				A9765BD52485758300FDD115 /* structured_loop_to_selection_reduction_opportunity_finder.h */,
+				A9765BD62485758300FDD115 /* remove_selection_reduction_opportunity.h */,
+				A9765BD72485758300FDD115 /* remove_instruction_reduction_opportunity.cpp */,
+				A9765BD82485758300FDD115 /* remove_selection_reduction_opportunity_finder.h */,
+				A9765BD92485758300FDD115 /* merge_blocks_reduction_opportunity_finder.h */,
+				A9765BDA2485758300FDD115 /* pch_source_reduce.cpp */,
+				A9765BDB2485758300FDD115 /* remove_struct_member_reduction_opportunity.cpp */,
+				A9765BDC2485758300FDD115 /* remove_unused_struct_member_reduction_opportunity_finder.h */,
+				A9765BDD2485758300FDD115 /* remove_unused_instruction_reduction_opportunity_finder.cpp */,
+				A9765BDE2485758300FDD115 /* reducer.cpp */,
+				A9765BDF2485758300FDD115 /* operand_to_undef_reduction_opportunity_finder.cpp */,
+				A9765BE02485758300FDD115 /* remove_function_reduction_opportunity_finder.h */,
+				A9765BE12485758300FDD115 /* pch_source_reduce.h */,
+				A9765BE22485758300FDD115 /* merge_blocks_reduction_opportunity_finder.cpp */,
+				A9765BE32485758300FDD115 /* reduction_opportunity.cpp */,
+				A9765BE42485758300FDD115 /* reducer.h */,
+				A9765BE52485758300FDD115 /* change_operand_to_undef_reduction_opportunity.cpp */,
+				A9765BE62485758300FDD115 /* reduction_opportunity.h */,
+				A9765BE72485758300FDD115 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h */,
+				A9765BE82485758300FDD115 /* operand_to_dominating_id_reduction_opportunity_finder.cpp */,
+				A9765BE92485758300FDD115 /* reduction_opportunity_finder.h */,
+				A9765BEA2485758300FDD115 /* change_operand_reduction_opportunity.h */,
+				A9765BEB2485758300FDD115 /* remove_block_reduction_opportunity_finder.h */,
+				A9765BEC2485758300FDD115 /* remove_block_reduction_opportunity_finder.cpp */,
+				A9765BED2485758300FDD115 /* reduction_util.h */,
+				A9765BEE2485758300FDD115 /* merge_blocks_reduction_opportunity.h */,
+				A9765BEF2485758300FDD115 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp */,
+				A9765BF02485758300FDD115 /* structured_loop_to_selection_reduction_opportunity.cpp */,
+				A9765BF12485758300FDD115 /* remove_block_reduction_opportunity.cpp */,
+				A9765BF22485758300FDD115 /* remove_unused_struct_member_reduction_opportunity_finder.cpp */,
+				A9765BF32485758300FDD115 /* reduction_pass.h */,
+			);
+			path = reduce;
+			sourceTree = "<group>";
+		};
+		A9765C102485758300FDD115 /* link */ = {
+			isa = PBXGroup;
+			children = (
+				A9765C112485758300FDD115 /* CMakeLists.txt */,
+				A9765C122485758300FDD115 /* linker.cpp */,
+			);
+			path = link;
+			sourceTree = "<group>";
+		};
+		A9765C182485758300FDD115 /* opt */ = {
+			isa = PBXGroup;
+			children = (
+				A9765C192485758300FDD115 /* optimizer.cpp */,
+				A9765C1A2485758300FDD115 /* if_conversion.h */,
+				A9765C1B2485758300FDD115 /* register_pressure.cpp */,
+				A9765C1C2485758300FDD115 /* loop_utils.cpp */,
+				A9765C1D2485758300FDD115 /* merge_return_pass.h */,
+				A9765C1E2485758300FDD115 /* inline_opaque_pass.h */,
+				A9765C1F2485758300FDD115 /* loop_fusion.h */,
+				A9765C202485758300FDD115 /* combine_access_chains.cpp */,
+				A9765C212485758300FDD115 /* build_module.cpp */,
+				A9765C222485758300FDD115 /* composite.h */,
+				A9765C232485758300FDD115 /* compact_ids_pass.h */,
+				A9765C242485758300FDD115 /* register_pressure.h */,
+				A9765C252485758300FDD115 /* tree_iterator.h */,
+				A9765C262485758300FDD115 /* graphics_robust_access_pass.h */,
+				A9765C272485758300FDD115 /* strip_atomic_counter_memory_pass.h */,
+				A9765C282485758300FDD115 /* legalize_vector_shuffle_pass.h */,
+				A9765C292485758300FDD115 /* local_single_store_elim_pass.h */,
+				A9765C2A2485758300FDD115 /* reduce_load_size.h */,
+				A9765C2B2485758300FDD115 /* code_sink.cpp */,
+				A9765C2C2485758300FDD115 /* types.cpp */,
+				A9765C2D2485758300FDD115 /* scalar_analysis.h */,
+				A9765C2E2485758300FDD115 /* strip_debug_info_pass.h */,
+				A9765C2F2485758300FDD115 /* cfg.cpp */,
+				A9765C302485758300FDD115 /* strip_atomic_counter_memory_pass.cpp */,
+				A9765C312485758300FDD115 /* decoration_manager.cpp */,
+				A9765C322485758300FDD115 /* local_single_block_elim_pass.cpp */,
+				A9765C332485758300FDD115 /* freeze_spec_constant_value_pass.cpp */,
+				A9765C342485758300FDD115 /* replace_invalid_opc.h */,
+				A9765C352485758300FDD115 /* local_access_chain_convert_pass.h */,
+				A9765C362485758300FDD115 /* inst_bindless_check_pass.cpp */,
+				A9765C372485758300FDD115 /* local_redundancy_elimination.cpp */,
+				A9765C382485758300FDD115 /* CMakeLists.txt */,
+				A9765C392485758300FDD115 /* instrument_pass.cpp */,
+				A9765C3A2485758300FDD115 /* propagator.h */,
+				A9765C3B2485758300FDD115 /* instruction_list.h */,
+				A9765C3C2485758300FDD115 /* feature_manager.cpp */,
+				A9765C3D2485758300FDD115 /* pass.cpp */,
+				A9765C3E2485758300FDD115 /* loop_fission.cpp */,
+				A9765C3F2485758300FDD115 /* dominator_tree.cpp */,
+				A9765C402485758300FDD115 /* amd_ext_to_khr.h */,
+				A9765C412485758300FDD115 /* merge_return_pass.cpp */,
+				A9765C422485758300FDD115 /* ir_context.h */,
+				A9765C432485758300FDD115 /* eliminate_dead_constant_pass.cpp */,
+				A9765C442485758300FDD115 /* cfg_cleanup_pass.cpp */,
+				A9765C452485758300FDD115 /* wrap_opkill.cpp */,
+				A9765C462485758300FDD115 /* const_folding_rules.cpp */,
+				A9765C472485758300FDD115 /* loop_unroller.h */,
+				A9765C482485758300FDD115 /* strip_debug_info_pass.cpp */,
+				A9765C492485758300FDD115 /* ssa_rewrite_pass.cpp */,
+				A9765C4A2485758300FDD115 /* loop_dependence.cpp */,
+				A9765C4B2485758300FDD115 /* unify_const_pass.h */,
+				A9765C4C2485758300FDD115 /* ir_loader.h */,
+				A9765C4D2485758300FDD115 /* inst_debug_printf_pass.cpp */,
+				A9765C4E2485758300FDD115 /* types.h */,
+				A9765C4F2485758300FDD115 /* fold_spec_constant_op_and_composite_pass.h */,
+				A9765C502485758300FDD115 /* mem_pass.cpp */,
+				A9765C512485758300FDD115 /* basic_block.h */,
+				A9765C522485758300FDD115 /* remove_duplicates_pass.cpp */,
+				A9765C532485758300FDD115 /* dead_variable_elimination.cpp */,
+				A9765C542485758300FDD115 /* block_merge_pass.h */,
+				A9765C552485758400FDD115 /* module.cpp */,
+				A9765C562485758400FDD115 /* debug_info_manager.h */,
+				A9765C572485758400FDD115 /* fold_spec_constant_op_and_composite_pass.cpp */,
+				A9765C582485758400FDD115 /* loop_unswitch_pass.cpp */,
+				A9765C592485758400FDD115 /* unify_const_pass.cpp */,
+				A9765C5A2485758400FDD115 /* type_manager.cpp */,
+				A9765C5B2485758400FDD115 /* generate_webgpu_initializers_pass.cpp */,
+				A9765C5C2485758400FDD115 /* private_to_local_pass.h */,
+				A9765C5D2485758400FDD115 /* convert_to_half_pass.h */,
+				A9765C5E2485758400FDD115 /* relax_float_ops_pass.h */,
+				A9765C5F2485758400FDD115 /* inline_pass.cpp */,
+				A9765C602485758400FDD115 /* def_use_manager.h */,
+				A9765C612485758400FDD115 /* ir_loader.cpp */,
+				A9765C622485758400FDD115 /* cfg_cleanup_pass.h */,
+				A9765C632485758400FDD115 /* licm_pass.cpp */,
+				A9765C642485758400FDD115 /* eliminate_dead_functions_pass.cpp */,
+				A9765C652485758400FDD115 /* local_redundancy_elimination.h */,
+				A9765C662485758400FDD115 /* split_invalid_unreachable_pass.cpp */,
+				A9765C672485758400FDD115 /* loop_peeling.h */,
+				A9765C682485758400FDD115 /* vector_dce.cpp */,
+				A9765C692485758400FDD115 /* block_merge_util.h */,
+				A9765C6A2485758400FDD115 /* loop_unroller.cpp */,
+				A9765C6B2485758400FDD115 /* desc_sroa.h */,
+				A9765C6C2485758400FDD115 /* constants.cpp */,
+				A9765C6D2485758400FDD115 /* loop_fusion_pass.h */,
+				A9765C6E2485758400FDD115 /* struct_cfg_analysis.h */,
+				A9765C6F2485758400FDD115 /* inst_buff_addr_check_pass.cpp */,
+				A9765C702485758400FDD115 /* def_use_manager.cpp */,
+				A9765C712485758400FDD115 /* wrap_opkill.h */,
+				A9765C722485758400FDD115 /* strip_reflect_info_pass.cpp */,
+				A9765C732485758400FDD115 /* decoration_manager.h */,
+				A9765C742485758400FDD115 /* ccp_pass.cpp */,
+				A9765C752485758400FDD115 /* process_lines_pass.h */,
+				A9765C762485758400FDD115 /* local_single_block_elim_pass.h */,
+				A9765C772485758400FDD115 /* pch_source_opt.cpp */,
+				A9765C782485758400FDD115 /* inst_buff_addr_check_pass.h */,
+				A9765C792485758400FDD115 /* strength_reduction_pass.h */,
+				A9765C7A2485758400FDD115 /* aggressive_dead_code_elim_pass.cpp */,
+				A9765C7B2485758400FDD115 /* eliminate_dead_functions_util.cpp */,
+				A9765C7C2485758400FDD115 /* inst_debug_printf_pass.h */,
+				A9765C7D2485758400FDD115 /* simplification_pass.cpp */,
+				A9765C7E2485758400FDD115 /* dead_branch_elim_pass.cpp */,
+				A9765C7F2485758400FDD115 /* flatten_decoration_pass.cpp */,
+				A9765C802485758400FDD115 /* dead_insert_elim_pass.h */,
+				A9765C812485758400FDD115 /* folding_rules.cpp */,
+				A9765C822485758400FDD115 /* freeze_spec_constant_value_pass.h */,
+				A9765C832485758400FDD115 /* ir_context.cpp */,
+				A9765C842485758400FDD115 /* instrument_pass.h */,
+				A9765C852485758400FDD115 /* mem_pass.h */,
+				A9765C862485758400FDD115 /* loop_descriptor.cpp */,
+				A9765C872485758400FDD115 /* eliminate_dead_members_pass.h */,
+				A9765C882485758400FDD115 /* function.cpp */,
+				A9765C892485758400FDD115 /* instruction_list.cpp */,
+				A9765C8A2485758400FDD115 /* composite.cpp */,
+				A9765C8B2485758400FDD115 /* convert_to_half_pass.cpp */,
+				A9765C8C2485758400FDD115 /* process_lines_pass.cpp */,
+				A9765C8D2485758400FDD115 /* inline_pass.h */,
+				A9765C8E2485758400FDD115 /* loop_dependence.h */,
+				A9765C8F2485758400FDD115 /* value_number_table.h */,
+				A9765C902485758400FDD115 /* flatten_decoration_pass.h */,
+				A9765C912485758400FDD115 /* if_conversion.cpp */,
+				A9765C922485758400FDD115 /* debug_info_manager.cpp */,
+				A9765C932485758400FDD115 /* inline_exhaustive_pass.h */,
+				A9765C942485758400FDD115 /* constants.h */,
+				A9765C952485758400FDD115 /* eliminate_dead_members_pass.cpp */,
+				A9765C962485758400FDD115 /* strength_reduction_pass.cpp */,
+				A9765C972485758400FDD115 /* desc_sroa.cpp */,
+				A9765C982485758400FDD115 /* block_merge_util.cpp */,
+				A9765C992485758400FDD115 /* upgrade_memory_model.h */,
+				A9765C9A2485758400FDD115 /* copy_prop_arrays.cpp */,
+				A9765C9B2485758400FDD115 /* pass_manager.cpp */,
+				A9765C9C2485758400FDD115 /* inline_exhaustive_pass.cpp */,
+				A9765C9D2485758400FDD115 /* loop_fission.h */,
+				A9765C9E2485758400FDD115 /* workaround1209.h */,
+				A9765C9F2485758400FDD115 /* loop_fusion_pass.cpp */,
+				A9765CA02485758400FDD115 /* log.h */,
+				A9765CA12485758400FDD115 /* split_invalid_unreachable_pass.h */,
+				A9765CA22485758400FDD115 /* copy_prop_arrays.h */,
+				A9765CA32485758400FDD115 /* eliminate_dead_constant_pass.h */,
+				A9765CA42485758400FDD115 /* dead_insert_elim_pass.cpp */,
+				A9765CA52485758400FDD115 /* ssa_rewrite_pass.h */,
+				A9765CA62485758400FDD115 /* scalar_analysis.cpp */,
+				A9765CA72485758400FDD115 /* dead_variable_elimination.h */,
+				A9765CA82485758400FDD115 /* block_merge_pass.cpp */,
+				A9765CA92485758400FDD115 /* dominator_analysis.h */,
+				A9765CAA2485758400FDD115 /* pass.h */,
+				A9765CAB2485758400FDD115 /* folding_rules.h */,
+				A9765CAC2485758400FDD115 /* eliminate_dead_functions_pass.h */,
+				A9765CAD2485758400FDD115 /* eliminate_dead_functions_util.h */,
+				A9765CAE2485758400FDD115 /* fold.h */,
+				A9765CAF2485758400FDD115 /* local_single_store_elim_pass.cpp */,
+				A9765CB02485758400FDD115 /* dead_branch_elim_pass.h */,
+				A9765CB12485758400FDD115 /* private_to_local_pass.cpp */,
+				A9765CB22485758400FDD115 /* scalar_analysis_nodes.h */,
+				A9765CB32485758400FDD115 /* propagator.cpp */,
+				A9765CB42485758400FDD115 /* fix_storage_class.h */,
+				A9765CB52485758400FDD115 /* loop_dependence_helpers.cpp */,
+				A9765CB62485758400FDD115 /* set_spec_constant_default_value_pass.cpp */,
+				A9765CB72485758400FDD115 /* passes.h */,
+				A9765CB82485758400FDD115 /* fold.cpp */,
+				A9765CB92485758400FDD115 /* amd_ext_to_khr.cpp */,
+				A9765CBA2485758400FDD115 /* strip_reflect_info_pass.h */,
+				A9765CBB2485758400FDD115 /* scalar_replacement_pass.cpp */,
+				A9765CBC2485758400FDD115 /* simplification_pass.h */,
+				A9765CBD2485758400FDD115 /* remove_duplicates_pass.h */,
+				A9765CBE2485758400FDD115 /* redundancy_elimination.cpp */,
+				A9765CBF2485758400FDD115 /* reflect.h */,
+				A9765CC02485758400FDD115 /* workaround1209.cpp */,
+				A9765CC12485758400FDD115 /* null_pass.h */,
+				A9765CC22485758400FDD115 /* relax_float_ops_pass.cpp */,
+				A9765CC32485758400FDD115 /* const_folding_rules.h */,
+				A9765CC42485758400FDD115 /* scalar_replacement_pass.h */,
+				A9765CC52485758400FDD115 /* instruction.cpp */,
+				A9765CC62485758400FDD115 /* pch_source_opt.h */,
+				A9765CC72485758400FDD115 /* reduce_load_size.cpp */,
+				A9765CC82485758400FDD115 /* redundancy_elimination.h */,
+				A9765CC92485758400FDD115 /* fix_storage_class.cpp */,
+				A9765CCA2485758400FDD115 /* value_number_table.cpp */,
+				A9765CCB2485758400FDD115 /* inline_opaque_pass.cpp */,
+				A9765CCC2485758400FDD115 /* replace_invalid_opc.cpp */,
+				A9765CCD2485758400FDD115 /* loop_utils.h */,
+				A9765CCE2485758400FDD115 /* module.h */,
+				A9765CCF2485758400FDD115 /* dominator_analysis.cpp */,
+				A9765CD02485758400FDD115 /* decompose_initialized_variables_pass.cpp */,
+				A9765CD12485758400FDD115 /* ir_builder.h */,
+				A9765CD22485758400FDD115 /* loop_unswitch_pass.h */,
+				A9765CD32485758400FDD115 /* cfg.h */,
+				A9765CD42485758400FDD115 /* code_sink.h */,
+				A9765CD52485758400FDD115 /* loop_descriptor.h */,
+				A9765CD62485758400FDD115 /* generate_webgpu_initializers_pass.h */,
+				A9765CD72485758400FDD115 /* instruction.h */,
+				A9765CD82485758400FDD115 /* aggressive_dead_code_elim_pass.h */,
+				A9765CD92485758400FDD115 /* struct_cfg_analysis.cpp */,
+				A9765CDA2485758400FDD115 /* vector_dce.h */,
+				A9765CDB2485758400FDD115 /* combine_access_chains.h */,
+				A9765CDC2485758400FDD115 /* pass_manager.h */,
+				A9765CDD2485758400FDD115 /* local_access_chain_convert_pass.cpp */,
+				A9765CDE2485758400FDD115 /* basic_block.cpp */,
+				A9765CDF2485758400FDD115 /* iterator.h */,
+				A9765CE02485758400FDD115 /* licm_pass.h */,
+				A9765CE12485758400FDD115 /* build_module.h */,
+				A9765CE22485758400FDD115 /* ccp_pass.h */,
+				A9765CE32485758400FDD115 /* graphics_robust_access_pass.cpp */,
+				A9765CE42485758400FDD115 /* decompose_initialized_variables_pass.h */,
+				A9765CE52485758400FDD115 /* function.h */,
+				A9765CE62485758400FDD115 /* loop_fusion.cpp */,
+				A9765CE72485758400FDD115 /* upgrade_memory_model.cpp */,
+				A9765CE82485758400FDD115 /* feature_manager.h */,
+				A9765CE92485758400FDD115 /* inst_bindless_check_pass.h */,
+				A9765CEA2485758400FDD115 /* scalar_analysis_simplification.cpp */,
+				A9765CEB2485758400FDD115 /* set_spec_constant_default_value_pass.h */,
+				A9765CEC2485758400FDD115 /* dominator_tree.h */,
+				A9765CED2485758400FDD115 /* legalize_vector_shuffle_pass.cpp */,
+				A9765CEE2485758400FDD115 /* type_manager.h */,
+				A9765CEF2485758400FDD115 /* compact_ids_pass.cpp */,
+				A9765CF02485758400FDD115 /* loop_peeling.cpp */,
+			);
+			path = opt;
+			sourceTree = "<group>";
+		};
+		A9765DBF2485758500FDD115 /* val */ = {
+			isa = PBXGroup;
+			children = (
+				A9765DC02485758500FDD115 /* validate_annotation.cpp */,
+				A9765DC12485758500FDD115 /* validate_misc.cpp */,
+				A9765DC22485758500FDD115 /* validate_cfg.cpp */,
+				A9765DC32485758500FDD115 /* validate_capability.cpp */,
+				A9765DC42485758500FDD115 /* construct.h */,
+				A9765DC52485758500FDD115 /* validate_barriers.cpp */,
+				A9765DC62485758500FDD115 /* validate_non_uniform.cpp */,
+				A9765DC72485758500FDD115 /* validate_scopes.cpp */,
+				A9765DC82485758500FDD115 /* validate_atomics.cpp */,
+				A9765DC92485758500FDD115 /* basic_block.h */,
+				A9765DCA2485758500FDD115 /* validate_instruction.cpp */,
+				A9765DCB2485758500FDD115 /* validate_decorations.cpp */,
+				A9765DCC2485758500FDD115 /* validate_debug.cpp */,
+				A9765DCD2485758500FDD115 /* validate_builtins.cpp */,
+				A9765DCE2485758500FDD115 /* validate_interfaces.cpp */,
+				A9765DCF2485758500FDD115 /* validate.cpp */,
+				A9765DD02485758500FDD115 /* validation_state.h */,
+				A9765DD12485758500FDD115 /* validate_constants.cpp */,
+				A9765DD22485758500FDD115 /* validate_bitwise.cpp */,
+				A9765DD32485758500FDD115 /* validate_extensions.cpp */,
+				A9765DD42485758500FDD115 /* construct.cpp */,
+				A9765DD52485758500FDD115 /* function.cpp */,
+				A9765DD62485758500FDD115 /* validate.h */,
+				A9765DD72485758500FDD115 /* validate_adjacency.cpp */,
+				A9765DD82485758500FDD115 /* validate_conversion.cpp */,
+				A9765DD92485758500FDD115 /* validate_small_type_uses.cpp */,
+				A9765DDA2485758500FDD115 /* validate_scopes.h */,
+				A9765DDB2485758500FDD115 /* validate_id.cpp */,
+				A9765DDC2485758500FDD115 /* validate_memory_semantics.h */,
+				A9765DDD2485758500FDD115 /* validate_arithmetics.cpp */,
+				A9765DDE2485758500FDD115 /* validate_mode_setting.cpp */,
+				A9765DDF2485758500FDD115 /* validate_memory_semantics.cpp */,
+				A9765DE02485758500FDD115 /* validate_logicals.cpp */,
+				A9765DE12485758500FDD115 /* validate_derivatives.cpp */,
+				A9765DE22485758500FDD115 /* validate_memory.cpp */,
+				A9765DE32485758500FDD115 /* validate_image.cpp */,
+				A9765DE42485758500FDD115 /* validate_literals.cpp */,
+				A9765DE52485758500FDD115 /* instruction.cpp */,
+				A9765DE62485758500FDD115 /* validate_type.cpp */,
+				A9765DE72485758500FDD115 /* instruction.h */,
+				A9765DE82485758500FDD115 /* validate_execution_limitations.cpp */,
+				A9765DE92485758500FDD115 /* validate_layout.cpp */,
+				A9765DEA2485758500FDD115 /* basic_block.cpp */,
+				A9765DEB2485758500FDD115 /* validate_function.cpp */,
+				A9765DEC2485758500FDD115 /* function.h */,
+				A9765DED2485758500FDD115 /* validate_composites.cpp */,
+				A9765DEE2485758500FDD115 /* validation_state.cpp */,
+				A9765DEF2485758500FDD115 /* validate_primitives.cpp */,
+				A9765DF02485758500FDD115 /* decoration.h */,
+			);
+			path = val;
+			sourceTree = "<group>";
+		};
 		A9F55D24198BE6A7004EC31B = {
 			isa = PBXGroup;
 			children = (
@@ -2347,192 +2371,195 @@
 			isa = PBXHeadersBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A9415B8B243667F800566F16 /* strip_debug_info_pass.h in Headers */,
-				A9415AB9243667F700566F16 /* operand_to_undef_reduction_opportunity_finder.h in Headers */,
-				A9415CCB243667F800566F16 /* ir_builder.h in Headers */,
-				A9415C6D243667F800566F16 /* copy_prop_arrays.h in Headers */,
-				A9415CB9243667F800566F16 /* redundancy_elimination.h in Headers */,
-				A9415D0B243667F800566F16 /* table.h in Headers */,
-				A9415E8D243667F900566F16 /* binary.h in Headers */,
-				A9415B0B243667F700566F16 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h in Headers */,
-				A9415B89243667F800566F16 /* scalar_analysis.h in Headers */,
-				A9415CAF243667F800566F16 /* const_folding_rules.h in Headers */,
-				A9415D05243667F800566F16 /* type_manager.h in Headers */,
-				A9415E99243667F900566F16 /* construct.h in Headers */,
-				A9415B2F243667F800566F16 /* spirv_reducer_options.h in Headers */,
-				A9415B37243667F800566F16 /* operand.h in Headers */,
-				A9415AFB243667F700566F16 /* remove_function_reduction_opportunity_finder.h in Headers */,
-				A9415CE9243667F800566F16 /* licm_pass.h in Headers */,
-				A9415AD1243667F700566F16 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h in Headers */,
-				A9415C45243667F800566F16 /* inline_pass.h in Headers */,
-				A9415AAB243667F700566F16 /* bitutils.h in Headers */,
-				A9415B51243667F800566F16 /* spirv_endian.h in Headers */,
-				A9415B4F243667F800566F16 /* diagnostic.h in Headers */,
-				A9415BCF243667F800566F16 /* basic_block.h in Headers */,
-				A9415B09243667F700566F16 /* reduction_opportunity.h in Headers */,
-				A9415C1B243667F800566F16 /* inst_buff_addr_check_pass.h in Headers */,
-				A9415CD7243667F800566F16 /* instruction.h in Headers */,
-				A9415AB5243667F700566F16 /* spirv_target_env.h in Headers */,
-				A9415B79243667F800566F16 /* tree_iterator.h in Headers */,
-				A9415C7F243667F800566F16 /* folding_rules.h in Headers */,
-				A9415CA1243667F800566F16 /* simplification_pass.h in Headers */,
-				A9415A9D243667F700566F16 /* make_unique.h in Headers */,
-				A9415CED243667F800566F16 /* ccp_pass.h in Headers */,
-				A9415C6B243667F800566F16 /* split_invalid_unreachable_pass.h in Headers */,
-				A9415CD5243667F800566F16 /* generate_webgpu_initializers_pass.h in Headers */,
-				A9415AED243667F700566F16 /* remove_selection_reduction_opportunity.h in Headers */,
-				A9415C33243667F800566F16 /* instrument_pass.h in Headers */,
-				A9415B2B243667F800566F16 /* enum_string_mapping.h in Headers */,
-				A9415C39243667F800566F16 /* eliminate_dead_members_pass.h in Headers */,
-				A9415C81243667F800566F16 /* eliminate_dead_functions_pass.h in Headers */,
-				A9415BB1243667F800566F16 /* ir_context.h in Headers */,
-				A9415ACF243667F700566F16 /* remove_instruction_reduction_opportunity.h in Headers */,
-				A9415C4B243667F800566F16 /* flatten_decoration_pass.h in Headers */,
-				A9415BC3243667F800566F16 /* unify_const_pass.h in Headers */,
-				A9415B6D243667F800566F16 /* loop_fusion.h in Headers */,
-				A9415C6F243667F800566F16 /* eliminate_dead_constant_pass.h in Headers */,
-				A9415EBD243667F900566F16 /* validate.h in Headers */,
-				A9415B7D243667F800566F16 /* strip_atomic_counter_memory_pass.h in Headers */,
-				A9415A8B243667F700566F16 /* assembly_grammar.h in Headers */,
-				A9415CDF243667F800566F16 /* combine_access_chains.h in Headers */,
-				A9415AE3243667F700566F16 /* structured_loop_to_selection_reduction_opportunity.h in Headers */,
-				A9415B5F243667F800566F16 /* disassemble.h in Headers */,
-				A9415B49243667F800566F16 /* name_mapper.h in Headers */,
-				A9415EE9243667F900566F16 /* function.h in Headers */,
-				A9415BC5243667F800566F16 /* ir_loader.h in Headers */,
-				A9415CFB243667F800566F16 /* inst_bindless_check_pass.h in Headers */,
-				A9415B19243667F700566F16 /* merge_blocks_reduction_opportunity.h in Headers */,
-				A9415B13243667F700566F16 /* remove_block_reduction_opportunity_finder.h in Headers */,
-				A9415CF9243667F800566F16 /* feature_manager.h in Headers */,
-				A9415ABD243667F700566F16 /* remove_block_reduction_opportunity.h in Headers */,
-				A9415BC9243667F800566F16 /* types.h in Headers */,
-				A9415EB1243667F900566F16 /* validation_state.h in Headers */,
-				A9415E81243667F900566F16 /* spirv_optimizer_options.h in Headers */,
-				A9415AFD243667F700566F16 /* pch_source_reduce.h in Headers */,
-				A9415B81243667F800566F16 /* local_single_store_elim_pass.h in Headers */,
-				A9415C07243667F800566F16 /* struct_cfg_analysis.h in Headers */,
-				A9415CC3243667F800566F16 /* loop_utils.h in Headers */,
-				A9415CD3243667F800566F16 /* loop_descriptor.h in Headers */,
-				A9415C15243667F800566F16 /* process_lines_pass.h in Headers */,
-				A9415C97243667F800566F16 /* passes.h in Headers */,
-				A9415ACB243667F700566F16 /* simple_conditional_branch_to_branch_reduction_opportunity.h in Headers */,
-				A9415EA3243667F900566F16 /* basic_block.h in Headers */,
-				A9415CD9243667F800566F16 /* aggressive_dead_code_elim_pass.h in Headers */,
-				A9415BEB243667F800566F16 /* def_use_manager.h in Headers */,
-				A9415B75243667F800566F16 /* compact_ids_pass.h in Headers */,
-				A9415C1D243667F800566F16 /* strength_reduction_pass.h in Headers */,
-				A9415AA5243667F700566F16 /* timer.h in Headers */,
-				A9415E7F243667F900566F16 /* instruction.h in Headers */,
-				A9415BF5243667F800566F16 /* local_redundancy_elimination.h in Headers */,
-				A9415C11243667F800566F16 /* decoration_manager.h in Headers */,
-				A9415C9D243667F800566F16 /* strip_reflect_info_pass.h in Headers */,
-				A9415B5B243667F800566F16 /* print.h in Headers */,
-				A9415BA3243667F800566F16 /* instruction_list.h in Headers */,
-				A9415B29243667F800566F16 /* pch_source.h in Headers */,
-				A9415C89243667F800566F16 /* dead_branch_elim_pass.h in Headers */,
-				A9415B23243667F700566F16 /* latest_version_opencl_std_header.h in Headers */,
-				A9415BA1243667F800566F16 /* propagator.h in Headers */,
-				A9415BE3243667F800566F16 /* private_to_local_pass.h in Headers */,
-				A9415EC5243667F900566F16 /* validate_scopes.h in Headers */,
-				A9415C8D243667F800566F16 /* scalar_analysis_nodes.h in Headers */,
-				A9415BFD243667F800566F16 /* block_merge_util.h in Headers */,
-				A9415CDD243667F800566F16 /* vector_dce.h in Headers */,
-				A9415C73243667F800566F16 /* ssa_rewrite_pass.h in Headers */,
-				A9415B41243667F800566F16 /* spirv_validator_options.h in Headers */,
-				A9415B63243667F800566F16 /* if_conversion.h in Headers */,
-				A9415B45243667F800566F16 /* text_handler.h in Headers */,
-				A9415B0F243667F700566F16 /* reduction_opportunity_finder.h in Headers */,
-				A9415AB3243667F700566F16 /* ilist.h in Headers */,
-				A9415B11243667F700566F16 /* change_operand_reduction_opportunity.h in Headers */,
-				A9415B7B243667F800566F16 /* graphics_robust_access_pass.h in Headers */,
-				A9415E89243667F900566F16 /* extensions.h in Headers */,
-				A9415CA7243667F800566F16 /* reflect.h in Headers */,
-				A9415CE7243667F800566F16 /* iterator.h in Headers */,
-				A9415B05243667F700566F16 /* reducer.h in Headers */,
-				A9415C91243667F800566F16 /* fix_storage_class.h in Headers */,
-				A9415AA1243667F700566F16 /* small_vector.h in Headers */,
-				A9415CEB243667F800566F16 /* build_module.h in Headers */,
-				A9415AF1243667F700566F16 /* remove_selection_reduction_opportunity_finder.h in Headers */,
-				A9415B3D243667F800566F16 /* spirv_constant.h in Headers */,
-				A9415AAD243667F700566F16 /* hex_float.h in Headers */,
-				A9415CF1243667F800566F16 /* decompose_initialized_variables_pass.h in Headers */,
-				A9415C0D243667F800566F16 /* wrap_opkill.h in Headers */,
-				A9415A93243667F700566F16 /* text.h in Headers */,
-				A9415BEF243667F800566F16 /* cfg_cleanup_pass.h in Headers */,
-				A9415BCB243667F800566F16 /* fold_spec_constant_op_and_composite_pass.h in Headers */,
-				A9415AF3243667F700566F16 /* merge_blocks_reduction_opportunity_finder.h in Headers */,
-				A9415B21243667F700566F16 /* reduction_pass.h in Headers */,
-				A9415C83243667F800566F16 /* eliminate_dead_functions_util.h in Headers */,
-				A9415B7F243667F800566F16 /* legalize_vector_shuffle_pass.h in Headers */,
-				A9415E77243667F900566F16 /* ext_inst.h in Headers */,
-				A9415A9F243667F700566F16 /* string_utils.h in Headers */,
-				A9415EDF243667F900566F16 /* instruction.h in Headers */,
-				A9415C05243667F800566F16 /* loop_fusion_pass.h in Headers */,
-				A9415C47243667F800566F16 /* loop_dependence.h in Headers */,
-				A9415ABF243667F700566F16 /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */,
-				A9415C5B243667F800566F16 /* upgrade_memory_model.h in Headers */,
-				A9415A99243667F700566F16 /* parse_number.h in Headers */,
-				A9415ADD243667F700566F16 /* simple_conditional_branch_to_branch_opportunity_finder.h in Headers */,
-				A9415CC5243667F800566F16 /* module.h in Headers */,
-				A9415C35243667F800566F16 /* mem_pass.h in Headers */,
-				A9415B35243667F800566F16 /* spirv_definition.h in Headers */,
-				A9415CB1243667F800566F16 /* scalar_replacement_pass.h in Headers */,
-				A9415B27243667F700566F16 /* cfa.h in Headers */,
-				A9415B3B243667F800566F16 /* macro.h in Headers */,
-				A9415C23243667F800566F16 /* inst_debug_printf_pass.h in Headers */,
-				A9415AE5243667F700566F16 /* remove_function_reduction_opportunity.h in Headers */,
-				A9415B97243667F800566F16 /* replace_invalid_opc.h in Headers */,
-				A9415B83243667F800566F16 /* reduce_load_size.h in Headers */,
-				A9415C49243667F800566F16 /* value_number_table.h in Headers */,
-				A9415C7B243667F800566F16 /* dominator_analysis.h in Headers */,
-				A9415D01243667F800566F16 /* dominator_tree.h in Headers */,
-				A9415A89243667F700566F16 /* spirv_fuzzer_options.h in Headers */,
-				A9415C51243667F800566F16 /* constants.h in Headers */,
-				A9415C65243667F800566F16 /* workaround1209.h in Headers */,
-				A9415CE1243667F800566F16 /* pass_manager.h in Headers */,
-				A9415C63243667F800566F16 /* loop_fission.h in Headers */,
-				A9415B73243667F800566F16 /* composite.h in Headers */,
-				A9415EF1243667F900566F16 /* decoration.h in Headers */,
-				A9415B17243667F700566F16 /* reduction_util.h in Headers */,
-				A9415CB5243667F800566F16 /* pch_source_opt.h in Headers */,
-				A9415BD5243667F800566F16 /* block_merge_pass.h in Headers */,
-				A9415CCF243667F800566F16 /* cfg.h in Headers */,
-				A9415C77243667F800566F16 /* dead_variable_elimination.h in Headers */,
-				A9415C2F243667F800566F16 /* freeze_spec_constant_value_pass.h in Headers */,
-				A9415CD1243667F800566F16 /* code_sink.h in Headers */,
-				A9415BF9243667F800566F16 /* loop_peeling.h in Headers */,
-				A9415EC9243667F900566F16 /* validate_memory_semantics.h in Headers */,
-				A9415AFF243667F700566F16 /* remove_unreferenced_instruction_reduction_opportunity_finder.h in Headers */,
-				A9415A9B243667F700566F16 /* ilist_node.h in Headers */,
-				A9415C2B243667F800566F16 /* dead_insert_elim_pass.h in Headers */,
-				A9415A8D243667F700566F16 /* enum_set.h in Headers */,
-				A9415AC5243667F700566F16 /* operand_to_const_reduction_opportunity_finder.h in Headers */,
-				A9415CFF243667F800566F16 /* set_spec_constant_default_value_pass.h in Headers */,
-				A9415C4F243667F800566F16 /* inline_exhaustive_pass.h in Headers */,
-				A9415C17243667F800566F16 /* local_single_block_elim_pass.h in Headers */,
-				A9415B69243667F800566F16 /* merge_return_pass.h in Headers */,
-				A9415C01243667F800566F16 /* desc_sroa.h in Headers */,
-				A9415BAD243667F800566F16 /* amd_ext_to_khr.h in Headers */,
-				A9415BE7243667F800566F16 /* relax_float_ops_pass.h in Headers */,
-				A9415CAB243667F800566F16 /* null_pass.h in Headers */,
-				A9415B99243667F800566F16 /* local_access_chain_convert_pass.h in Headers */,
-				A9415AEB243667F700566F16 /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */,
-				A9415E7B243667F900566F16 /* latest_version_spirv_header.h in Headers */,
-				A9415CA3243667F800566F16 /* remove_duplicates_pass.h in Headers */,
-				A9415AE7243667F700566F16 /* change_operand_to_undef_reduction_opportunity.h in Headers */,
-				A9415CCD243667F800566F16 /* loop_unswitch_pass.h in Headers */,
-				A9415BE5243667F800566F16 /* convert_to_half_pass.h in Headers */,
-				A9415C85243667F800566F16 /* fold.h in Headers */,
-				A9415E87243667F900566F16 /* latest_version_glsl_std_450_header.h in Headers */,
-				A9415B77243667F800566F16 /* register_pressure.h in Headers */,
-				A9415B6B243667F800566F16 /* inline_opaque_pass.h in Headers */,
-				A9415C7D243667F800566F16 /* pass.h in Headers */,
-				A9415AA9243667F700566F16 /* bit_vector.h in Headers */,
-				A9415C69243667F800566F16 /* log.h in Headers */,
-				A9415B47243667F800566F16 /* parsed_operand.h in Headers */,
-				A9415CF3243667F800566F16 /* function.h in Headers */,
-				A9415E83243667F900566F16 /* opcode.h in Headers */,
-				A9415BBB243667F800566F16 /* loop_unroller.h in Headers */,
+				A9765F3B2485758600FDD115 /* types.h in Headers */,
+				A97660552485758600FDD115 /* combine_access_chains.h in Headers */,
+				A9765E532485758600FDD115 /* remove_unused_instruction_reduction_opportunity_finder.h in Headers */,
+				A9765FE12485758600FDD115 /* split_invalid_unreachable_pass.h in Headers */,
+				A9765F472485758600FDD115 /* block_merge_pass.h in Headers */,
+				A9765FF52485758600FDD115 /* folding_rules.h in Headers */,
+				A97660472485758600FDD115 /* code_sink.h in Headers */,
+				A9765F7B2485758600FDD115 /* struct_cfg_analysis.h in Headers */,
+				A976607B2485758600FDD115 /* type_manager.h in Headers */,
+				A97660492485758600FDD115 /* loop_descriptor.h in Headers */,
+				A9765F792485758600FDD115 /* loop_fusion_pass.h in Headers */,
+				A9765EA92485758600FDD115 /* operand.h in Headers */,
+				A9765E832485758600FDD115 /* remove_block_reduction_opportunity_finder.h in Headers */,
+				A9765EAD2485758600FDD115 /* macro.h in Headers */,
+				A9765E7F2485758600FDD115 /* reduction_opportunity_finder.h in Headers */,
+				A9765F892485758600FDD115 /* process_lines_pass.h in Headers */,
+				A9765E992485758600FDD115 /* cfa.h in Headers */,
+				A9765EE52485758600FDD115 /* composite.h in Headers */,
+				A9765F812485758600FDD115 /* wrap_opkill.h in Headers */,
+				A976621F2485758700FDD115 /* construct.h in Headers */,
+				A9765F712485758600FDD115 /* block_merge_util.h in Headers */,
+				A9765E752485758600FDD115 /* reducer.h in Headers */,
+				A9765E232485758500FDD115 /* operand_to_undef_reduction_opportunity_finder.h in Headers */,
+				A97662292485758700FDD115 /* basic_block.h in Headers */,
+				A97661FD2485758700FDD115 /* ext_inst.h in Headers */,
+				A9765EED2485758600FDD115 /* graphics_robust_access_pass.h in Headers */,
+				A97660212485758600FDD115 /* null_pass.h in Headers */,
+				A97660192485758600FDD115 /* remove_duplicates_pass.h in Headers */,
+				A9765E5D2485758600FDD115 /* remove_selection_reduction_opportunity_finder.h in Headers */,
+				A9765EC12485758600FDD115 /* diagnostic.h in Headers */,
+				A9765E3B2485758500FDD115 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h in Headers */,
+				A97660432485758600FDD115 /* loop_unswitch_pass.h in Headers */,
+				A97660612485758600FDD115 /* build_module.h in Headers */,
+				A9765F852485758600FDD115 /* decoration_manager.h in Headers */,
+				A9765FDF2485758600FDD115 /* log.h in Headers */,
+				A9765FA72485758600FDD115 /* instrument_pass.h in Headers */,
+				A9765F132485758600FDD115 /* propagator.h in Headers */,
+				A976620D2485758700FDD115 /* latest_version_glsl_std_450_header.h in Headers */,
+				A97662052485758700FDD115 /* instruction.h in Headers */,
+				A97662092485758700FDD115 /* opcode.h in Headers */,
+				A9765EBB2485758600FDD115 /* name_mapper.h in Headers */,
+				A9765F352485758600FDD115 /* unify_const_pass.h in Headers */,
+				A9765E492485758600FDD115 /* simple_conditional_branch_to_branch_opportunity_finder.h in Headers */,
+				A97660692485758600FDD115 /* function.h in Headers */,
+				A9765ED12485758600FDD115 /* disassemble.h in Headers */,
+				A9765E152485758500FDD115 /* bitutils.h in Headers */,
+				A9765E1F2485758500FDD115 /* spirv_target_env.h in Headers */,
+				A976604D2485758600FDD115 /* instruction.h in Headers */,
+				A9765F2D2485758600FDD115 /* loop_unroller.h in Headers */,
+				A9765EFD2485758600FDD115 /* strip_debug_info_pass.h in Headers */,
+				A9765E6F2485758600FDD115 /* pch_source_reduce.h in Headers */,
+				A9765E072485758500FDD115 /* make_unique.h in Headers */,
+				A9765EA12485758600FDD115 /* spirv_reducer_options.h in Headers */,
+				A9765E392485758500FDD115 /* remove_instruction_reduction_opportunity.h in Headers */,
+				A97660032485758600FDD115 /* scalar_analysis_nodes.h in Headers */,
+				A9765E4F2485758600FDD115 /* structured_loop_to_selection_reduction_opportunity.h in Headers */,
+				A9765FE52485758600FDD115 /* eliminate_dead_constant_pass.h in Headers */,
+				A9765FD12485758600FDD115 /* upgrade_memory_model.h in Headers */,
+				A9765DF52485758500FDD115 /* assembly_grammar.h in Headers */,
+				A976602F2485758600FDD115 /* redundancy_elimination.h in Headers */,
+				A9765EAF2485758600FDD115 /* spirv_constant.h in Headers */,
+				A9765E272485758500FDD115 /* remove_block_reduction_opportunity.h in Headers */,
+				A97660572485758600FDD115 /* pass_manager.h in Headers */,
+				A9765FF12485758600FDD115 /* dominator_analysis.h in Headers */,
+				A97660072485758600FDD115 /* fix_storage_class.h in Headers */,
+				A9765F5B2485758600FDD115 /* relax_float_ops_pass.h in Headers */,
+				A9765FD92485758600FDD115 /* loop_fission.h in Headers */,
+				A9765F412485758600FDD115 /* basic_block.h in Headers */,
+				A97660632485758600FDD115 /* ccp_pass.h in Headers */,
+				A9765EF32485758600FDD115 /* local_single_store_elim_pass.h in Headers */,
+				A9765FBD2485758600FDD115 /* value_number_table.h in Headers */,
+				A97660172485758600FDD115 /* simplification_pass.h in Headers */,
+				A97660392485758600FDD115 /* loop_utils.h in Headers */,
+				A9765F692485758600FDD115 /* local_redundancy_elimination.h in Headers */,
+				A9765F972485758600FDD115 /* inst_debug_printf_pass.h in Headers */,
+				A97660712485758600FDD115 /* inst_bindless_check_pass.h in Headers */,
+				A97660672485758600FDD115 /* decompose_initialized_variables_pass.h in Headers */,
+				A9765E472485758600FDD115 /* remove_struct_member_reduction_opportunity.h in Headers */,
+				A9765EFB2485758600FDD115 /* scalar_analysis.h in Headers */,
+				A9765F3D2485758600FDD115 /* fold_spec_constant_op_and_composite_pass.h in Headers */,
+				A97660752485758600FDD115 /* set_spec_constant_default_value_pass.h in Headers */,
+				A976624B2485758700FDD115 /* validate_scopes.h in Headers */,
+				A976605F2485758600FDD115 /* licm_pass.h in Headers */,
+				A9765FDB2485758600FDD115 /* workaround1209.h in Headers */,
+				A9765E932485758600FDD115 /* reduction_pass.h in Headers */,
+				A97660252485758600FDD115 /* const_folding_rules.h in Headers */,
+				A9765F572485758600FDD115 /* private_to_local_pass.h in Headers */,
+				A9765E5F2485758600FDD115 /* merge_blocks_reduction_opportunity_finder.h in Headers */,
+				A9765EF12485758600FDD115 /* legalize_vector_shuffle_pass.h in Headers */,
+				A9765E952485758600FDD115 /* latest_version_opencl_std_header.h in Headers */,
+				A9765EB72485758600FDD115 /* text_handler.h in Headers */,
+				A9765FE92485758600FDD115 /* ssa_rewrite_pass.h in Headers */,
+				A9765E352485758500FDD115 /* simple_conditional_branch_to_branch_reduction_opportunity.h in Headers */,
+				A9765FC72485758600FDD115 /* constants.h in Headers */,
+				A976605D2485758600FDD115 /* iterator.h in Headers */,
+				A9765F152485758600FDD115 /* instruction_list.h in Headers */,
+				A9765FF32485758600FDD115 /* pass.h in Headers */,
+				A9765EEB2485758600FDD115 /* tree_iterator.h in Headers */,
+				A9765F372485758600FDD115 /* ir_loader.h in Headers */,
+				A97660412485758600FDD115 /* ir_builder.h in Headers */,
+				A9765E652485758600FDD115 /* remove_unused_struct_member_reduction_opportunity_finder.h in Headers */,
+				A9765F8F2485758600FDD115 /* inst_buff_addr_check_pass.h in Headers */,
+				A97662012485758700FDD115 /* latest_version_spirv_header.h in Headers */,
+				A9765E512485758600FDD115 /* remove_function_reduction_opportunity.h in Headers */,
+				A97660272485758600FDD115 /* scalar_replacement_pass.h in Headers */,
+				A9765E0F2485758500FDD115 /* timer.h in Headers */,
+				A9765E1D2485758500FDD115 /* ilist.h in Headers */,
+				A97662072485758700FDD115 /* spirv_optimizer_options.h in Headers */,
+				A97662372485758700FDD115 /* validation_state.h in Headers */,
+				A9765E0B2485758500FDD115 /* small_vector.h in Headers */,
+				A976626F2485758700FDD115 /* function.h in Headers */,
+				A9765EDB2485758600FDD115 /* merge_return_pass.h in Headers */,
+				A9765E872485758600FDD115 /* reduction_util.h in Headers */,
+				A9765E172485758500FDD115 /* hex_float.h in Headers */,
+				A97662432485758700FDD115 /* validate.h in Headers */,
+				A976601D2485758600FDD115 /* reflect.h in Headers */,
+				A9765F5F2485758600FDD115 /* def_use_manager.h in Headers */,
+				A9765E552485758600FDD115 /* change_operand_to_undef_reduction_opportunity.h in Headers */,
+				A9765FB92485758600FDD115 /* inline_pass.h in Headers */,
+				A9765F752485758600FDD115 /* desc_sroa.h in Headers */,
+				A9765E892485758600FDD115 /* merge_blocks_reduction_opportunity.h in Headers */,
+				A9765F8B2485758600FDD115 /* local_single_block_elim_pass.h in Headers */,
+				A9765E592485758600FDD115 /* remove_selection_reduction_opportunity.h in Headers */,
+				A9765F9F2485758600FDD115 /* dead_insert_elim_pass.h in Headers */,
+				A9765FE32485758600FDD115 /* copy_prop_arrays.h in Headers */,
+				A976604F2485758600FDD115 /* aggressive_dead_code_elim_pass.h in Headers */,
+				A9765FAD2485758600FDD115 /* eliminate_dead_members_pass.h in Headers */,
+				A97662772485758700FDD115 /* decoration.h in Headers */,
+				A9765EDD2485758600FDD115 /* inline_opaque_pass.h in Headers */,
+				A9765E9B2485758600FDD115 /* pch_source.h in Headers */,
+				A9765E9D2485758600FDD115 /* enum_string_mapping.h in Headers */,
+				A9765DFD2485758500FDD115 /* text.h in Headers */,
+				A976603B2485758600FDD115 /* module.h in Headers */,
+				A9765F6D2485758600FDD115 /* loop_peeling.h in Headers */,
+				A976602B2485758600FDD115 /* pch_source_opt.h in Headers */,
+				A97660452485758600FDD115 /* cfg.h in Headers */,
+				A9765FBB2485758600FDD115 /* loop_dependence.h in Headers */,
+				A9765E092485758500FDD115 /* string_utils.h in Headers */,
+				A9765FED2485758600FDD115 /* dead_variable_elimination.h in Headers */,
+				A9765EC32485758600FDD115 /* spirv_endian.h in Headers */,
+				A9765EDF2485758600FDD115 /* loop_fusion.h in Headers */,
+				A9765F4B2485758600FDD115 /* debug_info_manager.h in Headers */,
+				A97660812485758600FDD115 /* table.h in Headers */,
+				A9765F912485758600FDD115 /* strength_reduction_pass.h in Headers */,
+				A9765E292485758500FDD115 /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */,
+				A9765E032485758500FDD115 /* parse_number.h in Headers */,
+				A9765DF32485758500FDD115 /* spirv_fuzzer_options.h in Headers */,
+				A976604B2485758600FDD115 /* generate_webgpu_initializers_pass.h in Headers */,
+				A9765E052485758500FDD115 /* ilist_node.h in Headers */,
+				A9765FFF2485758600FDD115 /* dead_branch_elim_pass.h in Headers */,
+				A9765E572485758600FDD115 /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */,
+				A9765F632485758600FDD115 /* cfg_cleanup_pass.h in Headers */,
+				A976600D2485758600FDD115 /* passes.h in Headers */,
+				A97660772485758600FDD115 /* dominator_tree.h in Headers */,
+				A9765F592485758600FDD115 /* convert_to_half_pass.h in Headers */,
+				A9765FA32485758600FDD115 /* freeze_spec_constant_value_pass.h in Headers */,
+				A9765EE92485758600FDD115 /* register_pressure.h in Headers */,
+				A9765EB32485758600FDD115 /* spirv_validator_options.h in Headers */,
+				A9765EA72485758600FDD115 /* spirv_definition.h in Headers */,
+				A9765E6D2485758600FDD115 /* remove_function_reduction_opportunity_finder.h in Headers */,
+				A97662652485758700FDD115 /* instruction.h in Headers */,
+				A9765FF72485758600FDD115 /* eliminate_dead_functions_pass.h in Headers */,
+				A976624F2485758700FDD115 /* validate_memory_semantics.h in Headers */,
+				A9765EE72485758600FDD115 /* compact_ids_pass.h in Headers */,
+				A9765E812485758600FDD115 /* change_operand_reduction_opportunity.h in Headers */,
+				A9765FFB2485758600FDD115 /* fold.h in Headers */,
+				A9765E792485758600FDD115 /* reduction_opportunity.h in Headers */,
+				A97660132485758600FDD115 /* strip_reflect_info_pass.h in Headers */,
+				A976620F2485758700FDD115 /* extensions.h in Headers */,
+				A97660532485758600FDD115 /* vector_dce.h in Headers */,
+				A9765F0B2485758600FDD115 /* local_access_chain_convert_pass.h in Headers */,
+				A9765ECD2485758600FDD115 /* print.h in Headers */,
+				A9765DF72485758500FDD115 /* enum_set.h in Headers */,
+				A9765FBF2485758600FDD115 /* flatten_decoration_pass.h in Headers */,
+				A9765FA92485758600FDD115 /* mem_pass.h in Headers */,
+				A97662132485758700FDD115 /* binary.h in Headers */,
+				A9765ED52485758600FDD115 /* if_conversion.h in Headers */,
+				A9765EEF2485758600FDD115 /* strip_atomic_counter_memory_pass.h in Headers */,
+				A9765E2F2485758500FDD115 /* operand_to_const_reduction_opportunity_finder.h in Headers */,
+				A9765EB92485758600FDD115 /* parsed_operand.h in Headers */,
+				A9765E132485758500FDD115 /* bit_vector.h in Headers */,
+				A976606F2485758600FDD115 /* feature_manager.h in Headers */,
+				A9765E7B2485758600FDD115 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h in Headers */,
+				A9765F092485758600FDD115 /* replace_invalid_opc.h in Headers */,
+				A9765FC52485758600FDD115 /* inline_exhaustive_pass.h in Headers */,
+				A9765EF52485758600FDD115 /* reduce_load_size.h in Headers */,
+				A9765FF92485758600FDD115 /* eliminate_dead_functions_util.h in Headers */,
+				A9765F1F2485758600FDD115 /* amd_ext_to_khr.h in Headers */,
+				A9765F232485758600FDD115 /* ir_context.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -2540,192 +2567,195 @@
 			isa = PBXHeadersBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A9415B8C243667F800566F16 /* strip_debug_info_pass.h in Headers */,
-				A9415ABA243667F700566F16 /* operand_to_undef_reduction_opportunity_finder.h in Headers */,
-				A9415CCC243667F800566F16 /* ir_builder.h in Headers */,
-				A9415C6E243667F800566F16 /* copy_prop_arrays.h in Headers */,
-				A9415CBA243667F800566F16 /* redundancy_elimination.h in Headers */,
-				A9415D0C243667F800566F16 /* table.h in Headers */,
-				A9415E8E243667F900566F16 /* binary.h in Headers */,
-				A9415B0C243667F700566F16 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h in Headers */,
-				A9415B8A243667F800566F16 /* scalar_analysis.h in Headers */,
-				A9415CB0243667F800566F16 /* const_folding_rules.h in Headers */,
-				A9415D06243667F800566F16 /* type_manager.h in Headers */,
-				A9415E9A243667F900566F16 /* construct.h in Headers */,
-				A9415B30243667F800566F16 /* spirv_reducer_options.h in Headers */,
-				A9415B38243667F800566F16 /* operand.h in Headers */,
-				A9415AFC243667F700566F16 /* remove_function_reduction_opportunity_finder.h in Headers */,
-				A9415CEA243667F800566F16 /* licm_pass.h in Headers */,
-				A9415AD2243667F700566F16 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h in Headers */,
-				A9415C46243667F800566F16 /* inline_pass.h in Headers */,
-				A9415AAC243667F700566F16 /* bitutils.h in Headers */,
-				A9415B52243667F800566F16 /* spirv_endian.h in Headers */,
-				A9415B50243667F800566F16 /* diagnostic.h in Headers */,
-				A9415BD0243667F800566F16 /* basic_block.h in Headers */,
-				A9415B0A243667F700566F16 /* reduction_opportunity.h in Headers */,
-				A9415C1C243667F800566F16 /* inst_buff_addr_check_pass.h in Headers */,
-				A9415CD8243667F800566F16 /* instruction.h in Headers */,
-				A9415AB6243667F700566F16 /* spirv_target_env.h in Headers */,
-				A9415B7A243667F800566F16 /* tree_iterator.h in Headers */,
-				A9415C80243667F800566F16 /* folding_rules.h in Headers */,
-				A9415CA2243667F800566F16 /* simplification_pass.h in Headers */,
-				A9415A9E243667F700566F16 /* make_unique.h in Headers */,
-				A9415CEE243667F800566F16 /* ccp_pass.h in Headers */,
-				A9415C6C243667F800566F16 /* split_invalid_unreachable_pass.h in Headers */,
-				A9415CD6243667F800566F16 /* generate_webgpu_initializers_pass.h in Headers */,
-				A9415AEE243667F700566F16 /* remove_selection_reduction_opportunity.h in Headers */,
-				A9415C34243667F800566F16 /* instrument_pass.h in Headers */,
-				A9415B2C243667F800566F16 /* enum_string_mapping.h in Headers */,
-				A9415C3A243667F800566F16 /* eliminate_dead_members_pass.h in Headers */,
-				A9415C82243667F800566F16 /* eliminate_dead_functions_pass.h in Headers */,
-				A9415BB2243667F800566F16 /* ir_context.h in Headers */,
-				A9415AD0243667F700566F16 /* remove_instruction_reduction_opportunity.h in Headers */,
-				A9415C4C243667F800566F16 /* flatten_decoration_pass.h in Headers */,
-				A9415BC4243667F800566F16 /* unify_const_pass.h in Headers */,
-				A9415B6E243667F800566F16 /* loop_fusion.h in Headers */,
-				A9415C70243667F800566F16 /* eliminate_dead_constant_pass.h in Headers */,
-				A9415EBE243667F900566F16 /* validate.h in Headers */,
-				A9415B7E243667F800566F16 /* strip_atomic_counter_memory_pass.h in Headers */,
-				A9415A8C243667F700566F16 /* assembly_grammar.h in Headers */,
-				A9415CE0243667F800566F16 /* combine_access_chains.h in Headers */,
-				A9415AE4243667F700566F16 /* structured_loop_to_selection_reduction_opportunity.h in Headers */,
-				A9415B60243667F800566F16 /* disassemble.h in Headers */,
-				A9415B4A243667F800566F16 /* name_mapper.h in Headers */,
-				A9415EEA243667F900566F16 /* function.h in Headers */,
-				A9415BC6243667F800566F16 /* ir_loader.h in Headers */,
-				A9415CFC243667F800566F16 /* inst_bindless_check_pass.h in Headers */,
-				A9415B1A243667F700566F16 /* merge_blocks_reduction_opportunity.h in Headers */,
-				A9415B14243667F700566F16 /* remove_block_reduction_opportunity_finder.h in Headers */,
-				A9415CFA243667F800566F16 /* feature_manager.h in Headers */,
-				A9415ABE243667F700566F16 /* remove_block_reduction_opportunity.h in Headers */,
-				A9415BCA243667F800566F16 /* types.h in Headers */,
-				A9415EB2243667F900566F16 /* validation_state.h in Headers */,
-				A9415E82243667F900566F16 /* spirv_optimizer_options.h in Headers */,
-				A9415AFE243667F700566F16 /* pch_source_reduce.h in Headers */,
-				A9415B82243667F800566F16 /* local_single_store_elim_pass.h in Headers */,
-				A9415C08243667F800566F16 /* struct_cfg_analysis.h in Headers */,
-				A9415CC4243667F800566F16 /* loop_utils.h in Headers */,
-				A9415CD4243667F800566F16 /* loop_descriptor.h in Headers */,
-				A9415C16243667F800566F16 /* process_lines_pass.h in Headers */,
-				A9415C98243667F800566F16 /* passes.h in Headers */,
-				A9415ACC243667F700566F16 /* simple_conditional_branch_to_branch_reduction_opportunity.h in Headers */,
-				A9415EA4243667F900566F16 /* basic_block.h in Headers */,
-				A9415CDA243667F800566F16 /* aggressive_dead_code_elim_pass.h in Headers */,
-				A9415BEC243667F800566F16 /* def_use_manager.h in Headers */,
-				A9415B76243667F800566F16 /* compact_ids_pass.h in Headers */,
-				A9415C1E243667F800566F16 /* strength_reduction_pass.h in Headers */,
-				A9415AA6243667F700566F16 /* timer.h in Headers */,
-				A9415E80243667F900566F16 /* instruction.h in Headers */,
-				A9415BF6243667F800566F16 /* local_redundancy_elimination.h in Headers */,
-				A9415C12243667F800566F16 /* decoration_manager.h in Headers */,
-				A9415C9E243667F800566F16 /* strip_reflect_info_pass.h in Headers */,
-				A9415B5C243667F800566F16 /* print.h in Headers */,
-				A9415BA4243667F800566F16 /* instruction_list.h in Headers */,
-				A9415B2A243667F800566F16 /* pch_source.h in Headers */,
-				A9415C8A243667F800566F16 /* dead_branch_elim_pass.h in Headers */,
-				A9415B24243667F700566F16 /* latest_version_opencl_std_header.h in Headers */,
-				A9415BA2243667F800566F16 /* propagator.h in Headers */,
-				A9415BE4243667F800566F16 /* private_to_local_pass.h in Headers */,
-				A9415EC6243667F900566F16 /* validate_scopes.h in Headers */,
-				A9415C8E243667F800566F16 /* scalar_analysis_nodes.h in Headers */,
-				A9415BFE243667F800566F16 /* block_merge_util.h in Headers */,
-				A9415CDE243667F800566F16 /* vector_dce.h in Headers */,
-				A9415C74243667F800566F16 /* ssa_rewrite_pass.h in Headers */,
-				A9415B42243667F800566F16 /* spirv_validator_options.h in Headers */,
-				A9415B64243667F800566F16 /* if_conversion.h in Headers */,
-				A9415B46243667F800566F16 /* text_handler.h in Headers */,
-				A9415B10243667F700566F16 /* reduction_opportunity_finder.h in Headers */,
-				A9415AB4243667F700566F16 /* ilist.h in Headers */,
-				A9415B12243667F700566F16 /* change_operand_reduction_opportunity.h in Headers */,
-				A9415B7C243667F800566F16 /* graphics_robust_access_pass.h in Headers */,
-				A9415E8A243667F900566F16 /* extensions.h in Headers */,
-				A9415CA8243667F800566F16 /* reflect.h in Headers */,
-				A9415CE8243667F800566F16 /* iterator.h in Headers */,
-				A9415B06243667F700566F16 /* reducer.h in Headers */,
-				A9415C92243667F800566F16 /* fix_storage_class.h in Headers */,
-				A9415AA2243667F700566F16 /* small_vector.h in Headers */,
-				A9415CEC243667F800566F16 /* build_module.h in Headers */,
-				A9415AF2243667F700566F16 /* remove_selection_reduction_opportunity_finder.h in Headers */,
-				A9415B3E243667F800566F16 /* spirv_constant.h in Headers */,
-				A9415AAE243667F700566F16 /* hex_float.h in Headers */,
-				A9415CF2243667F800566F16 /* decompose_initialized_variables_pass.h in Headers */,
-				A9415C0E243667F800566F16 /* wrap_opkill.h in Headers */,
-				A9415A94243667F700566F16 /* text.h in Headers */,
-				A9415BF0243667F800566F16 /* cfg_cleanup_pass.h in Headers */,
-				A9415BCC243667F800566F16 /* fold_spec_constant_op_and_composite_pass.h in Headers */,
-				A9415AF4243667F700566F16 /* merge_blocks_reduction_opportunity_finder.h in Headers */,
-				A9415B22243667F700566F16 /* reduction_pass.h in Headers */,
-				A9415C84243667F800566F16 /* eliminate_dead_functions_util.h in Headers */,
-				A9415B80243667F800566F16 /* legalize_vector_shuffle_pass.h in Headers */,
-				A9415E78243667F900566F16 /* ext_inst.h in Headers */,
-				A9415AA0243667F700566F16 /* string_utils.h in Headers */,
-				A9415EE0243667F900566F16 /* instruction.h in Headers */,
-				A9415C06243667F800566F16 /* loop_fusion_pass.h in Headers */,
-				A9415C48243667F800566F16 /* loop_dependence.h in Headers */,
-				A9415AC0243667F700566F16 /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */,
-				A9415C5C243667F800566F16 /* upgrade_memory_model.h in Headers */,
-				A9415A9A243667F700566F16 /* parse_number.h in Headers */,
-				A9415ADE243667F700566F16 /* simple_conditional_branch_to_branch_opportunity_finder.h in Headers */,
-				A9415CC6243667F800566F16 /* module.h in Headers */,
-				A9415C36243667F800566F16 /* mem_pass.h in Headers */,
-				A9415B36243667F800566F16 /* spirv_definition.h in Headers */,
-				A9415CB2243667F800566F16 /* scalar_replacement_pass.h in Headers */,
-				A9415B28243667F800566F16 /* cfa.h in Headers */,
-				A9415B3C243667F800566F16 /* macro.h in Headers */,
-				A9415C24243667F800566F16 /* inst_debug_printf_pass.h in Headers */,
-				A9415AE6243667F700566F16 /* remove_function_reduction_opportunity.h in Headers */,
-				A9415B98243667F800566F16 /* replace_invalid_opc.h in Headers */,
-				A9415B84243667F800566F16 /* reduce_load_size.h in Headers */,
-				A9415C4A243667F800566F16 /* value_number_table.h in Headers */,
-				A9415C7C243667F800566F16 /* dominator_analysis.h in Headers */,
-				A9415D02243667F800566F16 /* dominator_tree.h in Headers */,
-				A9415A8A243667F700566F16 /* spirv_fuzzer_options.h in Headers */,
-				A9415C52243667F800566F16 /* constants.h in Headers */,
-				A9415C66243667F800566F16 /* workaround1209.h in Headers */,
-				A9415CE2243667F800566F16 /* pass_manager.h in Headers */,
-				A9415C64243667F800566F16 /* loop_fission.h in Headers */,
-				A9415B74243667F800566F16 /* composite.h in Headers */,
-				A9415EF2243667F900566F16 /* decoration.h in Headers */,
-				A9415B18243667F700566F16 /* reduction_util.h in Headers */,
-				A9415CB6243667F800566F16 /* pch_source_opt.h in Headers */,
-				A9415BD6243667F800566F16 /* block_merge_pass.h in Headers */,
-				A9415CD0243667F800566F16 /* cfg.h in Headers */,
-				A9415C78243667F800566F16 /* dead_variable_elimination.h in Headers */,
-				A9415C30243667F800566F16 /* freeze_spec_constant_value_pass.h in Headers */,
-				A9415CD2243667F800566F16 /* code_sink.h in Headers */,
-				A9415BFA243667F800566F16 /* loop_peeling.h in Headers */,
-				A9415ECA243667F900566F16 /* validate_memory_semantics.h in Headers */,
-				A9415B00243667F700566F16 /* remove_unreferenced_instruction_reduction_opportunity_finder.h in Headers */,
-				A9415A9C243667F700566F16 /* ilist_node.h in Headers */,
-				A9415C2C243667F800566F16 /* dead_insert_elim_pass.h in Headers */,
-				A9415A8E243667F700566F16 /* enum_set.h in Headers */,
-				A9415AC6243667F700566F16 /* operand_to_const_reduction_opportunity_finder.h in Headers */,
-				A9415D00243667F800566F16 /* set_spec_constant_default_value_pass.h in Headers */,
-				A9415C50243667F800566F16 /* inline_exhaustive_pass.h in Headers */,
-				A9415C18243667F800566F16 /* local_single_block_elim_pass.h in Headers */,
-				A9415B6A243667F800566F16 /* merge_return_pass.h in Headers */,
-				A9415C02243667F800566F16 /* desc_sroa.h in Headers */,
-				A9415BAE243667F800566F16 /* amd_ext_to_khr.h in Headers */,
-				A9415BE8243667F800566F16 /* relax_float_ops_pass.h in Headers */,
-				A9415CAC243667F800566F16 /* null_pass.h in Headers */,
-				A9415B9A243667F800566F16 /* local_access_chain_convert_pass.h in Headers */,
-				A9415AEC243667F700566F16 /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */,
-				A9415E7C243667F900566F16 /* latest_version_spirv_header.h in Headers */,
-				A9415CA4243667F800566F16 /* remove_duplicates_pass.h in Headers */,
-				A9415AE8243667F700566F16 /* change_operand_to_undef_reduction_opportunity.h in Headers */,
-				A9415CCE243667F800566F16 /* loop_unswitch_pass.h in Headers */,
-				A9415BE6243667F800566F16 /* convert_to_half_pass.h in Headers */,
-				A9415C86243667F800566F16 /* fold.h in Headers */,
-				A9415E88243667F900566F16 /* latest_version_glsl_std_450_header.h in Headers */,
-				A9415B78243667F800566F16 /* register_pressure.h in Headers */,
-				A9415B6C243667F800566F16 /* inline_opaque_pass.h in Headers */,
-				A9415C7E243667F800566F16 /* pass.h in Headers */,
-				A9415AAA243667F700566F16 /* bit_vector.h in Headers */,
-				A9415C6A243667F800566F16 /* log.h in Headers */,
-				A9415B48243667F800566F16 /* parsed_operand.h in Headers */,
-				A9415CF4243667F800566F16 /* function.h in Headers */,
-				A9415E84243667F900566F16 /* opcode.h in Headers */,
-				A9415BBC243667F800566F16 /* loop_unroller.h in Headers */,
+				A9765F3C2485758600FDD115 /* types.h in Headers */,
+				A97660562485758600FDD115 /* combine_access_chains.h in Headers */,
+				A9765E542485758600FDD115 /* remove_unused_instruction_reduction_opportunity_finder.h in Headers */,
+				A9765FE22485758600FDD115 /* split_invalid_unreachable_pass.h in Headers */,
+				A9765F482485758600FDD115 /* block_merge_pass.h in Headers */,
+				A9765FF62485758600FDD115 /* folding_rules.h in Headers */,
+				A97660482485758600FDD115 /* code_sink.h in Headers */,
+				A9765F7C2485758600FDD115 /* struct_cfg_analysis.h in Headers */,
+				A976607C2485758600FDD115 /* type_manager.h in Headers */,
+				A976604A2485758600FDD115 /* loop_descriptor.h in Headers */,
+				A9765F7A2485758600FDD115 /* loop_fusion_pass.h in Headers */,
+				A9765EAA2485758600FDD115 /* operand.h in Headers */,
+				A9765E842485758600FDD115 /* remove_block_reduction_opportunity_finder.h in Headers */,
+				A9765EAE2485758600FDD115 /* macro.h in Headers */,
+				A9765E802485758600FDD115 /* reduction_opportunity_finder.h in Headers */,
+				A9765F8A2485758600FDD115 /* process_lines_pass.h in Headers */,
+				A9765E9A2485758600FDD115 /* cfa.h in Headers */,
+				A9765EE62485758600FDD115 /* composite.h in Headers */,
+				A9765F822485758600FDD115 /* wrap_opkill.h in Headers */,
+				A97662202485758700FDD115 /* construct.h in Headers */,
+				A9765F722485758600FDD115 /* block_merge_util.h in Headers */,
+				A9765E762485758600FDD115 /* reducer.h in Headers */,
+				A9765E242485758500FDD115 /* operand_to_undef_reduction_opportunity_finder.h in Headers */,
+				A976622A2485758700FDD115 /* basic_block.h in Headers */,
+				A97661FE2485758700FDD115 /* ext_inst.h in Headers */,
+				A9765EEE2485758600FDD115 /* graphics_robust_access_pass.h in Headers */,
+				A97660222485758600FDD115 /* null_pass.h in Headers */,
+				A976601A2485758600FDD115 /* remove_duplicates_pass.h in Headers */,
+				A9765E5E2485758600FDD115 /* remove_selection_reduction_opportunity_finder.h in Headers */,
+				A9765EC22485758600FDD115 /* diagnostic.h in Headers */,
+				A9765E3C2485758500FDD115 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h in Headers */,
+				A97660442485758600FDD115 /* loop_unswitch_pass.h in Headers */,
+				A97660622485758600FDD115 /* build_module.h in Headers */,
+				A9765F862485758600FDD115 /* decoration_manager.h in Headers */,
+				A9765FE02485758600FDD115 /* log.h in Headers */,
+				A9765FA82485758600FDD115 /* instrument_pass.h in Headers */,
+				A9765F142485758600FDD115 /* propagator.h in Headers */,
+				A976620E2485758700FDD115 /* latest_version_glsl_std_450_header.h in Headers */,
+				A97662062485758700FDD115 /* instruction.h in Headers */,
+				A976620A2485758700FDD115 /* opcode.h in Headers */,
+				A9765EBC2485758600FDD115 /* name_mapper.h in Headers */,
+				A9765F362485758600FDD115 /* unify_const_pass.h in Headers */,
+				A9765E4A2485758600FDD115 /* simple_conditional_branch_to_branch_opportunity_finder.h in Headers */,
+				A976606A2485758600FDD115 /* function.h in Headers */,
+				A9765ED22485758600FDD115 /* disassemble.h in Headers */,
+				A9765E162485758500FDD115 /* bitutils.h in Headers */,
+				A9765E202485758500FDD115 /* spirv_target_env.h in Headers */,
+				A976604E2485758600FDD115 /* instruction.h in Headers */,
+				A9765F2E2485758600FDD115 /* loop_unroller.h in Headers */,
+				A9765EFE2485758600FDD115 /* strip_debug_info_pass.h in Headers */,
+				A9765E702485758600FDD115 /* pch_source_reduce.h in Headers */,
+				A9765E082485758500FDD115 /* make_unique.h in Headers */,
+				A9765EA22485758600FDD115 /* spirv_reducer_options.h in Headers */,
+				A9765E3A2485758500FDD115 /* remove_instruction_reduction_opportunity.h in Headers */,
+				A97660042485758600FDD115 /* scalar_analysis_nodes.h in Headers */,
+				A9765E502485758600FDD115 /* structured_loop_to_selection_reduction_opportunity.h in Headers */,
+				A9765FE62485758600FDD115 /* eliminate_dead_constant_pass.h in Headers */,
+				A9765FD22485758600FDD115 /* upgrade_memory_model.h in Headers */,
+				A9765DF62485758500FDD115 /* assembly_grammar.h in Headers */,
+				A97660302485758600FDD115 /* redundancy_elimination.h in Headers */,
+				A9765EB02485758600FDD115 /* spirv_constant.h in Headers */,
+				A9765E282485758500FDD115 /* remove_block_reduction_opportunity.h in Headers */,
+				A97660582485758600FDD115 /* pass_manager.h in Headers */,
+				A9765FF22485758600FDD115 /* dominator_analysis.h in Headers */,
+				A97660082485758600FDD115 /* fix_storage_class.h in Headers */,
+				A9765F5C2485758600FDD115 /* relax_float_ops_pass.h in Headers */,
+				A9765FDA2485758600FDD115 /* loop_fission.h in Headers */,
+				A9765F422485758600FDD115 /* basic_block.h in Headers */,
+				A97660642485758600FDD115 /* ccp_pass.h in Headers */,
+				A9765EF42485758600FDD115 /* local_single_store_elim_pass.h in Headers */,
+				A9765FBE2485758600FDD115 /* value_number_table.h in Headers */,
+				A97660182485758600FDD115 /* simplification_pass.h in Headers */,
+				A976603A2485758600FDD115 /* loop_utils.h in Headers */,
+				A9765F6A2485758600FDD115 /* local_redundancy_elimination.h in Headers */,
+				A9765F982485758600FDD115 /* inst_debug_printf_pass.h in Headers */,
+				A97660722485758600FDD115 /* inst_bindless_check_pass.h in Headers */,
+				A97660682485758600FDD115 /* decompose_initialized_variables_pass.h in Headers */,
+				A9765E482485758600FDD115 /* remove_struct_member_reduction_opportunity.h in Headers */,
+				A9765EFC2485758600FDD115 /* scalar_analysis.h in Headers */,
+				A9765F3E2485758600FDD115 /* fold_spec_constant_op_and_composite_pass.h in Headers */,
+				A97660762485758600FDD115 /* set_spec_constant_default_value_pass.h in Headers */,
+				A976624C2485758700FDD115 /* validate_scopes.h in Headers */,
+				A97660602485758600FDD115 /* licm_pass.h in Headers */,
+				A9765FDC2485758600FDD115 /* workaround1209.h in Headers */,
+				A9765E942485758600FDD115 /* reduction_pass.h in Headers */,
+				A97660262485758600FDD115 /* const_folding_rules.h in Headers */,
+				A9765F582485758600FDD115 /* private_to_local_pass.h in Headers */,
+				A9765E602485758600FDD115 /* merge_blocks_reduction_opportunity_finder.h in Headers */,
+				A9765EF22485758600FDD115 /* legalize_vector_shuffle_pass.h in Headers */,
+				A9765E962485758600FDD115 /* latest_version_opencl_std_header.h in Headers */,
+				A9765EB82485758600FDD115 /* text_handler.h in Headers */,
+				A9765FEA2485758600FDD115 /* ssa_rewrite_pass.h in Headers */,
+				A9765E362485758500FDD115 /* simple_conditional_branch_to_branch_reduction_opportunity.h in Headers */,
+				A9765FC82485758600FDD115 /* constants.h in Headers */,
+				A976605E2485758600FDD115 /* iterator.h in Headers */,
+				A9765F162485758600FDD115 /* instruction_list.h in Headers */,
+				A9765FF42485758600FDD115 /* pass.h in Headers */,
+				A9765EEC2485758600FDD115 /* tree_iterator.h in Headers */,
+				A9765F382485758600FDD115 /* ir_loader.h in Headers */,
+				A97660422485758600FDD115 /* ir_builder.h in Headers */,
+				A9765E662485758600FDD115 /* remove_unused_struct_member_reduction_opportunity_finder.h in Headers */,
+				A9765F902485758600FDD115 /* inst_buff_addr_check_pass.h in Headers */,
+				A97662022485758700FDD115 /* latest_version_spirv_header.h in Headers */,
+				A9765E522485758600FDD115 /* remove_function_reduction_opportunity.h in Headers */,
+				A97660282485758600FDD115 /* scalar_replacement_pass.h in Headers */,
+				A9765E102485758500FDD115 /* timer.h in Headers */,
+				A9765E1E2485758500FDD115 /* ilist.h in Headers */,
+				A97662082485758700FDD115 /* spirv_optimizer_options.h in Headers */,
+				A97662382485758700FDD115 /* validation_state.h in Headers */,
+				A9765E0C2485758500FDD115 /* small_vector.h in Headers */,
+				A97662702485758700FDD115 /* function.h in Headers */,
+				A9765EDC2485758600FDD115 /* merge_return_pass.h in Headers */,
+				A9765E882485758600FDD115 /* reduction_util.h in Headers */,
+				A9765E182485758500FDD115 /* hex_float.h in Headers */,
+				A97662442485758700FDD115 /* validate.h in Headers */,
+				A976601E2485758600FDD115 /* reflect.h in Headers */,
+				A9765F602485758600FDD115 /* def_use_manager.h in Headers */,
+				A9765E562485758600FDD115 /* change_operand_to_undef_reduction_opportunity.h in Headers */,
+				A9765FBA2485758600FDD115 /* inline_pass.h in Headers */,
+				A9765F762485758600FDD115 /* desc_sroa.h in Headers */,
+				A9765E8A2485758600FDD115 /* merge_blocks_reduction_opportunity.h in Headers */,
+				A9765F8C2485758600FDD115 /* local_single_block_elim_pass.h in Headers */,
+				A9765E5A2485758600FDD115 /* remove_selection_reduction_opportunity.h in Headers */,
+				A9765FA02485758600FDD115 /* dead_insert_elim_pass.h in Headers */,
+				A9765FE42485758600FDD115 /* copy_prop_arrays.h in Headers */,
+				A97660502485758600FDD115 /* aggressive_dead_code_elim_pass.h in Headers */,
+				A9765FAE2485758600FDD115 /* eliminate_dead_members_pass.h in Headers */,
+				A97662782485758700FDD115 /* decoration.h in Headers */,
+				A9765EDE2485758600FDD115 /* inline_opaque_pass.h in Headers */,
+				A9765E9C2485758600FDD115 /* pch_source.h in Headers */,
+				A9765E9E2485758600FDD115 /* enum_string_mapping.h in Headers */,
+				A9765DFE2485758500FDD115 /* text.h in Headers */,
+				A976603C2485758600FDD115 /* module.h in Headers */,
+				A9765F6E2485758600FDD115 /* loop_peeling.h in Headers */,
+				A976602C2485758600FDD115 /* pch_source_opt.h in Headers */,
+				A97660462485758600FDD115 /* cfg.h in Headers */,
+				A9765FBC2485758600FDD115 /* loop_dependence.h in Headers */,
+				A9765E0A2485758500FDD115 /* string_utils.h in Headers */,
+				A9765FEE2485758600FDD115 /* dead_variable_elimination.h in Headers */,
+				A9765EC42485758600FDD115 /* spirv_endian.h in Headers */,
+				A9765EE02485758600FDD115 /* loop_fusion.h in Headers */,
+				A9765F4C2485758600FDD115 /* debug_info_manager.h in Headers */,
+				A97660822485758600FDD115 /* table.h in Headers */,
+				A9765F922485758600FDD115 /* strength_reduction_pass.h in Headers */,
+				A9765E2A2485758500FDD115 /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */,
+				A9765E042485758500FDD115 /* parse_number.h in Headers */,
+				A9765DF42485758500FDD115 /* spirv_fuzzer_options.h in Headers */,
+				A976604C2485758600FDD115 /* generate_webgpu_initializers_pass.h in Headers */,
+				A9765E062485758500FDD115 /* ilist_node.h in Headers */,
+				A97660002485758600FDD115 /* dead_branch_elim_pass.h in Headers */,
+				A9765E582485758600FDD115 /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */,
+				A9765F642485758600FDD115 /* cfg_cleanup_pass.h in Headers */,
+				A976600E2485758600FDD115 /* passes.h in Headers */,
+				A97660782485758600FDD115 /* dominator_tree.h in Headers */,
+				A9765F5A2485758600FDD115 /* convert_to_half_pass.h in Headers */,
+				A9765FA42485758600FDD115 /* freeze_spec_constant_value_pass.h in Headers */,
+				A9765EEA2485758600FDD115 /* register_pressure.h in Headers */,
+				A9765EB42485758600FDD115 /* spirv_validator_options.h in Headers */,
+				A9765EA82485758600FDD115 /* spirv_definition.h in Headers */,
+				A9765E6E2485758600FDD115 /* remove_function_reduction_opportunity_finder.h in Headers */,
+				A97662662485758700FDD115 /* instruction.h in Headers */,
+				A9765FF82485758600FDD115 /* eliminate_dead_functions_pass.h in Headers */,
+				A97662502485758700FDD115 /* validate_memory_semantics.h in Headers */,
+				A9765EE82485758600FDD115 /* compact_ids_pass.h in Headers */,
+				A9765E822485758600FDD115 /* change_operand_reduction_opportunity.h in Headers */,
+				A9765FFC2485758600FDD115 /* fold.h in Headers */,
+				A9765E7A2485758600FDD115 /* reduction_opportunity.h in Headers */,
+				A97660142485758600FDD115 /* strip_reflect_info_pass.h in Headers */,
+				A97662102485758700FDD115 /* extensions.h in Headers */,
+				A97660542485758600FDD115 /* vector_dce.h in Headers */,
+				A9765F0C2485758600FDD115 /* local_access_chain_convert_pass.h in Headers */,
+				A9765ECE2485758600FDD115 /* print.h in Headers */,
+				A9765DF82485758500FDD115 /* enum_set.h in Headers */,
+				A9765FC02485758600FDD115 /* flatten_decoration_pass.h in Headers */,
+				A9765FAA2485758600FDD115 /* mem_pass.h in Headers */,
+				A97662142485758700FDD115 /* binary.h in Headers */,
+				A9765ED62485758600FDD115 /* if_conversion.h in Headers */,
+				A9765EF02485758600FDD115 /* strip_atomic_counter_memory_pass.h in Headers */,
+				A9765E302485758500FDD115 /* operand_to_const_reduction_opportunity_finder.h in Headers */,
+				A9765EBA2485758600FDD115 /* parsed_operand.h in Headers */,
+				A9765E142485758500FDD115 /* bit_vector.h in Headers */,
+				A97660702485758600FDD115 /* feature_manager.h in Headers */,
+				A9765E7C2485758600FDD115 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h in Headers */,
+				A9765F0A2485758600FDD115 /* replace_invalid_opc.h in Headers */,
+				A9765FC62485758600FDD115 /* inline_exhaustive_pass.h in Headers */,
+				A9765EF62485758600FDD115 /* reduce_load_size.h in Headers */,
+				A9765FFA2485758600FDD115 /* eliminate_dead_functions_util.h in Headers */,
+				A9765F202485758600FDD115 /* amd_ext_to_khr.h in Headers */,
+				A9765F242485758600FDD115 /* ir_context.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -2980,7 +3010,7 @@
 		A9F55D25198BE6A7004EC31B /* Project object */ = {
 			isa = PBXProject;
 			attributes = {
-				LastUpgradeCheck = 1140;
+				LastUpgradeCheck = 1150;
 				ORGANIZATIONNAME = "The Brenwill Workshop Ltd.";
 				TargetAttributes = {
 					A972A7E421CEC72F0013AB25 = {
@@ -3101,205 +3131,208 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A9415C31243667F800566F16 /* ir_context.cpp in Sources */,
-				A9415BF7243667F800566F16 /* split_invalid_unreachable_pass.cpp in Sources */,
-				A9415C67243667F800566F16 /* loop_fusion_pass.cpp in Sources */,
-				A9415C9B243667F800566F16 /* amd_ext_to_khr.cpp in Sources */,
-				A9415EC7243667F900566F16 /* validate_id.cpp in Sources */,
-				A9415B9D243667F800566F16 /* local_redundancy_elimination.cpp in Sources */,
-				A9415ECD243667F900566F16 /* validate_mode_setting.cpp in Sources */,
-				A9415E91243667F900566F16 /* validate_annotation.cpp in Sources */,
-				A9415B4D243667F800566F16 /* parsed_operand.cpp in Sources */,
-				A9415BB5243667F800566F16 /* cfg_cleanup_pass.cpp in Sources */,
-				A9415C95243667F800566F16 /* set_spec_constant_default_value_pass.cpp in Sources */,
-				A9415C55243667F800566F16 /* strength_reduction_pass.cpp in Sources */,
-				A9415B8F243667F800566F16 /* strip_atomic_counter_memory_pass.cpp in Sources */,
-				A9415EA7243667F900566F16 /* validate_decorations.cpp in Sources */,
-				A9415AF7243667F700566F16 /* reducer.cpp in Sources */,
-				A9415C5D243667F800566F16 /* copy_prop_arrays.cpp in Sources */,
-				A9415ECF243667F900566F16 /* validate_memory_semantics.cpp in Sources */,
-				A9415C43243667F800566F16 /* process_lines_pass.cpp in Sources */,
-				A9415BFF243667F800566F16 /* loop_unroller.cpp in Sources */,
-				A9415BC1243667F800566F16 /* loop_dependence.cpp in Sources */,
-				A9415AD3243667F700566F16 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp in Sources */,
-				A9415B95243667F800566F16 /* freeze_spec_constant_value_pass.cpp in Sources */,
-				A9415BA5243667F800566F16 /* feature_manager.cpp in Sources */,
-				A9415BFB243667F800566F16 /* vector_dce.cpp in Sources */,
-				A9415E7D243667F900566F16 /* libspirv.cpp in Sources */,
-				A9415B15243667F700566F16 /* remove_block_reduction_opportunity_finder.cpp in Sources */,
-				A9415D03243667F800566F16 /* legalize_vector_shuffle_pass.cpp in Sources */,
-				A9415EE1243667F900566F16 /* validate_execution_limitations.cpp in Sources */,
-				A9415E79243667F900566F16 /* diagnostic.cpp in Sources */,
-				A9415BCD243667F800566F16 /* mem_pass.cpp in Sources */,
-				A9415C5F243667F800566F16 /* pass_manager.cpp in Sources */,
-				A9415B91243667F800566F16 /* decoration_manager.cpp in Sources */,
-				A9415C8B243667F800566F16 /* private_to_local_pass.cpp in Sources */,
-				A9415C13243667F800566F16 /* ccp_pass.cpp in Sources */,
-				A9415CBF243667F800566F16 /* inline_opaque_pass.cpp in Sources */,
-				A9415BA7243667F800566F16 /* pass.cpp in Sources */,
-				A9415D07243667F800566F16 /* compact_ids_pass.cpp in Sources */,
-				A9415BBF243667F800566F16 /* ssa_rewrite_pass.cpp in Sources */,
-				A9415AEF243667F700566F16 /* remove_instruction_reduction_opportunity.cpp in Sources */,
-				A9415BAF243667F800566F16 /* merge_return_pass.cpp in Sources */,
-				A9415BB7243667F800566F16 /* wrap_opkill.cpp in Sources */,
-				A9415B5D243667F800566F16 /* ext_inst.cpp in Sources */,
-				A9415C25243667F800566F16 /* simplification_pass.cpp in Sources */,
-				A9415B1D243667F700566F16 /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */,
-				A9415A8F243667F700566F16 /* text.cpp in Sources */,
-				A9415EBF243667F900566F16 /* validate_adjacency.cpp in Sources */,
-				A9415C3F243667F800566F16 /* composite.cpp in Sources */,
-				A9415BD9243667F800566F16 /* fold_spec_constant_op_and_composite_pass.cpp in Sources */,
-				A9415B55243667F800566F16 /* linker.cpp in Sources */,
-				A9415B4B243667F800566F16 /* spirv_reducer_options.cpp in Sources */,
-				A9415B67243667F800566F16 /* loop_utils.cpp in Sources */,
-				A9415A97243667F700566F16 /* pch_source.cpp in Sources */,
-				A9415C1F243667F800566F16 /* aggressive_dead_code_elim_pass.cpp in Sources */,
-				A9415CB3243667F800566F16 /* instruction.cpp in Sources */,
-				A9415CC9243667F800566F16 /* decompose_initialized_variables_pass.cpp in Sources */,
-				A9415B2D243667F800566F16 /* spirv_fuzzer_options.cpp in Sources */,
-				A9415BB3243667F800566F16 /* eliminate_dead_constant_pass.cpp in Sources */,
-				A9415AD5243667F700566F16 /* remove_function_reduction_opportunity.cpp in Sources */,
-				A9415AD9243667F700566F16 /* remove_selection_reduction_opportunity_finder.cpp in Sources */,
-				A9415C93243667F800566F16 /* loop_dependence_helpers.cpp in Sources */,
-				A9415BD1243667F800566F16 /* remove_duplicates_pass.cpp in Sources */,
-				A9415ADB243667F700566F16 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp in Sources */,
-				A9415ED7243667F900566F16 /* validate_image.cpp in Sources */,
-				A9415AB7243667F700566F16 /* table.cpp in Sources */,
-				A9415CAD243667F800566F16 /* relax_float_ops_pass.cpp in Sources */,
-				A9415B31243667F800566F16 /* spirv_validator_options.cpp in Sources */,
-				A9415BBD243667F800566F16 /* strip_debug_info_pass.cpp in Sources */,
-				A9415ED1243667F900566F16 /* validate_logicals.cpp in Sources */,
-				A9415B0D243667F700566F16 /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */,
-				A9415ACD243667F700566F16 /* remove_function_reduction_opportunity_finder.cpp in Sources */,
-				A9415C41243667F800566F16 /* convert_to_half_pass.cpp in Sources */,
-				A9415EE7243667F900566F16 /* validate_function.cpp in Sources */,
-				A9415B33243667F800566F16 /* print.cpp in Sources */,
-				A9415EC3243667F900566F16 /* validate_small_type_uses.cpp in Sources */,
-				A9415A87243667F700566F16 /* spirv_target_env.cpp in Sources */,
-				A9415ABB243667F700566F16 /* remove_selection_reduction_opportunity.cpp in Sources */,
-				A9415C61243667F800566F16 /* inline_exhaustive_pass.cpp in Sources */,
-				A9415BDB243667F800566F16 /* loop_unswitch_pass.cpp in Sources */,
-				A9415BAB243667F800566F16 /* dominator_tree.cpp in Sources */,
-				A9415AA7243667F700566F16 /* string_utils.cpp in Sources */,
-				A9415EE5243667F900566F16 /* basic_block.cpp in Sources */,
-				A9415BF3243667F800566F16 /* eliminate_dead_functions_pass.cpp in Sources */,
-				A9415CA9243667F800566F16 /* workaround1209.cpp in Sources */,
-				A9415ED5243667F900566F16 /* validate_memory.cpp in Sources */,
-				A9415BED243667F800566F16 /* ir_loader.cpp in Sources */,
-				A9415AAF243667F700566F16 /* parse_number.cpp in Sources */,
-				A9415AC7243667F700566F16 /* reduction_util.cpp in Sources */,
-				A9415C8F243667F800566F16 /* propagator.cpp in Sources */,
-				A9415B03243667F700566F16 /* reduction_opportunity.cpp in Sources */,
-				A9415C2D243667F800566F16 /* folding_rules.cpp in Sources */,
-				A9415C53243667F800566F16 /* eliminate_dead_members_pass.cpp in Sources */,
-				A9415BE9243667F800566F16 /* inline_pass.cpp in Sources */,
-				A9415EA9243667F900566F16 /* validate_debug.cpp in Sources */,
-				A9415BD7243667F800566F16 /* module.cpp in Sources */,
-				A9415BD3243667F800566F16 /* dead_variable_elimination.cpp in Sources */,
-				A9415A91243667F700566F16 /* assembly_grammar.cpp in Sources */,
-				A9415C4D243667F800566F16 /* if_conversion.cpp in Sources */,
-				A9415AE1243667F700566F16 /* change_operand_reduction_opportunity.cpp in Sources */,
-				A9415AD7243667F700566F16 /* simple_conditional_branch_to_branch_opportunity_finder.cpp in Sources */,
-				A9415E85243667F900566F16 /* operand.cpp in Sources */,
-				A9415BE1243667F800566F16 /* generate_webgpu_initializers_pass.cpp in Sources */,
-				A9415EB7243667F900566F16 /* validate_extensions.cpp in Sources */,
-				A9415C87243667F800566F16 /* local_single_store_elim_pass.cpp in Sources */,
-				A9415C79243667F800566F16 /* block_merge_pass.cpp in Sources */,
-				A9415AE9243667F700566F16 /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp in Sources */,
-				A9415C21243667F800566F16 /* eliminate_dead_functions_util.cpp in Sources */,
-				A9415C59243667F800566F16 /* block_merge_util.cpp in Sources */,
-				A9415CFD243667F800566F16 /* scalar_analysis_simplification.cpp in Sources */,
-				A9415AF5243667F700566F16 /* pch_source_reduce.cpp in Sources */,
-				A9415CB7243667F800566F16 /* reduce_load_size.cpp in Sources */,
-				A9415C09243667F800566F16 /* inst_buff_addr_check_pass.cpp in Sources */,
-				A9415C99243667F800566F16 /* fold.cpp in Sources */,
-				A9415EAB243667F900566F16 /* validate_builtins.cpp in Sources */,
-				A9415C3D243667F800566F16 /* instruction_list.cpp in Sources */,
-				A9415AB1243667F700566F16 /* bit_vector.cpp in Sources */,
-				A9415B93243667F800566F16 /* local_single_block_elim_pass.cpp in Sources */,
-				A9415E8B243667F900566F16 /* disassemble.cpp in Sources */,
-				A9415B3F243667F800566F16 /* binary.cpp in Sources */,
-				A9415B61243667F800566F16 /* optimizer.cpp in Sources */,
-				A9415BB9243667F800566F16 /* const_folding_rules.cpp in Sources */,
-				A9415AF9243667F700566F16 /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */,
-				A9415A95243667F700566F16 /* extensions.cpp in Sources */,
-				A9415C3B243667F800566F16 /* function.cpp in Sources */,
-				A9415CE5243667F800566F16 /* basic_block.cpp in Sources */,
-				A9415E95243667F900566F16 /* validate_cfg.cpp in Sources */,
-				A9415B1F243667F700566F16 /* remove_block_reduction_opportunity.cpp in Sources */,
-				A9415C57243667F800566F16 /* desc_sroa.cpp in Sources */,
-				A9415B1B243667F700566F16 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp in Sources */,
-				A9415C27243667F800566F16 /* dead_branch_elim_pass.cpp in Sources */,
-				A9415CF5243667F800566F16 /* loop_fusion.cpp in Sources */,
-				A9415EBB243667F900566F16 /* function.cpp in Sources */,
-				A9415EB9243667F900566F16 /* construct.cpp in Sources */,
-				A9415B25243667F700566F16 /* spirv_optimizer_options.cpp in Sources */,
-				A9415BF1243667F800566F16 /* licm_pass.cpp in Sources */,
-				A9415EEB243667F900566F16 /* validate_composites.cpp in Sources */,
-				A9415ED3243667F900566F16 /* validate_derivatives.cpp in Sources */,
-				A9415B8D243667F800566F16 /* cfg.cpp in Sources */,
-				A9415C9F243667F800566F16 /* scalar_replacement_pass.cpp in Sources */,
-				A9415E9F243667F900566F16 /* validate_scopes.cpp in Sources */,
-				A9415E93243667F900566F16 /* validate_misc.cpp in Sources */,
-				A9415B57243667F800566F16 /* software_version.cpp in Sources */,
-				A9415E9B243667F900566F16 /* validate_barriers.cpp in Sources */,
-				A9415CEF243667F800566F16 /* graphics_robust_access_pass.cpp in Sources */,
-				A9415B87243667F800566F16 /* types.cpp in Sources */,
-				A9415EAF243667F900566F16 /* validate.cpp in Sources */,
-				A9415BDD243667F800566F16 /* unify_const_pass.cpp in Sources */,
-				A9415EE3243667F900566F16 /* validate_layout.cpp in Sources */,
-				A9415EA5243667F900566F16 /* validate_instruction.cpp in Sources */,
-				A9415EDB243667F900566F16 /* instruction.cpp in Sources */,
-				A9415C19243667F800566F16 /* pch_source_opt.cpp in Sources */,
-				A9415AC9243667F700566F16 /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */,
-				A9415CBD243667F800566F16 /* value_number_table.cpp in Sources */,
-				A9415B9B243667F800566F16 /* inst_bindless_check_pass.cpp in Sources */,
-				A9415ED9243667F900566F16 /* validate_literals.cpp in Sources */,
-				A9415ADF243667F700566F16 /* merge_blocks_reduction_opportunity.cpp in Sources */,
-				A9415B6F243667F800566F16 /* combine_access_chains.cpp in Sources */,
-				A9415C0F243667F800566F16 /* strip_reflect_info_pass.cpp in Sources */,
-				A9415E9D243667F900566F16 /* validate_non_uniform.cpp in Sources */,
-				A9415B07243667F700566F16 /* change_operand_to_undef_reduction_opportunity.cpp in Sources */,
-				A9415B71243667F800566F16 /* build_module.cpp in Sources */,
-				A9415EED243667F900566F16 /* validation_state.cpp in Sources */,
-				A9415EDD243667F900566F16 /* validate_type.cpp in Sources */,
-				A9415AC1243667F700566F16 /* reduction_pass.cpp in Sources */,
-				A9415C71243667F800566F16 /* dead_insert_elim_pass.cpp in Sources */,
-				A9415D09243667F800566F16 /* loop_peeling.cpp in Sources */,
-				A9415CF7243667F800566F16 /* upgrade_memory_model.cpp in Sources */,
-				A9415B59243667F800566F16 /* opcode.cpp in Sources */,
-				A9415C29243667F800566F16 /* flatten_decoration_pass.cpp in Sources */,
-				A9415AA3243667F700566F16 /* timer.cpp in Sources */,
-				A9415C75243667F800566F16 /* scalar_analysis.cpp in Sources */,
-				A9415BDF243667F800566F16 /* type_manager.cpp in Sources */,
-				A9415CDB243667F800566F16 /* struct_cfg_analysis.cpp in Sources */,
-				A9415B53243667F800566F16 /* name_mapper.cpp in Sources */,
-				A9415C0B243667F800566F16 /* def_use_manager.cpp in Sources */,
-				A9415B9F243667F800566F16 /* instrument_pass.cpp in Sources */,
-				A9415BA9243667F800566F16 /* loop_fission.cpp in Sources */,
-				A9415B65243667F800566F16 /* register_pressure.cpp in Sources */,
-				A9415C37243667F800566F16 /* loop_descriptor.cpp in Sources */,
-				A9415CC7243667F800566F16 /* dominator_analysis.cpp in Sources */,
-				A9415AC3243667F700566F16 /* operand_to_const_reduction_opportunity_finder.cpp in Sources */,
-				A9415EA1243667F900566F16 /* validate_atomics.cpp in Sources */,
-				A9415BC7243667F800566F16 /* inst_debug_printf_pass.cpp in Sources */,
-				A9415EB5243667F900566F16 /* validate_bitwise.cpp in Sources */,
-				A9415B01243667F700566F16 /* merge_blocks_reduction_opportunity_finder.cpp in Sources */,
-				A9415ECB243667F900566F16 /* validate_arithmetics.cpp in Sources */,
-				A9415E97243667F900566F16 /* validate_capability.cpp in Sources */,
-				A9415EEF243667F900566F16 /* validate_primitives.cpp in Sources */,
-				A9415CE3243667F800566F16 /* local_access_chain_convert_pass.cpp in Sources */,
-				A9415EB3243667F900566F16 /* validate_constants.cpp in Sources */,
-				A9415EAD243667F900566F16 /* validate_interfaces.cpp in Sources */,
-				A9415EC1243667F900566F16 /* validate_conversion.cpp in Sources */,
-				A9415B85243667F800566F16 /* code_sink.cpp in Sources */,
-				A9415CA5243667F800566F16 /* redundancy_elimination.cpp in Sources */,
-				A9415B39243667F800566F16 /* spirv_endian.cpp in Sources */,
-				A9415C03243667F800566F16 /* constants.cpp in Sources */,
-				A9415CC1243667F800566F16 /* replace_invalid_opc.cpp in Sources */,
-				A9415B43243667F800566F16 /* enum_string_mapping.cpp in Sources */,
-				A9415E8F243667F900566F16 /* text_handler.cpp in Sources */,
-				A9415CBB243667F800566F16 /* fix_storage_class.cpp in Sources */,
+				A976626B2485758700FDD115 /* basic_block.cpp in Sources */,
+				A9765EBD2485758600FDD115 /* spirv_reducer_options.cpp in Sources */,
+				A97662252485758700FDD115 /* validate_scopes.cpp in Sources */,
+				A9765F7F2485758600FDD115 /* def_use_manager.cpp in Sources */,
+				A9765FC32485758600FDD115 /* debug_info_manager.cpp in Sources */,
+				A9765F1B2485758600FDD115 /* loop_fission.cpp in Sources */,
+				A9765FDD2485758600FDD115 /* loop_fusion_pass.cpp in Sources */,
+				A97662392485758700FDD115 /* validate_constants.cpp in Sources */,
+				A9765F772485758600FDD115 /* constants.cpp in Sources */,
+				A976600F2485758600FDD115 /* fold.cpp in Sources */,
+				A9765EB12485758600FDD115 /* binary.cpp in Sources */,
+				A9765FAF2485758600FDD115 /* function.cpp in Sources */,
+				A9765E7D2485758600FDD115 /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */,
+				A9765EF72485758600FDD115 /* code_sink.cpp in Sources */,
+				A9765E3D2485758500FDD115 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp in Sources */,
+				A97662312485758700FDD115 /* validate_builtins.cpp in Sources */,
+				A9765F552485758600FDD115 /* generate_webgpu_initializers_pass.cpp in Sources */,
+				A9765DF92485758500FDD115 /* text.cpp in Sources */,
+				A97660732485758600FDD115 /* scalar_analysis_simplification.cpp in Sources */,
+				A976622D2485758700FDD115 /* validate_decorations.cpp in Sources */,
+				A9765ECB2485758600FDD115 /* opcode.cpp in Sources */,
+				A9765E692485758600FDD115 /* reducer.cpp in Sources */,
+				A97662032485758700FDD115 /* libspirv.cpp in Sources */,
+				A9765F192485758600FDD115 /* pass.cpp in Sources */,
+				A97662192485758700FDD115 /* validate_misc.cpp in Sources */,
+				A97662672485758700FDD115 /* validate_execution_limitations.cpp in Sources */,
+				A9765E012485758500FDD115 /* pch_source.cpp in Sources */,
+				A97660292485758600FDD115 /* instruction.cpp in Sources */,
+				A97662592485758700FDD115 /* validate_derivatives.cpp in Sources */,
+				A9765F212485758600FDD115 /* merge_return_pass.cpp in Sources */,
+				A9765F832485758600FDD115 /* strip_reflect_info_pass.cpp in Sources */,
+				A9765E3F2485758500FDD115 /* remove_function_reduction_opportunity.cpp in Sources */,
+				A97662512485758700FDD115 /* validate_arithmetics.cpp in Sources */,
+				A976603F2485758600FDD115 /* decompose_initialized_variables_pass.cpp in Sources */,
+				A9765F072485758600FDD115 /* freeze_spec_constant_value_pass.cpp in Sources */,
+				A976603D2485758600FDD115 /* dominator_analysis.cpp in Sources */,
+				A97662492485758700FDD115 /* validate_small_type_uses.cpp in Sources */,
+				A9765FEF2485758600FDD115 /* block_merge_pass.cpp in Sources */,
+				A9765E672485758600FDD115 /* remove_unused_instruction_reduction_opportunity_finder.cpp in Sources */,
+				A97660652485758600FDD115 /* graphics_robust_access_pass.cpp in Sources */,
+				A97662732485758700FDD115 /* validation_state.cpp in Sources */,
+				A97660512485758600FDD115 /* struct_cfg_analysis.cpp in Sources */,
+				A9765E432485758500FDD115 /* remove_selection_reduction_opportunity_finder.cpp in Sources */,
+				A9765EFF2485758600FDD115 /* cfg.cpp in Sources */,
+				A9765F7D2485758600FDD115 /* inst_buff_addr_check_pass.cpp in Sources */,
+				A9765E452485758600FDD115 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp in Sources */,
+				A9765E712485758600FDD115 /* merge_blocks_reduction_opportunity_finder.cpp in Sources */,
+				A976621B2485758700FDD115 /* validate_cfg.cpp in Sources */,
+				A9765F992485758600FDD115 /* simplification_pass.cpp in Sources */,
+				A9765E212485758500FDD115 /* table.cpp in Sources */,
+				A9765F292485758600FDD115 /* wrap_opkill.cpp in Sources */,
+				A97662412485758700FDD115 /* function.cpp in Sources */,
+				A9765FB72485758600FDD115 /* process_lines_pass.cpp in Sources */,
+				A97660312485758600FDD115 /* fix_storage_class.cpp in Sources */,
+				A97660372485758600FDD115 /* replace_invalid_opc.cpp in Sources */,
+				A9765F4F2485758600FDD115 /* loop_unswitch_pass.cpp in Sources */,
+				A9765E372485758500FDD115 /* remove_function_reduction_opportunity_finder.cpp in Sources */,
+				A9765FEB2485758600FDD115 /* scalar_analysis.cpp in Sources */,
+				A9765EE32485758600FDD115 /* build_module.cpp in Sources */,
+				A9765F252485758600FDD115 /* eliminate_dead_constant_pass.cpp in Sources */,
+				A9765E772485758600FDD115 /* change_operand_to_undef_reduction_opportunity.cpp in Sources */,
+				A9765ED32485758600FDD115 /* optimizer.cpp in Sources */,
+				A976602D2485758600FDD115 /* reduce_load_size.cpp in Sources */,
+				A9765EC92485758600FDD115 /* software_version.cpp in Sources */,
+				A9765F652485758600FDD115 /* licm_pass.cpp in Sources */,
+				A9765F3F2485758600FDD115 /* mem_pass.cpp in Sources */,
+				A9765F532485758600FDD115 /* type_manager.cpp in Sources */,
+				A9765F112485758600FDD115 /* instrument_pass.cpp in Sources */,
+				A9765F672485758600FDD115 /* eliminate_dead_functions_pass.cpp in Sources */,
+				A976621D2485758700FDD115 /* validate_capability.cpp in Sources */,
+				A976623B2485758700FDD115 /* validate_bitwise.cpp in Sources */,
+				A9765F9B2485758600FDD115 /* dead_branch_elim_pass.cpp in Sources */,
+				A9765E9F2485758600FDD115 /* spirv_fuzzer_options.cpp in Sources */,
+				A976625B2485758700FDD115 /* validate_memory.cpp in Sources */,
+				A97662272485758700FDD115 /* validate_atomics.cpp in Sources */,
+				A9765DF12485758500FDD115 /* spirv_target_env.cpp in Sources */,
+				A97662712485758700FDD115 /* validate_composites.cpp in Sources */,
+				A976622B2485758700FDD115 /* validate_instruction.cpp in Sources */,
+				A97662352485758700FDD115 /* validate.cpp in Sources */,
+				A9765F0D2485758600FDD115 /* inst_bindless_check_pass.cpp in Sources */,
+				A9765ECF2485758600FDD115 /* ext_inst.cpp in Sources */,
+				A97660592485758600FDD115 /* local_access_chain_convert_pass.cpp in Sources */,
+				A9765E252485758500FDD115 /* remove_selection_reduction_opportunity.cpp in Sources */,
+				A97662572485758700FDD115 /* validate_logicals.cpp in Sources */,
+				A97662552485758700FDD115 /* validate_memory_semantics.cpp in Sources */,
+				A9765F312485758600FDD115 /* ssa_rewrite_pass.cpp in Sources */,
+				A976625F2485758700FDD115 /* validate_literals.cpp in Sources */,
+				A976625D2485758700FDD115 /* validate_image.cpp in Sources */,
+				A9765FD72485758600FDD115 /* inline_exhaustive_pass.cpp in Sources */,
+				A9765F272485758600FDD115 /* cfg_cleanup_pass.cpp in Sources */,
+				A9765E112485758500FDD115 /* string_utils.cpp in Sources */,
+				A97660232485758600FDD115 /* relax_float_ops_pass.cpp in Sources */,
+				A9765E732485758600FDD115 /* reduction_opportunity.cpp in Sources */,
+				A97662472485758700FDD115 /* validate_conversion.cpp in Sources */,
+				A9765F052485758600FDD115 /* local_single_block_elim_pass.cpp in Sources */,
+				A9765FB32485758600FDD115 /* composite.cpp in Sources */,
+				A9765F8D2485758600FDD115 /* pch_source_opt.cpp in Sources */,
+				A9765E192485758500FDD115 /* parse_number.cpp in Sources */,
+				A97662632485758700FDD115 /* validate_type.cpp in Sources */,
+				A976624D2485758700FDD115 /* validate_id.cpp in Sources */,
+				A9765E312485758500FDD115 /* reduction_util.cpp in Sources */,
+				A9765F2B2485758600FDD115 /* const_folding_rules.cpp in Sources */,
+				A9765F952485758600FDD115 /* eliminate_dead_functions_util.cpp in Sources */,
+				A9765F452485758600FDD115 /* dead_variable_elimination.cpp in Sources */,
+				A9765E972485758600FDD115 /* spirv_optimizer_options.cpp in Sources */,
+				A9765E6B2485758600FDD115 /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */,
+				A97662232485758700FDD115 /* validate_non_uniform.cpp in Sources */,
+				A97662692485758700FDD115 /* validate_layout.cpp in Sources */,
+				A976605B2485758600FDD115 /* basic_block.cpp in Sources */,
+				A976626D2485758700FDD115 /* validate_function.cpp in Sources */,
+				A9765DFB2485758500FDD115 /* assembly_grammar.cpp in Sources */,
+				A97662152485758700FDD115 /* text_handler.cpp in Sources */,
+				A9765F512485758600FDD115 /* unify_const_pass.cpp in Sources */,
+				A9765ED92485758600FDD115 /* loop_utils.cpp in Sources */,
+				A97660012485758600FDD115 /* private_to_local_pass.cpp in Sources */,
+				A97662212485758700FDD115 /* validate_barriers.cpp in Sources */,
+				A97662172485758700FDD115 /* validate_annotation.cpp in Sources */,
+				A9765F032485758600FDD115 /* decoration_manager.cpp in Sources */,
+				A9765EA32485758600FDD115 /* spirv_validator_options.cpp in Sources */,
+				A9765F4D2485758600FDD115 /* fold_spec_constant_op_and_composite_pass.cpp in Sources */,
+				A9765E8F2485758600FDD115 /* remove_block_reduction_opportunity.cpp in Sources */,
+				A9765FC92485758600FDD115 /* eliminate_dead_members_pass.cpp in Sources */,
+				A9765FB12485758600FDD115 /* instruction_list.cpp in Sources */,
+				A9765E4D2485758600FDD115 /* change_operand_reduction_opportunity.cpp in Sources */,
+				A9765F432485758600FDD115 /* remove_duplicates_pass.cpp in Sources */,
+				A9765FCD2485758600FDD115 /* desc_sroa.cpp in Sources */,
+				A9765E8B2485758600FDD115 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp in Sources */,
+				A9765F012485758600FDD115 /* strip_atomic_counter_memory_pass.cpp in Sources */,
+				A9765E912485758600FDD115 /* remove_unused_struct_member_reduction_opportunity_finder.cpp in Sources */,
+				A9765FCF2485758600FDD115 /* block_merge_util.cpp in Sources */,
+				A9765E612485758600FDD115 /* pch_source_reduce.cpp in Sources */,
+				A976607D2485758600FDD115 /* compact_ids_pass.cpp in Sources */,
+				A9765E412485758500FDD115 /* simple_conditional_branch_to_branch_opportunity_finder.cpp in Sources */,
+				A9765E1B2485758500FDD115 /* bit_vector.cpp in Sources */,
+				A976623D2485758700FDD115 /* validate_extensions.cpp in Sources */,
+				A9765F332485758600FDD115 /* loop_dependence.cpp in Sources */,
+				A97661FF2485758700FDD115 /* diagnostic.cpp in Sources */,
+				A9765FE72485758600FDD115 /* dead_insert_elim_pass.cpp in Sources */,
+				A976600B2485758600FDD115 /* set_spec_constant_default_value_pass.cpp in Sources */,
+				A9765DFF2485758500FDD115 /* extensions.cpp in Sources */,
+				A9765FB52485758600FDD115 /* convert_to_half_pass.cpp in Sources */,
+				A9765E332485758500FDD115 /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */,
+				A9765FD32485758600FDD115 /* copy_prop_arrays.cpp in Sources */,
+				A9765EBF2485758600FDD115 /* parsed_operand.cpp in Sources */,
+				A9765E632485758600FDD115 /* remove_struct_member_reduction_opportunity.cpp in Sources */,
+				A97662752485758700FDD115 /* validate_primitives.cpp in Sources */,
+				A9765EC52485758600FDD115 /* name_mapper.cpp in Sources */,
+				A9765FCB2485758600FDD115 /* strength_reduction_pass.cpp in Sources */,
+				A9765EAB2485758600FDD115 /* spirv_endian.cpp in Sources */,
+				A97662452485758700FDD115 /* validate_adjacency.cpp in Sources */,
+				A976622F2485758700FDD115 /* validate_debug.cpp in Sources */,
+				A9765F9D2485758600FDD115 /* flatten_decoration_pass.cpp in Sources */,
+				A9765F6B2485758600FDD115 /* split_invalid_unreachable_pass.cpp in Sources */,
+				A976601F2485758600FDD115 /* workaround1209.cpp in Sources */,
+				A976606D2485758600FDD115 /* upgrade_memory_model.cpp in Sources */,
+				A9765F0F2485758600FDD115 /* local_redundancy_elimination.cpp in Sources */,
+				A97660112485758600FDD115 /* amd_ext_to_khr.cpp in Sources */,
+				A9765F172485758600FDD115 /* feature_manager.cpp in Sources */,
+				A9765FA52485758600FDD115 /* ir_context.cpp in Sources */,
+				A9765FD52485758600FDD115 /* pass_manager.cpp in Sources */,
+				A976623F2485758700FDD115 /* construct.cpp in Sources */,
+				A9765E4B2485758600FDD115 /* merge_blocks_reduction_opportunity.cpp in Sources */,
+				A976607F2485758600FDD115 /* loop_peeling.cpp in Sources */,
+				A97660052485758600FDD115 /* propagator.cpp in Sources */,
+				A97662532485758700FDD115 /* validate_mode_setting.cpp in Sources */,
+				A9765F2F2485758600FDD115 /* strip_debug_info_pass.cpp in Sources */,
+				A9765F492485758600FDD115 /* module.cpp in Sources */,
+				A9765FA12485758600FDD115 /* folding_rules.cpp in Sources */,
+				A97660152485758600FDD115 /* scalar_replacement_pass.cpp in Sources */,
+				A9765F732485758600FDD115 /* loop_unroller.cpp in Sources */,
+				A976620B2485758700FDD115 /* operand.cpp in Sources */,
+				A97660352485758600FDD115 /* inline_opaque_pass.cpp in Sources */,
+				A9765EF92485758600FDD115 /* types.cpp in Sources */,
+				A9765EB52485758600FDD115 /* enum_string_mapping.cpp in Sources */,
+				A97660792485758600FDD115 /* legalize_vector_shuffle_pass.cpp in Sources */,
+				A9765EA52485758600FDD115 /* print.cpp in Sources */,
+				A9765F932485758600FDD115 /* aggressive_dead_code_elim_pass.cpp in Sources */,
+				A9765FFD2485758600FDD115 /* local_single_store_elim_pass.cpp in Sources */,
+				A9765F612485758600FDD115 /* ir_loader.cpp in Sources */,
+				A9765E5B2485758600FDD115 /* remove_instruction_reduction_opportunity.cpp in Sources */,
+				A976606B2485758600FDD115 /* loop_fusion.cpp in Sources */,
+				A9765F6F2485758600FDD115 /* vector_dce.cpp in Sources */,
+				A97662612485758700FDD115 /* instruction.cpp in Sources */,
+				A976601B2485758600FDD115 /* redundancy_elimination.cpp in Sources */,
+				A9765FC12485758600FDD115 /* if_conversion.cpp in Sources */,
+				A97660092485758600FDD115 /* loop_dependence_helpers.cpp in Sources */,
+				A9765F5D2485758600FDD115 /* inline_pass.cpp in Sources */,
+				A9765F1D2485758600FDD115 /* dominator_tree.cpp in Sources */,
+				A97662112485758700FDD115 /* disassemble.cpp in Sources */,
+				A9765F392485758600FDD115 /* inst_debug_printf_pass.cpp in Sources */,
+				A9765F872485758600FDD115 /* ccp_pass.cpp in Sources */,
+				A9765ED72485758600FDD115 /* register_pressure.cpp in Sources */,
+				A9765EC72485758600FDD115 /* linker.cpp in Sources */,
+				A9765E2B2485758500FDD115 /* reduction_pass.cpp in Sources */,
+				A9765E8D2485758600FDD115 /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */,
+				A9765E0D2485758500FDD115 /* timer.cpp in Sources */,
+				A97662332485758700FDD115 /* validate_interfaces.cpp in Sources */,
+				A97660332485758600FDD115 /* value_number_table.cpp in Sources */,
+				A9765FAB2485758600FDD115 /* loop_descriptor.cpp in Sources */,
+				A9765EE12485758600FDD115 /* combine_access_chains.cpp in Sources */,
+				A9765E2D2485758500FDD115 /* operand_to_const_reduction_opportunity_finder.cpp in Sources */,
+				A9765E852485758600FDD115 /* remove_block_reduction_opportunity_finder.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -3307,205 +3340,208 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A9415C32243667F800566F16 /* ir_context.cpp in Sources */,
-				A9415BF8243667F800566F16 /* split_invalid_unreachable_pass.cpp in Sources */,
-				A9415C68243667F800566F16 /* loop_fusion_pass.cpp in Sources */,
-				A9415C9C243667F800566F16 /* amd_ext_to_khr.cpp in Sources */,
-				A9415EC8243667F900566F16 /* validate_id.cpp in Sources */,
-				A9415B9E243667F800566F16 /* local_redundancy_elimination.cpp in Sources */,
-				A9415ECE243667F900566F16 /* validate_mode_setting.cpp in Sources */,
-				A9415E92243667F900566F16 /* validate_annotation.cpp in Sources */,
-				A9415B4E243667F800566F16 /* parsed_operand.cpp in Sources */,
-				A9415BB6243667F800566F16 /* cfg_cleanup_pass.cpp in Sources */,
-				A9415C96243667F800566F16 /* set_spec_constant_default_value_pass.cpp in Sources */,
-				A9415C56243667F800566F16 /* strength_reduction_pass.cpp in Sources */,
-				A9415B90243667F800566F16 /* strip_atomic_counter_memory_pass.cpp in Sources */,
-				A9415EA8243667F900566F16 /* validate_decorations.cpp in Sources */,
-				A9415AF8243667F700566F16 /* reducer.cpp in Sources */,
-				A9415C5E243667F800566F16 /* copy_prop_arrays.cpp in Sources */,
-				A9415ED0243667F900566F16 /* validate_memory_semantics.cpp in Sources */,
-				A9415C44243667F800566F16 /* process_lines_pass.cpp in Sources */,
-				A9415C00243667F800566F16 /* loop_unroller.cpp in Sources */,
-				A9415BC2243667F800566F16 /* loop_dependence.cpp in Sources */,
-				A9415AD4243667F700566F16 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp in Sources */,
-				A9415B96243667F800566F16 /* freeze_spec_constant_value_pass.cpp in Sources */,
-				A9415BA6243667F800566F16 /* feature_manager.cpp in Sources */,
-				A9415BFC243667F800566F16 /* vector_dce.cpp in Sources */,
-				A9415E7E243667F900566F16 /* libspirv.cpp in Sources */,
-				A9415B16243667F700566F16 /* remove_block_reduction_opportunity_finder.cpp in Sources */,
-				A9415D04243667F800566F16 /* legalize_vector_shuffle_pass.cpp in Sources */,
-				A9415EE2243667F900566F16 /* validate_execution_limitations.cpp in Sources */,
-				A9415E7A243667F900566F16 /* diagnostic.cpp in Sources */,
-				A9415BCE243667F800566F16 /* mem_pass.cpp in Sources */,
-				A9415C60243667F800566F16 /* pass_manager.cpp in Sources */,
-				A9415B92243667F800566F16 /* decoration_manager.cpp in Sources */,
-				A9415C8C243667F800566F16 /* private_to_local_pass.cpp in Sources */,
-				A9415C14243667F800566F16 /* ccp_pass.cpp in Sources */,
-				A9415CC0243667F800566F16 /* inline_opaque_pass.cpp in Sources */,
-				A9415BA8243667F800566F16 /* pass.cpp in Sources */,
-				A9415D08243667F800566F16 /* compact_ids_pass.cpp in Sources */,
-				A9415BC0243667F800566F16 /* ssa_rewrite_pass.cpp in Sources */,
-				A9415AF0243667F700566F16 /* remove_instruction_reduction_opportunity.cpp in Sources */,
-				A9415BB0243667F800566F16 /* merge_return_pass.cpp in Sources */,
-				A9415BB8243667F800566F16 /* wrap_opkill.cpp in Sources */,
-				A9415B5E243667F800566F16 /* ext_inst.cpp in Sources */,
-				A9415C26243667F800566F16 /* simplification_pass.cpp in Sources */,
-				A9415B1E243667F700566F16 /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */,
-				A9415A90243667F700566F16 /* text.cpp in Sources */,
-				A9415EC0243667F900566F16 /* validate_adjacency.cpp in Sources */,
-				A9415C40243667F800566F16 /* composite.cpp in Sources */,
-				A9415BDA243667F800566F16 /* fold_spec_constant_op_and_composite_pass.cpp in Sources */,
-				A9415B56243667F800566F16 /* linker.cpp in Sources */,
-				A9415B4C243667F800566F16 /* spirv_reducer_options.cpp in Sources */,
-				A9415B68243667F800566F16 /* loop_utils.cpp in Sources */,
-				A9415A98243667F700566F16 /* pch_source.cpp in Sources */,
-				A9415C20243667F800566F16 /* aggressive_dead_code_elim_pass.cpp in Sources */,
-				A9415CB4243667F800566F16 /* instruction.cpp in Sources */,
-				A9415CCA243667F800566F16 /* decompose_initialized_variables_pass.cpp in Sources */,
-				A9415B2E243667F800566F16 /* spirv_fuzzer_options.cpp in Sources */,
-				A9415BB4243667F800566F16 /* eliminate_dead_constant_pass.cpp in Sources */,
-				A9415AD6243667F700566F16 /* remove_function_reduction_opportunity.cpp in Sources */,
-				A9415ADA243667F700566F16 /* remove_selection_reduction_opportunity_finder.cpp in Sources */,
-				A9415C94243667F800566F16 /* loop_dependence_helpers.cpp in Sources */,
-				A9415BD2243667F800566F16 /* remove_duplicates_pass.cpp in Sources */,
-				A9415ADC243667F700566F16 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp in Sources */,
-				A9415ED8243667F900566F16 /* validate_image.cpp in Sources */,
-				A9415AB8243667F700566F16 /* table.cpp in Sources */,
-				A9415CAE243667F800566F16 /* relax_float_ops_pass.cpp in Sources */,
-				A9415B32243667F800566F16 /* spirv_validator_options.cpp in Sources */,
-				A9415BBE243667F800566F16 /* strip_debug_info_pass.cpp in Sources */,
-				A9415ED2243667F900566F16 /* validate_logicals.cpp in Sources */,
-				A9415B0E243667F700566F16 /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */,
-				A9415ACE243667F700566F16 /* remove_function_reduction_opportunity_finder.cpp in Sources */,
-				A9415C42243667F800566F16 /* convert_to_half_pass.cpp in Sources */,
-				A9415EE8243667F900566F16 /* validate_function.cpp in Sources */,
-				A9415B34243667F800566F16 /* print.cpp in Sources */,
-				A9415EC4243667F900566F16 /* validate_small_type_uses.cpp in Sources */,
-				A9415A88243667F700566F16 /* spirv_target_env.cpp in Sources */,
-				A9415ABC243667F700566F16 /* remove_selection_reduction_opportunity.cpp in Sources */,
-				A9415C62243667F800566F16 /* inline_exhaustive_pass.cpp in Sources */,
-				A9415BDC243667F800566F16 /* loop_unswitch_pass.cpp in Sources */,
-				A9415BAC243667F800566F16 /* dominator_tree.cpp in Sources */,
-				A9415AA8243667F700566F16 /* string_utils.cpp in Sources */,
-				A9415EE6243667F900566F16 /* basic_block.cpp in Sources */,
-				A9415BF4243667F800566F16 /* eliminate_dead_functions_pass.cpp in Sources */,
-				A9415CAA243667F800566F16 /* workaround1209.cpp in Sources */,
-				A9415ED6243667F900566F16 /* validate_memory.cpp in Sources */,
-				A9415BEE243667F800566F16 /* ir_loader.cpp in Sources */,
-				A9415AB0243667F700566F16 /* parse_number.cpp in Sources */,
-				A9415AC8243667F700566F16 /* reduction_util.cpp in Sources */,
-				A9415C90243667F800566F16 /* propagator.cpp in Sources */,
-				A9415B04243667F700566F16 /* reduction_opportunity.cpp in Sources */,
-				A9415C2E243667F800566F16 /* folding_rules.cpp in Sources */,
-				A9415C54243667F800566F16 /* eliminate_dead_members_pass.cpp in Sources */,
-				A9415BEA243667F800566F16 /* inline_pass.cpp in Sources */,
-				A9415EAA243667F900566F16 /* validate_debug.cpp in Sources */,
-				A9415BD8243667F800566F16 /* module.cpp in Sources */,
-				A9415BD4243667F800566F16 /* dead_variable_elimination.cpp in Sources */,
-				A9415A92243667F700566F16 /* assembly_grammar.cpp in Sources */,
-				A9415C4E243667F800566F16 /* if_conversion.cpp in Sources */,
-				A9415AE2243667F700566F16 /* change_operand_reduction_opportunity.cpp in Sources */,
-				A9415AD8243667F700566F16 /* simple_conditional_branch_to_branch_opportunity_finder.cpp in Sources */,
-				A9415E86243667F900566F16 /* operand.cpp in Sources */,
-				A9415BE2243667F800566F16 /* generate_webgpu_initializers_pass.cpp in Sources */,
-				A9415EB8243667F900566F16 /* validate_extensions.cpp in Sources */,
-				A9415C88243667F800566F16 /* local_single_store_elim_pass.cpp in Sources */,
-				A9415C7A243667F800566F16 /* block_merge_pass.cpp in Sources */,
-				A9415AEA243667F700566F16 /* remove_unreferenced_instruction_reduction_opportunity_finder.cpp in Sources */,
-				A9415C22243667F800566F16 /* eliminate_dead_functions_util.cpp in Sources */,
-				A9415C5A243667F800566F16 /* block_merge_util.cpp in Sources */,
-				A9415CFE243667F800566F16 /* scalar_analysis_simplification.cpp in Sources */,
-				A9415AF6243667F700566F16 /* pch_source_reduce.cpp in Sources */,
-				A9415CB8243667F800566F16 /* reduce_load_size.cpp in Sources */,
-				A9415C0A243667F800566F16 /* inst_buff_addr_check_pass.cpp in Sources */,
-				A9415C9A243667F800566F16 /* fold.cpp in Sources */,
-				A9415EAC243667F900566F16 /* validate_builtins.cpp in Sources */,
-				A9415C3E243667F800566F16 /* instruction_list.cpp in Sources */,
-				A9415AB2243667F700566F16 /* bit_vector.cpp in Sources */,
-				A9415B94243667F800566F16 /* local_single_block_elim_pass.cpp in Sources */,
-				A9415E8C243667F900566F16 /* disassemble.cpp in Sources */,
-				A9415B40243667F800566F16 /* binary.cpp in Sources */,
-				A9415B62243667F800566F16 /* optimizer.cpp in Sources */,
-				A9415BBA243667F800566F16 /* const_folding_rules.cpp in Sources */,
-				A9415AFA243667F700566F16 /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */,
-				A9415A96243667F700566F16 /* extensions.cpp in Sources */,
-				A9415C3C243667F800566F16 /* function.cpp in Sources */,
-				A9415CE6243667F800566F16 /* basic_block.cpp in Sources */,
-				A9415E96243667F900566F16 /* validate_cfg.cpp in Sources */,
-				A9415B20243667F700566F16 /* remove_block_reduction_opportunity.cpp in Sources */,
-				A9415C58243667F800566F16 /* desc_sroa.cpp in Sources */,
-				A9415B1C243667F700566F16 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp in Sources */,
-				A9415C28243667F800566F16 /* dead_branch_elim_pass.cpp in Sources */,
-				A9415CF6243667F800566F16 /* loop_fusion.cpp in Sources */,
-				A9415EBC243667F900566F16 /* function.cpp in Sources */,
-				A9415EBA243667F900566F16 /* construct.cpp in Sources */,
-				A9415B26243667F700566F16 /* spirv_optimizer_options.cpp in Sources */,
-				A9415BF2243667F800566F16 /* licm_pass.cpp in Sources */,
-				A9415EEC243667F900566F16 /* validate_composites.cpp in Sources */,
-				A9415ED4243667F900566F16 /* validate_derivatives.cpp in Sources */,
-				A9415B8E243667F800566F16 /* cfg.cpp in Sources */,
-				A9415CA0243667F800566F16 /* scalar_replacement_pass.cpp in Sources */,
-				A9415EA0243667F900566F16 /* validate_scopes.cpp in Sources */,
-				A9415E94243667F900566F16 /* validate_misc.cpp in Sources */,
-				A9415B58243667F800566F16 /* software_version.cpp in Sources */,
-				A9415E9C243667F900566F16 /* validate_barriers.cpp in Sources */,
-				A9415CF0243667F800566F16 /* graphics_robust_access_pass.cpp in Sources */,
-				A9415B88243667F800566F16 /* types.cpp in Sources */,
-				A9415EB0243667F900566F16 /* validate.cpp in Sources */,
-				A9415BDE243667F800566F16 /* unify_const_pass.cpp in Sources */,
-				A9415EE4243667F900566F16 /* validate_layout.cpp in Sources */,
-				A9415EA6243667F900566F16 /* validate_instruction.cpp in Sources */,
-				A9415EDC243667F900566F16 /* instruction.cpp in Sources */,
-				A9415C1A243667F800566F16 /* pch_source_opt.cpp in Sources */,
-				A9415ACA243667F700566F16 /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */,
-				A9415CBE243667F800566F16 /* value_number_table.cpp in Sources */,
-				A9415B9C243667F800566F16 /* inst_bindless_check_pass.cpp in Sources */,
-				A9415EDA243667F900566F16 /* validate_literals.cpp in Sources */,
-				A9415AE0243667F700566F16 /* merge_blocks_reduction_opportunity.cpp in Sources */,
-				A9415B70243667F800566F16 /* combine_access_chains.cpp in Sources */,
-				A9415C10243667F800566F16 /* strip_reflect_info_pass.cpp in Sources */,
-				A9415E9E243667F900566F16 /* validate_non_uniform.cpp in Sources */,
-				A9415B08243667F700566F16 /* change_operand_to_undef_reduction_opportunity.cpp in Sources */,
-				A9415B72243667F800566F16 /* build_module.cpp in Sources */,
-				A9415EEE243667F900566F16 /* validation_state.cpp in Sources */,
-				A9415EDE243667F900566F16 /* validate_type.cpp in Sources */,
-				A9415AC2243667F700566F16 /* reduction_pass.cpp in Sources */,
-				A9415C72243667F800566F16 /* dead_insert_elim_pass.cpp in Sources */,
-				A9415D0A243667F800566F16 /* loop_peeling.cpp in Sources */,
-				A9415CF8243667F800566F16 /* upgrade_memory_model.cpp in Sources */,
-				A9415B5A243667F800566F16 /* opcode.cpp in Sources */,
-				A9415C2A243667F800566F16 /* flatten_decoration_pass.cpp in Sources */,
-				A9415AA4243667F700566F16 /* timer.cpp in Sources */,
-				A9415C76243667F800566F16 /* scalar_analysis.cpp in Sources */,
-				A9415BE0243667F800566F16 /* type_manager.cpp in Sources */,
-				A9415CDC243667F800566F16 /* struct_cfg_analysis.cpp in Sources */,
-				A9415B54243667F800566F16 /* name_mapper.cpp in Sources */,
-				A9415C0C243667F800566F16 /* def_use_manager.cpp in Sources */,
-				A9415BA0243667F800566F16 /* instrument_pass.cpp in Sources */,
-				A9415BAA243667F800566F16 /* loop_fission.cpp in Sources */,
-				A9415B66243667F800566F16 /* register_pressure.cpp in Sources */,
-				A9415C38243667F800566F16 /* loop_descriptor.cpp in Sources */,
-				A9415CC8243667F800566F16 /* dominator_analysis.cpp in Sources */,
-				A9415AC4243667F700566F16 /* operand_to_const_reduction_opportunity_finder.cpp in Sources */,
-				A9415EA2243667F900566F16 /* validate_atomics.cpp in Sources */,
-				A9415BC8243667F800566F16 /* inst_debug_printf_pass.cpp in Sources */,
-				A9415EB6243667F900566F16 /* validate_bitwise.cpp in Sources */,
-				A9415B02243667F700566F16 /* merge_blocks_reduction_opportunity_finder.cpp in Sources */,
-				A9415ECC243667F900566F16 /* validate_arithmetics.cpp in Sources */,
-				A9415E98243667F900566F16 /* validate_capability.cpp in Sources */,
-				A9415EF0243667F900566F16 /* validate_primitives.cpp in Sources */,
-				A9415CE4243667F800566F16 /* local_access_chain_convert_pass.cpp in Sources */,
-				A9415EB4243667F900566F16 /* validate_constants.cpp in Sources */,
-				A9415EAE243667F900566F16 /* validate_interfaces.cpp in Sources */,
-				A9415EC2243667F900566F16 /* validate_conversion.cpp in Sources */,
-				A9415B86243667F800566F16 /* code_sink.cpp in Sources */,
-				A9415CA6243667F800566F16 /* redundancy_elimination.cpp in Sources */,
-				A9415B3A243667F800566F16 /* spirv_endian.cpp in Sources */,
-				A9415C04243667F800566F16 /* constants.cpp in Sources */,
-				A9415CC2243667F800566F16 /* replace_invalid_opc.cpp in Sources */,
-				A9415B44243667F800566F16 /* enum_string_mapping.cpp in Sources */,
-				A9415E90243667F900566F16 /* text_handler.cpp in Sources */,
-				A9415CBC243667F800566F16 /* fix_storage_class.cpp in Sources */,
+				A976626C2485758700FDD115 /* basic_block.cpp in Sources */,
+				A9765EBE2485758600FDD115 /* spirv_reducer_options.cpp in Sources */,
+				A97662262485758700FDD115 /* validate_scopes.cpp in Sources */,
+				A9765F802485758600FDD115 /* def_use_manager.cpp in Sources */,
+				A9765FC42485758600FDD115 /* debug_info_manager.cpp in Sources */,
+				A9765F1C2485758600FDD115 /* loop_fission.cpp in Sources */,
+				A9765FDE2485758600FDD115 /* loop_fusion_pass.cpp in Sources */,
+				A976623A2485758700FDD115 /* validate_constants.cpp in Sources */,
+				A9765F782485758600FDD115 /* constants.cpp in Sources */,
+				A97660102485758600FDD115 /* fold.cpp in Sources */,
+				A9765EB22485758600FDD115 /* binary.cpp in Sources */,
+				A9765FB02485758600FDD115 /* function.cpp in Sources */,
+				A9765E7E2485758600FDD115 /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */,
+				A9765EF82485758600FDD115 /* code_sink.cpp in Sources */,
+				A9765E3E2485758500FDD115 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp in Sources */,
+				A97662322485758700FDD115 /* validate_builtins.cpp in Sources */,
+				A9765F562485758600FDD115 /* generate_webgpu_initializers_pass.cpp in Sources */,
+				A9765DFA2485758500FDD115 /* text.cpp in Sources */,
+				A97660742485758600FDD115 /* scalar_analysis_simplification.cpp in Sources */,
+				A976622E2485758700FDD115 /* validate_decorations.cpp in Sources */,
+				A9765ECC2485758600FDD115 /* opcode.cpp in Sources */,
+				A9765E6A2485758600FDD115 /* reducer.cpp in Sources */,
+				A97662042485758700FDD115 /* libspirv.cpp in Sources */,
+				A9765F1A2485758600FDD115 /* pass.cpp in Sources */,
+				A976621A2485758700FDD115 /* validate_misc.cpp in Sources */,
+				A97662682485758700FDD115 /* validate_execution_limitations.cpp in Sources */,
+				A9765E022485758500FDD115 /* pch_source.cpp in Sources */,
+				A976602A2485758600FDD115 /* instruction.cpp in Sources */,
+				A976625A2485758700FDD115 /* validate_derivatives.cpp in Sources */,
+				A9765F222485758600FDD115 /* merge_return_pass.cpp in Sources */,
+				A9765F842485758600FDD115 /* strip_reflect_info_pass.cpp in Sources */,
+				A9765E402485758500FDD115 /* remove_function_reduction_opportunity.cpp in Sources */,
+				A97662522485758700FDD115 /* validate_arithmetics.cpp in Sources */,
+				A97660402485758600FDD115 /* decompose_initialized_variables_pass.cpp in Sources */,
+				A9765F082485758600FDD115 /* freeze_spec_constant_value_pass.cpp in Sources */,
+				A976603E2485758600FDD115 /* dominator_analysis.cpp in Sources */,
+				A976624A2485758700FDD115 /* validate_small_type_uses.cpp in Sources */,
+				A9765FF02485758600FDD115 /* block_merge_pass.cpp in Sources */,
+				A9765E682485758600FDD115 /* remove_unused_instruction_reduction_opportunity_finder.cpp in Sources */,
+				A97660662485758600FDD115 /* graphics_robust_access_pass.cpp in Sources */,
+				A97662742485758700FDD115 /* validation_state.cpp in Sources */,
+				A97660522485758600FDD115 /* struct_cfg_analysis.cpp in Sources */,
+				A9765E442485758600FDD115 /* remove_selection_reduction_opportunity_finder.cpp in Sources */,
+				A9765F002485758600FDD115 /* cfg.cpp in Sources */,
+				A9765F7E2485758600FDD115 /* inst_buff_addr_check_pass.cpp in Sources */,
+				A9765E462485758600FDD115 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp in Sources */,
+				A9765E722485758600FDD115 /* merge_blocks_reduction_opportunity_finder.cpp in Sources */,
+				A976621C2485758700FDD115 /* validate_cfg.cpp in Sources */,
+				A9765F9A2485758600FDD115 /* simplification_pass.cpp in Sources */,
+				A9765E222485758500FDD115 /* table.cpp in Sources */,
+				A9765F2A2485758600FDD115 /* wrap_opkill.cpp in Sources */,
+				A97662422485758700FDD115 /* function.cpp in Sources */,
+				A9765FB82485758600FDD115 /* process_lines_pass.cpp in Sources */,
+				A97660322485758600FDD115 /* fix_storage_class.cpp in Sources */,
+				A97660382485758600FDD115 /* replace_invalid_opc.cpp in Sources */,
+				A9765F502485758600FDD115 /* loop_unswitch_pass.cpp in Sources */,
+				A9765E382485758500FDD115 /* remove_function_reduction_opportunity_finder.cpp in Sources */,
+				A9765FEC2485758600FDD115 /* scalar_analysis.cpp in Sources */,
+				A9765EE42485758600FDD115 /* build_module.cpp in Sources */,
+				A9765F262485758600FDD115 /* eliminate_dead_constant_pass.cpp in Sources */,
+				A9765E782485758600FDD115 /* change_operand_to_undef_reduction_opportunity.cpp in Sources */,
+				A9765ED42485758600FDD115 /* optimizer.cpp in Sources */,
+				A976602E2485758600FDD115 /* reduce_load_size.cpp in Sources */,
+				A9765ECA2485758600FDD115 /* software_version.cpp in Sources */,
+				A9765F662485758600FDD115 /* licm_pass.cpp in Sources */,
+				A9765F402485758600FDD115 /* mem_pass.cpp in Sources */,
+				A9765F542485758600FDD115 /* type_manager.cpp in Sources */,
+				A9765F122485758600FDD115 /* instrument_pass.cpp in Sources */,
+				A9765F682485758600FDD115 /* eliminate_dead_functions_pass.cpp in Sources */,
+				A976621E2485758700FDD115 /* validate_capability.cpp in Sources */,
+				A976623C2485758700FDD115 /* validate_bitwise.cpp in Sources */,
+				A9765F9C2485758600FDD115 /* dead_branch_elim_pass.cpp in Sources */,
+				A9765EA02485758600FDD115 /* spirv_fuzzer_options.cpp in Sources */,
+				A976625C2485758700FDD115 /* validate_memory.cpp in Sources */,
+				A97662282485758700FDD115 /* validate_atomics.cpp in Sources */,
+				A9765DF22485758500FDD115 /* spirv_target_env.cpp in Sources */,
+				A97662722485758700FDD115 /* validate_composites.cpp in Sources */,
+				A976622C2485758700FDD115 /* validate_instruction.cpp in Sources */,
+				A97662362485758700FDD115 /* validate.cpp in Sources */,
+				A9765F0E2485758600FDD115 /* inst_bindless_check_pass.cpp in Sources */,
+				A9765ED02485758600FDD115 /* ext_inst.cpp in Sources */,
+				A976605A2485758600FDD115 /* local_access_chain_convert_pass.cpp in Sources */,
+				A9765E262485758500FDD115 /* remove_selection_reduction_opportunity.cpp in Sources */,
+				A97662582485758700FDD115 /* validate_logicals.cpp in Sources */,
+				A97662562485758700FDD115 /* validate_memory_semantics.cpp in Sources */,
+				A9765F322485758600FDD115 /* ssa_rewrite_pass.cpp in Sources */,
+				A97662602485758700FDD115 /* validate_literals.cpp in Sources */,
+				A976625E2485758700FDD115 /* validate_image.cpp in Sources */,
+				A9765FD82485758600FDD115 /* inline_exhaustive_pass.cpp in Sources */,
+				A9765F282485758600FDD115 /* cfg_cleanup_pass.cpp in Sources */,
+				A9765E122485758500FDD115 /* string_utils.cpp in Sources */,
+				A97660242485758600FDD115 /* relax_float_ops_pass.cpp in Sources */,
+				A9765E742485758600FDD115 /* reduction_opportunity.cpp in Sources */,
+				A97662482485758700FDD115 /* validate_conversion.cpp in Sources */,
+				A9765F062485758600FDD115 /* local_single_block_elim_pass.cpp in Sources */,
+				A9765FB42485758600FDD115 /* composite.cpp in Sources */,
+				A9765F8E2485758600FDD115 /* pch_source_opt.cpp in Sources */,
+				A9765E1A2485758500FDD115 /* parse_number.cpp in Sources */,
+				A97662642485758700FDD115 /* validate_type.cpp in Sources */,
+				A976624E2485758700FDD115 /* validate_id.cpp in Sources */,
+				A9765E322485758500FDD115 /* reduction_util.cpp in Sources */,
+				A9765F2C2485758600FDD115 /* const_folding_rules.cpp in Sources */,
+				A9765F962485758600FDD115 /* eliminate_dead_functions_util.cpp in Sources */,
+				A9765F462485758600FDD115 /* dead_variable_elimination.cpp in Sources */,
+				A9765E982485758600FDD115 /* spirv_optimizer_options.cpp in Sources */,
+				A9765E6C2485758600FDD115 /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */,
+				A97662242485758700FDD115 /* validate_non_uniform.cpp in Sources */,
+				A976626A2485758700FDD115 /* validate_layout.cpp in Sources */,
+				A976605C2485758600FDD115 /* basic_block.cpp in Sources */,
+				A976626E2485758700FDD115 /* validate_function.cpp in Sources */,
+				A9765DFC2485758500FDD115 /* assembly_grammar.cpp in Sources */,
+				A97662162485758700FDD115 /* text_handler.cpp in Sources */,
+				A9765F522485758600FDD115 /* unify_const_pass.cpp in Sources */,
+				A9765EDA2485758600FDD115 /* loop_utils.cpp in Sources */,
+				A97660022485758600FDD115 /* private_to_local_pass.cpp in Sources */,
+				A97662222485758700FDD115 /* validate_barriers.cpp in Sources */,
+				A97662182485758700FDD115 /* validate_annotation.cpp in Sources */,
+				A9765F042485758600FDD115 /* decoration_manager.cpp in Sources */,
+				A9765EA42485758600FDD115 /* spirv_validator_options.cpp in Sources */,
+				A9765F4E2485758600FDD115 /* fold_spec_constant_op_and_composite_pass.cpp in Sources */,
+				A9765E902485758600FDD115 /* remove_block_reduction_opportunity.cpp in Sources */,
+				A9765FCA2485758600FDD115 /* eliminate_dead_members_pass.cpp in Sources */,
+				A9765FB22485758600FDD115 /* instruction_list.cpp in Sources */,
+				A9765E4E2485758600FDD115 /* change_operand_reduction_opportunity.cpp in Sources */,
+				A9765F442485758600FDD115 /* remove_duplicates_pass.cpp in Sources */,
+				A9765FCE2485758600FDD115 /* desc_sroa.cpp in Sources */,
+				A9765E8C2485758600FDD115 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp in Sources */,
+				A9765F022485758600FDD115 /* strip_atomic_counter_memory_pass.cpp in Sources */,
+				A9765E922485758600FDD115 /* remove_unused_struct_member_reduction_opportunity_finder.cpp in Sources */,
+				A9765FD02485758600FDD115 /* block_merge_util.cpp in Sources */,
+				A9765E622485758600FDD115 /* pch_source_reduce.cpp in Sources */,
+				A976607E2485758600FDD115 /* compact_ids_pass.cpp in Sources */,
+				A9765E422485758500FDD115 /* simple_conditional_branch_to_branch_opportunity_finder.cpp in Sources */,
+				A9765E1C2485758500FDD115 /* bit_vector.cpp in Sources */,
+				A976623E2485758700FDD115 /* validate_extensions.cpp in Sources */,
+				A9765F342485758600FDD115 /* loop_dependence.cpp in Sources */,
+				A97662002485758700FDD115 /* diagnostic.cpp in Sources */,
+				A9765FE82485758600FDD115 /* dead_insert_elim_pass.cpp in Sources */,
+				A976600C2485758600FDD115 /* set_spec_constant_default_value_pass.cpp in Sources */,
+				A9765E002485758500FDD115 /* extensions.cpp in Sources */,
+				A9765FB62485758600FDD115 /* convert_to_half_pass.cpp in Sources */,
+				A9765E342485758500FDD115 /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */,
+				A9765FD42485758600FDD115 /* copy_prop_arrays.cpp in Sources */,
+				A9765EC02485758600FDD115 /* parsed_operand.cpp in Sources */,
+				A9765E642485758600FDD115 /* remove_struct_member_reduction_opportunity.cpp in Sources */,
+				A97662762485758700FDD115 /* validate_primitives.cpp in Sources */,
+				A9765EC62485758600FDD115 /* name_mapper.cpp in Sources */,
+				A9765FCC2485758600FDD115 /* strength_reduction_pass.cpp in Sources */,
+				A9765EAC2485758600FDD115 /* spirv_endian.cpp in Sources */,
+				A97662462485758700FDD115 /* validate_adjacency.cpp in Sources */,
+				A97662302485758700FDD115 /* validate_debug.cpp in Sources */,
+				A9765F9E2485758600FDD115 /* flatten_decoration_pass.cpp in Sources */,
+				A9765F6C2485758600FDD115 /* split_invalid_unreachable_pass.cpp in Sources */,
+				A97660202485758600FDD115 /* workaround1209.cpp in Sources */,
+				A976606E2485758600FDD115 /* upgrade_memory_model.cpp in Sources */,
+				A9765F102485758600FDD115 /* local_redundancy_elimination.cpp in Sources */,
+				A97660122485758600FDD115 /* amd_ext_to_khr.cpp in Sources */,
+				A9765F182485758600FDD115 /* feature_manager.cpp in Sources */,
+				A9765FA62485758600FDD115 /* ir_context.cpp in Sources */,
+				A9765FD62485758600FDD115 /* pass_manager.cpp in Sources */,
+				A97662402485758700FDD115 /* construct.cpp in Sources */,
+				A9765E4C2485758600FDD115 /* merge_blocks_reduction_opportunity.cpp in Sources */,
+				A97660802485758600FDD115 /* loop_peeling.cpp in Sources */,
+				A97660062485758600FDD115 /* propagator.cpp in Sources */,
+				A97662542485758700FDD115 /* validate_mode_setting.cpp in Sources */,
+				A9765F302485758600FDD115 /* strip_debug_info_pass.cpp in Sources */,
+				A9765F4A2485758600FDD115 /* module.cpp in Sources */,
+				A9765FA22485758600FDD115 /* folding_rules.cpp in Sources */,
+				A97660162485758600FDD115 /* scalar_replacement_pass.cpp in Sources */,
+				A9765F742485758600FDD115 /* loop_unroller.cpp in Sources */,
+				A976620C2485758700FDD115 /* operand.cpp in Sources */,
+				A97660362485758600FDD115 /* inline_opaque_pass.cpp in Sources */,
+				A9765EFA2485758600FDD115 /* types.cpp in Sources */,
+				A9765EB62485758600FDD115 /* enum_string_mapping.cpp in Sources */,
+				A976607A2485758600FDD115 /* legalize_vector_shuffle_pass.cpp in Sources */,
+				A9765EA62485758600FDD115 /* print.cpp in Sources */,
+				A9765F942485758600FDD115 /* aggressive_dead_code_elim_pass.cpp in Sources */,
+				A9765FFE2485758600FDD115 /* local_single_store_elim_pass.cpp in Sources */,
+				A9765F622485758600FDD115 /* ir_loader.cpp in Sources */,
+				A9765E5C2485758600FDD115 /* remove_instruction_reduction_opportunity.cpp in Sources */,
+				A976606C2485758600FDD115 /* loop_fusion.cpp in Sources */,
+				A9765F702485758600FDD115 /* vector_dce.cpp in Sources */,
+				A97662622485758700FDD115 /* instruction.cpp in Sources */,
+				A976601C2485758600FDD115 /* redundancy_elimination.cpp in Sources */,
+				A9765FC22485758600FDD115 /* if_conversion.cpp in Sources */,
+				A976600A2485758600FDD115 /* loop_dependence_helpers.cpp in Sources */,
+				A9765F5E2485758600FDD115 /* inline_pass.cpp in Sources */,
+				A9765F1E2485758600FDD115 /* dominator_tree.cpp in Sources */,
+				A97662122485758700FDD115 /* disassemble.cpp in Sources */,
+				A9765F3A2485758600FDD115 /* inst_debug_printf_pass.cpp in Sources */,
+				A9765F882485758600FDD115 /* ccp_pass.cpp in Sources */,
+				A9765ED82485758600FDD115 /* register_pressure.cpp in Sources */,
+				A9765EC82485758600FDD115 /* linker.cpp in Sources */,
+				A9765E2C2485758500FDD115 /* reduction_pass.cpp in Sources */,
+				A9765E8E2485758600FDD115 /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */,
+				A9765E0E2485758500FDD115 /* timer.cpp in Sources */,
+				A97662342485758700FDD115 /* validate_interfaces.cpp in Sources */,
+				A97660342485758600FDD115 /* value_number_table.cpp in Sources */,
+				A9765FAC2485758600FDD115 /* loop_descriptor.cpp in Sources */,
+				A9765EE22485758600FDD115 /* combine_access_chains.cpp in Sources */,
+				A9765E2E2485758500FDD115 /* operand_to_const_reduction_opportunity_finder.cpp in Sources */,
+				A9765E862485758600FDD115 /* remove_block_reduction_opportunity_finder.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -3684,34 +3720,24 @@
 		A90FD89D21CC4EAB00B92BB2 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				ARCHS = arm64;
-				BITCODE_GENERATION_MODE = bitcode;
-				CODE_SIGN_IDENTITY = "iPhone Developer";
-				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
 				GCC_PREPROCESSOR_DEFINITIONS = (
 					"$(inherited)",
 					"SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross",
 				);
 				PRODUCT_NAME = SPIRVCross;
 				SDKROOT = iphoneos;
-				VALID_ARCHS = arm64;
 			};
 			name = Debug;
 		};
 		A90FD89E21CC4EAB00B92BB2 /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				ARCHS = arm64;
-				BITCODE_GENERATION_MODE = bitcode;
-				CODE_SIGN_IDENTITY = "iPhone Developer";
-				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
 				GCC_PREPROCESSOR_DEFINITIONS = (
 					"$(inherited)",
 					"SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross",
 				);
 				PRODUCT_NAME = SPIRVCross;
 				SDKROOT = iphoneos;
-				VALID_ARCHS = arm64;
 			};
 			name = Release;
 		};
@@ -3790,10 +3816,6 @@
 		A972A80D21CECBBF0013AB25 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				ARCHS = arm64;
-				BITCODE_GENERATION_MODE = bitcode;
-				CODE_SIGN_IDENTITY = "iPhone Developer";
-				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
 				DEPLOYMENT_POSTPROCESSING = YES;
 				GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
 				HEADER_SEARCH_PATHS = (
@@ -3805,17 +3827,12 @@
 				);
 				PRODUCT_NAME = SPIRVTools;
 				SDKROOT = iphoneos;
-				VALID_ARCHS = arm64;
 			};
 			name = Debug;
 		};
 		A972A80E21CECBBF0013AB25 /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				ARCHS = arm64;
-				BITCODE_GENERATION_MODE = bitcode;
-				CODE_SIGN_IDENTITY = "iPhone Developer";
-				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
 				DEPLOYMENT_POSTPROCESSING = YES;
 				GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
 				HEADER_SEARCH_PATHS = (
@@ -3827,7 +3844,6 @@
 				);
 				PRODUCT_NAME = SPIRVTools;
 				SDKROOT = iphoneos;
-				VALID_ARCHS = arm64;
 			};
 			name = Release;
 		};
@@ -3868,11 +3884,7 @@
 		A972ABDA21CED7BC0013AB25 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				ARCHS = arm64;
-				BITCODE_GENERATION_MODE = bitcode;
 				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
-				CODE_SIGN_IDENTITY = "iPhone Developer";
-				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
 				GCC_PREPROCESSOR_DEFINITIONS = (
 					"$(inherited)",
 					"AMD_EXTENSIONS=1",
@@ -3888,18 +3900,13 @@
 				);
 				PRODUCT_NAME = glslang;
 				SDKROOT = iphoneos;
-				VALID_ARCHS = arm64;
 			};
 			name = Debug;
 		};
 		A972ABDB21CED7BC0013AB25 /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				ARCHS = arm64;
-				BITCODE_GENERATION_MODE = bitcode;
 				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
-				CODE_SIGN_IDENTITY = "iPhone Developer";
-				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
 				GCC_PREPROCESSOR_DEFINITIONS = (
 					"$(inherited)",
 					"AMD_EXTENSIONS=1",
@@ -3915,7 +3922,6 @@
 				);
 				PRODUCT_NAME = glslang;
 				SDKROOT = iphoneos;
-				VALID_ARCHS = arm64;
 			};
 			name = Release;
 		};
@@ -3967,6 +3973,7 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
 				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
 				CLANG_CXX_LIBRARY = "libc++";
 				CLANG_ENABLE_MODULES = NO;
@@ -4014,6 +4021,7 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
 				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
 				CLANG_CXX_LIBRARY = "libc++";
 				CLANG_ENABLE_MODULES = NO;
diff --git "a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies \050Debug\051.xcscheme" "b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies \050Debug\051.xcscheme"
index 18a6d08..9677c5a 100644
--- "a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies \050Debug\051.xcscheme"
+++ "b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies \050Debug\051.xcscheme"
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1140"
+   LastUpgradeVersion = "1150"
    version = "2.0">
    <BuildAction
       parallelizeBuildables = "YES"
diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies-iOS.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies-iOS.xcscheme
index fab5380..f5912bb 100644
--- a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies-iOS.xcscheme
+++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies-iOS.xcscheme
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1140"
+   LastUpgradeVersion = "1150"
    version = "2.0">
    <BuildAction
       parallelizeBuildables = "YES"
diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies-macOS.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies-macOS.xcscheme
index 2313055..72e1129 100644
--- a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies-macOS.xcscheme
+++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies-macOS.xcscheme
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1140"
+   LastUpgradeVersion = "1150"
    version = "2.0">
    <BuildAction
       parallelizeBuildables = "YES"
diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies.xcscheme
index 2ebf29f..7d3952c 100644
--- a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies.xcscheme
+++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies.xcscheme
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1140"
+   LastUpgradeVersion = "1150"
    version = "2.0">
    <BuildAction
       parallelizeBuildables = "YES"
diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Cross-iOS.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Cross-iOS.xcscheme
index 944ddf4..50db954 100644
--- a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Cross-iOS.xcscheme
+++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Cross-iOS.xcscheme
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1140"
+   LastUpgradeVersion = "1150"
    version = "2.0">
    <BuildAction
       parallelizeBuildables = "YES"
diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Cross-macOS.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Cross-macOS.xcscheme
index 9f89d19..a4ceebf 100644
--- a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Cross-macOS.xcscheme
+++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Cross-macOS.xcscheme
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1140"
+   LastUpgradeVersion = "1150"
    version = "2.0">
    <BuildAction
       parallelizeBuildables = "YES"
diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Tools-iOS.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Tools-iOS.xcscheme
index 03437e5..915c7e2 100644
--- a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Tools-iOS.xcscheme
+++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Tools-iOS.xcscheme
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1140"
+   LastUpgradeVersion = "1150"
    version = "2.0">
    <BuildAction
       parallelizeBuildables = "YES"
diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Tools-macOS.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Tools-macOS.xcscheme
index cbfbdd3..2f53c1a 100644
--- a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Tools-macOS.xcscheme
+++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Tools-macOS.xcscheme
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1140"
+   LastUpgradeVersion = "1150"
    version = "2.0">
    <BuildAction
       parallelizeBuildables = "YES"
diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/glslang-iOS.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/glslang-iOS.xcscheme
index dc8c0d1..62d3081 100644
--- a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/glslang-iOS.xcscheme
+++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/glslang-iOS.xcscheme
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1140"
+   LastUpgradeVersion = "1150"
    version = "2.0">
    <BuildAction
       parallelizeBuildables = "YES"
diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/glslang-macOS.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/glslang-macOS.xcscheme
index 4a85559..4b203b9 100644
--- a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/glslang-macOS.xcscheme
+++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/glslang-macOS.xcscheme
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1140"
+   LastUpgradeVersion = "1150"
    version = "2.0">
    <BuildAction
       parallelizeBuildables = "YES"
diff --git a/ExternalRevisions/README.md b/ExternalRevisions/README.md
index 6eb1886..b14fd7b 100644
--- a/ExternalRevisions/README.md
+++ b/ExternalRevisions/README.md
@@ -202,9 +202,10 @@
 
 5. Remove the *Group* named `fuzz` from under the *Group* named `External/SPIRV-Tools/source`.
 
-6. In the `Scripts` folder, run `./packagePregenSpirvToolsHeaders` to update `Templates/spirv-tools/build.zip` 
-   from the `*.h` and `*.inc` files in `External/glslang/External/spirv-tools/build`, and test by running 
-   `./fetchDependencies --skip-spirv-tools-build`, and a **MoltenVK** build.
+6. In the `Scripts` folder, run `./packagePregenSpirvToolsHeaders`, which will fetch and build the 
+   full `SPIRV-Tools` library and will update `Templates/spirv-tools/build.zip` from the `*.h` and 
+   `*.inc` files in `External/glslang/External/spirv-tools/build`. Test by running `./fetchDependencies` 
+   and a **MoltenVK** build.
 
 
 
diff --git a/ExternalRevisions/SPIRV-Cross_repo_revision b/ExternalRevisions/SPIRV-Cross_repo_revision
index e20a35a..9fa21a3 100644
--- a/ExternalRevisions/SPIRV-Cross_repo_revision
+++ b/ExternalRevisions/SPIRV-Cross_repo_revision
@@ -1 +1 @@
-fbc560782c42bab4581dbc7705da5013bf864956
+d385bf096f5dabbc4cdaeb6872b0f64be1a63ad0
diff --git a/ExternalRevisions/Vulkan-Headers_repo_revision b/ExternalRevisions/Vulkan-Headers_repo_revision
index 9c7eac2..20b16f5 100644
--- a/ExternalRevisions/Vulkan-Headers_repo_revision
+++ b/ExternalRevisions/Vulkan-Headers_repo_revision
@@ -1 +1 @@
-fb7f9c9bcd1d1544ea203a1f3d4253d0e90c5a90
+09531f27933bf04bffde9074acb302e026e8f181
diff --git a/ExternalRevisions/Vulkan-Tools_repo_revision b/ExternalRevisions/Vulkan-Tools_repo_revision
index 133c330..625057d 100644
--- a/ExternalRevisions/Vulkan-Tools_repo_revision
+++ b/ExternalRevisions/Vulkan-Tools_repo_revision
@@ -1 +1 @@
-7844b9b4e180612c7ca35bcb07ce7f86610b22c4
+e5b2ff8935cbe779fbbaa02d3aa7659167eb7e35
diff --git a/ExternalRevisions/VulkanSamples_repo_revision b/ExternalRevisions/VulkanSamples_repo_revision
index a359707..d5f3abe 100644
--- a/ExternalRevisions/VulkanSamples_repo_revision
+++ b/ExternalRevisions/VulkanSamples_repo_revision
@@ -1 +1 @@
-036541ca8f65333bf911b3957afa2c49f83fa0cd
+f938eb1daf5c2c9f895c70563760c35e074acc03
diff --git a/ExternalRevisions/glslang_repo_revision b/ExternalRevisions/glslang_repo_revision
index f6d25e5..6fd2550 100644
--- a/ExternalRevisions/glslang_repo_revision
+++ b/ExternalRevisions/glslang_repo_revision
@@ -1 +1 @@
-e157435c1e777aa1052f446dafed162b4a722e03
+e00d27c6d65b7d3e72506a311d7f053da4051295
diff --git a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
index 3afe647..0ade7b8 100644
--- a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
+++ b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
@@ -1145,24 +1145,18 @@
 		A9B8EE1E1A98D796009C5A02 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				ARCHS = arm64;
-				BITCODE_GENERATION_MODE = bitcode;
 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
-				VALID_ARCHS = arm64;
 			};
 			name = Debug;
 		};
 		A9B8EE1F1A98D796009C5A02 /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				ARCHS = arm64;
-				BITCODE_GENERATION_MODE = bitcode;
 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
-				VALID_ARCHS = arm64;
 			};
 			name = Release;
 		};
@@ -1171,7 +1165,6 @@
 			buildSettings = {
 				MACOSX_DEPLOYMENT_TARGET = 10.11;
 				SDKROOT = macosx;
-				VALID_ARCHS = x86_64;
 			};
 			name = Debug;
 		};
@@ -1180,7 +1173,6 @@
 			buildSettings = {
 				MACOSX_DEPLOYMENT_TARGET = 10.11;
 				SDKROOT = macosx;
-				VALID_ARCHS = x86_64;
 			};
 			name = Release;
 		};
@@ -1188,6 +1180,7 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
 				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
 				CLANG_CXX_LIBRARY = "libc++";
 				CLANG_ENABLE_MODULES = NO;
@@ -1248,6 +1241,7 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
 				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
 				CLANG_CXX_LIBRARY = "libc++";
 				CLANG_ENABLE_MODULES = NO;
diff --git a/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h b/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h
index effbd3d..71e165e 100644
--- a/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h
+++ b/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h
@@ -50,12 +50,12 @@
  */
 #define MVK_VERSION_MAJOR   1
 #define MVK_VERSION_MINOR   0
-#define MVK_VERSION_PATCH   42
+#define MVK_VERSION_PATCH   44
 
 #define MVK_MAKE_VERSION(major, minor, patch)    (((major) * 10000) + ((minor) * 100) + (patch))
 #define MVK_VERSION     MVK_MAKE_VERSION(MVK_VERSION_MAJOR, MVK_VERSION_MINOR, MVK_VERSION_PATCH)
 
-#define VK_MVK_MOLTENVK_SPEC_VERSION            25
+#define VK_MVK_MOLTENVK_SPEC_VERSION            26
 #define VK_MVK_MOLTENVK_EXTENSION_NAME          "VK_MVK_moltenvk"
 
 /**
@@ -609,7 +609,8 @@
 	VkBool32 native3DCompressedTextures;		/**< If true, 3D compressed images are supported natively, without manual decompression. */
 	VkBool32 nativeTextureSwizzle;				/**< If true, component swizzle is supported natively, without manual swizzling in shaders. */
 	VkBool32 placementHeaps;					/**< If true, MTLHeap objects support placement of resources. */
-	VkDeviceSize pushConstantSizeAlignment;     /**< The alignment used internally when allocating memory for push constants. Must be PoT. */
+	VkDeviceSize pushConstantSizeAlignment;		/**< The alignment used internally when allocating memory for push constants. Must be PoT. */
+	uint32_t maxTextureLayers;					/**< The maximum number of layers in an array texture. */
 } MVKPhysicalDeviceMetalFeatures;
 
 /** MoltenVK performance of a particular type of activity. */
@@ -643,7 +644,7 @@
 
 /** MoltenVK performance of queue activities. */
 typedef struct {
-	MVKPerformanceTracker mtlQueueAccess;               /** Create an MTLCommmandQueue or access an existing cached instance. */
+	MVKPerformanceTracker mtlQueueAccess;               /** Create an MTLCommandQueue or access an existing cached instance. */
 	MVKPerformanceTracker mtlCommandBufferCompletion;   /** Completion of a MTLCommandBuffer on the GPU, from commit to completion callback. */
 	MVKPerformanceTracker nextCAMetalDrawable;			/** Retrieve next CAMetalDrawable from CAMetalLayer during presentation. */
 	MVKPerformanceTracker frameInterval;				/** Frame presentation interval (1000/FPS). */
diff --git a/MoltenVK/MoltenVK/Commands/MVKCmdPipeline.mm b/MoltenVK/MoltenVK/Commands/MVKCmdPipeline.mm
index 13bfe6f..4e12de5 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCmdPipeline.mm
+++ b/MoltenVK/MoltenVK/Commands/MVKCmdPipeline.mm
@@ -90,7 +90,9 @@
 					break;
 
 				case MVKPipelineBarrier::Image:
-					resources[rezCnt++] = b.mvkImage->getMTLTexture();
+                    for (uint8_t planeIndex = 0; planeIndex < b.mvkImage->getPlaneCount(); planeIndex++) {
+                        resources[rezCnt++] = b.mvkImage->getMTLTexture(planeIndex);
+                    }
 					break;
 
 				default:
diff --git a/MoltenVK/MoltenVK/Commands/MVKCmdTransfer.h b/MoltenVK/MoltenVK/Commands/MVKCmdTransfer.h
index 54723c8..cedf30b 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCmdTransfer.h
+++ b/MoltenVK/MoltenVK/Commands/MVKCmdTransfer.h
@@ -103,7 +103,7 @@
 
 protected:
 	MVKCommandTypePool<MVKCommand>* getTypePool(MVKCommandPool* cmdPool) override;
-	bool canCopyFormats();
+	bool canCopyFormats(const VkImageBlit& region);
 	bool canCopy(const VkImageBlit& region);
 	void populateVertices(MVKVertexPosTex* vertices, const VkImageBlit& region);
 
@@ -125,8 +125,9 @@
 
 /** Describes Metal texture resolve parameters. */
 typedef struct {
-    uint32_t	level;
-    uint32_t	slice;
+    VkImageCopy* copyRegion;
+    uint32_t level;
+    uint32_t slice;
 } MVKMetalResolveSlice;
 
 /**
diff --git a/MoltenVK/MoltenVK/Commands/MVKCmdTransfer.mm b/MoltenVK/MoltenVK/Commands/MVKCmdTransfer.mm
index 341c5ce..848aa94 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCmdTransfer.mm
+++ b/MoltenVK/MoltenVK/Commands/MVKCmdTransfer.mm
@@ -62,129 +62,138 @@
 	_dstLayout = dstImageLayout;
 
 	_vkImageCopies.clear();		// Clear for reuse
-	for (uint32_t i = 0; i < regionCount; i++) {
-		_vkImageCopies.push_back(pRegions[i]);
+    for (uint32_t regionIdx = 0; regionIdx < regionCount; regionIdx++) {
+        auto& vkIR = pRegions[regionIdx];
+        uint8_t srcPlaneIndex = MVKImage::getPlaneFromVkImageAspectFlags(vkIR.srcSubresource.aspectMask);
+        uint8_t dstPlaneIndex = MVKImage::getPlaneFromVkImageAspectFlags(vkIR.dstSubresource.aspectMask);
+    
+        // Validate
+        MVKPixelFormats* pixFmts = cmdBuff->getPixelFormats();
+        if ((_dstImage->getSampleCount() != _srcImage->getSampleCount()) ||
+            (pixFmts->getBytesPerBlock(_dstImage->getMTLPixelFormat(dstPlaneIndex)) != pixFmts->getBytesPerBlock(_srcImage->getMTLPixelFormat(srcPlaneIndex)))) {
+            return reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCmdCopyImage(): Cannot copy between incompatible formats, such as formats of different pixel sizes, or between images with different sample counts.");
+        }
+        
+		_vkImageCopies.push_back(vkIR);
 	}
-
-	// Validate
-	MVKPixelFormats* pixFmts = cmdBuff->getPixelFormats();
-	if ((_dstImage->getSampleCount() != _srcImage->getSampleCount()) ||
-		(pixFmts->getBytesPerBlock(_dstImage->getMTLPixelFormat()) != pixFmts->getBytesPerBlock(_srcImage->getMTLPixelFormat()))) {
-		return reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCmdCopyImage(): Cannot copy between incompatible formats, such as formats of different pixel sizes, or between images with different sample counts.");
-	}
-	if ((_srcImage->getMTLTextureType() == MTLTextureType3D) != (_dstImage->getMTLTextureType() == MTLTextureType3D)) {
-		return reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCmdCopyImage(): Metal does not support copying to or from slices of a 3D texture.");
-	}
+    
+    // Validate
+    if ((_srcImage->getMTLTextureType() == MTLTextureType3D) != (_dstImage->getMTLTextureType() == MTLTextureType3D)) {
+        return reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCmdCopyImage(): Metal does not support copying to or from slices of a 3D texture.");
+    }
 
 	return VK_SUCCESS;
 }
 
 template <size_t N>
 void MVKCmdCopyImage<N>::encode(MVKCommandEncoder* cmdEncoder, MVKCommandUse commandUse) {
+    MVKPixelFormats* pixFmts = cmdEncoder->getPixelFormats();
+    uint32_t copyCnt = (uint32_t)_vkImageCopies.size();
+    VkBufferImageCopy vkSrcCopies[copyCnt];
+    VkBufferImageCopy vkDstCopies[copyCnt];
+    size_t tmpBuffSize = 0;
 
-	MTLPixelFormat srcMTLPixFmt = _srcImage->getMTLPixelFormat();
-	bool isSrcCompressed = _srcImage->getIsCompressed();
+    for (uint32_t copyIdx = 0; copyIdx < copyCnt; copyIdx++) {
+        auto& vkIC = _vkImageCopies[copyIdx];
+        
+        uint8_t srcPlaneIndex = MVKImage::getPlaneFromVkImageAspectFlags(vkIC.srcSubresource.aspectMask);
+        uint8_t dstPlaneIndex = MVKImage::getPlaneFromVkImageAspectFlags(vkIC.dstSubresource.aspectMask);
+        
+        MTLPixelFormat srcMTLPixFmt = _srcImage->getMTLPixelFormat(srcPlaneIndex);
+        bool isSrcCompressed = _srcImage->getIsCompressed();
 
-	MTLPixelFormat dstMTLPixFmt = _dstImage->getMTLPixelFormat();
-	bool isDstCompressed = _dstImage->getIsCompressed();
+        MTLPixelFormat dstMTLPixFmt = _dstImage->getMTLPixelFormat(dstPlaneIndex);
+        bool isDstCompressed = _dstImage->getIsCompressed();
 
-	// If source and destination have different formats and at least one is compressed, use a temporary intermediary buffer
-	bool useTempBuffer = (srcMTLPixFmt != dstMTLPixFmt) && (isSrcCompressed || isDstCompressed);
-	if (useTempBuffer) {
-		MVKPixelFormats* pixFmts = cmdEncoder->getPixelFormats();
-		uint32_t copyCnt = (uint32_t)_vkImageCopies.size();
-		VkBufferImageCopy vkSrcCopies[copyCnt];
-		VkBufferImageCopy vkDstCopies[copyCnt];
-		size_t tmpBuffSize = 0;
-		for (uint32_t copyIdx = 0; copyIdx < copyCnt; copyIdx++) {
-			auto& vkIC = _vkImageCopies[copyIdx];
+        // If source and destination have different formats and at least one is compressed, use a temporary intermediary buffer
+        bool useTempBuffer = (srcMTLPixFmt != dstMTLPixFmt) && (isSrcCompressed || isDstCompressed);
 
-			// Add copy from source image to temp buffer.
-			auto& srcCpy = vkSrcCopies[copyIdx];
-			srcCpy.bufferOffset = tmpBuffSize;
-			srcCpy.bufferRowLength = 0;
-			srcCpy.bufferImageHeight = 0;
-			srcCpy.imageSubresource = vkIC.srcSubresource;
-			srcCpy.imageOffset = vkIC.srcOffset;
-			srcCpy.imageExtent = vkIC.extent;
+        if (useTempBuffer) {
+            // Add copy from source image to temp buffer.
+            auto& srcCpy = vkSrcCopies[copyIdx];
+            srcCpy.bufferOffset = tmpBuffSize;
+            srcCpy.bufferRowLength = 0;
+            srcCpy.bufferImageHeight = 0;
+            srcCpy.imageSubresource = vkIC.srcSubresource;
+            srcCpy.imageOffset = vkIC.srcOffset;
+            srcCpy.imageExtent = vkIC.extent;
 
-			// Add copy from temp buffer to destination image.
-			// Extent is provided in source texels. If the source is compressed but the
-			// destination is not, each destination pixel will consume an entire source block,
-			// so we must downscale the destination extent by the size of the source block.
-			VkExtent3D dstExtent = vkIC.extent;
-			if (isSrcCompressed && !isDstCompressed) {
-				VkExtent2D srcBlockExtent = pixFmts->getBlockTexelSize(srcMTLPixFmt);
-				dstExtent.width /= srcBlockExtent.width;
-				dstExtent.height /= srcBlockExtent.height;
-			}
-			auto& dstCpy = vkDstCopies[copyIdx];
-			dstCpy.bufferOffset = tmpBuffSize;
-			dstCpy.bufferRowLength = 0;
-			dstCpy.bufferImageHeight = 0;
-			dstCpy.imageSubresource = vkIC.dstSubresource;
-			dstCpy.imageOffset = vkIC.dstOffset;
-			dstCpy.imageExtent = dstExtent;
+            // Add copy from temp buffer to destination image.
+            // Extent is provided in source texels. If the source is compressed but the
+            // destination is not, each destination pixel will consume an entire source block,
+            // so we must downscale the destination extent by the size of the source block.
+            VkExtent3D dstExtent = vkIC.extent;
+            if (isSrcCompressed && !isDstCompressed) {
+                VkExtent2D srcBlockExtent = pixFmts->getBlockTexelSize(srcMTLPixFmt);
+                dstExtent.width /= srcBlockExtent.width;
+                dstExtent.height /= srcBlockExtent.height;
+            }
+            auto& dstCpy = vkDstCopies[copyIdx];
+            dstCpy.bufferOffset = tmpBuffSize;
+            dstCpy.bufferRowLength = 0;
+            dstCpy.bufferImageHeight = 0;
+            dstCpy.imageSubresource = vkIC.dstSubresource;
+            dstCpy.imageOffset = vkIC.dstOffset;
+            dstCpy.imageExtent = dstExtent;
 
-			size_t bytesPerRow = pixFmts->getBytesPerRow(srcMTLPixFmt, vkIC.extent.width);
-			size_t bytesPerRegion = pixFmts->getBytesPerLayer(srcMTLPixFmt, bytesPerRow, vkIC.extent.height);
-			tmpBuffSize += bytesPerRegion;
-		}
+            size_t bytesPerRow = pixFmts->getBytesPerRow(srcMTLPixFmt, vkIC.extent.width);
+            size_t bytesPerRegion = pixFmts->getBytesPerLayer(srcMTLPixFmt, bytesPerRow, vkIC.extent.height);
+            tmpBuffSize += bytesPerRegion;
+        } else {
+            // Map the source pixel format to the dest pixel format through a texture view on the source texture.
+            // If the source and dest pixel formats are the same, this will simply degenerate to the source texture itself.
+            id<MTLTexture> srcMTLTex = _srcImage->getMTLTexture(srcPlaneIndex, _dstImage->getMTLPixelFormat(dstPlaneIndex));
+            id<MTLTexture> dstMTLTex = _dstImage->getMTLTexture(dstPlaneIndex);
+            if ( !srcMTLTex || !dstMTLTex ) { return; }
 
-		MVKBufferDescriptorData tempBuffData;
-		tempBuffData.size = tmpBuffSize;
-		tempBuffData.usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT;
-		VkBuffer tempBuff = (VkBuffer)cmdEncoder->getCommandEncodingPool()->getTransferMVKBuffer(tempBuffData);
+            id<MTLBlitCommandEncoder> mtlBlitEnc = cmdEncoder->getMTLBlitEncoder(commandUse);
 
-		MVKCmdBufferImageCopy<N> cpyCmd;
+            // If copies can be performed using direct texture-texture copying, do so
+            uint32_t srcLevel = vkIC.srcSubresource.mipLevel;
+            MTLOrigin srcOrigin = mvkMTLOriginFromVkOffset3D(vkIC.srcOffset);
+            MTLSize srcSize = mvkClampMTLSize(mvkMTLSizeFromVkExtent3D(vkIC.extent),
+                                              srcOrigin,
+                                              mvkMTLSizeFromVkExtent3D(_srcImage->getExtent3D(srcPlaneIndex, srcLevel)));
+            uint32_t dstLevel = vkIC.dstSubresource.mipLevel;
+            MTLOrigin dstOrigin = mvkMTLOriginFromVkOffset3D(vkIC.dstOffset);
+            uint32_t srcBaseLayer = vkIC.srcSubresource.baseArrayLayer;
+            uint32_t dstBaseLayer = vkIC.dstSubresource.baseArrayLayer;
+            uint32_t layCnt = vkIC.srcSubresource.layerCount;
 
-		// Copy from source image to buffer
-		// Create and execute a temporary buffer image command.
-		// To be threadsafe...do NOT acquire and return the command from the pool.
-		cpyCmd.setContent(cmdEncoder->_cmdBuffer, tempBuff, (VkImage)_srcImage, _srcLayout, copyCnt, vkSrcCopies, false);
-		cpyCmd.encode(cmdEncoder);
+            for (uint32_t layIdx = 0; layIdx < layCnt; layIdx++) {
+                [mtlBlitEnc copyFromTexture: srcMTLTex
+                                sourceSlice: srcBaseLayer + layIdx
+                                sourceLevel: srcLevel
+                               sourceOrigin: srcOrigin
+                                 sourceSize: srcSize
+                                  toTexture: dstMTLTex
+                           destinationSlice: dstBaseLayer + layIdx
+                           destinationLevel: dstLevel
+                          destinationOrigin: dstOrigin];
+            }
+        }
+    }
 
-		// Copy from buffer to destination image
-		// Create and execute a temporary buffer image command.
-		// To be threadsafe...do NOT acquire and return the command from the pool.
-		cpyCmd.setContent(cmdEncoder->_cmdBuffer, tempBuff, (VkImage)_dstImage, _dstLayout, copyCnt, vkDstCopies, true);
-		cpyCmd.encode(cmdEncoder);
+    if (tmpBuffSize > 0) {
+        MVKBufferDescriptorData tempBuffData;
+        tempBuffData.size = tmpBuffSize;
+        tempBuffData.usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT;
+        VkBuffer tempBuff = (VkBuffer)cmdEncoder->getCommandEncodingPool()->getTransferMVKBuffer(tempBuffData);
 
-	} else {
-		// Map the source pixel format to the dest pixel format through a texture view on the source texture.
-		// If the source and dest pixel formats are the same, this will simply degenerate to the source texture itself.
-		id<MTLTexture> srcMTLTex = _srcImage->getMTLTexture(_dstImage->getMTLPixelFormat());
-		id<MTLTexture> dstMTLTex = _dstImage->getMTLTexture();
-		if ( !srcMTLTex || !dstMTLTex ) { return; }
+        MVKCmdBufferImageCopy<N> cpyCmd;
 
-		id<MTLBlitCommandEncoder> mtlBlitEnc = cmdEncoder->getMTLBlitEncoder(commandUse);
+        // Copy from source image to buffer
+        // Create and execute a temporary buffer image command.
+        // To be threadsafe...do NOT acquire and return the command from the pool.
+        cpyCmd.setContent(cmdEncoder->_cmdBuffer, tempBuff, (VkImage)_srcImage, _srcLayout, copyCnt, vkSrcCopies, false);
+        cpyCmd.encode(cmdEncoder);
 
-		// If copies can be performed using direct texture-texture copying, do so
-		for (auto& cpyRgn : _vkImageCopies) {
-			uint32_t srcLevel = cpyRgn.srcSubresource.mipLevel;
-			MTLOrigin srcOrigin = mvkMTLOriginFromVkOffset3D(cpyRgn.srcOffset);
-			MTLSize srcSize = mvkClampMTLSize(mvkMTLSizeFromVkExtent3D(cpyRgn.extent),
-											  srcOrigin,
-											  mvkMTLSizeFromVkExtent3D(_srcImage->getExtent3D(srcLevel)));
-			uint32_t dstLevel = cpyRgn.dstSubresource.mipLevel;
-			MTLOrigin dstOrigin = mvkMTLOriginFromVkOffset3D(cpyRgn.dstOffset);
-			uint32_t srcBaseLayer = cpyRgn.srcSubresource.baseArrayLayer;
-			uint32_t dstBaseLayer = cpyRgn.dstSubresource.baseArrayLayer;
-			uint32_t layCnt = cpyRgn.srcSubresource.layerCount;
-
-			for (uint32_t layIdx = 0; layIdx < layCnt; layIdx++) {
-				[mtlBlitEnc copyFromTexture: srcMTLTex
-								sourceSlice: srcBaseLayer + layIdx
-								sourceLevel: srcLevel
-							   sourceOrigin: srcOrigin
-								 sourceSize: srcSize
-								  toTexture: dstMTLTex
-						   destinationSlice: dstBaseLayer + layIdx
-						   destinationLevel: dstLevel
-						  destinationOrigin: dstOrigin];
-			}
-		}
-	}
+        // Copy from buffer to destination image
+        // Create and execute a temporary buffer image command.
+        // To be threadsafe...do NOT acquire and return the command from the pool.
+        cpyCmd.setContent(cmdEncoder->_cmdBuffer, tempBuff, (VkImage)_dstImage, _dstLayout, copyCnt, vkDstCopies, true);
+        cpyCmd.encode(cmdEncoder);
+    }
 }
 
 template class MVKCmdCopyImage<1>;
@@ -208,33 +217,37 @@
 
 	_srcImage = (MVKImage*)srcImage;
 	_srcLayout = srcImageLayout;
-
 	_dstImage = (MVKImage*)dstImage;
 	_dstLayout = dstImageLayout;
 
 	_filter = filter;
 
 	_vkImageBlits.clear();		// Clear for reuse
-	for (uint32_t i = 0; i < regionCount; i++) {
-		_vkImageBlits.push_back(pRegions[i]);
+    for (uint32_t regionIdx = 0; regionIdx < regionCount; regionIdx++) {
+        auto& vkIR = pRegions[regionIdx];
+        uint8_t srcPlaneIndex = MVKImage::getPlaneFromVkImageAspectFlags(vkIR.srcSubresource.aspectMask);
+
+        // Validate - depth stencil formats cannot be scaled or inverted
+        MTLPixelFormat srcMTLPixFmt = _srcImage->getMTLPixelFormat(srcPlaneIndex);
+        if (pixFmts->isDepthFormat(srcMTLPixFmt) || pixFmts->isStencilFormat(srcMTLPixFmt)) {
+            for (auto& vkIB : _vkImageBlits) {
+                if ( !(canCopyFormats(vkIB) && canCopy(vkIB)) ) {
+                    return reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCmdBlitImage(): Scaling or inverting depth/stencil images is not supported.");
+                }
+            }
+        }
+
+		_vkImageBlits.push_back(vkIR);
 	}
 
-	// Validate - depth stencil formats cannot be scaled or inverted
-	MTLPixelFormat srcMTLPixFmt = _srcImage->getMTLPixelFormat();
-	if (pixFmts->isDepthFormat(srcMTLPixFmt) || pixFmts->isStencilFormat(srcMTLPixFmt)) {
-		bool canCopyFmts = canCopyFormats();
-		for (auto& vkIB : _vkImageBlits) {
-			if ( !(canCopyFmts && canCopy(vkIB)) ) {
-				return reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCmdBlitImage(): Scaling or inverting depth/stencil images is not supported.");
-			}
-		}
-	}
 	return VK_SUCCESS;
 }
 
 template <size_t N>
-bool MVKCmdBlitImage<N>::canCopyFormats() {
-	return ((_srcImage->getMTLPixelFormat() == _dstImage->getMTLPixelFormat()) &&
+bool MVKCmdBlitImage<N>::canCopyFormats(const VkImageBlit& region) {
+    uint8_t srcPlaneIndex = MVKImage::getPlaneFromVkImageAspectFlags(region.srcSubresource.aspectMask);
+    uint8_t dstPlaneIndex = MVKImage::getPlaneFromVkImageAspectFlags(region.dstSubresource.aspectMask);
+	return ((_srcImage->getMTLPixelFormat(srcPlaneIndex) == _dstImage->getMTLPixelFormat(dstPlaneIndex)) &&
 			(_dstImage->getSampleCount() == _srcImage->getSampleCount()));
 }
 
@@ -255,8 +268,10 @@
     const VkOffset3D& do1 = region.dstOffsets[1];
 
     // Get the extents of the source and destination textures.
-    VkExtent3D srcExtent = _srcImage->getExtent3D(region.srcSubresource.mipLevel);
-    VkExtent3D dstExtent = _dstImage->getExtent3D(region.dstSubresource.mipLevel);
+    uint8_t srcPlaneIndex = MVKImage::getPlaneFromVkImageAspectFlags(region.srcSubresource.aspectMask);
+    uint8_t dstPlaneIndex = MVKImage::getPlaneFromVkImageAspectFlags(region.dstSubresource.aspectMask);
+    VkExtent3D srcExtent = _srcImage->getExtent3D(srcPlaneIndex, region.srcSubresource.mipLevel);
+    VkExtent3D dstExtent = _dstImage->getExtent3D(dstPlaneIndex, region.dstSubresource.mipLevel);
 
     // Determine the bottom-left and top-right corners of the source and destination
     // texture regions, each as a fraction of the corresponding texture size.
@@ -317,9 +332,8 @@
 
 	// Separate BLITs into those that are really just simple texure region copies,
 	// and those that require rendering
-	bool canCopyFmts = canCopyFormats();
 	for (auto& vkIB : _vkImageBlits) {
-		if (canCopyFmts && canCopy(vkIB)) {
+		if (canCopyFormats(vkIB) && canCopy(vkIB)) {
 
 			const VkOffset3D& so0 = vkIB.srcOffsets[0];
 			const VkOffset3D& so1 = vkIB.srcOffsets[1];
@@ -351,59 +365,61 @@
 	}
 
 	// Perform those BLITs that require rendering to destination texture.
-	id<MTLTexture> srcMTLTex = _srcImage->getMTLTexture();
-	id<MTLTexture> dstMTLTex = _dstImage->getMTLTexture();
-	if (blitCnt && srcMTLTex && dstMTLTex) {
+    for (uint32_t blitIdx = 0; blitIdx < blitCnt; blitIdx++) {
+        auto& mvkIBR = mvkBlitRenders[blitIdx];
 
-		cmdEncoder->endCurrentMetalEncoding();
+        uint8_t srcPlaneIndex = MVKImage::getPlaneFromVkImageAspectFlags(mvkIBR.region.srcSubresource.aspectMask);
+        uint8_t dstPlaneIndex = MVKImage::getPlaneFromVkImageAspectFlags(mvkIBR.region.dstSubresource.aspectMask);
 
-		MTLRenderPassDescriptor* mtlRPD = [MTLRenderPassDescriptor renderPassDescriptor];
-		MTLRenderPassColorAttachmentDescriptor* mtlColorAttDesc = mtlRPD.colorAttachments[0];
-		mtlColorAttDesc.loadAction = MTLLoadActionLoad;
-		mtlColorAttDesc.storeAction = MTLStoreActionStore;
-		mtlColorAttDesc.texture = dstMTLTex;
+        id<MTLTexture> srcMTLTex = _srcImage->getMTLTexture(srcPlaneIndex);
+        id<MTLTexture> dstMTLTex = _dstImage->getMTLTexture(dstPlaneIndex);
+        if (blitCnt && srcMTLTex && dstMTLTex) {
+            cmdEncoder->endCurrentMetalEncoding();
 
-		MVKRPSKeyBlitImg blitKey;
-		blitKey.srcMTLPixelFormat = _srcImage->getMTLPixelFormat();
-		blitKey.srcMTLTextureType = _srcImage->getMTLTextureType();
-		blitKey.dstMTLPixelFormat = _dstImage->getMTLPixelFormat();
-		blitKey.srcFilter = mvkMTLSamplerMinMagFilterFromVkFilter(_filter);
-		blitKey.dstSampleCount = mvkSampleCountFromVkSampleCountFlagBits(_dstImage->getSampleCount());
-		id<MTLRenderPipelineState> mtlRPS = cmdEncoder->getCommandEncodingPool()->getCmdBlitImageMTLRenderPipelineState(blitKey);
+            MTLRenderPassDescriptor* mtlRPD = [MTLRenderPassDescriptor renderPassDescriptor];
+            MTLRenderPassColorAttachmentDescriptor* mtlColorAttDesc = mtlRPD.colorAttachments[0];
+            mtlColorAttDesc.loadAction = MTLLoadActionLoad;
+            mtlColorAttDesc.storeAction = MTLStoreActionStore;
+            mtlColorAttDesc.texture = dstMTLTex;
 
-		uint32_t vtxBuffIdx = cmdEncoder->getDevice()->getMetalBufferIndexForVertexAttributeBinding(kMVKVertexContentBufferIndex);
+            MVKRPSKeyBlitImg blitKey;
+            blitKey.srcMTLPixelFormat = _srcImage->getMTLPixelFormat(srcPlaneIndex);
+            blitKey.srcMTLTextureType = _srcImage->getMTLTextureType();
+            blitKey.dstMTLPixelFormat = _dstImage->getMTLPixelFormat(dstPlaneIndex);
+            blitKey.srcFilter = mvkMTLSamplerMinMagFilterFromVkFilter(_filter);
+            blitKey.dstSampleCount = mvkSampleCountFromVkSampleCountFlagBits(_dstImage->getSampleCount());
+            id<MTLRenderPipelineState> mtlRPS = cmdEncoder->getCommandEncodingPool()->getCmdBlitImageMTLRenderPipelineState(blitKey);
 
-		for (uint32_t blitIdx = 0; blitIdx < blitCnt; blitIdx++) {
-			auto& mvkIBR = mvkBlitRenders[blitIdx];
+            uint32_t vtxBuffIdx = cmdEncoder->getDevice()->getMetalBufferIndexForVertexAttributeBinding(kMVKVertexContentBufferIndex);
+            
+            mtlColorAttDesc.level = mvkIBR.region.dstSubresource.mipLevel;
 
-			mtlColorAttDesc.level = mvkIBR.region.dstSubresource.mipLevel;
+            uint32_t layCnt = mvkIBR.region.srcSubresource.layerCount;
+            for (uint32_t layIdx = 0; layIdx < layCnt; layIdx++) {
+                // Update the render pass descriptor for the texture level and slice, and create a render encoder.
+                mtlColorAttDesc.slice = mvkIBR.region.dstSubresource.baseArrayLayer + layIdx;
+                id<MTLRenderCommandEncoder> mtlRendEnc = [cmdEncoder->_mtlCmdBuffer renderCommandEncoderWithDescriptor: mtlRPD];
+                setLabelIfNotNil(mtlRendEnc, mvkMTLRenderCommandEncoderLabel(commandUse));
 
-			uint32_t layCnt = mvkIBR.region.srcSubresource.layerCount;
-			for (uint32_t layIdx = 0; layIdx < layCnt; layIdx++) {
-				// Update the render pass descriptor for the texture level and slice, and create a render encoder.
-				mtlColorAttDesc.slice = mvkIBR.region.dstSubresource.baseArrayLayer + layIdx;
-				id<MTLRenderCommandEncoder> mtlRendEnc = [cmdEncoder->_mtlCmdBuffer renderCommandEncoderWithDescriptor: mtlRPD];
-				setLabelIfNotNil(mtlRendEnc, mvkMTLRenderCommandEncoderLabel(commandUse));
+                [mtlRendEnc pushDebugGroup: @"vkCmdBlitImage"];
+                [mtlRendEnc setRenderPipelineState: mtlRPS];
+                cmdEncoder->setVertexBytes(mtlRendEnc, mvkIBR.vertices, sizeof(mvkIBR.vertices), vtxBuffIdx);
+                [mtlRendEnc setFragmentTexture: srcMTLTex atIndex: 0];
 
-				[mtlRendEnc pushDebugGroup: @"vkCmdBlitImage"];
-				[mtlRendEnc setRenderPipelineState: mtlRPS];
-				cmdEncoder->setVertexBytes(mtlRendEnc, mvkIBR.vertices, sizeof(mvkIBR.vertices), vtxBuffIdx);
-				[mtlRendEnc setFragmentTexture: srcMTLTex atIndex: 0];
+                struct {
+                    uint slice;
+                    float lod;
+                } texSubRez;
+                texSubRez.slice = mvkIBR.region.srcSubresource.baseArrayLayer + layIdx;
+                texSubRez.lod = mvkIBR.region.srcSubresource.mipLevel;
+                cmdEncoder->setFragmentBytes(mtlRendEnc, &texSubRez, sizeof(texSubRez), 0);
 
-				struct {
-					uint slice;
-					float lod;
-				} texSubRez;
-				texSubRez.slice = mvkIBR.region.srcSubresource.baseArrayLayer + layIdx;
-				texSubRez.lod = mvkIBR.region.srcSubresource.mipLevel;
-				cmdEncoder->setFragmentBytes(mtlRendEnc, &texSubRez, sizeof(texSubRez), 0);
-
-				[mtlRendEnc drawPrimitives: MTLPrimitiveTypeTriangleStrip vertexStart: 0 vertexCount: kMVKBlitVertexCount];
-				[mtlRendEnc popDebugGroup];
-				[mtlRendEnc endEncoding];
-			}
-		}
-	}
+                [mtlRendEnc drawPrimitives: MTLPrimitiveTypeTriangleStrip vertexStart: 0 vertexCount: kMVKBlitVertexCount];
+                [mtlRendEnc popDebugGroup];
+                [mtlRendEnc endEncoding];
+            }
+        }
+    }
 }
 
 template class MVKCmdBlitImage<1>;
@@ -428,15 +444,18 @@
 
 	_vkImageResolves.clear();	// Clear for reuse
 	_vkImageResolves.reserve(regionCount);
-    for (uint32_t i = 0; i < regionCount; i++) {
-		_vkImageResolves.push_back(pRegions[i]);
-    }
+    for (uint32_t regionIdx = 0; regionIdx < regionCount; regionIdx++) {
+        auto& vkIR = pRegions[regionIdx];
+        uint8_t dstPlaneIndex = MVKImage::getPlaneFromVkImageAspectFlags(vkIR.dstSubresource.aspectMask);
 
-	// Validate
-	MVKPixelFormats* pixFmts = cmdBuff->getPixelFormats();
-	if ( !mvkAreAllFlagsEnabled(pixFmts->getCapabilities(_dstImage->getMTLPixelFormat()), kMVKMTLFmtCapsResolve) ) {
-		return reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCmdResolveImage(): %s cannot be used as a resolve destination on this device.", pixFmts->getName(_dstImage->getVkFormat()));
-	}
+        // Validate
+        MVKPixelFormats* pixFmts = cmdBuff->getPixelFormats();
+        if ( !mvkAreAllFlagsEnabled(pixFmts->getCapabilities(_dstImage->getMTLPixelFormat(dstPlaneIndex)), kMVKMTLFmtCapsResolve) ) {
+            return reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCmdResolveImage(): %s cannot be used as a resolve destination on this device.", pixFmts->getName(_dstImage->getVkFormat()));
+        }
+
+		_vkImageResolves.push_back(vkIR);
+    }
 
 	return VK_SUCCESS;
 }
@@ -457,10 +476,12 @@
 	uint32_t sliceCnt = 0;
 
 	for (VkImageResolve& vkIR : _vkImageResolves) {
+        uint8_t srcPlaneIndex = MVKImage::getPlaneFromVkImageAspectFlags(vkIR.srcSubresource.aspectMask);
+        uint8_t dstPlaneIndex = MVKImage::getPlaneFromVkImageAspectFlags(vkIR.dstSubresource.aspectMask);
 
 		uint32_t mipLvl = vkIR.dstSubresource.mipLevel;
-		VkExtent3D srcImgExt = _srcImage->getExtent3D(mipLvl);
-		VkExtent3D dstImgExt = _dstImage->getExtent3D(mipLvl);
+		VkExtent3D srcImgExt = _srcImage->getExtent3D(srcPlaneIndex, mipLvl);
+		VkExtent3D dstImgExt = _dstImage->getExtent3D(dstPlaneIndex, mipLvl);
 
 		// If the region does not cover the entire content of the source level, expand the
 		// destination content in the region to the temporary image. The purpose of this
@@ -496,25 +517,23 @@
 		uint32_t layCnt = vkIR.dstSubresource.layerCount;
 		for (uint32_t layIdx = 0; layIdx < layCnt; layIdx++) {
 			MVKMetalResolveSlice& rslvSlice = mtlResolveSlices[sliceCnt++];
+            rslvSlice.copyRegion = &cpyRgn;
 			rslvSlice.level = vkIR.dstSubresource.mipLevel;
 			rslvSlice.slice = baseLayer + layIdx;
 		}
 	}
 
-	id<MTLTexture> srcMTLTex;
-	if (expCnt == 0) {
-		// Expansion and copying is not required. Each mip level of the source image
-		// is being resolved entirely. Resolve directly from the source image.
-		srcMTLTex = _srcImage->getMTLTexture();
-
-	} else {
+    // Expansion and copying is not required. Each mip level of the source image
+    // is being resolved entirely. Resolve directly from the source image.
+    MVKImage* xfrImage = _srcImage;
+	if (expCnt) {
 		// Expansion and copying is required. Acquire a temporary transfer image, expand
 		// the destination image into it, copy from the source image to the temporary image,
 		// and then resolve from the temporary image to the destination image.
 		MVKImageDescriptorData xferImageData;
 		_dstImage->getTransferDescriptorData(xferImageData);
 		xferImageData.samples = _srcImage->getSampleCount();
-		MVKImage* xfrImage = cmdEncoder->getCommandEncodingPool()->getTransferMVKImage(xferImageData);
+		xfrImage = cmdEncoder->getCommandEncodingPool()->getTransferMVKImage(xferImageData);
 
 		// Expand the current content of the destination image to the temporary transfer image.
 		MVKCmdBlitImage<N> expCmd;
@@ -530,23 +549,24 @@
 						   (VkImage)xfrImage, _dstLayout,
 						   copyCnt, copyRegions);
 		copyCmd.encode(cmdEncoder, kMVKCommandUseResolveCopyImage);
-
-		srcMTLTex = xfrImage->getMTLTexture();
 	}
 
 	cmdEncoder->endCurrentMetalEncoding();
 
 	MTLRenderPassDescriptor* mtlRPD = [MTLRenderPassDescriptor renderPassDescriptor];
-	MTLRenderPassColorAttachmentDescriptor* mtlColorAttDesc = mtlRPD.colorAttachments[0];
-	mtlColorAttDesc.loadAction = MTLLoadActionLoad;
-	mtlColorAttDesc.storeAction = MTLStoreActionMultisampleResolve;
-	mtlColorAttDesc.texture = srcMTLTex;
-	mtlColorAttDesc.resolveTexture = _dstImage->getMTLTexture();
+    MTLRenderPassColorAttachmentDescriptor* mtlColorAttDesc = mtlRPD.colorAttachments[0];
+    mtlColorAttDesc.loadAction = MTLLoadActionLoad;
+    mtlColorAttDesc.storeAction = MTLStoreActionMultisampleResolve;
 
 	// For each resolve slice, update the render pass descriptor for
 	// the texture level and slice and create a render encoder.
 	for (uint32_t sIdx = 0; sIdx < sliceCnt; sIdx++) {
 		MVKMetalResolveSlice& rslvSlice = mtlResolveSlices[sIdx];
+        uint8_t srcPlaneIndex = MVKImage::getPlaneFromVkImageAspectFlags(rslvSlice.copyRegion->srcSubresource.aspectMask);
+        uint8_t dstPlaneIndex = MVKImage::getPlaneFromVkImageAspectFlags(rslvSlice.copyRegion->dstSubresource.aspectMask);
+
+        mtlColorAttDesc.texture = xfrImage->getMTLTexture(srcPlaneIndex);
+        mtlColorAttDesc.resolveTexture = _dstImage->getMTLTexture(dstPlaneIndex);
 		mtlColorAttDesc.level = rslvSlice.level;
 		mtlColorAttDesc.slice = rslvSlice.slice;
 		mtlColorAttDesc.resolveLevel = rslvSlice.level;
@@ -675,12 +695,13 @@
     _bufferImageCopyRegions.reserve(regionCount);
     for (uint32_t i = 0; i < regionCount; i++) {
         _bufferImageCopyRegions.push_back(pRegions[i]);
-    }
-
-    // Validate
-    if ( !_image->hasExpectedTexelSize() ) {
-        const char* cmdName = _toImage ? "vkCmdCopyBufferToImage" : "vkCmdCopyImageToBuffer";
-        return reportError(VK_ERROR_FORMAT_NOT_SUPPORTED, "%s(): The image is using Metal format %s as a substitute for Vulkan format %s. Since the pixel size is different, content for the image cannot be copied to or from a buffer.", cmdName, cmdBuff->getPixelFormats()->getName(_image->getMTLPixelFormat()), cmdBuff->getPixelFormats()->getName(_image->getVkFormat()));
+        
+        // Validate
+        if ( !_image->hasExpectedTexelSize() ) {
+            MTLPixelFormat mtlPixFmt = _image->getMTLPixelFormat(MVKImage::getPlaneFromVkImageAspectFlags(pRegions[i].imageSubresource.aspectMask));
+            const char* cmdName = _toImage ? "vkCmdCopyBufferToImage" : "vkCmdCopyImageToBuffer";
+            return reportError(VK_ERROR_FORMAT_NOT_SUPPORTED, "%s(): The image is using Metal format %s as a substitute for Vulkan format %s. Since the pixel size is different, content for the image cannot be copied to or from a buffer.", cmdName, cmdBuff->getPixelFormats()->getName(mtlPixFmt), cmdBuff->getPixelFormats()->getName(_image->getVkFormat()));
+        }
     }
 
 	return VK_SUCCESS;
@@ -689,21 +710,23 @@
 template <size_t N>
 void MVKCmdBufferImageCopy<N>::encode(MVKCommandEncoder* cmdEncoder) {
     id<MTLBuffer> mtlBuffer = _buffer->getMTLBuffer();
-    id<MTLTexture> mtlTexture = _image->getMTLTexture();
-    if ( !mtlBuffer || !mtlTexture ) { return; }
+    if ( !mtlBuffer ) { return; }
 
 	NSUInteger mtlBuffOffsetBase = _buffer->getMTLBufferOffset();
-    MTLPixelFormat mtlPixFmt = _image->getMTLPixelFormat();
     MVKCommandUse cmdUse = _toImage ? kMVKCommandUseCopyBufferToImage : kMVKCommandUseCopyImageToBuffer;
 	MVKPixelFormats* pixFmts = cmdEncoder->getPixelFormats();
 
     for (auto& cpyRgn : _bufferImageCopyRegions) {
+        uint8_t planeIndex = MVKImage::getPlaneFromVkImageAspectFlags(cpyRgn.imageSubresource.aspectMask);
+        MTLPixelFormat mtlPixFmt = _image->getMTLPixelFormat(planeIndex);
+        id<MTLTexture> mtlTexture = _image->getMTLTexture(planeIndex);
+        if ( !mtlTexture ) { continue; }
 
 		uint32_t mipLevel = cpyRgn.imageSubresource.mipLevel;
         MTLOrigin mtlTxtOrigin = mvkMTLOriginFromVkOffset3D(cpyRgn.imageOffset);
 		MTLSize mtlTxtSize = mvkClampMTLSize(mvkMTLSizeFromVkExtent3D(cpyRgn.imageExtent),
 											 mtlTxtOrigin,
-											 mvkMTLSizeFromVkExtent3D(_image->getExtent3D(mipLevel)));
+											 mvkMTLSizeFromVkExtent3D(_image->getExtent3D(planeIndex, mipLevel)));
 		NSUInteger mtlBuffOffset = mtlBuffOffsetBase + cpyRgn.bufferOffset;
 
         uint32_t buffImgWd = cpyRgn.bufferRowLength;
@@ -1075,29 +1098,31 @@
     // Add subresource ranges
     _subresourceRanges.clear();		// Clear for reuse
     _subresourceRanges.reserve(rangeCount);
-    for (uint32_t i = 0; i < rangeCount; i++) {
-        _subresourceRanges.push_back(pRanges[i]);
-    }
+    bool isDS = isDepthStencilClear();
+    for (uint32_t rangeIdx = 0; rangeIdx < rangeCount; rangeIdx++) {
+        auto& vkIR = pRanges[rangeIdx];
+        uint8_t planeIndex = MVKImage::getPlaneFromVkImageAspectFlags(vkIR.aspectMask);
 
-	// Validate
-	bool isDS = isDepthStencilClear();
-	if (_image->getImageType() == VK_IMAGE_TYPE_1D) {
-		return reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCmdClear%sImage(): Native 1D images cannot be cleared on this device. Consider enabling MVK_CONFIG_TEXTURE_1D_AS_2D.", (isDS ? "DepthStencil" : "Color"));
-	}
-	MVKMTLFmtCaps mtlFmtCaps = cmdBuff->getPixelFormats()->getCapabilities(_image->getMTLPixelFormat());
-	if ((isDS && !mvkAreAllFlagsEnabled(mtlFmtCaps, kMVKMTLFmtCapsDSAtt)) ||
-		( !isDS && !mvkAreAllFlagsEnabled(mtlFmtCaps, kMVKMTLFmtCapsColorAtt))) {
-		return reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCmdClear%sImage(): Format %s cannot be cleared on this device.", (isDS ? "DepthStencil" : "Color"), cmdBuff->getPixelFormats()->getName(_image->getVkFormat()));
-	}
+        // Validate
+        MVKMTLFmtCaps mtlFmtCaps = cmdBuff->getPixelFormats()->getCapabilities(_image->getMTLPixelFormat(planeIndex));
+        if ((isDS && !mvkAreAllFlagsEnabled(mtlFmtCaps, kMVKMTLFmtCapsDSAtt)) ||
+            ( !isDS && !mvkAreAllFlagsEnabled(mtlFmtCaps, kMVKMTLFmtCapsColorAtt))) {
+            return reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCmdClear%sImage(): Format %s cannot be cleared on this device.", (isDS ? "DepthStencil" : "Color"), cmdBuff->getPixelFormats()->getName(_image->getVkFormat()));
+        }
+        
+        _subresourceRanges.push_back(vkIR);
+    }
+    
+    // Validate
+    if (_image->getImageType() == VK_IMAGE_TYPE_1D) {
+        return reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCmdClear%sImage(): Native 1D images cannot be cleared on this device. Consider enabling MVK_CONFIG_TEXTURE_1D_AS_2D.", (isDS ? "DepthStencil" : "Color"));
+    }
 
 	return VK_SUCCESS;
 }
 
 template <size_t N>
 void MVKCmdClearImage<N>::encode(MVKCommandEncoder* cmdEncoder) {
-	id<MTLTexture> imgMTLTex = _image->getMTLTexture();
-    if ( !imgMTLTex ) { return; }
-
 	bool isDS = isDepthStencilClear();
 	NSString* mtlRendEncName = (isDS
 								? mvkMTLRenderCommandEncoderLabel(kMVKCommandUseClearDepthStencilImage)
@@ -1107,6 +1132,8 @@
 
 	MVKPixelFormats* pixFmts = cmdEncoder->getPixelFormats();
 	for (auto& srRange : _subresourceRanges) {
+        id<MTLTexture> imgMTLTex = _image->getMTLTexture(MVKImage::getPlaneFromVkImageAspectFlags(srRange.aspectMask));
+        if ( !imgMTLTex ) { continue; }
 
 		MTLRenderPassDescriptor* mtlRPDesc = [MTLRenderPassDescriptor renderPassDescriptor];
 		MTLRenderPassColorAttachmentDescriptor* mtlRPCADesc = nil;
diff --git a/MoltenVK/MoltenVK/Commands/MVKCommandEncoderState.mm b/MoltenVK/MoltenVK/Commands/MVKCommandEncoderState.mm
index d63ba37..c06b32a 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCommandEncoderState.mm
+++ b/MoltenVK/MoltenVK/Commands/MVKCommandEncoderState.mm
@@ -598,22 +598,33 @@
 
 void MVKGraphicsResourcesCommandEncoderState::encodeImpl(uint32_t stage) {
 
-    MVKPipeline* pipeline = _cmdEncoder->_graphicsPipelineState.getPipeline();
+    MVKGraphicsPipeline* pipeline = (MVKGraphicsPipeline*)_cmdEncoder->_graphicsPipelineState.getPipeline();
     bool fullImageViewSwizzle = pipeline->fullImageViewSwizzle() || _cmdEncoder->getDevice()->_pMetalFeatures->nativeTextureSwizzle;
-    bool forTessellation = ((MVKGraphicsPipeline*)pipeline)->isTessellationPipeline();
+    bool forTessellation = pipeline->isTessellationPipeline();
 
     if (stage == (forTessellation ? kMVKGraphicsStageVertex : kMVKGraphicsStageRasterization)) {
         encodeBindings(kMVKShaderStageVertex, "vertex", fullImageViewSwizzle,
-                       [](MVKCommandEncoder* cmdEncoder, MVKMTLBufferBinding& b)->void {
-                           if (b.isInline)
+                       [pipeline](MVKCommandEncoder* cmdEncoder, MVKMTLBufferBinding& b)->void {
+					       if (b.isInline) {
                                cmdEncoder->setVertexBytes(cmdEncoder->_mtlRenderEncoder,
                                                           b.mtlBytes,
                                                           b.size,
                                                           b.index);
-                           else
+					       } else {
                                [cmdEncoder->_mtlRenderEncoder setVertexBuffer: b.mtlBuffer
                                                                        offset: b.offset
                                                                       atIndex: b.index];
+
+							   // Add any translated vertex bindings for this binding
+							   auto xltdVtxBindings = pipeline->getTranslatedVertexBindings();
+							   for (auto& xltdBind : xltdVtxBindings) {
+								   if (b.index == pipeline->getMetalBufferIndexForVertexAttributeBinding(xltdBind.binding)) {
+									   [cmdEncoder->_mtlRenderEncoder setVertexBuffer: b.mtlBuffer
+																			   offset: b.offset + xltdBind.translationOffset
+																			  atIndex: pipeline->getMetalBufferIndexForVertexAttributeBinding(xltdBind.translationBinding)];
+								   }
+							   }
+					       }
                        },
                        [](MVKCommandEncoder* cmdEncoder, MVKMTLBufferBinding& b, const MVKArrayRef<uint32_t>& s)->void {
                            cmdEncoder->setVertexBytes(cmdEncoder->_mtlRenderEncoder,
diff --git a/MoltenVK/MoltenVK/Commands/MVKCommandResourceFactory.mm b/MoltenVK/MoltenVK/Commands/MVKCommandResourceFactory.mm
index 07a2dcf..a92b86e 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCommandResourceFactory.mm
+++ b/MoltenVK/MoltenVK/Commands/MVKCommandResourceFactory.mm
@@ -369,7 +369,7 @@
         .initialLayout = VK_IMAGE_LAYOUT_PREINITIALIZED
     };
 	MVKImage* mvkImg = _device->createImage(&createInfo, nullptr);
-	mvkImg->bindDeviceMemory(_transferImageMemory, 0);
+	mvkImg->bindDeviceMemory(_transferImageMemory, 0, 0);
 	return mvkImg;
 }
 
diff --git a/MoltenVK/MoltenVK/Commands/MVKMTLBufferAllocation.mm b/MoltenVK/MoltenVK/Commands/MVKMTLBufferAllocation.mm
index 7e1bf25..a09386b 100644
--- a/MoltenVK/MoltenVK/Commands/MVKMTLBufferAllocation.mm
+++ b/MoltenVK/MoltenVK/Commands/MVKMTLBufferAllocation.mm
@@ -81,7 +81,7 @@
 	MVKAssert(length <= _maxAllocationLength, "This MVKMTLBufferAllocator has been configured to dispense MVKMTLBufferRegions no larger than %lu bytes.", (unsigned long)_maxAllocationLength);
 
     // Convert max length to the next power-of-two exponent to use as a lookup
-    uint32_t p2Exp = mvkPowerOfTwoExponent(length);
+    NSUInteger p2Exp = mvkPowerOfTwoExponent(length);
 	MVKMTLBufferAllocationPool* pRP = _regionPools[p2Exp];
 	return _makeThreadSafe ? pRP->acquireObjectSafely() : pRP->acquireObject();
 }
@@ -91,7 +91,7 @@
 	_makeThreadSafe = makeThreadSafe;
 
     // Convert max length to the next power-of-two exponent
-    uint32_t maxP2Exp = mvkPowerOfTwoExponent(_maxAllocationLength);
+    NSUInteger maxP2Exp = mvkPowerOfTwoExponent(_maxAllocationLength);
 
     // Populate the array of region pools to cover the maximum region size
     _regionPools.reserve(maxP2Exp + 1);
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKBuffer.h b/MoltenVK/MoltenVK/GPUObjects/MVKBuffer.h
index f920826..c00c5bc 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKBuffer.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKBuffer.h
@@ -40,13 +40,13 @@
 #pragma mark Resource memory
 
 	/** Returns the memory requirements of this resource by populating the specified structure. */
-	VkResult getMemoryRequirements(VkMemoryRequirements* pMemoryRequirements) override;
+	VkResult getMemoryRequirements(VkMemoryRequirements* pMemoryRequirements);
 
 	/** Returns the memory requirements of this resource by populating the specified structure. */
-	VkResult getMemoryRequirements(const void* pInfo, VkMemoryRequirements2* pMemoryRequirements) override;
+	VkResult getMemoryRequirements(const void* pInfo, VkMemoryRequirements2* pMemoryRequirements);
 
 	/** Binds this resource to the specified offset within the specified memory allocation. */
-	VkResult bindDeviceMemory(MVKDeviceMemory* mvkMem, VkDeviceSize memOffset) override;
+	VkResult bindDeviceMemory(MVKDeviceMemory* mvkMem, VkDeviceSize memOffset);
 
 	/** Binds this resource to the specified offset within the specified memory allocation. */
 	VkResult bindDeviceMemory2(const VkBindBufferMemoryInfo* pBindInfo);
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDescriptor.mm b/MoltenVK/MoltenVK/GPUObjects/MVKDescriptor.mm
index 7fa99d5..140c31b 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDescriptor.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDescriptor.mm
@@ -148,7 +148,11 @@
                 MVKBuffer* buffer = (MVKBuffer*)bufferInfo.buffer;
                 bb.mtlBuffer = buffer->getMTLBuffer();
                 bb.offset = buffer->getMTLBufferOffset() + bufferInfo.offset;
-				bb.size = (uint32_t)buffer->getByteCount();
+                if (bufferInfo.range == VK_WHOLE_SIZE)
+                    bb.size = (uint32_t)(buffer->getByteCount() - bb.offset);
+                else
+                    bb.size = (uint32_t)bufferInfo.range;
+
                 for (uint32_t i = kMVKShaderStageVertex; i < kMVKShaderStageMax; i++) {
                     if (_applyToStage[i]) {
                         bb.index = mtlIdxs.stages[i].bufferIndex + rezIdx;
@@ -185,33 +189,32 @@
             case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT: {
                 const auto& imageInfo = get<VkDescriptorImageInfo>(pData, stride, rezIdx - dstArrayElement);
                 MVKImageView* imageView = (MVKImageView*)imageInfo.imageView;
-                tb.mtlTexture = imageView->getMTLTexture();
-                if (_info.descriptorType == VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE) {
-                    tb.swizzle = imageView->getPackedSwizzle();
-                } else {
-                    tb.swizzle = 0;
-                }
-                if (_info.descriptorType == VK_DESCRIPTOR_TYPE_STORAGE_IMAGE) {
-                    id<MTLTexture> mtlTex = tb.mtlTexture;
-                    if (mtlTex.parentTexture) { mtlTex = mtlTex.parentTexture; }
-                    bb.mtlBuffer = mtlTex.buffer;
-                    bb.offset = mtlTex.bufferOffset;
-                    bb.size = (uint32_t)(mtlTex.height * mtlTex.bufferBytesPerRow);
-                }
-                for (uint32_t i = kMVKShaderStageVertex; i < kMVKShaderStageMax; i++) {
-                    if (_applyToStage[i]) {
-                        tb.index = mtlIdxs.stages[i].textureIndex + rezIdx;
-                        if (i == kMVKShaderStageCompute) {
-							if (cmdEncoder) { cmdEncoder->_computeResourcesState.bindTexture(tb); }
-                        } else {
-							if (cmdEncoder) { cmdEncoder->_graphicsResourcesState.bindTexture(MVKShaderStage(i), tb); }
-                        }
-                        if (_info.descriptorType == VK_DESCRIPTOR_TYPE_STORAGE_IMAGE) {
-                            bb.index = mtlIdxs.stages[i].bufferIndex + rezIdx;
+                uint8_t planeCount = (imageView) ? imageView->getPlaneCount() : 1;
+                for (uint8_t planeIndex = 0; planeIndex < planeCount; planeIndex++) {
+                    tb.mtlTexture = imageView->getMTLTexture(planeIndex);
+                    tb.swizzle = (_info.descriptorType == VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE) ? imageView->getPackedSwizzle() : 0;
+                    if (_info.descriptorType == VK_DESCRIPTOR_TYPE_STORAGE_IMAGE) {
+                        id<MTLTexture> mtlTex = tb.mtlTexture;
+                        if (mtlTex.parentTexture) { mtlTex = mtlTex.parentTexture; }
+                        bb.mtlBuffer = mtlTex.buffer;
+                        bb.offset = mtlTex.bufferOffset;
+                        bb.size = (uint32_t)(mtlTex.height * mtlTex.bufferBytesPerRow);
+                    }
+                    for (uint32_t i = kMVKShaderStageVertex; i < kMVKShaderStageMax; i++) {
+                        if (_applyToStage[i]) {
+                            tb.index = mtlIdxs.stages[i].textureIndex + rezIdx + planeIndex;
                             if (i == kMVKShaderStageCompute) {
-                                if (cmdEncoder) { cmdEncoder->_computeResourcesState.bindBuffer(bb); }
+                                if (cmdEncoder) { cmdEncoder->_computeResourcesState.bindTexture(tb); }
                             } else {
-                                if (cmdEncoder) { cmdEncoder->_graphicsResourcesState.bindBuffer(MVKShaderStage(i), bb); }
+                                if (cmdEncoder) { cmdEncoder->_graphicsResourcesState.bindTexture(MVKShaderStage(i), tb); }
+                            }
+                            if (_info.descriptorType == VK_DESCRIPTOR_TYPE_STORAGE_IMAGE) {
+                                bb.index = mtlIdxs.stages[i].bufferIndex + rezIdx;
+                                if (i == kMVKShaderStageCompute) {
+                                    if (cmdEncoder) { cmdEncoder->_computeResourcesState.bindBuffer(bb); }
+                                } else {
+                                    if (cmdEncoder) { cmdEncoder->_graphicsResourcesState.bindBuffer(MVKShaderStage(i), bb); }
+                                }
                             }
                         }
                     }
@@ -276,30 +279,29 @@
             case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER: {
                 const auto& imageInfo = get<VkDescriptorImageInfo>(pData, stride, rezIdx - dstArrayElement);
                 MVKImageView* imageView = (MVKImageView*)imageInfo.imageView;
-                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) {
-							if (cmdEncoder) { cmdEncoder->_computeResourcesState.bindTexture(tb); }
-							if (cmdEncoder) { cmdEncoder->_computeResourcesState.bindSamplerState(sb); }
-                        } else {
-							if (cmdEncoder) { cmdEncoder->_graphicsResourcesState.bindTexture(MVKShaderStage(i), tb); }
-							if (cmdEncoder) { cmdEncoder->_graphicsResourcesState.bindSamplerState(MVKShaderStage(i), sb); }
+                uint8_t planeCount = (imageView) ? imageView->getPlaneCount() : 1;
+                for (uint8_t planeIndex = 0; planeIndex < planeCount; planeIndex++) {
+                    tb.mtlTexture = imageView->getMTLTexture(planeIndex);
+                    tb.swizzle = (imageView) ? imageView->getPackedSwizzle() : 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 + planeIndex;
+                            sb.index = mtlIdxs.stages[i].samplerIndex + rezIdx;
+                            if (i == kMVKShaderStageCompute) {
+                                if (cmdEncoder) { cmdEncoder->_computeResourcesState.bindTexture(tb); }
+                                if (cmdEncoder) { cmdEncoder->_computeResourcesState.bindSamplerState(sb); }
+                            } else {
+                                if (cmdEncoder) { cmdEncoder->_graphicsResourcesState.bindTexture(MVKShaderStage(i), tb); }
+                                if (cmdEncoder) { cmdEncoder->_graphicsResourcesState.bindSamplerState(MVKShaderStage(i), sb); }
+                            }
                         }
                     }
                 }
@@ -323,7 +325,7 @@
 // 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()) {
-		mvkSampler->reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCmdPushDescriptorSet/vkCmdPushDescriptorSetWithTemplate(): Depth texture samplers using a compare operation can only be used as immutable samplers on this device.");
+		mvkSampler->reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCmdPushDescriptorSet/vkCmdPushDescriptorSetWithTemplate(): Tried to push an immutable sampler.");
 		return false;
 	}
 	return true;
@@ -433,7 +435,19 @@
 				if ( !_device->_pMetalFeatures->arrayOfSamplers ) {
 					_layout->setConfigurationResult(reportError(VK_ERROR_FEATURE_NOT_PRESENT, "Device %s does not support arrays of samplers.", _device->getName()));
 				}
+                if ( pBinding->pImmutableSamplers ) {
+                    _layout->setConfigurationResult(reportError(VK_ERROR_FEATURE_NOT_PRESENT, "Sampler arrays contaning multi planar samplers are not supported."));
+                }
 			}
+
+            if ( pBinding->pImmutableSamplers ) {
+                for (uint32_t i = 0; i < pBinding->descriptorCount; i++) {
+                    uint8_t planeCount = ((MVKSampler*)pBinding->pImmutableSamplers[i])->getPlaneCount();
+                    if (planeCount > 1) {
+                        pDescSetCounts->textureIndex += planeCount - 1;
+                    }
+                }
+            }
             break;
 
         case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
@@ -493,7 +507,10 @@
 			if (_mvkBuffer) {
 				bb.mtlBuffer = _mvkBuffer->getMTLBuffer();
 				bb.offset = _mvkBuffer->getMTLBufferOffset() + _buffOffset + bufferDynamicOffset;
-				bb.size = (uint32_t)_mvkBuffer->getByteCount();
+				if (_buffRange == VK_WHOLE_SIZE)
+					bb.size = (uint32_t)(_mvkBuffer->getByteCount() - bb.offset);
+				else
+					bb.size = (uint32_t)_buffRange;
 			}
 			for (uint32_t i = kMVKShaderStageVertex; i < kMVKShaderStageMax; i++) {
 				if (stages[i]) {
@@ -681,53 +698,54 @@
 							  MVKShaderResourceBinding& mtlIndexes,
 							  MVKArrayRef<uint32_t> dynamicOffsets,
 							  uint32_t* pDynamicOffsetIndex) {
-	MVKMTLTextureBinding tb;
-	MVKMTLBufferBinding bb;
 	switch (descriptorType) {
 		case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE:
 		case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
 		case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
-		case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER: {
-			if (_mvkImageView) {
-				tb.mtlTexture = _mvkImageView->getMTLTexture();
-			}
-			if ((descriptorType == VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE || descriptorType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER) &&
-				tb.mtlTexture) {
-				tb.swizzle = _mvkImageView->getPackedSwizzle();
-			} else {
-				tb.swizzle = 0;
-			}
-			if (descriptorType == VK_DESCRIPTOR_TYPE_STORAGE_IMAGE && tb.mtlTexture) {
-				id<MTLTexture> mtlTex = tb.mtlTexture;
-				if (mtlTex.parentTexture) { mtlTex = mtlTex.parentTexture; }
-				bb.mtlBuffer = mtlTex.buffer;
-				bb.offset = mtlTex.bufferOffset;
-				bb.size = (uint32_t)(mtlTex.height * mtlTex.bufferBytesPerRow);
-			}
-			for (uint32_t i = kMVKShaderStageVertex; i < kMVKShaderStageMax; i++) {
-				if (stages[i]) {
-					tb.index = mtlIndexes.stages[i].textureIndex + descriptorIndex;
-					if (i == kMVKShaderStageCompute) {
-						if (cmdEncoder) { cmdEncoder->_computeResourcesState.bindTexture(tb); }
-					} else {
-						if (cmdEncoder) { cmdEncoder->_graphicsResourcesState.bindTexture(MVKShaderStage(i), tb); }
-					}
-					if (descriptorType == VK_DESCRIPTOR_TYPE_STORAGE_IMAGE) {
-						bb.index = mtlIndexes.stages[i].bufferIndex + descriptorIndex;
-						if (i == kMVKShaderStageCompute) {
-							if (cmdEncoder) { cmdEncoder->_computeResourcesState.bindBuffer(bb); }
-						} else {
-							if (cmdEncoder) { cmdEncoder->_graphicsResourcesState.bindBuffer(MVKShaderStage(i), bb); }
-						}
-					}
-				}
-			}
+		case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
 			break;
-		}
 
 		default:
-			break;
+			return;
 	}
+    
+    uint8_t planeCount = (_mvkImageView) ? _mvkImageView->getPlaneCount() : 1;
+    for (uint8_t planeIndex = 0; planeIndex < planeCount; planeIndex++) {
+        MVKMTLTextureBinding tb;
+        MVKMTLBufferBinding bb;
+        
+        if (_mvkImageView) {
+            tb.mtlTexture = _mvkImageView->getMTLTexture(planeIndex);
+        }
+        tb.swizzle = ((descriptorType == VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE ||
+                       descriptorType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER) &&
+                       tb.mtlTexture) ? _mvkImageView->getPackedSwizzle() : 0;
+        if (descriptorType == VK_DESCRIPTOR_TYPE_STORAGE_IMAGE && tb.mtlTexture) {
+            id<MTLTexture> mtlTex = tb.mtlTexture;
+            if (mtlTex.parentTexture) { mtlTex = mtlTex.parentTexture; }
+            bb.mtlBuffer = mtlTex.buffer;
+            bb.offset = mtlTex.bufferOffset;
+            bb.size = (uint32_t)(mtlTex.height * mtlTex.bufferBytesPerRow);
+        }
+        for (uint32_t i = kMVKShaderStageVertex; i < kMVKShaderStageMax; i++) {
+            if (stages[i]) {
+                tb.index = mtlIndexes.stages[i].textureIndex + descriptorIndex + planeIndex;
+                if (i == kMVKShaderStageCompute) {
+                    if (cmdEncoder) { cmdEncoder->_computeResourcesState.bindTexture(tb); }
+                } else {
+                    if (cmdEncoder) { cmdEncoder->_graphicsResourcesState.bindTexture(MVKShaderStage(i), tb); }
+                }
+                if (descriptorType == VK_DESCRIPTOR_TYPE_STORAGE_IMAGE) {
+                    bb.index = mtlIndexes.stages[i].bufferIndex + descriptorIndex + planeIndex;
+                    if (i == kMVKShaderStageCompute) {
+                        if (cmdEncoder) { cmdEncoder->_computeResourcesState.bindBuffer(bb); }
+                    } else {
+                        if (cmdEncoder) { cmdEncoder->_graphicsResourcesState.bindBuffer(MVKShaderStage(i), bb); }
+                    }
+                }
+            }
+        }
+    }
 }
 
 void MVKImageDescriptor::write(MVKDescriptorSet* mvkDescSet,
@@ -838,7 +856,7 @@
 				const auto* pImgInfo = &get<VkDescriptorImageInfo>(pData, stride, srcIndex);
 				_mvkSampler = (MVKSampler*)pImgInfo->sampler;
 				if (_mvkSampler && _mvkSampler->getRequiresConstExprSampler()) {
-					_mvkSampler->reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkUpdateDescriptorSets(): Depth texture samplers using a compare operation can only be used as immutable samplers on this device.");
+					_mvkSampler->reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkUpdateDescriptorSets(): Tried to push an immutable sampler.");
 				}
 
 				if (_mvkSampler) { _mvkSampler->retain(); }
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.h b/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.h
index 6ec36ed..532c14f 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.h
@@ -229,7 +229,7 @@
 	/** Free's up the specified descriptor set. */
 	VkResult freeDescriptorSets(uint32_t count, const VkDescriptorSet* pDescriptorSets);
 
-	/** Destoys all currently allocated descriptor sets. */
+	/** Destroys all currently allocated descriptor sets. */
 	VkResult reset(VkDescriptorPoolResetFlags flags);
 
 	MVKDescriptorPool(MVKDevice* device, const VkDescriptorPoolCreateInfo* pCreateInfo);
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.h b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.h
index abfb94d..760bc93 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.h
@@ -57,6 +57,7 @@
 class MVKPipelineLayout;
 class MVKPipeline;
 class MVKSampler;
+class MVKSamplerYcbcrConversion;
 class MVKDescriptorSetLayout;
 class MVKDescriptorPool;
 class MVKDescriptorUpdateTemplate;
@@ -521,6 +522,11 @@
 	void destroySampler(MVKSampler* mvkSamp,
 						const VkAllocationCallbacks* pAllocator);
 
+	MVKSamplerYcbcrConversion* createSamplerYcbcrConversion(const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
+										                    const VkAllocationCallbacks* pAllocator);
+	void destroySamplerYcbcrConversion(MVKSamplerYcbcrConversion* mvkSampConv,
+								       const VkAllocationCallbacks* pAllocator);
+
 	MVKDescriptorSetLayout* createDescriptorSetLayout(const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
 													  const VkAllocationCallbacks* pAllocator);
 	void destroyDescriptorSetLayout(MVKDescriptorSetLayout* mvkDSL,
@@ -652,6 +658,7 @@
 	const VkPhysicalDeviceVariablePointerFeatures _enabledVarPtrFeatures;
 	const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT _enabledInterlockFeatures;
 	const VkPhysicalDeviceHostQueryResetFeaturesEXT _enabledHostQryResetFeatures;
+	const VkPhysicalDeviceSamplerYcbcrConversionFeatures _enabledSamplerYcbcrConversionFeatures;
 	const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT _enabledScalarLayoutFeatures;
 	const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT _enabledTexelBuffAlignFeatures;
 	const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT _enabledVtxAttrDivFeatures;
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
index c2560f9..a5ae030 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
@@ -145,6 +145,11 @@
 				portabilityFeatures->shaderSampleRateInterpolationFunctions = false;
 				break;
 			}
+			case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: {
+				auto* samplerYcbcrConvFeatures = (VkPhysicalDeviceSamplerYcbcrConversionFeatures*)next;
+				samplerYcbcrConvFeatures->samplerYcbcrConversion = true;
+				break;
+			}
 			case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: {
 				auto* shaderIntFuncsFeatures = (VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL*)next;
 				shaderIntFuncsFeatures->shaderIntegerFunctions2 = true;
@@ -210,6 +215,11 @@
 				portabilityProps->minVertexInputBindingStrideAlignment = 4;
 				break;
 			}
+			case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: {
+				auto* samplerYcbcrConvProps = (VkSamplerYcbcrConversionImageFormatProperties*)next;
+				samplerYcbcrConvProps->combinedImageSamplerDescriptorCount = 3;
+				break;
+			}
 			default:
 				break;
 		}
@@ -456,7 +466,7 @@
 
 				MTLPixelFormat mtlPixFmt;
 				bool useSwizzle;
-				return (MVKImageView::validateSwizzledMTLPixelFormat(&viewInfo, &_pixelFormats, this,
+				return (MVKImageView::validateSwizzledMTLPixelFormat(&viewInfo, this,
 																	 _metalFeatures.nativeTextureSwizzle,
 																	 _mvkInstance->getMoltenVKConfiguration()->fullImageViewSwizzle,
 																	 mtlPixFmt, useSwizzle) == VK_SUCCESS);
@@ -859,6 +869,8 @@
 
 	_metalFeatures.pushConstantSizeAlignment = 16;     // Min float4 alignment for typical uniform structs.
 
+	_metalFeatures.maxTextureLayers = (2 * KIBI);
+
 	_metalFeatures.ioSurfaces = MVK_SUPPORT_IOSURFACE_BOOL;
 
 	// Metal supports 2 or 3 concurrent CAMetalLayer drawables.
@@ -1227,7 +1239,7 @@
 	_properties.limits.maxImageDimensionCube = _metalFeatures.maxTextureDimension;
 	_properties.limits.maxFramebufferWidth = _metalFeatures.maxTextureDimension;
 	_properties.limits.maxFramebufferHeight = _metalFeatures.maxTextureDimension;
-	_properties.limits.maxFramebufferLayers = _metalFeatures.layeredRendering ?  256 : 1;
+	_properties.limits.maxFramebufferLayers = _metalFeatures.layeredRendering ? _metalFeatures.maxTextureLayers : 1;
 
     _properties.limits.maxViewportDimensions[0] = _metalFeatures.maxTextureDimension;
     _properties.limits.maxViewportDimensions[1] = _metalFeatures.maxTextureDimension;
@@ -1236,15 +1248,15 @@
     _properties.limits.viewportBoundsRange[1] = (2.0 * maxVPDim) - 1;
     _properties.limits.maxViewports = _features.multiViewport ? kMVKCachedViewportScissorCount : 1;
 
-	_properties.limits.maxImageDimension3D = (2 * KIBI);
-	_properties.limits.maxImageArrayLayers = (2 * KIBI);
+	_properties.limits.maxImageDimension3D = _metalFeatures.maxTextureLayers;
+	_properties.limits.maxImageArrayLayers = _metalFeatures.maxTextureLayers;
 	_properties.limits.maxSamplerAnisotropy = 16;
 
     _properties.limits.maxVertexInputAttributes = 31;
     _properties.limits.maxVertexInputBindings = 31;
 
-    _properties.limits.maxVertexInputAttributeOffset = (4 * KIBI);
-    _properties.limits.maxVertexInputBindingStride = _properties.limits.maxVertexInputAttributeOffset - 1;
+    _properties.limits.maxVertexInputBindingStride = (2 * KIBI);
+	_properties.limits.maxVertexInputAttributeOffset = _properties.limits.maxVertexInputBindingStride - 1;
 
 	_properties.limits.maxPerStageDescriptorSamplers = _metalFeatures.maxPerStageSamplerCount;
 	_properties.limits.maxPerStageDescriptorUniformBuffers = _metalFeatures.maxPerStageBufferCount;
@@ -1290,6 +1302,7 @@
         uint32_t maxStorage = 0, maxUniform = 0;
         bool singleTexelStorage = true, singleTexelUniform = true;
         _pixelFormats.enumerateSupportedFormats({0, 0, VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT | VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT}, true, [&](VkFormat vk) {
+            if ( _pixelFormats.getChromaSubsamplingComponentBits(vk) > 0 ) { return false; }    // Skip chroma subsampling formats
 			MTLPixelFormat mtlFmt = _pixelFormats.getMTLPixelFormat(vk);
 			if ( !mtlFmt ) { return false; }	// If format is invalid, avoid validation errors on MTLDevice format alignment calls
 
@@ -1466,7 +1479,7 @@
     _properties.limits.maxComputeWorkGroupCount[1] = kMVKUndefinedLargeUInt32;
     _properties.limits.maxComputeWorkGroupCount[2] = kMVKUndefinedLargeUInt32;
 
-    _properties.limits.maxDrawIndexedIndexValue = numeric_limits<uint32_t>::max();
+    _properties.limits.maxDrawIndexedIndexValue = numeric_limits<uint32_t>::max();	// Must be (2^32 - 1) to support fullDrawIndexUint32
     _properties.limits.maxDrawIndirectCount = kMVKUndefinedLargeUInt32;
 
     _properties.limits.maxClipDistances = kMVKUndefinedLargeUInt32;
@@ -2220,16 +2233,21 @@
 			break;
 		}
 	}
-	if (swapchainInfo) {
-		return (MVKImage*)addResource(new MVKPeerSwapchainImage(this, pCreateInfo, (MVKSwapchain*)swapchainInfo->swapchain, uint32_t(-1)));
-	}
-	return (MVKImage*)addResource(new MVKImage(this, pCreateInfo));
+    MVKImage* mvkImg = (swapchainInfo)
+        ? new MVKPeerSwapchainImage(this, pCreateInfo, (MVKSwapchain*)swapchainInfo->swapchain, uint32_t(-1))
+        : new MVKImage(this, pCreateInfo);
+    for (auto& memoryBinding : mvkImg->_memoryBindings) {
+        addResource(memoryBinding.get());
+    }
+	return mvkImg;
 }
 
 void MVKDevice::destroyImage(MVKImage* mvkImg,
 							 const VkAllocationCallbacks* pAllocator) {
 	if (mvkImg) {
-		removeResource(mvkImg);
+		for (auto& memoryBinding : mvkImg->_memoryBindings) {
+            removeResource(memoryBinding.get());
+        }
 		mvkImg->destroy();
 	}
 }
@@ -2258,13 +2276,19 @@
 																		 MVKSwapchain* swapchain,
 																		 uint32_t swapchainIndex,
 																		 const VkAllocationCallbacks* pAllocator) {
-	return (MVKPresentableSwapchainImage*)addResource(new MVKPresentableSwapchainImage(this, pCreateInfo, swapchain, swapchainIndex));
+    MVKPresentableSwapchainImage* mvkImg = new MVKPresentableSwapchainImage(this, pCreateInfo, swapchain, swapchainIndex);
+    for (auto& memoryBinding : mvkImg->_memoryBindings) {
+        addResource(memoryBinding.get());
+    }
+    return mvkImg;
 }
 
 void MVKDevice::destroyPresentableSwapchainImage(MVKPresentableSwapchainImage* mvkImg,
 												 const VkAllocationCallbacks* pAllocator) {
 	if (mvkImg) {
-		removeResource(mvkImg);
+		for (auto& memoryBinding : mvkImg->_memoryBindings) {
+            removeResource(memoryBinding.get());
+        }
 		mvkImg->destroy();
 	}
 }
@@ -2428,6 +2452,16 @@
 	if (mvkSamp) { mvkSamp->destroy(); }
 }
 
+MVKSamplerYcbcrConversion* MVKDevice::createSamplerYcbcrConversion(const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
+																   const VkAllocationCallbacks* pAllocator) {
+	return new MVKSamplerYcbcrConversion(this, pCreateInfo);
+}
+
+void MVKDevice::destroySamplerYcbcrConversion(MVKSamplerYcbcrConversion* mvkSampConv,
+											  const VkAllocationCallbacks* pAllocator) {
+	mvkSampConv->destroy();
+}
+
 MVKDescriptorSetLayout* MVKDevice::createDescriptorSetLayout(const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
 															 const VkAllocationCallbacks* pAllocator) {
 	return new MVKDescriptorSetLayout(this, pCreateInfo);
@@ -2679,6 +2713,7 @@
 	_enabledVarPtrFeatures(),
 	_enabledInterlockFeatures(),
 	_enabledHostQryResetFeatures(),
+	_enabledSamplerYcbcrConversionFeatures(),
 	_enabledScalarLayoutFeatures(),
 	_enabledTexelBuffAlignFeatures(),
 	_enabledVtxAttrDivFeatures(),
@@ -2840,6 +2875,7 @@
 	mvkClear(&_enabledVarPtrFeatures);
 	mvkClear(&_enabledInterlockFeatures);
 	mvkClear(&_enabledHostQryResetFeatures);
+	mvkClear(&_enabledSamplerYcbcrConversionFeatures);
 	mvkClear(&_enabledScalarLayoutFeatures);
 	mvkClear(&_enabledTexelBuffAlignFeatures);
 	mvkClear(&_enabledVtxAttrDivFeatures);
@@ -2862,9 +2898,13 @@
 	pdScalarLayoutFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT;
 	pdScalarLayoutFeatures.pNext = &pdTexelBuffAlignFeatures;
 
+	VkPhysicalDeviceSamplerYcbcrConversionFeatures pdSamplerYcbcrConversionFeatures;
+	pdSamplerYcbcrConversionFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES;
+	pdSamplerYcbcrConversionFeatures.pNext = &pdScalarLayoutFeatures;
+
 	VkPhysicalDeviceHostQueryResetFeaturesEXT pdHostQryResetFeatures;
 	pdHostQryResetFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT;
-	pdHostQryResetFeatures.pNext = &pdScalarLayoutFeatures;
+	pdHostQryResetFeatures.pNext = &pdSamplerYcbcrConversionFeatures;
 
 	VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT pdInterlockFeatures;
 	pdInterlockFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT;
@@ -2961,6 +3001,13 @@
 							   &pdHostQryResetFeatures.hostQueryReset, 1);
 				break;
 			}
+			case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: {
+				auto* requestedFeatures = (VkPhysicalDeviceSamplerYcbcrConversionFeatures*)next;
+				enableFeatures(&_enabledSamplerYcbcrConversionFeatures.samplerYcbcrConversion,
+							   &requestedFeatures->samplerYcbcrConversion,
+							   &pdSamplerYcbcrConversionFeatures.samplerYcbcrConversion, 1);
+				break;
+			}
 			case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT: {
 				auto* requestedFeatures = (VkPhysicalDeviceScalarBlockLayoutFeaturesEXT*)next;
 				enableFeatures(&_enabledScalarLayoutFeatures.scalarBlockLayout,
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDeviceMemory.h b/MoltenVK/MoltenVK/GPUObjects/MVKDeviceMemory.h
index 43b3af8..1369e41 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDeviceMemory.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDeviceMemory.h
@@ -24,8 +24,7 @@
 
 #import <Metal/Metal.h>
 
-class MVKBuffer;
-class MVKImage;
+class MVKImageMemoryBinding;
 
 // TODO: These are inoperable placeholders until VK_KHR_external_memory_metal defines them properly
 static const VkExternalMemoryHandleTypeFlagBits VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLBUFFER_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM;
@@ -91,7 +90,7 @@
 	 * to coherent memory can be forced by setting evenIfCoherent to true.
 	 *
 	 * If pBlitEnc is not null, it points to a holder for a MTLBlitCommandEncoder and its
-	 * assocated MTLCommandBuffer. If this instance has a MTLBuffer using managed memory,
+	 * associated MTLCommandBuffer. If this instance has a MTLBuffer using managed memory,
 	 * this function may call synchronizeResource: on the MTLBlitCommandEncoder to
 	 * synchronize the GPU contents to the CPU. If the contents of the pBlitEnc do not
 	 * include a MTLBlitCommandEncoder and MTLCommandBuffer, this function will create
@@ -131,15 +130,15 @@
     ~MVKDeviceMemory() override;
 
 protected:
-	friend MVKBuffer;
-	friend MVKImage;
+	friend class MVKBuffer;
+    friend class MVKImageMemoryBinding;
 
 	void propagateDebugName() override;
 	VkDeviceSize adjustMemorySize(VkDeviceSize size, VkDeviceSize offset);
 	VkResult addBuffer(MVKBuffer* mvkBuff);
 	void removeBuffer(MVKBuffer* mvkBuff);
-	VkResult addImage(MVKImage* mvkImg);
-	void removeImage(MVKImage* mvkImg);
+	VkResult addImageMemoryBinding(MVKImageMemoryBinding* mvkImg);
+	void removeImageMemoryBinding(MVKImageMemoryBinding* mvkImg);
 	bool ensureMTLHeap();
 	bool ensureMTLBuffer();
 	bool ensureHostMemory();
@@ -148,7 +147,7 @@
 	void initExternalMemory(VkExternalMemoryHandleTypeFlags handleTypes);
 
 	MVKSmallVector<MVKBuffer*, 4> _buffers;
-	MVKSmallVector<MVKImage*, 4> _images;
+	MVKSmallVector<MVKImageMemoryBinding*, 4> _imageMemoryBindings;
 	std::mutex _rezLock;
     VkDeviceSize _allocationSize = 0;
 	VkDeviceSize _mapOffset = 0;
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDeviceMemory.mm b/MoltenVK/MoltenVK/GPUObjects/MVKDeviceMemory.mm
index 36f335b..2f25601 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDeviceMemory.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDeviceMemory.mm
@@ -92,7 +92,7 @@
 		// If we have an MTLHeap object, there's no need to sync memory manually between images and the buffer.
 		if (!_mtlHeap) {
 			lock_guard<mutex> lock(_rezLock);
-			for (auto& img : _images) { img->flushToDevice(offset, memSize); }
+			for (auto& img : _imageMemoryBindings) { img->flushToDevice(offset, memSize); }
 			for (auto& buf : _buffers) { buf->flushToDevice(offset, memSize); }
 		}
 	}
@@ -107,7 +107,7 @@
     VkDeviceSize memSize = adjustMemorySize(size, offset);
 	if (memSize > 0 && isMemoryHostAccessible() && (evenIfCoherent || !isMemoryHostCoherent()) && !_mtlHeap) {
 		lock_guard<mutex> lock(_rezLock);
-        for (auto& img : _images) { img->pullFromDevice(offset, memSize); }
+        for (auto& img : _imageMemoryBindings) { img->pullFromDevice(offset, memSize); }
         for (auto& buf : _buffers) { buf->pullFromDevice(offset, memSize); }
 
 #if MVK_MACOS
@@ -152,23 +152,23 @@
 	mvkRemoveAllOccurances(_buffers, mvkBuff);
 }
 
-VkResult MVKDeviceMemory::addImage(MVKImage* mvkImg) {
+VkResult MVKDeviceMemory::addImageMemoryBinding(MVKImageMemoryBinding* mvkImg) {
 	lock_guard<mutex> lock(_rezLock);
 
 	// If a dedicated alloc, ensure this image is the one and only image
 	// I am dedicated to.
-	if (_isDedicated && (_images.empty() || _images[0] != mvkImg) ) {
+	if (_isDedicated && (_imageMemoryBindings.empty() || _imageMemoryBindings[0] != mvkImg) ) {
 		return reportError(VK_ERROR_OUT_OF_DEVICE_MEMORY, "Could not bind VkImage %p to a VkDeviceMemory dedicated to resource %p. A dedicated allocation may only be used with the resource it was dedicated to.", mvkImg, getDedicatedResource() );
 	}
 
-	if (!_isDedicated) { _images.push_back(mvkImg); }
+	if (!_isDedicated) { _imageMemoryBindings.push_back(mvkImg); }
 
 	return VK_SUCCESS;
 }
 
-void MVKDeviceMemory::removeImage(MVKImage* mvkImg) {
+void MVKDeviceMemory::removeImageMemoryBinding(MVKImageMemoryBinding* mvkImg) {
 	lock_guard<mutex> lock(_rezLock);
-	mvkRemoveAllOccurances(_images, mvkImg);
+	mvkRemoveAllOccurances(_imageMemoryBindings, mvkImg);
 }
 
 // Ensures that this instance is backed by a MTLHeap object,
@@ -266,7 +266,7 @@
 
 MVKResource* MVKDeviceMemory::getDedicatedResource() {
 	MVKAssert(_isDedicated, "This method should only be called on dedicated allocations!");
-	return _buffers.empty() ? (MVKResource*)_images[0] : (MVKResource*)_buffers[0];
+	return _buffers.empty() ? (MVKResource*)_imageMemoryBindings[0] : (MVKResource*)_buffers[0];
 }
 
 MVKDeviceMemory::MVKDeviceMemory(MVKDevice* device,
@@ -319,7 +319,9 @@
 			}
 		}
 #endif
-		_images.push_back((MVKImage*)dedicatedImage);
+        for (auto& memoryBinding : ((MVKImage*)dedicatedImage)->_memoryBindings) {
+            _imageMemoryBindings.push_back(memoryBinding.get());
+        }
 		return;
 	}
 
@@ -367,7 +369,7 @@
     // to allow the resource to callback to remove itself from the collection.
     auto buffCopies = _buffers;
     for (auto& buf : buffCopies) { buf->bindDeviceMemory(nullptr, 0); }
-	auto imgCopies = _images;
+	auto imgCopies = _imageMemoryBindings;
 	for (auto& img : imgCopies) { img->bindDeviceMemory(nullptr, 0); }
 
 	[_mtlBuffer release];
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKImage.h b/MoltenVK/MoltenVK/GPUObjects/MVKImage.h
index b699ca5..dd0ea13 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKImage.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKImage.h
@@ -33,19 +33,112 @@
 class MVKCommandEncoder;
 
 
+#pragma mark -
+#pragma mark MVKImagePlane
+
 /** Tracks the state of an image subresource.  */
 typedef struct {
-	VkImageSubresource subresource;
-	VkSubresourceLayout layout;
-	VkImageLayout layoutState;
+    VkImageSubresource subresource;
+    VkSubresourceLayout layout;
+    VkImageLayout layoutState;
 } MVKImageSubresource;
 
+class MVKImagePlane {
+
+public:
+    /** Returns the Metal texture underlying this image plane. */
+    id<MTLTexture> getMTLTexture();
+
+    /** Returns a Metal texture that interprets the pixels in the specified format. */
+    id<MTLTexture> getMTLTexture(MTLPixelFormat mtlPixFmt);
+
+    void releaseMTLTexture();
+
+    ~MVKImagePlane();
+
+protected:
+    MTLTextureDescriptor* newMTLTextureDescriptor();
+    void initSubresources(const VkImageCreateInfo* pCreateInfo);
+    MVKImageSubresource* getSubresource(uint32_t mipLevel, uint32_t arrayLayer);
+    void updateMTLTextureContent(MVKImageSubresource& subresource, VkDeviceSize offset, VkDeviceSize size);
+    void getMTLTextureContent(MVKImageSubresource& subresource, VkDeviceSize offset, VkDeviceSize size);
+    void propagateDebugName();
+    MVKImageMemoryBinding* getMemoryBinding() const;
+
+    MVKImagePlane(MVKImage* image, uint8_t planeIndex);
+
+    friend class MVKImageMemoryBinding;
+    friend MVKImage;
+    MVKImage* _image;
+    uint8_t _planeIndex;
+    VkExtent2D _blockTexelSize;
+    uint32_t _bytesPerBlock;
+    MTLPixelFormat _mtlPixFmt;
+    id<MTLTexture> _mtlTexture;
+    std::unordered_map<NSUInteger, id<MTLTexture>> _mtlTextureViews;
+    MVKSmallVector<MVKImageSubresource, 1> _subresources;
+};
+
+
+#pragma mark -
+#pragma mark MVKImageMemoryBinding
+
+class MVKImageMemoryBinding : public MVKResource {
+
+public:
+    
+    /** Returns the Vulkan type of this object. */
+    VkObjectType getVkObjectType() override { return VK_OBJECT_TYPE_UNKNOWN; }
+
+    /** Returns the debug report object type of this object. */
+    VkDebugReportObjectTypeEXT getVkDebugReportObjectType() override { return VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT; }
+
+    /** Returns the memory requirements of this resource by populating the specified structure. */
+    VkResult getMemoryRequirements(VkMemoryRequirements* pMemoryRequirements);
+
+    /** Returns the memory requirements of this resource by populating the specified structure. */
+    VkResult getMemoryRequirements(const void* pInfo, VkMemoryRequirements2* pMemoryRequirements);
+
+    /** Binds this resource to the specified offset within the specified memory allocation. */
+    VkResult bindDeviceMemory(MVKDeviceMemory* mvkMem, VkDeviceSize memOffset);
+
+    /** Applies the specified global memory barrier. */
+    void applyMemoryBarrier(VkPipelineStageFlags srcStageMask,
+                            VkPipelineStageFlags dstStageMask,
+                            MVKPipelineBarrier& barrier,
+                            MVKCommandEncoder* cmdEncoder,
+                            MVKCommandUse cmdUse) override;
+    
+    ~MVKImageMemoryBinding();
+
+protected:
+    friend MVKDeviceMemory;
+    friend MVKImagePlane;
+    friend MVKImage;
+
+    void propagateDebugName() override;
+    bool needsHostReadSync(VkPipelineStageFlags srcStageMask,
+                           VkPipelineStageFlags dstStageMask,
+                           VkMemoryBarrier* pMemoryBarrier) override;
+    bool shouldFlushHostMemory();
+    VkResult flushToDevice(VkDeviceSize offset, VkDeviceSize size);
+    VkResult pullFromDevice(VkDeviceSize offset, VkDeviceSize size);
+    uint8_t beginPlaneIndex() const;
+    uint8_t endPlaneIndex() const;
+
+    MVKImageMemoryBinding(MVKDevice* device, MVKImage* image, uint8_t planeIndex);
+
+    MVKImage* _image;
+    uint8_t _planeIndex;
+    bool _usesTexelBuffer;
+};
+
 
 #pragma mark -
 #pragma mark MVKImage
 
 /** Represents a Vulkan image. */
-class MVKImage : public MVKResource {
+class MVKImage : public MVKVulkanAPIDeviceObject {
 
 public:
 
@@ -55,6 +148,9 @@
 	/** Returns the debug report object type of this object. */
 	VkDebugReportObjectTypeEXT getVkDebugReportObjectType() override { return VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT; }
 
+    /** Returns the plane index of VkImageAspectFlags. */
+    static uint8_t getPlaneFromVkImageAspectFlags(VkImageAspectFlags aspectMask);
+
 	/**
 	 * Returns the Vulkan image type of this image.
 	 * This may be different than the value originally specified for the image
@@ -63,7 +159,7 @@
     VkImageType getImageType();
 
     /** Returns the Vulkan image format of this image. */
-    VkFormat getVkFormat();
+    VkFormat getVkFormat() { return _vkFormat; };
 
 	/** Returns whether this image has a depth or stencil format. */
 	bool getIsDepthStencil();
@@ -81,7 +177,7 @@
 	 * Returns the 3D extent of this image at the specified mipmap level. 
 	 * For 2D or cube images, the Z component will be 1.
 	 */
-	VkExtent3D getExtent3D(uint32_t mipLevel);
+	VkExtent3D getExtent3D(uint8_t planeIndex, uint32_t mipLevel);
 
 	/** Returns the number of mipmap levels in this image. */
 	inline uint32_t getMipLevelCount() { return _mipLevels; }
@@ -101,7 +197,7 @@
       * For compressed formats, this is the number of bytes in a row of blocks, which
       * will typically span more than one row of texels.
 	  */
-	VkDeviceSize getBytesPerRow(uint32_t mipLevel);
+	VkDeviceSize getBytesPerRow(uint8_t planeIndex, uint32_t mipLevel);
 
 	/**
 	 * Returns the number of bytes per image layer (for cube, array, or 3D images) 
@@ -109,7 +205,10 @@
 	 * of bytes per row (as returned by the getBytesPerRow() function, multiplied by 
 	 * the height of each 2D image.
 	 */
-	VkDeviceSize getBytesPerLayer(uint32_t mipLevel);
+	VkDeviceSize getBytesPerLayer(uint8_t planeIndex, uint32_t mipLevel);
+    
+    /** Returns the number of planes of this image view. */
+    inline uint8_t getPlaneCount() { return _planes.size(); }
 
 	/** Populates the specified layout for the specified sub-resource. */
 	VkResult getSubresourceLayout(const VkImageSubresource* pSubresource,
@@ -122,24 +221,17 @@
 #pragma mark Resource memory
 
 	/** Returns the memory requirements of this resource by populating the specified structure. */
-	VkResult getMemoryRequirements(VkMemoryRequirements* pMemoryRequirements) override;
+	VkResult getMemoryRequirements(VkMemoryRequirements* pMemoryRequirements, uint8_t planeIndex);
 
 	/** Returns the memory requirements of this resource by populating the specified structure. */
-	VkResult getMemoryRequirements(const void* pInfo, VkMemoryRequirements2* pMemoryRequirements) override;
+	VkResult getMemoryRequirements(const void* pInfo, VkMemoryRequirements2* pMemoryRequirements);
 
 	/** Binds this resource to the specified offset within the specified memory allocation. */
-	VkResult bindDeviceMemory(MVKDeviceMemory* mvkMem, VkDeviceSize memOffset) override;
+	virtual VkResult bindDeviceMemory(MVKDeviceMemory* mvkMem, VkDeviceSize memOffset, uint8_t planeIndex);
 
 	/** Binds this resource to the specified offset within the specified memory allocation. */
 	virtual VkResult bindDeviceMemory2(const VkBindImageMemoryInfo* pBindInfo);
 
-	/** Applies the specified global memory barrier. */
-	void applyMemoryBarrier(VkPipelineStageFlags srcStageMask,
-							VkPipelineStageFlags dstStageMask,
-							MVKPipelineBarrier& barrier,
-							MVKCommandEncoder* cmdEncoder,
-							MVKCommandUse cmdUse) override;
-
 	/** Applies the specified image memory barrier. */
 	void applyImageMemoryBarrier(VkPipelineStageFlags srcStageMask,
 								 VkPipelineStageFlags dstStageMask,
@@ -150,10 +242,10 @@
 #pragma mark Metal
 
 	/** Returns the Metal texture underlying this image. */
-	virtual id<MTLTexture> getMTLTexture();
+	virtual id<MTLTexture> getMTLTexture(uint8_t planeIndex);
 
 	/** Returns a Metal texture that interprets the pixels in the specified format. */
-	id<MTLTexture> getMTLTexture(MTLPixelFormat mtlPixFmt);
+	id<MTLTexture> getMTLTexture(uint8_t planeIndex, MTLPixelFormat mtlPixFmt);
 
     /**
      * Sets this image to use the specified MTLTexture.
@@ -163,7 +255,7 @@
      *
      * If a MTLTexture has already been created for this image, it will be destroyed.
      */
-    VkResult setMTLTexture(id<MTLTexture> mtlTexture);
+    VkResult setMTLTexture(uint8_t planeIndex, id<MTLTexture> mtlTexture);
 
     /**
      * Indicates that this VkImage should use an IOSurface to underlay the Metal texture.
@@ -189,7 +281,7 @@
     IOSurfaceRef getIOSurface();
 
 	/** Returns the Metal pixel format of this image. */
-	inline MTLPixelFormat getMTLPixelFormat() { return _mtlPixelFormat; }
+	inline MTLPixelFormat getMTLPixelFormat(uint8_t planeIndex) { return _planes[planeIndex]->_mtlPixFmt; }
 
 	/** Returns the Metal texture type of this image. */
 	inline MTLTextureType getMTLTextureType() { return _mtlTextureType; }
@@ -225,50 +317,37 @@
 	~MVKImage() override;
 
 protected:
-	friend class MVKDeviceMemory;
-	friend class MVKImageView;
-	using MVKResource::needsHostReadSync;
+    friend MVKDeviceMemory;
+    friend MVKDevice;
+    friend MVKImageMemoryBinding;
+    friend MVKImagePlane;
+    friend class MVKImageViewPlane;
+	friend MVKImageView;
 
 	void propagateDebugName() override;
-	MVKImageSubresource* getSubresource(uint32_t mipLevel, uint32_t arrayLayer);
 	void validateConfig(const VkImageCreateInfo* pCreateInfo, bool isAttachment);
 	VkSampleCountFlagBits validateSamples(const VkImageCreateInfo* pCreateInfo, bool isAttachment);
 	uint32_t validateMipLevels(const VkImageCreateInfo* pCreateInfo, bool isAttachment);
 	bool validateLinear(const VkImageCreateInfo* pCreateInfo, bool isAttachment);
-	bool validateUseTexelBuffer();
-	void initSubresources(const VkImageCreateInfo* pCreateInfo);
-	void initSubresourceLayout(MVKImageSubresource& imgSubRez);
 	void initExternalMemory(VkExternalMemoryHandleTypeFlags handleTypes);
-	id<MTLTexture> newMTLTexture();
-	void releaseMTLTexture();
     void releaseIOSurface();
-	MTLTextureDescriptor* newMTLTextureDescriptor();
-    void updateMTLTextureContent(MVKImageSubresource& subresource, VkDeviceSize offset, VkDeviceSize size);
-    void getMTLTextureContent(MVKImageSubresource& subresource, VkDeviceSize offset, VkDeviceSize size);
-	bool shouldFlushHostMemory();
-	VkResult flushToDevice(VkDeviceSize offset, VkDeviceSize size);
-	VkResult pullFromDevice(VkDeviceSize offset, VkDeviceSize size);
-	bool needsHostReadSync(VkPipelineStageFlags srcStageMask,
-						   VkPipelineStageFlags dstStageMask,
-						   MVKPipelineBarrier& barrier);
 
-	MVKSmallVector<MVKImageSubresource, 1> _subresources;
-	std::unordered_map<NSUInteger, id<MTLTexture>> _mtlTextureViews;
+    MVKSmallVector<std::unique_ptr<MVKImageMemoryBinding>, 3> _memoryBindings;
+    MVKSmallVector<std::unique_ptr<MVKImagePlane>, 3> _planes;
     VkExtent3D _extent;
     uint32_t _mipLevels;
     uint32_t _arrayLayers;
     VkSampleCountFlagBits _samples;
     VkImageUsageFlags _usage;
-	MTLPixelFormat _mtlPixelFormat;
+    VkFormat _vkFormat;
 	MTLTextureType _mtlTextureType;
-    id<MTLTexture> _mtlTexture;
     std::mutex _lock;
     IOSurfaceRef _ioSurface;
 	VkDeviceSize _rowByteAlignment;
     bool _isDepthStencilAttachment;
 	bool _canSupportMTLTextureView;
     bool _hasExpectedTexelSize;
-	bool _usesTexelBuffer;
+    bool _hasChromaSubsampling;
 	bool _isLinear;
 	bool _is3DCompressed;
 	bool _isAliasable;
@@ -284,12 +363,12 @@
 public:
 
 	/** Binds this resource to the specified offset within the specified memory allocation. */
-	VkResult bindDeviceMemory(MVKDeviceMemory* mvkMem, VkDeviceSize memOffset) override;
+	VkResult bindDeviceMemory(MVKDeviceMemory* mvkMem, VkDeviceSize memOffset, uint8_t planeIndex) override;
 
 #pragma mark Metal
 
 	/** Returns the Metal texture used by the CAMetalDrawable underlying this image. */
-	id<MTLTexture> getMTLTexture() override;
+	id<MTLTexture> getMTLTexture(uint8_t planeIndex) override;
 
 
 #pragma mark Construction
@@ -402,6 +481,34 @@
 
 
 #pragma mark -
+#pragma mark MVKImageViewPlane
+
+class MVKImageViewPlane {
+
+public:
+    /** Returns the Metal texture underlying this image view. */
+    id<MTLTexture> getMTLTexture();
+
+    void releaseMTLTexture();
+
+    ~MVKImageViewPlane();
+
+protected:
+    void propagateDebugName();
+    id<MTLTexture> newMTLTexture();
+    MVKImageViewPlane(MVKImageView* imageView, uint8_t planeIndex, MTLPixelFormat mtlPixFmt, const VkImageViewCreateInfo* pCreateInfo);
+
+    friend MVKImageView;
+    MVKImageView* _imageView;
+    uint8_t _planeIndex;
+    MTLPixelFormat _mtlPixFmt;
+    uint32_t _packedSwizzle;
+    id<MTLTexture> _mtlTexture;
+    bool _useMTLTextureView;
+};
+
+
+#pragma mark -
 #pragma mark MVKImageView
 
 /** Represents a Vulkan image view. */
@@ -418,17 +525,20 @@
 #pragma mark Metal
 
 	/** Returns the Metal texture underlying this image view. */
-	id<MTLTexture> getMTLTexture();
+	id<MTLTexture> getMTLTexture(uint8_t planeIndex) { return _planes[planeIndex]->getMTLTexture(); }
 
 	/** Returns the Metal pixel format of this image view. */
-	inline MTLPixelFormat getMTLPixelFormat() { return _mtlPixelFormat; }
+	inline MTLPixelFormat getMTLPixelFormat(uint8_t planeIndex) { return _planes[planeIndex]->_mtlPixFmt; }
+    
+    /** Returns the packed component swizzle of this image view. */
+    inline uint32_t getPackedSwizzle() { return _planes[0]->_packedSwizzle; }
+    
+    /** Returns the number of planes of this image view. */
+    inline uint8_t getPlaneCount() { return _planes.size(); }
 
 	/** Returns the Metal texture type of this image view. */
 	inline MTLTextureType getMTLTextureType() { return _mtlTextureType; }
 
-	/** Returns the packed component swizzle of this image view. */
-	inline uint32_t getPackedSwizzle() { return _packedSwizzle; }
-
 	/**
 	 * Populates the texture of the specified render pass descriptor
 	 * with the Metal texture underlying this image.
@@ -458,7 +568,6 @@
 	 * This is a static function that can be used to validate image view formats prior to creating one.
 	 */
 	static VkResult validateSwizzledMTLPixelFormat(const VkImageViewCreateInfo* pCreateInfo,
-												   MVKPixelFormats* mvkPixFmts,
 												   MVKVulkanAPIObject* apiObject,
 												   bool hasNativeSwizzleSupport,
 												   bool hasShaderSwizzleSupport,
@@ -472,23 +581,54 @@
 				 const VkImageViewCreateInfo* pCreateInfo,
 				 const MVKConfiguration* pAltMVKConfig = nullptr);
 
-	~MVKImageView() override;
-
 protected:
+    friend MVKImageViewPlane;
+    
 	void propagateDebugName() override;
-	id<MTLTexture> newMTLTexture();
-	void initMTLTextureViewSupport();
-	void validateImageViewConfig(const VkImageViewCreateInfo* pCreateInfo);
 
     MVKImage* _image;
+    MVKSmallVector<std::unique_ptr<MVKImageViewPlane>, 3> _planes;
     VkImageSubresourceRange _subresourceRange;
     VkImageUsageFlags _usage;
-	id<MTLTexture> _mtlTexture;
 	std::mutex _lock;
-	MTLPixelFormat _mtlPixelFormat;
 	MTLTextureType _mtlTextureType;
-	uint32_t _packedSwizzle;
-	bool _useMTLTextureView;
+};
+
+
+#pragma mark -
+#pragma mark MVKSamplerYcbcrConversion
+
+/** Represents a Vulkan sampler ycbcr conversion. */
+class MVKSamplerYcbcrConversion : public MVKVulkanAPIDeviceObject {
+
+public:
+    /** Returns the Vulkan type of this object. */
+    VkObjectType getVkObjectType() override { return VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION; }
+
+    /** Returns the debug report object type of this object. */
+    VkDebugReportObjectTypeEXT getVkDebugReportObjectType() override { return VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT; }
+    
+    /** Returns the number of planes of this ycbcr conversion. */
+    inline uint8_t getPlaneCount() { return _planes; }
+
+    /** Writes this conversion settings to a MSL constant sampler */
+    void updateConstExprSampler(SPIRV_CROSS_NAMESPACE::MSLConstexprSampler& constExprSampler) const;
+
+    MVKSamplerYcbcrConversion(MVKDevice* device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo);
+
+    ~MVKSamplerYcbcrConversion() override {}
+
+protected:
+    void propagateDebugName() override {}
+
+    uint8_t _planes, _bpc;
+    SPIRV_CROSS_NAMESPACE::MSLFormatResolution _resolution;
+    SPIRV_CROSS_NAMESPACE::MSLSamplerFilter _chroma_filter;
+    SPIRV_CROSS_NAMESPACE::MSLChromaLocation _x_chroma_offset, _y_chroma_offset;
+    SPIRV_CROSS_NAMESPACE::MSLComponentSwizzle _swizzle[4];
+    SPIRV_CROSS_NAMESPACE::MSLSamplerYCbCrModelConversion _ycbcr_model;
+    SPIRV_CROSS_NAMESPACE::MSLSamplerYCbCrRange _ycbcr_range;
+    bool _forceExplicitReconstruction;
 };
 
 
@@ -508,6 +648,10 @@
 
 	/** Returns the Metal sampler state. */
 	inline id<MTLSamplerState> getMTLSamplerState() { return _mtlSamplerState; }
+    
+    /** Returns the number of planes if this is a ycbcr conversion or 0 otherwise. */
+    inline uint8_t getPlaneCount() { return (_ycbcrConversion) ? _ycbcrConversion->getPlaneCount() : 0; }
+
 
 	/**
 	 * If this sampler requires hardcoding in MSL, populates the hardcoded sampler in the resource binding.
@@ -529,5 +673,6 @@
 
 	id<MTLSamplerState> _mtlSamplerState;
 	SPIRV_CROSS_NAMESPACE::MSLConstexprSampler _constExprSampler;
+	MVKSamplerYcbcrConversion* _ycbcrConversion;
 	bool _requiresConstExprSampler;
 };
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm b/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
index bc27fe7..a2a8ac5 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
@@ -32,40 +32,455 @@
 using namespace std;
 using namespace SPIRV_CROSS_NAMESPACE;
 
+#pragma mark -
+#pragma mark MVKImagePlane
+
+id<MTLTexture> MVKImagePlane::getMTLTexture() {
+    if ( !_mtlTexture && _image->_vkFormat ) {
+        // Lock and check again in case another thread has created the texture.
+        lock_guard<mutex> lock(_image->_lock);
+        if (_mtlTexture) { return _mtlTexture; }
+
+        MTLTextureDescriptor* mtlTexDesc = newMTLTextureDescriptor();    // temp retain
+        MVKImageMemoryBinding* memoryBinding = getMemoryBinding();
+
+        if (_image->_ioSurface) {
+            _mtlTexture = [_image->getMTLDevice()
+                           newTextureWithDescriptor: mtlTexDesc
+                           iosurface: _image->_ioSurface
+                           plane: _planeIndex];
+        } else if (memoryBinding->_usesTexelBuffer) {
+            _mtlTexture = [memoryBinding->_deviceMemory->getMTLBuffer()
+                           newTextureWithDescriptor: mtlTexDesc
+                           offset: memoryBinding->getDeviceMemoryOffset()
+                           bytesPerRow: _subresources[0].layout.rowPitch];
+        } else if (memoryBinding->_deviceMemory->getMTLHeap() && !_image->getIsDepthStencil()) {
+            // Metal support for depth/stencil from heaps is flaky
+            _mtlTexture = [memoryBinding->_deviceMemory->getMTLHeap()
+                           newTextureWithDescriptor: mtlTexDesc
+                           offset: memoryBinding->getDeviceMemoryOffset()];
+            if (_image->_isAliasable) { [_mtlTexture makeAliasable]; }
+        } else {
+            _mtlTexture = [_image->getMTLDevice() newTextureWithDescriptor: mtlTexDesc];
+        }
+
+        [mtlTexDesc release];                                            // temp release
+
+        propagateDebugName();
+    }
+    return _mtlTexture;
+}
+
+id<MTLTexture> MVKImagePlane::getMTLTexture(MTLPixelFormat mtlPixFmt) {
+    if (mtlPixFmt == _mtlPixFmt) { return _mtlTexture; }
+    id<MTLTexture> mtlTex = _mtlTextureViews[mtlPixFmt];
+    if ( !mtlTex ) {
+        // Lock and check again in case another thread has created the view texture.
+        // baseTex retreived outside of lock to avoid deadlock if it too needs to be lazily created.
+        lock_guard<mutex> lock(_image->_lock);
+        mtlTex = _mtlTextureViews[mtlPixFmt];
+        if ( !mtlTex ) {
+            mtlTex = [_mtlTexture newTextureViewWithPixelFormat: mtlPixFmt];    // retained
+            _mtlTextureViews[mtlPixFmt] = mtlTex;
+        }
+    }
+    return mtlTex;
+}
+
+void MVKImagePlane::releaseMTLTexture() {
+    [_mtlTexture release];
+    for (auto elem : _mtlTextureViews) {
+        [elem.second release];
+    }
+}
+
+// Returns a Metal texture descriptor constructed from the properties of this image.
+// It is the caller's responsibility to release the returned descriptor object.
+MTLTextureDescriptor* MVKImagePlane::newMTLTextureDescriptor() {
+    MTLPixelFormat mtlPixFmt = _mtlPixFmt;
+    MTLTextureUsage minUsage = MTLTextureUsageUnknown;
+#if MVK_MACOS
+    if (_image->_is3DCompressed) {
+        // Metal before 3.0 doesn't support 3D compressed textures, so we'll decompress
+        // the texture ourselves. This, then, is the *uncompressed* format.
+        mtlPixFmt = MTLPixelFormatBGRA8Unorm;
+        minUsage = MTLTextureUsageShaderWrite;
+    }
+#endif
+
+    VkExtent3D extent = _image->getExtent3D(_planeIndex, 0);
+    MTLTextureDescriptor* mtlTexDesc = [MTLTextureDescriptor new];    // retained
+    mtlTexDesc.pixelFormat = mtlPixFmt;
+    mtlTexDesc.textureType = _image->_mtlTextureType;
+    mtlTexDesc.width = extent.width;
+    mtlTexDesc.height = extent.height;
+    mtlTexDesc.depth = extent.depth;
+    mtlTexDesc.mipmapLevelCount = _image->_mipLevels;
+    mtlTexDesc.sampleCount = mvkSampleCountFromVkSampleCountFlagBits(_image->_samples);
+    mtlTexDesc.arrayLength = _image->_arrayLayers;
+    mtlTexDesc.usageMVK = _image->getPixelFormats()->getMTLTextureUsage(_image->_usage, mtlPixFmt, minUsage);
+    mtlTexDesc.storageModeMVK = _image->getMTLStorageMode();
+    mtlTexDesc.cpuCacheMode = _image->getMTLCPUCacheMode();
+
+    return mtlTexDesc;
+}
+
+// Initializes the subresource definitions.
+void MVKImagePlane::initSubresources(const VkImageCreateInfo* pCreateInfo) {
+    _subresources.reserve(_image->_mipLevels * _image->_arrayLayers);
+
+    MVKImageSubresource subRez;
+    subRez.subresource.aspectMask = VK_IMAGE_ASPECT_PLANE_0_BIT << _planeIndex;
+    subRez.layoutState = pCreateInfo->initialLayout;
+
+    VkDeviceSize offset = 0;
+    if (_planeIndex > 0 && _image->_memoryBindings.size() == 1) {
+        auto subresources = &_image->_planes[_planeIndex-1]->_subresources;
+        VkSubresourceLayout& lastLayout = (*subresources)[subresources->size()-1].layout;
+        offset = lastLayout.offset+lastLayout.size;
+    }
+
+    for (uint32_t mipLvl = 0; mipLvl < _image->_mipLevels; mipLvl++) {
+        subRez.subresource.mipLevel = mipLvl;
+        VkDeviceSize rowPitch = _image->getBytesPerRow(_planeIndex, mipLvl);
+        VkDeviceSize depthPitch = _image->getBytesPerLayer(_planeIndex, mipLvl);
+
+        for (uint32_t layer = 0; layer < _image->_arrayLayers; layer++) {
+            subRez.subresource.arrayLayer = layer;
+
+            VkSubresourceLayout& layout = subRez.layout;
+            layout.offset = offset;
+            layout.size = depthPitch * _image->_extent.depth;
+            layout.rowPitch = rowPitch;
+            layout.depthPitch = depthPitch;
+
+            _subresources.push_back(subRez);
+            offset += layout.size;
+        }
+    }
+}
+
+// Returns a pointer to the internal subresource for the specified MIP level layer.
+MVKImageSubresource* MVKImagePlane::getSubresource(uint32_t mipLevel, uint32_t arrayLayer) {
+    uint32_t srIdx = (mipLevel * _image->_arrayLayers) + arrayLayer;
+    return (srIdx < _subresources.size()) ? &_subresources[srIdx] : NULL;
+}
+
+// Updates the contents of the underlying MTLTexture, corresponding to the
+// specified subresource definition, from the underlying memory buffer.
+void MVKImagePlane::updateMTLTextureContent(MVKImageSubresource& subresource,
+                                            VkDeviceSize offset, VkDeviceSize size) {
+
+    VkImageSubresource& imgSubRez = subresource.subresource;
+    VkSubresourceLayout& imgLayout = subresource.layout;
+
+    // Check if subresource overlaps the memory range.
+    VkDeviceSize memStart = offset;
+    VkDeviceSize memEnd = offset + size;
+    VkDeviceSize imgStart = imgLayout.offset;
+    VkDeviceSize imgEnd = imgLayout.offset + imgLayout.size;
+    if (imgStart >= memEnd || imgEnd <= memStart) { return; }
+
+    // Don't update if host memory has not been mapped yet.
+    void* pHostMem = getMemoryBinding()->getHostMemoryAddress();
+    if ( !pHostMem ) { return; }
+
+    VkExtent3D mipExtent = _image->getExtent3D(_planeIndex, imgSubRez.mipLevel);
+    void* pImgBytes = (void*)((uintptr_t)pHostMem + imgLayout.offset);
+
+    MTLRegion mtlRegion;
+    mtlRegion.origin = MTLOriginMake(0, 0, 0);
+    mtlRegion.size = mvkMTLSizeFromVkExtent3D(mipExtent);
+
+#if MVK_MACOS
+    std::unique_ptr<char[]> decompBuffer;
+    if (_image->_is3DCompressed) {
+        // We cannot upload the texture data directly in this case. But we
+        // can upload the decompressed image data.
+        std::unique_ptr<MVKCodec> codec = mvkCreateCodec(_image->getVkFormat());
+        if (!codec) {
+            _image->reportError(VK_ERROR_FORMAT_NOT_SUPPORTED, "A 3D texture used a compressed format that MoltenVK does not yet support.");
+            return;
+        }
+        VkSubresourceLayout destLayout;
+        destLayout.rowPitch = 4 * mipExtent.width;
+        destLayout.depthPitch = destLayout.rowPitch * mipExtent.height;
+        destLayout.size = destLayout.depthPitch * mipExtent.depth;
+        decompBuffer = std::unique_ptr<char[]>(new char[destLayout.size]);
+        codec->decompress(decompBuffer.get(), pImgBytes, destLayout, imgLayout, mipExtent);
+        pImgBytes = decompBuffer.get();
+        imgLayout = destLayout;
+    }
+#endif
+
+    VkImageType imgType = _image->getImageType();
+    VkDeviceSize bytesPerRow = (imgType != VK_IMAGE_TYPE_1D) ? imgLayout.rowPitch : 0;
+    VkDeviceSize bytesPerImage = (imgType == VK_IMAGE_TYPE_3D) ? imgLayout.depthPitch : 0;
+
+    id<MTLTexture> mtlTex = getMTLTexture();
+    if (_image->getPixelFormats()->isPVRTCFormat(mtlTex.pixelFormat)) {
+        bytesPerRow = 0;
+        bytesPerImage = 0;
+    }
+
+    [mtlTex replaceRegion: mtlRegion
+              mipmapLevel: imgSubRez.mipLevel
+                    slice: imgSubRez.arrayLayer
+                withBytes: pImgBytes
+              bytesPerRow: bytesPerRow
+            bytesPerImage: bytesPerImage];
+}
+
+// Updates the contents of the underlying memory buffer from the contents of
+// the underlying MTLTexture, corresponding to the specified subresource definition.
+void MVKImagePlane::getMTLTextureContent(MVKImageSubresource& subresource,
+                                         VkDeviceSize offset, VkDeviceSize size) {
+
+    VkImageSubresource& imgSubRez = subresource.subresource;
+    VkSubresourceLayout& imgLayout = subresource.layout;
+
+    // Check if subresource overlaps the memory range.
+    VkDeviceSize memStart = offset;
+    VkDeviceSize memEnd = offset + size;
+    VkDeviceSize imgStart = imgLayout.offset;
+    VkDeviceSize imgEnd = imgLayout.offset + imgLayout.size;
+    if (imgStart >= memEnd || imgEnd <= memStart) { return; }
+
+    // Don't update if host memory has not been mapped yet.
+    void* pHostMem = getMemoryBinding()->getHostMemoryAddress();
+    if ( !pHostMem ) { return; }
+
+    VkExtent3D mipExtent = _image->getExtent3D(_planeIndex, imgSubRez.mipLevel);
+    void* pImgBytes = (void*)((uintptr_t)pHostMem + imgLayout.offset);
+
+    MTLRegion mtlRegion;
+    mtlRegion.origin = MTLOriginMake(0, 0, 0);
+    mtlRegion.size = mvkMTLSizeFromVkExtent3D(mipExtent);
+
+    VkImageType imgType = _image->getImageType();
+    VkDeviceSize bytesPerRow = (imgType != VK_IMAGE_TYPE_1D) ? imgLayout.rowPitch : 0;
+    VkDeviceSize bytesPerImage = (imgType == VK_IMAGE_TYPE_3D) ? imgLayout.depthPitch : 0;
+
+    [_mtlTexture getBytes: pImgBytes
+              bytesPerRow: bytesPerRow
+            bytesPerImage: bytesPerImage
+               fromRegion: mtlRegion
+              mipmapLevel: imgSubRez.mipLevel
+                    slice: imgSubRez.arrayLayer];
+}
+
+void MVKImagePlane::propagateDebugName() {
+    setLabelIfNotNil(_image->_planes[_planeIndex]->_mtlTexture, _image->_debugName);
+}
+
+MVKImageMemoryBinding* MVKImagePlane::getMemoryBinding() const {
+    return (_image->_memoryBindings.size() > 1) ? _image->_memoryBindings[_planeIndex].get() : _image->_memoryBindings[0].get();
+}
+
+MVKImagePlane::MVKImagePlane(MVKImage* image, uint8_t planeIndex) {
+    _image = image;
+    _planeIndex = planeIndex;
+    _mtlTexture = nil;
+}
+
+MVKImagePlane::~MVKImagePlane() {
+    releaseMTLTexture();
+}
+
+
+#pragma mark -
+#pragma mark MVKImageMemoryBinding
+
+VkResult MVKImageMemoryBinding::getMemoryRequirements(VkMemoryRequirements* pMemoryRequirements) {
+    pMemoryRequirements->size = _byteCount;
+    pMemoryRequirements->alignment = _byteAlignment;
+    return VK_SUCCESS;
+}
+
+VkResult MVKImageMemoryBinding::getMemoryRequirements(const void*, VkMemoryRequirements2* pMemoryRequirements) {
+    pMemoryRequirements->sType = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2;
+    for (auto* next = (VkBaseOutStructure*)pMemoryRequirements->pNext; next; next = next->pNext) {
+        switch (next->sType) {
+        case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: {
+            auto* dedicatedReqs = (VkMemoryDedicatedRequirements*)next;
+            bool writable = mvkIsAnyFlagEnabled(_image->_usage, VK_IMAGE_USAGE_STORAGE_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT);
+            dedicatedReqs->requiresDedicatedAllocation = _requiresDedicatedMemoryAllocation;
+            dedicatedReqs->prefersDedicatedAllocation = (dedicatedReqs->requiresDedicatedAllocation ||
+                                                        (!_usesTexelBuffer && (writable || !_device->_pMetalFeatures->placementHeaps)));
+            break;
+        }
+        default:
+            break;
+        }
+    }
+    return VK_SUCCESS;
+}
+
+// Memory may have been mapped before image was bound, and needs to be loaded into the MTLTexture.
+VkResult MVKImageMemoryBinding::bindDeviceMemory(MVKDeviceMemory* mvkMem, VkDeviceSize memOffset) {
+    if (_deviceMemory) { _deviceMemory->removeImageMemoryBinding(this); }
+    MVKResource::bindDeviceMemory(mvkMem, memOffset);
+
+    _usesTexelBuffer = _device->_pMetalFeatures->texelBuffers && _deviceMemory && _deviceMemory->_mtlBuffer; // Texel buffers available
+    _usesTexelBuffer = _usesTexelBuffer && (isMemoryHostAccessible() || _device->_pMetalFeatures->placementHeaps) && _image->_isLinear && !_image->getIsCompressed(); // Applicable memory layout
+
+#if MVK_MACOS
+    // macOS cannot use shared memory for texel buffers.
+    // Test _deviceMemory->isMemoryHostCoherent() directly because local version overrides.
+    _usesTexelBuffer = _usesTexelBuffer && _deviceMemory && !_deviceMemory->isMemoryHostCoherent();
+#endif
+
+    flushToDevice(getDeviceMemoryOffset(), getByteCount());
+    return _deviceMemory ? _deviceMemory->addImageMemoryBinding(this) : VK_SUCCESS;
+}
+
+void MVKImageMemoryBinding::applyMemoryBarrier(VkPipelineStageFlags srcStageMask,
+                                               VkPipelineStageFlags dstStageMask,
+                                               MVKPipelineBarrier& barrier,
+                                               MVKCommandEncoder* cmdEncoder,
+                                               MVKCommandUse cmdUse) {
+#if MVK_MACOS
+    if ( needsHostReadSync(srcStageMask, dstStageMask, (VkMemoryBarrier*)&barrier) ) {
+        for(uint8_t planeIndex = beginPlaneIndex(); planeIndex < endPlaneIndex(); planeIndex++) {
+            [cmdEncoder->getMTLBlitEncoder(cmdUse) synchronizeResource: _image->_planes[planeIndex]->_mtlTexture];
+        }
+    }
+#endif
+}
+
+void MVKImageMemoryBinding::propagateDebugName() {
+    for(uint8_t planeIndex = beginPlaneIndex(); planeIndex < endPlaneIndex(); planeIndex++) {
+        _image->_planes[planeIndex]->propagateDebugName();
+    }
+}
+
+// Returns whether the specified image memory barrier requires a sync between this
+// texture and host memory for the purpose of the host reading texture memory.
+bool MVKImageMemoryBinding::needsHostReadSync(VkPipelineStageFlags srcStageMask,
+                                              VkPipelineStageFlags dstStageMask,
+                                              VkMemoryBarrier* pMemoryBarrier) {
+#if MVK_MACOS
+    MVKPipelineBarrier& barrier = *(MVKPipelineBarrier*)pMemoryBarrier;
+    return ((barrier.newLayout == VK_IMAGE_LAYOUT_GENERAL) &&
+            mvkIsAnyFlagEnabled(barrier.dstAccessMask, (VK_ACCESS_HOST_READ_BIT | VK_ACCESS_MEMORY_READ_BIT)) &&
+            isMemoryHostAccessible() && !isMemoryHostCoherent());
+#endif
+#if MVK_IOS
+    return false;
+#endif
+}
+
+bool MVKImageMemoryBinding::shouldFlushHostMemory() { return isMemoryHostAccessible() && !_usesTexelBuffer; }
+
+// Flushes the device memory at the specified memory range into the MTLTexture. Updates
+// all subresources that overlap the specified range and are in an updatable layout state.
+VkResult MVKImageMemoryBinding::flushToDevice(VkDeviceSize offset, VkDeviceSize size) {
+    if (shouldFlushHostMemory()) {
+        for(uint8_t planeIndex = beginPlaneIndex(); planeIndex < endPlaneIndex(); planeIndex++) {
+            for (auto& subRez : _image->_planes[planeIndex]->_subresources) {
+                switch (subRez.layoutState) {
+                    case VK_IMAGE_LAYOUT_UNDEFINED:
+                    case VK_IMAGE_LAYOUT_PREINITIALIZED:
+                    case VK_IMAGE_LAYOUT_GENERAL: {
+                        _image->_planes[planeIndex]->updateMTLTextureContent(subRez, offset, size);
+                        break;
+                    }
+                    default:
+                        break;
+                }
+            }
+        }
+    }
+    return VK_SUCCESS;
+}
+
+// Pulls content from the MTLTexture into the device memory at the specified memory range.
+// Pulls from all subresources that overlap the specified range and are in an updatable layout state.
+VkResult MVKImageMemoryBinding::pullFromDevice(VkDeviceSize offset, VkDeviceSize size) {
+    if (shouldFlushHostMemory()) {
+        for(uint8_t planeIndex = beginPlaneIndex(); planeIndex < endPlaneIndex(); planeIndex++) {
+            for (auto& subRez : _image->_planes[planeIndex]->_subresources) {
+                switch (subRez.layoutState) {
+                    case VK_IMAGE_LAYOUT_GENERAL: {
+                        _image->_planes[planeIndex]->getMTLTextureContent(subRez, offset, size);
+                        break;
+                    }
+                    default:
+                        break;
+                }
+            }
+        }
+    }
+    return VK_SUCCESS;
+}
+
+uint8_t MVKImageMemoryBinding::beginPlaneIndex() const {
+    return (_image->_memoryBindings.size() > 1) ? _planeIndex : 0;
+}
+
+uint8_t MVKImageMemoryBinding::endPlaneIndex() const {
+    return (_image->_memoryBindings.size() > 1) ? _planeIndex : (uint8_t)_image->_memoryBindings.size();
+}
+
+MVKImageMemoryBinding::MVKImageMemoryBinding(MVKDevice* device, MVKImage* image, uint8_t planeIndex) : MVKResource(device) {
+    _image = image;
+    _planeIndex = planeIndex;
+    _usesTexelBuffer = false;
+}
+
+MVKImageMemoryBinding::~MVKImageMemoryBinding() {
+    if (_deviceMemory) { _deviceMemory->removeImageMemoryBinding(this); }
+}
+
 
 #pragma mark MVKImage
 
-void MVKImage::propagateDebugName() { setLabelIfNotNil(_mtlTexture, _debugName); }
+uint8_t MVKImage::getPlaneFromVkImageAspectFlags(VkImageAspectFlags aspectMask) {
+    return (aspectMask & VK_IMAGE_ASPECT_PLANE_2_BIT) ? 2 :
+           (aspectMask & VK_IMAGE_ASPECT_PLANE_1_BIT) ? 1 :
+           0;
+}
+
+void MVKImage::propagateDebugName() {
+    for (uint8_t planeIndex = 0; planeIndex < _planes.size(); planeIndex++) {
+        _planes[planeIndex]->propagateDebugName();
+    }
+}
 
 VkImageType MVKImage::getImageType() { return mvkVkImageTypeFromMTLTextureType(_mtlTextureType); }
 
-VkFormat MVKImage::getVkFormat() { return getPixelFormats()->getVkFormat(_mtlPixelFormat); }
+bool MVKImage::getIsDepthStencil() { return getPixelFormats()->getFormatType(_vkFormat) == kMVKFormatDepthStencil; }
 
-bool MVKImage::getIsDepthStencil() { return getPixelFormats()->getFormatType(_mtlPixelFormat) == kMVKFormatDepthStencil; }
+bool MVKImage::getIsCompressed() { return getPixelFormats()->getFormatType(_vkFormat) == kMVKFormatCompressed; }
 
-bool MVKImage::getIsCompressed() { return getPixelFormats()->getFormatType(_mtlPixelFormat) == kMVKFormatCompressed; }
-
-VkExtent3D MVKImage::getExtent3D(uint32_t mipLevel) {
-	return mvkMipmapLevelSizeFromBaseSize3D(_extent, mipLevel);
+VkExtent3D MVKImage::getExtent3D(uint8_t planeIndex, uint32_t mipLevel) {
+    VkExtent3D extent = _extent;
+    if (_hasChromaSubsampling) {
+        extent.width /= _planes[planeIndex]->_blockTexelSize.width;
+        extent.height /= _planes[planeIndex]->_blockTexelSize.height;
+    }
+	return mvkMipmapLevelSizeFromBaseSize3D(extent, mipLevel);
 }
 
-VkDeviceSize MVKImage::getBytesPerRow(uint32_t mipLevel) {
-    size_t bytesPerRow = getPixelFormats()->getBytesPerRow(_mtlPixelFormat, getExtent3D(mipLevel).width);
+VkDeviceSize MVKImage::getBytesPerRow(uint8_t planeIndex, uint32_t mipLevel) {
+    size_t bytesPerRow = getPixelFormats()->getBytesPerRow(_vkFormat, getExtent3D(planeIndex, mipLevel).width);
     return mvkAlignByteCount(bytesPerRow, _rowByteAlignment);
 }
 
-VkDeviceSize MVKImage::getBytesPerLayer(uint32_t mipLevel) {
-    return getPixelFormats()->getBytesPerLayer(_mtlPixelFormat, getBytesPerRow(mipLevel), getExtent3D(mipLevel).height);
+VkDeviceSize MVKImage::getBytesPerLayer(uint8_t planeIndex, uint32_t mipLevel) {
+    VkExtent3D extent = getExtent3D(planeIndex, mipLevel);
+    size_t bytesPerRow = getPixelFormats()->getBytesPerRow(_vkFormat, extent.width);
+    return getPixelFormats()->getBytesPerLayer(_vkFormat, bytesPerRow, extent.height);
 }
 
 VkResult MVKImage::getSubresourceLayout(const VkImageSubresource* pSubresource,
 										VkSubresourceLayout* pLayout) {
-	MVKImageSubresource* pImgRez = getSubresource(pSubresource->mipLevel,
-												  pSubresource->arrayLayer);
-	if ( !pImgRez ) { return VK_INCOMPLETE; }
+    uint8_t planeIndex = MVKImage::getPlaneFromVkImageAspectFlags(pSubresource->aspectMask);
+    MVKImageSubresource* pImgRez = _planes[planeIndex]->getSubresource(pSubresource->mipLevel, pSubresource->arrayLayer);
+    if ( !pImgRez ) { return VK_INCOMPLETE; }
 
-	*pLayout = pImgRez->layout;
-	return VK_SUCCESS;
+    *pLayout = pImgRez->layout;
+    return VK_SUCCESS;
 }
 
 void MVKImage::getTransferDescriptorData(MVKImageDescriptorData& imgData) {
@@ -81,18 +496,6 @@
 
 #pragma mark Resource memory
 
-void MVKImage::applyMemoryBarrier(VkPipelineStageFlags srcStageMask,
-								  VkPipelineStageFlags dstStageMask,
-								  MVKPipelineBarrier& barrier,
-								  MVKCommandEncoder* cmdEncoder,
-								  MVKCommandUse cmdUse) {
-#if MVK_MACOS
-	if ( needsHostReadSync(srcStageMask, dstStageMask, barrier) ) {
-		[cmdEncoder->getMTLBlitEncoder(cmdUse) synchronizeResource: getMTLTexture()];
-	}
-#endif
-}
-
 void MVKImage::applyImageMemoryBarrier(VkPipelineStageFlags srcStageMask,
 									   VkPipelineStageFlags dstStageMask,
 									   MVKPipelineBarrier& barrier,
@@ -111,226 +514,97 @@
 						 ? getLayerCount()
 						 : (layerStart + barrier.layerCount));
 
-#if MVK_MACOS
-	bool needsSync = needsHostReadSync(srcStageMask, dstStageMask, barrier);
-	id<MTLTexture> mtlTex = needsSync ? getMTLTexture() : nil;
-	id<MTLBlitCommandEncoder> mtlBlitEncoder = needsSync ? cmdEncoder->getMTLBlitEncoder(cmdUse) : nil;
-#endif
-
 	// Iterate across mipmap levels and layers, and update the image layout state for each
-	for (uint32_t mipLvl = mipLvlStart; mipLvl < mipLvlEnd; mipLvl++) {
-		for (uint32_t layer = layerStart; layer < layerEnd; layer++) {
-			MVKImageSubresource* pImgRez = getSubresource(mipLvl, layer);
-			if (pImgRez) { pImgRez->layoutState = barrier.newLayout; }
+    for (uint8_t planeIndex = 0; planeIndex < _planes.size(); planeIndex++) {
+        if (_hasChromaSubsampling && (barrier.aspectMask & (VK_IMAGE_ASPECT_PLANE_0_BIT << planeIndex)) == 0) { continue; }
+        for (uint32_t mipLvl = mipLvlStart; mipLvl < mipLvlEnd; mipLvl++) {
+            for (uint32_t layer = layerStart; layer < layerEnd; layer++) {
+                MVKImageSubresource* pImgRez = _planes[planeIndex]->getSubresource(mipLvl, layer);
+                if (pImgRez) { pImgRez->layoutState = barrier.newLayout; }
 #if MVK_MACOS
-			if (needsSync) { [mtlBlitEncoder synchronizeTexture: mtlTex slice: layer level: mipLvl]; }
+                bool needsSync = _planes[planeIndex]->getMemoryBinding()->needsHostReadSync(srcStageMask, dstStageMask, (VkMemoryBarrier*)&barrier);
+                id<MTLBlitCommandEncoder> mtlBlitEncoder = needsSync ? cmdEncoder->getMTLBlitEncoder(cmdUse) : nil;
+                if (needsSync) { [mtlBlitEncoder synchronizeTexture: _planes[planeIndex]->_mtlTexture slice: layer level: mipLvl]; }
 #endif
-		}
-	}
+            }
+        }
+    }
 }
 
-// Returns whether the specified image memory barrier requires a sync between this
-// texture and host memory for the purpose of the host reading texture memory.
-bool MVKImage::needsHostReadSync(VkPipelineStageFlags srcStageMask,
-								 VkPipelineStageFlags dstStageMask,
-								 MVKPipelineBarrier& barrier) {
+VkResult MVKImage::getMemoryRequirements(VkMemoryRequirements* pMemoryRequirements, uint8_t planeIndex) {
+    pMemoryRequirements->memoryTypeBits = (_isDepthStencilAttachment)
+                                          ? _device->getPhysicalDevice()->getPrivateMemoryTypes()
+                                          : _device->getPhysicalDevice()->getAllMemoryTypes();
 #if MVK_MACOS
-	return ((barrier.newLayout == VK_IMAGE_LAYOUT_GENERAL) &&
-			mvkIsAnyFlagEnabled(barrier.dstAccessMask, (VK_ACCESS_HOST_READ_BIT | VK_ACCESS_MEMORY_READ_BIT)) &&
-			isMemoryHostAccessible() && !isMemoryHostCoherent());
+    // Metal on macOS does not provide native support for host-coherent memory, but Vulkan requires it for Linear images
+    if ( !_isLinear ) {
+        mvkDisableFlags(pMemoryRequirements->memoryTypeBits, _device->getPhysicalDevice()->getHostCoherentMemoryTypes());
+    }
 #endif
 #if MVK_IOS
-	return false;
+    // Only transient attachments may use memoryless storage
+    if (!mvkAreAllFlagsEnabled(_usage, VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT) ) {
+        mvkDisableFlags(pMemoryRequirements->memoryTypeBits, _device->getPhysicalDevice()->getLazilyAllocatedMemoryTypes());
+    }
 #endif
+    return _memoryBindings[planeIndex]->getMemoryRequirements(pMemoryRequirements);
 }
 
-// Returns a pointer to the internal subresource for the specified MIP level layer.
-MVKImageSubresource* MVKImage::getSubresource(uint32_t mipLevel, uint32_t arrayLayer) {
-	uint32_t srIdx = (mipLevel * _arrayLayers) + arrayLayer;
-	return (srIdx < _subresources.size()) ? &_subresources[srIdx] : NULL;
-}
-
-VkResult MVKImage::getMemoryRequirements(VkMemoryRequirements* pMemoryRequirements) {
-	pMemoryRequirements->size = _byteCount;
-	pMemoryRequirements->alignment = _byteAlignment;
-	pMemoryRequirements->memoryTypeBits = (_isDepthStencilAttachment
-										   ? _device->getPhysicalDevice()->getPrivateMemoryTypes()
-										   : _device->getPhysicalDevice()->getAllMemoryTypes());
-#if MVK_MACOS
-	// Metal on macOS does not provide native support for host-coherent memory, but Vulkan requires it for Linear images
-	if ( !_isLinear ) {
-		mvkDisableFlags(pMemoryRequirements->memoryTypeBits, _device->getPhysicalDevice()->getHostCoherentMemoryTypes());
-	}
-#endif
-#if MVK_IOS
-	// Only transient attachments may use memoryless storage
-	if (!mvkAreAllFlagsEnabled(_usage, VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT) ) {
-		mvkDisableFlags(pMemoryRequirements->memoryTypeBits, _device->getPhysicalDevice()->getLazilyAllocatedMemoryTypes());
-	}
-#endif
-	return VK_SUCCESS;
-}
-
-VkResult MVKImage::getMemoryRequirements(const void*, VkMemoryRequirements2* pMemoryRequirements) {
-	pMemoryRequirements->sType = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2;
-	getMemoryRequirements(&pMemoryRequirements->memoryRequirements);
+VkResult MVKImage::getMemoryRequirements(const void* pInfo, VkMemoryRequirements2* pMemoryRequirements) {
+    uint8_t planeIndex = 0;
 	for (auto* next = (VkBaseOutStructure*)pMemoryRequirements->pNext; next; next = next->pNext) {
 		switch (next->sType) {
-		case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: {
-			auto* dedicatedReqs = (VkMemoryDedicatedRequirements*)next;
-			bool writable = mvkIsAnyFlagEnabled(_usage, VK_IMAGE_USAGE_STORAGE_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT);
-			dedicatedReqs->requiresDedicatedAllocation = _requiresDedicatedMemoryAllocation;
-			dedicatedReqs->prefersDedicatedAllocation = (dedicatedReqs->requiresDedicatedAllocation ||
-														 (!_usesTexelBuffer && (writable || !_device->_pMetalFeatures->placementHeaps)));
+		case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: {
+			auto* planeReqs = (VkImagePlaneMemoryRequirementsInfo*)next;
+            planeIndex = MVKImage::getPlaneFromVkImageAspectFlags(planeReqs->planeAspect);
 			break;
 		}
 		default:
 			break;
 		}
 	}
-	return VK_SUCCESS;
+    return getMemoryRequirements(&pMemoryRequirements->memoryRequirements, planeIndex);
 }
 
-// Memory may have been mapped before image was bound, and needs to be loaded into the MTLTexture.
-VkResult MVKImage::bindDeviceMemory(MVKDeviceMemory* mvkMem, VkDeviceSize memOffset) {
-	if (_deviceMemory) { _deviceMemory->removeImage(this); }
-
-	MVKResource::bindDeviceMemory(mvkMem, memOffset);
-
-	_usesTexelBuffer = validateUseTexelBuffer();
-
-	flushToDevice(getDeviceMemoryOffset(), getByteCount());
-
-	return _deviceMemory ? _deviceMemory->addImage(this) : VK_SUCCESS;
+VkResult MVKImage::bindDeviceMemory(MVKDeviceMemory* mvkMem, VkDeviceSize memOffset, uint8_t planeIndex) {
+    return _memoryBindings[planeIndex]->bindDeviceMemory(mvkMem, memOffset);
 }
 
 VkResult MVKImage::bindDeviceMemory2(const VkBindImageMemoryInfo* pBindInfo) {
-	return bindDeviceMemory((MVKDeviceMemory*)pBindInfo->memory, pBindInfo->memoryOffset);
-}
-
-bool MVKImage::validateUseTexelBuffer() {
-	VkExtent2D blockExt = getPixelFormats()->getBlockTexelSize(_mtlPixelFormat);
-	bool isUncompressed = blockExt.width == 1 && blockExt.height == 1;
-
-	bool useTexelBuffer = _device->_pMetalFeatures->texelBuffers;								// Texel buffers available
-	useTexelBuffer = useTexelBuffer && (isMemoryHostAccessible() || _device->_pMetalFeatures->placementHeaps) && _isLinear && isUncompressed;	// Applicable memory layout
-	useTexelBuffer = useTexelBuffer && _deviceMemory && _deviceMemory->_mtlBuffer;				// Buffer is available to overlay
-
-#if MVK_MACOS
-	// macOS cannot use shared memory for texel buffers.
-	// Test _deviceMemory->isMemoryHostCoherent() directly because local version overrides.
-	useTexelBuffer = useTexelBuffer && _deviceMemory && !_deviceMemory->isMemoryHostCoherent();
-#endif
-
-	return useTexelBuffer;
-}
-
-bool MVKImage::shouldFlushHostMemory() { return isMemoryHostAccessible() && !_usesTexelBuffer; }
-
-// Flushes the device memory at the specified memory range into the MTLTexture. Updates
-// all subresources that overlap the specified range and are in an updatable layout state.
-VkResult MVKImage::flushToDevice(VkDeviceSize offset, VkDeviceSize size) {
-	if (shouldFlushHostMemory()) {
-		for (auto& subRez : _subresources) {
-			switch (subRez.layoutState) {
-				case VK_IMAGE_LAYOUT_UNDEFINED:
-				case VK_IMAGE_LAYOUT_PREINITIALIZED:
-				case VK_IMAGE_LAYOUT_GENERAL: {
-					updateMTLTextureContent(subRez, offset, size);
-					break;
-				}
-				default:
-					break;
-			}
-		}
-	}
-	return VK_SUCCESS;
-}
-
-// Pulls content from the MTLTexture into the device memory at the specified memory range.
-// Pulls from all subresources that overlap the specified range and are in an updatable layout state.
-VkResult MVKImage::pullFromDevice(VkDeviceSize offset, VkDeviceSize size) {
-	if (shouldFlushHostMemory()) {
-		for (auto& subRez : _subresources) {
-			switch (subRez.layoutState) {
-				case VK_IMAGE_LAYOUT_GENERAL: {
-					getMTLTextureContent(subRez, offset, size);
-					break;
-				}
-				default:
-					break;
-			}
-		}
-	}
-	return VK_SUCCESS;
+    uint8_t planeIndex = 0;
+    for (const auto* next = (const VkBaseInStructure*)pBindInfo->pNext; next; next = next->pNext) {
+        switch (next->sType) {
+            case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: {
+                const VkBindImagePlaneMemoryInfo* imagePlaneMemoryInfo = (const VkBindImagePlaneMemoryInfo*)next;
+                planeIndex = MVKImage::getPlaneFromVkImageAspectFlags(imagePlaneMemoryInfo->planeAspect);
+                break;
+            }
+            default:
+                break;
+        }
+    }
+    return bindDeviceMemory((MVKDeviceMemory*)pBindInfo->memory, pBindInfo->memoryOffset, planeIndex);
 }
 
 
 #pragma mark Metal
 
-id<MTLTexture> MVKImage::getMTLTexture() {
-	if ( !_mtlTexture && _mtlPixelFormat ) {
-
-		// Lock and check again in case another thread has created the texture.
-		lock_guard<mutex> lock(_lock);
-		if (_mtlTexture) { return _mtlTexture; }
-
-		_mtlTexture = newMTLTexture();   // retained
-
-		propagateDebugName();
-	}
-	return _mtlTexture;
+id<MTLTexture> MVKImage::getMTLTexture(uint8_t planeIndex) {
+	return _planes[planeIndex]->getMTLTexture();
 }
 
-id<MTLTexture> MVKImage::getMTLTexture(MTLPixelFormat mtlPixFmt) {
-	if (mtlPixFmt == _mtlPixelFormat) { return getMTLTexture(); }
-
-	id<MTLTexture> mtlTex = _mtlTextureViews[mtlPixFmt];
-	if ( !mtlTex ) {
-		// Lock and check again in case another thread has created the view texture.
-		// baseTex retreived outside of lock to avoid deadlock if it too needs to be lazily created.
-		id<MTLTexture> baseTex = getMTLTexture();
-		lock_guard<mutex> lock(_lock);
-		mtlTex = _mtlTextureViews[mtlPixFmt];
-		if ( !mtlTex ) {
-			mtlTex = [baseTex newTextureViewWithPixelFormat: mtlPixFmt];	// retained
-			_mtlTextureViews[mtlPixFmt] = mtlTex;
-		}
-	}
-	return mtlTex;
+id<MTLTexture> MVKImage::getMTLTexture(uint8_t planeIndex, MTLPixelFormat mtlPixFmt) {
+    return _planes[planeIndex]->getMTLTexture(mtlPixFmt);
 }
 
-id<MTLTexture> MVKImage::newMTLTexture() {
-	id<MTLTexture> mtlTex = nil;
-	MTLTextureDescriptor* mtlTexDesc = newMTLTextureDescriptor();	// temp retain
-
-	if (_ioSurface) {
-		mtlTex = [getMTLDevice() newTextureWithDescriptor: mtlTexDesc iosurface: _ioSurface plane: 0];
-	} else if (_usesTexelBuffer) {
-		mtlTex = [_deviceMemory->_mtlBuffer newTextureWithDescriptor: mtlTexDesc
-															  offset: getDeviceMemoryOffset()
-														 bytesPerRow: _subresources[0].layout.rowPitch];
-	} else if (_deviceMemory->_mtlHeap && !getIsDepthStencil()) {	// Metal support for depth/stencil from heaps is flaky
-		mtlTex = [_deviceMemory->_mtlHeap newTextureWithDescriptor: mtlTexDesc
-															offset: getDeviceMemoryOffset()];
-		if (_isAliasable) [mtlTex makeAliasable];
-	} else {
-		mtlTex = [getMTLDevice() newTextureWithDescriptor: mtlTexDesc];
-	}
-
-	[mtlTexDesc release];											// temp release
-	return mtlTex;
-}
-
-VkResult MVKImage::setMTLTexture(id<MTLTexture> mtlTexture) {
+VkResult MVKImage::setMTLTexture(uint8_t planeIndex, id<MTLTexture> mtlTexture) {
 	lock_guard<mutex> lock(_lock);
 
-	releaseMTLTexture();
 	releaseIOSurface();
+    _planes[planeIndex]->releaseMTLTexture();
+	_planes[planeIndex]->_mtlTexture = [mtlTexture retain];		// retained
 
-	_mtlTexture = [mtlTexture retain];		// retained
-
-	_mtlPixelFormat = mtlTexture.pixelFormat;
+    _vkFormat = getPixelFormats()->getVkFormat(mtlTexture.pixelFormat);
 	_mtlTextureType = mtlTexture.textureType;
 	_extent.width = uint32_t(mtlTexture.width);
 	_extent.height = uint32_t(mtlTexture.height);
@@ -338,7 +612,7 @@
 	_mipLevels = uint32_t(mtlTexture.mipmapLevelCount);
 	_samples = mvkVkSampleCountFlagBitsFromSampleCount(mtlTexture.sampleCount);
 	_arrayLayers = uint32_t(mtlTexture.arrayLength);
-	_usage = getPixelFormats()->getVkImageUsageFlags(mtlTexture.usage, _mtlPixelFormat);
+	_usage = getPixelFormats()->getVkImageUsageFlags(mtlTexture.usage, mtlTexture.pixelFormat);
 
 	if (_device->_pMetalFeatures->ioSurfaces) {
 		_ioSurface = mtlTexture.iosurface;
@@ -348,14 +622,6 @@
 	return VK_SUCCESS;
 }
 
-// Removes and releases the MTLTexture object, and all associated texture views
-void MVKImage::releaseMTLTexture() {
-	[_mtlTexture release];
-	_mtlTexture = nil;
-	for (auto elem : _mtlTextureViews) { [elem.second release]; }
-	_mtlTextureViews.clear();
-}
-
 void MVKImage::releaseIOSurface() {
     if (_ioSurface) {
         CFRelease(_ioSurface);
@@ -372,35 +638,60 @@
 
 #if MVK_SUPPORT_IOSURFACE_BOOL
 
-    releaseMTLTexture();
+    for (uint8_t planeIndex = 0; planeIndex < _planes.size(); planeIndex++) {
+        _planes[planeIndex]->releaseMTLTexture();
+    }
     releaseIOSurface();
 
-	MVKPixelFormats* pixFmts = getPixelFormats();
+    MVKPixelFormats* pixFmts = getPixelFormats();
 
 	if (ioSurface) {
 		if (IOSurfaceGetWidth(ioSurface) != _extent.width) { return reportError(VK_ERROR_INITIALIZATION_FAILED, "vkUseIOSurfaceMVK() : IOSurface width %zu does not match VkImage width %d.", IOSurfaceGetWidth(ioSurface), _extent.width); }
 		if (IOSurfaceGetHeight(ioSurface) != _extent.height) { return reportError(VK_ERROR_INITIALIZATION_FAILED, "vkUseIOSurfaceMVK() : IOSurface height %zu does not match VkImage height %d.", IOSurfaceGetHeight(ioSurface), _extent.height); }
-		if (IOSurfaceGetBytesPerElement(ioSurface) != pixFmts->getBytesPerBlock(_mtlPixelFormat)) { return reportError(VK_ERROR_INITIALIZATION_FAILED, "vkUseIOSurfaceMVK() : IOSurface bytes per element %zu does not match VkImage bytes per element %d.", IOSurfaceGetBytesPerElement(ioSurface), pixFmts->getBytesPerBlock(_mtlPixelFormat)); }
-		if (IOSurfaceGetElementWidth(ioSurface) != pixFmts->getBlockTexelSize(_mtlPixelFormat).width) { return reportError(VK_ERROR_INITIALIZATION_FAILED, "vkUseIOSurfaceMVK() : IOSurface element width %zu does not match VkImage element width %d.", IOSurfaceGetElementWidth(ioSurface), pixFmts->getBlockTexelSize(_mtlPixelFormat).width); }
-		if (IOSurfaceGetElementHeight(ioSurface) != pixFmts->getBlockTexelSize(_mtlPixelFormat).height) { return reportError(VK_ERROR_INITIALIZATION_FAILED, "vkUseIOSurfaceMVK() : IOSurface element height %zu does not match VkImage element height %d.", IOSurfaceGetElementHeight(ioSurface), pixFmts->getBlockTexelSize(_mtlPixelFormat).height); }
+		if (IOSurfaceGetBytesPerElement(ioSurface) != pixFmts->getBytesPerBlock(_vkFormat)) { return reportError(VK_ERROR_INITIALIZATION_FAILED, "vkUseIOSurfaceMVK() : IOSurface bytes per element %zu does not match VkImage bytes per element %d.", IOSurfaceGetBytesPerElement(ioSurface), pixFmts->getBytesPerBlock(_vkFormat)); }
+		if (IOSurfaceGetElementWidth(ioSurface) != pixFmts->getBlockTexelSize(_vkFormat).width) { return reportError(VK_ERROR_INITIALIZATION_FAILED, "vkUseIOSurfaceMVK() : IOSurface element width %zu does not match VkImage element width %d.", IOSurfaceGetElementWidth(ioSurface), pixFmts->getBlockTexelSize(_vkFormat).width); }
+		if (IOSurfaceGetElementHeight(ioSurface) != pixFmts->getBlockTexelSize(_vkFormat).height) { return reportError(VK_ERROR_INITIALIZATION_FAILED, "vkUseIOSurfaceMVK() : IOSurface element height %zu does not match VkImage element height %d.", IOSurfaceGetElementHeight(ioSurface), pixFmts->getBlockTexelSize(_vkFormat).height); }
+        if (IOSurfaceGetPlaneCount(ioSurface) != _planes.size()) { return reportError(VK_ERROR_INITIALIZATION_FAILED, "vkUseIOSurfaceMVK() : IOSurface plane count %zu does not match VkImage plane count %lu.", IOSurfaceGetPlaneCount(ioSurface), _planes.size()); }
+        if (_hasChromaSubsampling) {
+            for (uint8_t planeIndex = 0; planeIndex < _planes.size(); ++planeIndex) {
+                if (IOSurfaceGetWidthOfPlane(ioSurface, planeIndex) != getExtent3D(planeIndex, 0).width) { return reportError(VK_ERROR_INITIALIZATION_FAILED, "vkUseIOSurfaceMVK() : IOSurface width %zu of plane %d does not match VkImage width %d.", IOSurfaceGetWidthOfPlane(ioSurface, planeIndex), planeIndex, getExtent3D(planeIndex, 0).width); }
+                if (IOSurfaceGetHeightOfPlane(ioSurface, planeIndex) != getExtent3D(planeIndex, 0).height) { return reportError(VK_ERROR_INITIALIZATION_FAILED, "vkUseIOSurfaceMVK() : IOSurface height %zu of plane %d does not match VkImage height %d.", IOSurfaceGetHeightOfPlane(ioSurface, planeIndex), planeIndex, getExtent3D(planeIndex, 0).height); }
+                if (IOSurfaceGetBytesPerElementOfPlane(ioSurface, planeIndex) != _planes[planeIndex]->_bytesPerBlock) { return reportError(VK_ERROR_INITIALIZATION_FAILED, "vkUseIOSurfaceMVK() : IOSurface bytes per element %zu of plane %d does not match VkImage bytes per element %d.", IOSurfaceGetBytesPerElementOfPlane(ioSurface, planeIndex), planeIndex, _planes[planeIndex]->_bytesPerBlock); }
+                if (IOSurfaceGetElementWidthOfPlane(ioSurface, planeIndex) != _planes[planeIndex]->_blockTexelSize.width) { return reportError(VK_ERROR_INITIALIZATION_FAILED, "vkUseIOSurfaceMVK() : IOSurface element width %zu of plane %d does not match VkImage element width %d.", IOSurfaceGetElementWidthOfPlane(ioSurface, planeIndex), planeIndex, _planes[planeIndex]->_blockTexelSize.width); }
+                if (IOSurfaceGetElementHeightOfPlane(ioSurface, planeIndex) != _planes[planeIndex]->_blockTexelSize.height) { return reportError(VK_ERROR_INITIALIZATION_FAILED, "vkUseIOSurfaceMVK() : IOSurface element height %zu of plane %d does not match VkImage element height %d.", IOSurfaceGetElementHeightOfPlane(ioSurface, planeIndex), planeIndex, _planes[planeIndex]->_blockTexelSize.height); }
+            }
+        }
 
         _ioSurface = ioSurface;
         CFRetain(_ioSurface);
     } else {
+        @autoreleasepool {
+            CFMutableDictionaryRef properties = CFDictionaryCreateMutableCopy(NULL, 0, (CFDictionaryRef)@{
+			    (id)kIOSurfaceWidth: @(_extent.width),
+			    (id)kIOSurfaceHeight: @(_extent.height),
+			    (id)kIOSurfaceBytesPerElement: @(pixFmts->getBytesPerBlock(_vkFormat)),
+			    (id)kIOSurfaceElementWidth: @(pixFmts->getBlockTexelSize(_vkFormat).width),
+			    (id)kIOSurfaceElementHeight: @(pixFmts->getBlockTexelSize(_vkFormat).height),
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
-		@autoreleasepool {
-			_ioSurface = IOSurfaceCreate((CFDictionaryRef)@{
-															(id)kIOSurfaceWidth: @(_extent.width),
-															(id)kIOSurfaceHeight: @(_extent.height),
-															(id)kIOSurfaceBytesPerElement: @(pixFmts->getBytesPerBlock(_mtlPixelFormat)),
-															(id)kIOSurfaceElementWidth: @(pixFmts->getBlockTexelSize(_mtlPixelFormat).width),
-															(id)kIOSurfaceElementHeight: @(pixFmts->getBlockTexelSize(_mtlPixelFormat).height),
-															(id)kIOSurfaceIsGlobal: @(true),    // Deprecated but needed for interprocess transfers
-															});
-		}
+			    (id)kIOSurfaceIsGlobal: @(true), // Deprecated but needed for interprocess transfers
 #pragma clang diagnostic pop
-
+            });
+            if(_hasChromaSubsampling) {
+                CFMutableArrayRef planeProperties = CFArrayCreateMutable(NULL, _planes.size(), NULL);
+                for (uint8_t planeIndex = 0; planeIndex < _planes.size(); ++planeIndex) {
+                    CFArrayAppendValue(planeProperties, (CFDictionaryRef)@{
+                        (id)kIOSurfacePlaneWidth: @(getExtent3D(planeIndex, 0).width),
+                        (id)kIOSurfacePlaneHeight: @(getExtent3D(planeIndex, 0).height),
+                        (id)kIOSurfacePlaneBytesPerElement: @(_planes[planeIndex]->_bytesPerBlock),
+                        (id)kIOSurfacePlaneElementWidth: @(_planes[planeIndex]->_blockTexelSize.width),
+                        (id)kIOSurfacePlaneElementHeight: @(_planes[planeIndex]->_blockTexelSize.height),
+                    });
+                }
+                CFDictionaryAddValue(properties, (id)kIOSurfacePlaneInfo, planeProperties);
+            }
+            _ioSurface = IOSurfaceCreate(properties);
+        }
     }
 
 #endif
@@ -408,40 +699,10 @@
     return VK_SUCCESS;
 }
 
-// Returns a Metal texture descriptor constructed from the properties of this image.
-// It is the caller's responsibility to release the returned descriptor object.
-MTLTextureDescriptor* MVKImage::newMTLTextureDescriptor() {
-	MTLPixelFormat mtlPixFmt = _mtlPixelFormat;
-	MTLTextureUsage minUsage = MTLTextureUsageUnknown;
-#if MVK_MACOS
-	if (_is3DCompressed) {
-		// Metal before 3.0 doesn't support 3D compressed textures, so we'll decompress
-		// the texture ourselves. This, then, is the *uncompressed* format.
-		mtlPixFmt = MTLPixelFormatBGRA8Unorm;
-		minUsage = MTLTextureUsageShaderWrite;
-	}
-#endif
-
-	MTLTextureDescriptor* mtlTexDesc = [MTLTextureDescriptor new];	// retained
-	mtlTexDesc.pixelFormat = mtlPixFmt;
-	mtlTexDesc.textureType = _mtlTextureType;
-	mtlTexDesc.width = _extent.width;
-	mtlTexDesc.height = _extent.height;
-	mtlTexDesc.depth = _extent.depth;
-	mtlTexDesc.mipmapLevelCount = _mipLevels;
-	mtlTexDesc.sampleCount = mvkSampleCountFromVkSampleCountFlagBits(_samples);
-	mtlTexDesc.arrayLength = _arrayLayers;
-	mtlTexDesc.usageMVK = getPixelFormats()->getMTLTextureUsage(_usage, mtlPixFmt, minUsage);
-	mtlTexDesc.storageModeMVK = getMTLStorageMode();
-	mtlTexDesc.cpuCacheMode = getMTLCPUCacheMode();
-
-	return mtlTexDesc;
-}
-
 MTLStorageMode MVKImage::getMTLStorageMode() {
-    if ( !_deviceMemory ) return MTLStorageModePrivate;
+    if ( !_memoryBindings[0]->_deviceMemory ) return MTLStorageModePrivate;
 
-    MTLStorageMode stgMode = _deviceMemory->getMTLStorageMode();
+    MTLStorageMode stgMode = _memoryBindings[0]->_deviceMemory->getMTLStorageMode();
 
     if (_ioSurface && stgMode == MTLStorageModePrivate) { stgMode = MTLStorageModeShared; }
 
@@ -453,121 +714,17 @@
 }
 
 MTLCPUCacheMode MVKImage::getMTLCPUCacheMode() {
-	return _deviceMemory ? _deviceMemory->getMTLCPUCacheMode() : MTLCPUCacheModeDefaultCache;
+	return _memoryBindings[0]->_deviceMemory ? _memoryBindings[0]->_deviceMemory->getMTLCPUCacheMode() : MTLCPUCacheModeDefaultCache;
 }
 
 bool MVKImage::isMemoryHostCoherent() {
     return (getMTLStorageMode() == MTLStorageModeShared);
 }
 
-// Updates the contents of the underlying MTLTexture, corresponding to the
-// specified subresource definition, from the underlying memory buffer.
-void MVKImage::updateMTLTextureContent(MVKImageSubresource& subresource,
-                                       VkDeviceSize offset, VkDeviceSize size) {
-
-	VkImageSubresource& imgSubRez = subresource.subresource;
-	VkSubresourceLayout& imgLayout = subresource.layout;
-
-	// Check if subresource overlaps the memory range.
-    VkDeviceSize memStart = offset;
-    VkDeviceSize memEnd = offset + size;
-    VkDeviceSize imgStart = imgLayout.offset;
-    VkDeviceSize imgEnd = imgLayout.offset + imgLayout.size;
-    if (imgStart >= memEnd || imgEnd <= memStart) { return; }
-
-	// Don't update if host memory has not been mapped yet.
-	void* pHostMem = getHostMemoryAddress();
-	if ( !pHostMem ) { return; }
-
-    VkExtent3D mipExtent = getExtent3D(imgSubRez.mipLevel);
-    VkImageType imgType = getImageType();
-    void* pImgBytes = (void*)((uintptr_t)pHostMem + imgLayout.offset);
-
-    MTLRegion mtlRegion;
-    mtlRegion.origin = MTLOriginMake(0, 0, 0);
-    mtlRegion.size = mvkMTLSizeFromVkExtent3D(mipExtent);
-
-#if MVK_MACOS
-    std::unique_ptr<char[]> decompBuffer;
-    if (_is3DCompressed) {
-        // We cannot upload the texture data directly in this case. But we
-        // can upload the decompressed image data.
-        std::unique_ptr<MVKCodec> codec = mvkCreateCodec(getVkFormat());
-        if (!codec) {
-            reportError(VK_ERROR_FORMAT_NOT_SUPPORTED, "A 3D texture used a compressed format that MoltenVK does not yet support.");
-            return;
-        }
-        VkSubresourceLayout destLayout;
-        destLayout.rowPitch = 4 * mipExtent.width;
-        destLayout.depthPitch = destLayout.rowPitch * mipExtent.height;
-        destLayout.size = destLayout.depthPitch * mipExtent.depth;
-        decompBuffer = std::unique_ptr<char[]>(new char[destLayout.size]);
-        codec->decompress(decompBuffer.get(), pImgBytes, destLayout, imgLayout, mipExtent);
-        pImgBytes = decompBuffer.get();
-        imgLayout = destLayout;
-    }
-#endif
-
-	VkDeviceSize bytesPerRow = (imgType != VK_IMAGE_TYPE_1D) ? imgLayout.rowPitch : 0;
-	VkDeviceSize bytesPerImage = (imgType == VK_IMAGE_TYPE_3D) ? imgLayout.depthPitch : 0;
-
-	id<MTLTexture> mtlTex = getMTLTexture();
-	if (getPixelFormats()->isPVRTCFormat(mtlTex.pixelFormat)) {
-		bytesPerRow = 0;
-		bytesPerImage = 0;
-	}
-
-	[mtlTex replaceRegion: mtlRegion
-			  mipmapLevel: imgSubRez.mipLevel
-					slice: imgSubRez.arrayLayer
-				withBytes: pImgBytes
-			  bytesPerRow: bytesPerRow
-			bytesPerImage: bytesPerImage];
-}
-
-// Updates the contents of the underlying memory buffer from the contents of
-// the underlying MTLTexture, corresponding to the specified subresource definition.
-void MVKImage::getMTLTextureContent(MVKImageSubresource& subresource,
-                                    VkDeviceSize offset, VkDeviceSize size) {
-
-	VkImageSubresource& imgSubRez = subresource.subresource;
-	VkSubresourceLayout& imgLayout = subresource.layout;
-
-	// Check if subresource overlaps the memory range.
-    VkDeviceSize memStart = offset;
-    VkDeviceSize memEnd = offset + size;
-    VkDeviceSize imgStart = imgLayout.offset;
-    VkDeviceSize imgEnd = imgLayout.offset + imgLayout.size;
-    if (imgStart >= memEnd || imgEnd <= memStart) { return; }
-
-	// Don't update if host memory has not been mapped yet.
-	void* pHostMem = getHostMemoryAddress();
-	if ( !pHostMem ) { return; }
-
-    VkExtent3D mipExtent = getExtent3D(imgSubRez.mipLevel);
-    VkImageType imgType = getImageType();
-    void* pImgBytes = (void*)((uintptr_t)pHostMem + imgLayout.offset);
-
-    MTLRegion mtlRegion;
-    mtlRegion.origin = MTLOriginMake(0, 0, 0);
-    mtlRegion.size = mvkMTLSizeFromVkExtent3D(mipExtent);
-
-    [getMTLTexture() getBytes: pImgBytes
-                  bytesPerRow: (imgType != VK_IMAGE_TYPE_1D ? imgLayout.rowPitch : 0)
-                bytesPerImage: (imgType == VK_IMAGE_TYPE_3D ? imgLayout.depthPitch : 0)
-                   fromRegion: mtlRegion
-                  mipmapLevel: imgSubRez.mipLevel
-                        slice: imgSubRez.arrayLayer];
-}
-
-
 #pragma mark Construction
 
-MVKImage::MVKImage(MVKDevice* device, const VkImageCreateInfo* pCreateInfo) : MVKResource(device) {
-
-	_mtlTexture = nil;
+MVKImage::MVKImage(MVKDevice* device, const VkImageCreateInfo* pCreateInfo) : MVKVulkanAPIDeviceObject(device) {
 	_ioSurface = nil;
-	_usesTexelBuffer = false;
 
     // Adjust the info components to be compatible with Metal, then use the modified versions to set other
 	// config info. Vulkan allows unused extent dimensions to be zero, but Metal requires minimum of one.
@@ -591,32 +748,53 @@
 	_isLinear = validateLinear(pCreateInfo, isAttachment);
 
 	MVKPixelFormats* pixFmts = getPixelFormats();
-	_mtlPixelFormat = pixFmts->getMTLPixelFormat(pCreateInfo->format);
+    _vkFormat = pCreateInfo->format;
 	_usage = pCreateInfo->usage;
 
 	_is3DCompressed = (getImageType() == VK_IMAGE_TYPE_3D) && (pixFmts->getFormatType(pCreateInfo->format) == kMVKFormatCompressed) && !_device->_pMetalFeatures->native3DCompressedTextures;
 	_isDepthStencilAttachment = (mvkAreAllFlagsEnabled(pCreateInfo->usage, VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT) ||
 								 mvkAreAllFlagsEnabled(pixFmts->getVkFormatProperties(pCreateInfo->format).optimalTilingFeatures, VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT));
 	_canSupportMTLTextureView = !_isDepthStencilAttachment || _device->_pMetalFeatures->stencilViews;
-	_hasExpectedTexelSize = (pixFmts->getBytesPerBlock(_mtlPixelFormat) == pixFmts->getBytesPerBlock(pCreateInfo->format));
-
 	_rowByteAlignment = _isLinear ? _device->getVkFormatTexelBufferAlignment(pCreateInfo->format, this) : mvkEnsurePowerOfTwo(pixFmts->getBytesPerBlock(pCreateInfo->format));
-	if (!_isLinear && _device->_pMetalFeatures->placementHeaps) {
-		MTLTextureDescriptor *mtlTexDesc = newMTLTextureDescriptor();	// temp retain
-		MTLSizeAndAlign sizeAndAlign = [_device->getMTLDevice() heapTextureSizeAndAlignWithDescriptor: mtlTexDesc];
-		[mtlTexDesc release];
-		_byteCount = sizeAndAlign.size;
-		_byteAlignment = sizeAndAlign.align;
-		_isAliasable = mvkIsAnyFlagEnabled(pCreateInfo->flags, VK_IMAGE_CREATE_ALIAS_BIT);
-	} else {
-		// Calc _byteCount after _rowByteAlignment
-		_byteAlignment = _rowByteAlignment;
-		for (uint32_t mipLvl = 0; mipLvl < _mipLevels; mipLvl++) {
-			_byteCount += getBytesPerLayer(mipLvl) * _extent.depth * _arrayLayers;
-		}
-	}
 
-    initSubresources(pCreateInfo);
+    VkExtent2D blockTexelSizeOfPlane[3];
+    uint32_t bytesPerBlockOfPlane[3];
+    MTLPixelFormat mtlPixFmtOfPlane[3];
+    uint8_t subsamplingPlaneCount = pixFmts->getChromaSubsamplingPlanes(_vkFormat, blockTexelSizeOfPlane, bytesPerBlockOfPlane, mtlPixFmtOfPlane),
+            planeCount = std::max(subsamplingPlaneCount, (uint8_t)1),
+            memoryBindingCount = (pCreateInfo->flags & VK_IMAGE_CREATE_DISJOINT_BIT) ? planeCount : 1;
+    _hasChromaSubsampling = (subsamplingPlaneCount > 0);
+
+    for (uint8_t planeIndex = 0; planeIndex < memoryBindingCount; ++planeIndex) {
+        _memoryBindings.push_back(std::unique_ptr<MVKImageMemoryBinding>(new MVKImageMemoryBinding(device, this, planeIndex)));
+    }
+
+    for (uint8_t planeIndex = 0; planeIndex < planeCount; ++planeIndex) {
+        _planes.push_back(std::unique_ptr<MVKImagePlane>(new MVKImagePlane(this, planeIndex)));
+        if (_hasChromaSubsampling) {
+            _planes[planeIndex]->_blockTexelSize = blockTexelSizeOfPlane[planeIndex];
+            _planes[planeIndex]->_bytesPerBlock = bytesPerBlockOfPlane[planeIndex];
+            _planes[planeIndex]->_mtlPixFmt = mtlPixFmtOfPlane[planeIndex];
+        } else {
+            _planes[planeIndex]->_mtlPixFmt = getPixelFormats()->getMTLPixelFormat(_vkFormat);
+        }
+        _planes[planeIndex]->initSubresources(pCreateInfo);
+        MVKImageMemoryBinding* memoryBinding = _planes[planeIndex]->getMemoryBinding();
+        if (!_isLinear && _device->_pMetalFeatures->placementHeaps) {
+            MTLTextureDescriptor* mtlTexDesc = _planes[planeIndex]->newMTLTextureDescriptor();    // temp retain
+            MTLSizeAndAlign sizeAndAlign = [_device->getMTLDevice() heapTextureSizeAndAlignWithDescriptor: mtlTexDesc];
+            [mtlTexDesc release];
+            memoryBinding->_byteCount += sizeAndAlign.size;
+            memoryBinding->_byteAlignment = std::max(memoryBinding->_byteAlignment, (VkDeviceSize)sizeAndAlign.align);
+            _isAliasable = mvkIsAnyFlagEnabled(pCreateInfo->flags, VK_IMAGE_CREATE_ALIAS_BIT);
+        } else {
+            for (uint32_t mipLvl = 0; mipLvl < _mipLevels; mipLvl++) {
+                memoryBinding->_byteCount += getBytesPerLayer(planeIndex, mipLvl) * _extent.depth * _arrayLayers;
+            }
+            memoryBinding->_byteAlignment = std::max(memoryBinding->_byteAlignment, _rowByteAlignment);
+        }
+    }
+    _hasExpectedTexelSize = _hasChromaSubsampling || (pixFmts->getBytesPerBlock(_planes[0]->_mtlPixFmt) == pixFmts->getBytesPerBlock(_vkFormat));
 
 	for (const auto* next = (const VkBaseInStructure*)pCreateInfo->pNext; next; next = next->pNext) {
 		switch (next->sType) {
@@ -755,62 +933,19 @@
 	return isLin;
 }
 
-
-// Initializes the subresource definitions.
-void MVKImage::initSubresources(const VkImageCreateInfo* pCreateInfo) {
-	_subresources.reserve(_mipLevels * _arrayLayers);
-
-	MVKImageSubresource subRez;
-	subRez.layoutState = pCreateInfo->initialLayout;
-
-	for (uint32_t mipLvl = 0; mipLvl < _mipLevels; mipLvl++) {
-		subRez.subresource.mipLevel = mipLvl;
-
-		for (uint32_t layer = 0; layer < _arrayLayers; layer++) {
-			subRez.subresource.arrayLayer = layer;
-			initSubresourceLayout(subRez);
-			_subresources.push_back(subRez);
-		}
-	}
-}
-
-// Initializes the layout element of the specified image subresource.
-void MVKImage::initSubresourceLayout(MVKImageSubresource& imgSubRez) {
-	VkImageSubresource subresource = imgSubRez.subresource;
-	uint32_t currMipLevel = subresource.mipLevel;
-	uint32_t currArrayLayer = subresource.arrayLayer;
-
-	VkDeviceSize bytesPerLayerCurrLevel = getBytesPerLayer(currMipLevel);
-
-	// Accumulate the byte offset for the specified sub-resource.
-	// This is the sum of the bytes consumed by all layers in all mipmap levels before the
-	// desired level, plus the layers before the desired layer at the desired level.
-	VkDeviceSize offset = 0;
-	for (uint32_t mipLvl = 0; mipLvl < currMipLevel; mipLvl++) {
-		offset += (getBytesPerLayer(mipLvl) * _extent.depth * _arrayLayers);
-	}
-	offset += (bytesPerLayerCurrLevel * currArrayLayer);
-
-	VkSubresourceLayout& layout = imgSubRez.layout;
-	layout.offset = offset;
-	layout.size = bytesPerLayerCurrLevel;
-	layout.rowPitch = getBytesPerRow(currMipLevel);
-	layout.depthPitch = bytesPerLayerCurrLevel;
-}
-
 void MVKImage::initExternalMemory(VkExternalMemoryHandleTypeFlags handleTypes) {
 	if (mvkIsOnlyAnyFlagEnabled(handleTypes, VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLTEXTURE_BIT_KHR)) {
-		_externalMemoryHandleTypes = handleTypes;
-		auto& xmProps = _device->getPhysicalDevice()->getExternalImageProperties(VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLTEXTURE_BIT_KHR);
-		_requiresDedicatedMemoryAllocation = _requiresDedicatedMemoryAllocation || mvkIsAnyFlagEnabled(xmProps.externalMemoryFeatures, VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT);
+        auto& xmProps = _device->getPhysicalDevice()->getExternalImageProperties(VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLTEXTURE_BIT_KHR);
+        for(auto& memoryBinding : _memoryBindings) {
+            memoryBinding->_externalMemoryHandleTypes = handleTypes;
+            memoryBinding->_requiresDedicatedMemoryAllocation = memoryBinding->_requiresDedicatedMemoryAllocation || mvkIsAnyFlagEnabled(xmProps.externalMemoryFeatures, VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT);
+        }
 	} else {
 		setConfigurationResult(reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCreateImage(): Only external memory handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLTEXTURE_BIT_KHR is supported."));
 	}
 }
 
 MVKImage::~MVKImage() {
-	if (_deviceMemory) { _deviceMemory->removeImage(this); }
-	releaseMTLTexture();
     releaseIOSurface();
 }
 
@@ -818,7 +953,7 @@
 #pragma mark -
 #pragma mark MVKSwapchainImage
 
-VkResult MVKSwapchainImage::bindDeviceMemory(MVKDeviceMemory*, VkDeviceSize) {
+VkResult MVKSwapchainImage::bindDeviceMemory(MVKDeviceMemory* mvkMem, VkDeviceSize memOffset, uint8_t planeIndex) {
 	return VK_ERROR_OUT_OF_DEVICE_MEMORY;
 }
 
@@ -826,7 +961,7 @@
 #pragma mark Metal
 
 // Overridden to always retrieve the MTLTexture directly from the CAMetalDrawable.
-id<MTLTexture> MVKSwapchainImage::getMTLTexture() { return [getCAMetalDrawable() texture]; }
+id<MTLTexture> MVKSwapchainImage::getMTLTexture(uint8_t planeIndex) { return [getCAMetalDrawable() texture]; }
 
 
 #pragma mark Construction
@@ -872,7 +1007,7 @@
 		// If this image is available, signal the semaphore and fence that were associated
 		// with the last time this image was acquired while available. This is a workaround for
 		// when an app uses a single semaphore or fence for more than one swapchain image.
-		// Becuase the semaphore or fence will be signaled by more than one image, it will
+		// Because the semaphore or fence will be signaled by more than one image, it will
 		// get out of sync, and the final use of the image would not be signaled as a result.
 		signaler = _preSignaler;
 	} else {
@@ -968,7 +1103,7 @@
 
 // Present the drawable and make myself available only once the command buffer has completed.
 void MVKPresentableSwapchainImage::presentCAMetalDrawable(id<MTLCommandBuffer> mtlCmdBuff, bool hasPresentTime, uint32_t presentID, uint64_t desiredPresentTime) {
-	_swapchain->willPresentSurface(getMTLTexture(), mtlCmdBuff);
+	_swapchain->willPresentSurface(getMTLTexture(0), mtlCmdBuff);
 
 	NSString* scName = _swapchain->getDebugName();
 	if (scName) { mvkPushDebugGroup(mtlCmdBuff, scName); }
@@ -991,7 +1126,7 @@
 	}];
 	
 	if (hasPresentTime) {
-		if (@available(iOS 10.3, macOS 10.15.4, *)) {
+		if ([_mtlDrawable respondsToSelector: @selector(addPresentedHandler:)]) {
 			[_mtlDrawable addPresentedHandler: ^(id<MTLDrawable> drawable) {
 				// Record the presentation time
 				CFTimeInterval presentedTimeSeconds = drawable.presentedTime;
@@ -1000,7 +1135,7 @@
 			}];
 		} else {
 			// If MTLDrawable.presentedTime/addPresentedHandler isn't supported, just treat it as if the
-			// present happened when requrested
+			// present happened when requested
 			_swapchain->recordPresentTime(presentID, desiredPresentTime, desiredPresentTime);
 		}
 	}
@@ -1008,8 +1143,10 @@
 
 // Resets the MTLTexture and CAMetalDrawable underlying this image.
 void MVKPresentableSwapchainImage::releaseMetalDrawable() {
-	releaseMTLTexture();			// Release texture first so drawable will be last to release it
-	[_mtlDrawable release];
+    for (uint8_t planeIndex = 0; planeIndex < _planes.size(); ++planeIndex) {
+        _planes[planeIndex]->releaseMTLTexture();
+    }
+    [_mtlDrawable release];
 	_mtlDrawable = nil;
 }
 
@@ -1073,82 +1210,138 @@
 
 
 #pragma mark -
+#pragma mark MVKImageViewPlane
+
+void MVKImageViewPlane::propagateDebugName() { setLabelIfNotNil(_mtlTexture, _imageView->_debugName); }
+
+
+#pragma mark Metal
+
+id<MTLTexture> MVKImageViewPlane::getMTLTexture() {
+    // If we can use a Metal texture view, lazily create it, otherwise use the image texture directly.
+    if (_useMTLTextureView) {
+        if ( !_mtlTexture && _mtlPixFmt ) {
+
+            // Lock and check again in case another thread created the texture view
+            lock_guard<mutex> lock(_imageView->_lock);
+            if (_mtlTexture) { return _mtlTexture; }
+
+            _mtlTexture = newMTLTexture(); // retained
+
+            propagateDebugName();
+        }
+        return _mtlTexture;
+    } else {
+        return _imageView->_image->getMTLTexture(_planeIndex);
+    }
+}
+
+// Creates and returns a retained Metal texture as an
+// overlay on the Metal texture of the underlying image.
+id<MTLTexture> MVKImageViewPlane::newMTLTexture() {
+    MTLTextureType mtlTextureType = _imageView->_mtlTextureType;
+    NSRange sliceRange = NSMakeRange(_imageView->_subresourceRange.baseArrayLayer, _imageView->_subresourceRange.layerCount);
+    // Fake support for 2D views of 3D textures.
+    if (_imageView->_image->getImageType() == VK_IMAGE_TYPE_3D &&
+        (mtlTextureType == MTLTextureType2D || mtlTextureType == MTLTextureType2DArray)) {
+        mtlTextureType = MTLTextureType3D;
+        sliceRange = NSMakeRange(0, 1);
+    }
+    id<MTLTexture> mtlTex = _imageView->_image->getMTLTexture(MVKImage::getPlaneFromVkImageAspectFlags(_imageView->_subresourceRange.aspectMask));
+    if (_imageView->_device->_pMetalFeatures->nativeTextureSwizzle && _packedSwizzle) {
+        return [mtlTex newTextureViewWithPixelFormat: _mtlPixFmt
+                                         textureType: mtlTextureType
+                                              levels: NSMakeRange(_imageView->_subresourceRange.baseMipLevel, _imageView->_subresourceRange.levelCount)
+                                              slices: sliceRange
+                                             swizzle: mvkMTLTextureSwizzleChannelsFromVkComponentMapping(mvkUnpackSwizzle(_packedSwizzle))];    // retained
+    } else {
+        return [mtlTex newTextureViewWithPixelFormat: _mtlPixFmt
+                                         textureType: mtlTextureType
+                                              levels: NSMakeRange(_imageView->_subresourceRange.baseMipLevel, _imageView->_subresourceRange.levelCount)
+                                              slices: sliceRange];    // retained
+    }
+}
+
+
+#pragma mark Construction
+
+MVKImageViewPlane::MVKImageViewPlane(MVKImageView* imageView, uint8_t planeIndex, MTLPixelFormat mtlPixFmt, const VkImageViewCreateInfo* pCreateInfo) {
+    _imageView = imageView;
+    _planeIndex = planeIndex;
+    _mtlPixFmt = mtlPixFmt;
+    _mtlTexture = nil;
+
+    bool useSwizzle;
+    _imageView->setConfigurationResult(MVKImageView::validateSwizzledMTLPixelFormat(
+        pCreateInfo,
+        _imageView,
+        _imageView->_device->_pMetalFeatures->nativeTextureSwizzle,
+        _imageView->_device->_pMVKConfig->fullImageViewSwizzle,
+        mtlPixFmt,
+        useSwizzle
+    ));
+    _packedSwizzle = (useSwizzle) ? mvkPackSwizzle(pCreateInfo->components) : 0;
+
+    // Determine whether this image view should use a Metal texture view,
+    // and set the _useMTLTextureView variable appropriately.
+    if ( _imageView->_image ) {
+        _useMTLTextureView = _imageView->_image->_canSupportMTLTextureView;
+        bool is3D = _imageView->_image->_mtlTextureType == MTLTextureType3D;
+        // If the view is identical to underlying image, don't bother using a Metal view
+        if (_mtlPixFmt == _imageView->_image->getMTLPixelFormat(planeIndex) &&
+            (_imageView->_mtlTextureType == _imageView->_image->_mtlTextureType ||
+             ((_imageView->_mtlTextureType == MTLTextureType2D || _imageView->_mtlTextureType == MTLTextureType2DArray) && is3D)) &&
+            _imageView->_subresourceRange.levelCount == _imageView->_image->_mipLevels &&
+            (is3D || _imageView->_subresourceRange.layerCount == _imageView->_image->_arrayLayers) &&
+            (!_imageView->_device->_pMetalFeatures->nativeTextureSwizzle || !_packedSwizzle)) {
+            _useMTLTextureView = false;
+        }
+    } else {
+        _useMTLTextureView = false;
+    }
+}
+
+MVKImageViewPlane::~MVKImageViewPlane() {
+    [_mtlTexture release];
+}
+
+
+#pragma mark -
 #pragma mark MVKImageView
 
-void MVKImageView::propagateDebugName() { setLabelIfNotNil(_mtlTexture, _debugName); }
+void MVKImageView::propagateDebugName() {
+    for (uint8_t planeIndex = 0; planeIndex < _planes.size(); planeIndex++) {
+        _planes[planeIndex]->propagateDebugName();
+    }
+}
 
 void MVKImageView::populateMTLRenderPassAttachmentDescriptor(MTLRenderPassAttachmentDescriptor* mtlAttDesc) {
-    mtlAttDesc.texture = getMTLTexture();           // Use image view, necessary if image view format differs from image format
-    mtlAttDesc.level = _useMTLTextureView ? 0 : _subresourceRange.baseMipLevel;
+    MVKImageViewPlane* plane = _planes[0].get();
+    mtlAttDesc.texture = plane->getMTLTexture();           // Use image view, necessary if image view format differs from image format
+    mtlAttDesc.level = plane->_useMTLTextureView ? 0 : _subresourceRange.baseMipLevel;
     if (mtlAttDesc.texture.textureType == MTLTextureType3D) {
         mtlAttDesc.slice = 0;
-        mtlAttDesc.depthPlane = _useMTLTextureView ? 0 : _subresourceRange.baseArrayLayer;
+        mtlAttDesc.depthPlane = plane->_useMTLTextureView ? 0 : _subresourceRange.baseArrayLayer;
     } else {
-        mtlAttDesc.slice = _useMTLTextureView ? 0 : _subresourceRange.baseArrayLayer;
+        mtlAttDesc.slice = plane->_useMTLTextureView ? 0 : _subresourceRange.baseArrayLayer;
         mtlAttDesc.depthPlane = 0;
     }
 }
 
 void MVKImageView::populateMTLRenderPassAttachmentDescriptorResolve(MTLRenderPassAttachmentDescriptor* mtlAttDesc) {
-    mtlAttDesc.resolveTexture = getMTLTexture();    // Use image view, necessary if image view format differs from image format
-    mtlAttDesc.resolveLevel = _useMTLTextureView ? 0 : _subresourceRange.baseMipLevel;
+    MVKImageViewPlane* plane = _planes[0].get();
+    mtlAttDesc.resolveTexture = plane->getMTLTexture();    // Use image view, necessary if image view format differs from image format
+    mtlAttDesc.resolveLevel = plane->_useMTLTextureView ? 0 : _subresourceRange.baseMipLevel;
     if (mtlAttDesc.resolveTexture.textureType == MTLTextureType3D) {
         mtlAttDesc.resolveSlice = 0;
-        mtlAttDesc.resolveDepthPlane = _useMTLTextureView ? 0 : _subresourceRange.baseArrayLayer;
+        mtlAttDesc.resolveDepthPlane = plane->_useMTLTextureView ? 0 : _subresourceRange.baseArrayLayer;
     } else {
-        mtlAttDesc.resolveSlice = _useMTLTextureView ? 0 : _subresourceRange.baseArrayLayer;
+        mtlAttDesc.resolveSlice = plane->_useMTLTextureView ? 0 : _subresourceRange.baseArrayLayer;
         mtlAttDesc.resolveDepthPlane = 0;
     }
 }
 
 
-#pragma mark Metal
-
-id<MTLTexture> MVKImageView::getMTLTexture() {
-	// If we can use a Metal texture view, lazily create it, otherwise use the image texture directly.
-	if (_useMTLTextureView) {
-		if ( !_mtlTexture && _mtlPixelFormat ) {
-
-			// Lock and check again in case another thread created the texture view
-			lock_guard<mutex> lock(_lock);
-			if (_mtlTexture) { return _mtlTexture; }
-
-			_mtlTexture = newMTLTexture(); // retained
-
-			propagateDebugName();
-		}
-		return _mtlTexture;
-	} else {
-		return _image->getMTLTexture();
-	}
-}
-
-// Creates and returns a retained Metal texture as an
-// overlay on the Metal texture of the underlying image.
-id<MTLTexture> MVKImageView::newMTLTexture() {
-    MTLTextureType mtlTextureType = _mtlTextureType;
-    NSRange sliceRange = NSMakeRange(_subresourceRange.baseArrayLayer, _subresourceRange.layerCount);
-    // Fake support for 2D views of 3D textures.
-    if (_image->getImageType() == VK_IMAGE_TYPE_3D &&
-        (mtlTextureType == MTLTextureType2D || mtlTextureType == MTLTextureType2DArray)) {
-        mtlTextureType = MTLTextureType3D;
-        sliceRange = NSMakeRange(0, 1);
-    }
-    if (_device->_pMetalFeatures->nativeTextureSwizzle && _packedSwizzle) {
-        return [_image->getMTLTexture() newTextureViewWithPixelFormat: _mtlPixelFormat
-                                                          textureType: mtlTextureType
-                                                               levels: NSMakeRange(_subresourceRange.baseMipLevel, _subresourceRange.levelCount)
-                                                               slices: sliceRange
-                                                              swizzle: mvkMTLTextureSwizzleChannelsFromVkComponentMapping(mvkUnpackSwizzle(_packedSwizzle))];	// retained
-    } else {
-        return [_image->getMTLTexture() newTextureViewWithPixelFormat: _mtlPixelFormat
-                                                          textureType: mtlTextureType
-                                                               levels: NSMakeRange(_subresourceRange.baseMipLevel, _subresourceRange.levelCount)
-                                                               slices: sliceRange];	// retained
-    }
-}
-
-
 #pragma mark Construction
 
 MVKImageView::MVKImageView(MVKDevice* device,
@@ -1156,6 +1349,8 @@
 						   const MVKConfiguration* pAltMVKConfig) : MVKVulkanAPIDeviceObject(device) {
 	_image = (MVKImage*)pCreateInfo->image;
 	_usage = _image->_usage;
+    _mtlTextureType = mvkMTLTextureTypeFromVkImageViewType(pCreateInfo->viewType,
+    _image->getSampleCount() != VK_SAMPLE_COUNT_1_BIT);
 
 	for (const auto* next = (VkBaseInStructure*)pCreateInfo->pNext; next; next = next->pNext) {
 		switch (next->sType) {
@@ -1164,12 +1359,32 @@
 				if (!(pViewUsageInfo->usage & ~_usage)) { _usage = pViewUsageInfo->usage; }
 				break;
 			}
+            /* case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR: {
+                const VkSamplerYcbcrConversionInfoKHR* sampConvInfo = (const VkSamplerYcbcrConversionInfoKHR*)next;
+                break;
+            } */
 			default:
 				break;
 		}
 	}
 
-	validateImageViewConfig(pCreateInfo);
+    // Validate whether the image view configuration can be supported
+    if ( _image ) {
+        VkImageType imgType = _image->getImageType();
+        VkImageViewType viewType = pCreateInfo->viewType;
+
+        // VK_KHR_maintenance1 supports taking 2D image views of 3D slices. No dice in Metal.
+        if ((viewType == VK_IMAGE_VIEW_TYPE_2D || viewType == VK_IMAGE_VIEW_TYPE_2D_ARRAY) && (imgType == VK_IMAGE_TYPE_3D)) {
+            if (pCreateInfo->subresourceRange.layerCount != _image->_extent.depth) {
+                reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCreateImageView(): Metal does not fully support views on a subset of a 3D texture.");
+            }
+            if ( !mvkIsAnyFlagEnabled(_usage, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT) ) {
+                setConfigurationResult(reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCreateImageView(): 2D views on 3D images can only be used as color attachments."));
+            } else if (mvkIsOnlyAnyFlagEnabled(_usage, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT)) {
+                reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCreateImageView(): 2D views on 3D images can only be used as color attachments.");
+            }
+        }
+    }
 
 	// Remember the subresource range, and determine the actual number of mip levels and texture slices
     _subresourceRange = pCreateInfo->subresourceRange;
@@ -1180,50 +1395,40 @@
 		_subresourceRange.layerCount = _image->getLayerCount() - _subresourceRange.baseArrayLayer;
 	}
 
-	_mtlTexture = nil;
-	bool useSwizzle;
-	setConfigurationResult(validateSwizzledMTLPixelFormat(pCreateInfo, getPixelFormats(), this,
-														  _device->_pMetalFeatures->nativeTextureSwizzle,
-														  _device->_pMVKConfig->fullImageViewSwizzle,
-														  _mtlPixelFormat, useSwizzle));
-	_packedSwizzle = useSwizzle ? mvkPackSwizzle(pCreateInfo->components) : 0;
-	_mtlTextureType = mvkMTLTextureTypeFromVkImageViewType(pCreateInfo->viewType,
-														   _image->getSampleCount() != VK_SAMPLE_COUNT_1_BIT);
-	initMTLTextureViewSupport();
-}
-
-// Validate whether the image view configuration can be supported
-void MVKImageView::validateImageViewConfig(const VkImageViewCreateInfo* pCreateInfo) {
-
-	// No image if we are just validating view config
-	MVKImage* image = (MVKImage*)pCreateInfo->image;
-	if ( !image ) { return; }
-
-	VkImageType imgType = image->getImageType();
-	VkImageViewType viewType = pCreateInfo->viewType;
-
-	// VK_KHR_maintenance1 supports taking 2D image views of 3D slices. No dice in Metal.
-	if ((viewType == VK_IMAGE_VIEW_TYPE_2D || viewType == VK_IMAGE_VIEW_TYPE_2D_ARRAY) && (imgType == VK_IMAGE_TYPE_3D)) {
-		if (pCreateInfo->subresourceRange.layerCount != image->_extent.depth) {
-			reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCreateImageView(): Metal does not fully support views on a subset of a 3D texture.");
-		}
-		if ( !mvkIsAnyFlagEnabled(_usage, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT) ) {
-			setConfigurationResult(reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCreateImageView(): 2D views on 3D images can only be used as color attachments."));
-		} else if (mvkIsOnlyAnyFlagEnabled(_usage, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT)) {
-			reportError(VK_ERROR_FEATURE_NOT_PRESENT, "vkCreateImageView(): 2D views on 3D images can only be used as color attachments.");
-		}
-	}
+    VkExtent2D blockTexelSizeOfPlane[3];
+    uint32_t bytesPerBlockOfPlane[3];
+    MTLPixelFormat mtlPixFmtOfPlane[3];
+    uint8_t subsamplingPlaneCount = getPixelFormats()->getChromaSubsamplingPlanes(pCreateInfo->format, blockTexelSizeOfPlane, bytesPerBlockOfPlane, mtlPixFmtOfPlane),
+            beginPlaneIndex = 0,
+            endPlaneIndex = subsamplingPlaneCount;
+    if (subsamplingPlaneCount == 0) {
+        endPlaneIndex = 1;
+        mtlPixFmtOfPlane[0] = getPixelFormats()->getMTLPixelFormat(pCreateInfo->format);
+    } else {
+        if (!mvkVkComponentMappingsMatch(pCreateInfo->components, {VK_COMPONENT_SWIZZLE_R, VK_COMPONENT_SWIZZLE_G, VK_COMPONENT_SWIZZLE_B, VK_COMPONENT_SWIZZLE_A})) {
+            setConfigurationResult(reportError(VK_ERROR_FEATURE_NOT_PRESENT, "Image view swizzling for multi planar formats is not supported."));
+        }
+        if (_subresourceRange.aspectMask & (VK_IMAGE_ASPECT_PLANE_0_BIT | VK_IMAGE_ASPECT_PLANE_1_BIT | VK_IMAGE_ASPECT_PLANE_2_BIT)) {
+            beginPlaneIndex = endPlaneIndex = MVKImage::getPlaneFromVkImageAspectFlags(_subresourceRange.aspectMask);
+        }
+    }
+    for (uint8_t planeIndex = beginPlaneIndex; planeIndex < endPlaneIndex; planeIndex++) {
+        _planes.push_back(std::unique_ptr<MVKImageViewPlane>(new MVKImageViewPlane(
+            this,
+            planeIndex,
+            mtlPixFmtOfPlane[planeIndex],
+            pCreateInfo
+        )));
+    }
 }
 
 VkResult MVKImageView::validateSwizzledMTLPixelFormat(const VkImageViewCreateInfo* pCreateInfo,
-													  MVKPixelFormats* mvkPixFmts,
 													  MVKVulkanAPIObject* apiObject,
 													  bool hasNativeSwizzleSupport,
 													  bool hasShaderSwizzleSupport,
 													  MTLPixelFormat& mtlPixFmt,
 													  bool& useSwizzle) {
 	useSwizzle = false;
-	mtlPixFmt = mvkPixFmts->getMTLPixelFormat(pCreateInfo->format);
 	VkComponentMapping components = pCreateInfo->components;
 
 	#define SWIZZLE_MATCHES(R, G, B, A)    mvkVkComponentMappingsMatch(components, {VK_COMPONENT_SWIZZLE_ ##R, VK_COMPONENT_SWIZZLE_ ##G, VK_COMPONENT_SWIZZLE_ ##B, VK_COMPONENT_SWIZZLE_ ##A} )
@@ -1231,6 +1436,16 @@
 
 	// If we have an identity swizzle, we're all good.
 	if (SWIZZLE_MATCHES(R, G, B, A)) {
+		// Change to stencil-only format if only stencil aspect is requested
+		if (pCreateInfo->subresourceRange.aspectMask == VK_IMAGE_ASPECT_STENCIL_BIT) {
+			if (mtlPixFmt == MTLPixelFormatDepth32Float_Stencil8)
+				mtlPixFmt = MTLPixelFormatX32_Stencil8;
+#if MVK_MACOS
+			else if (mtlPixFmt == MTLPixelFormatDepth24Unorm_Stencil8)
+				mtlPixFmt = MTLPixelFormatX24_Stencil8;
+#endif
+		}
+
 		return VK_SUCCESS;
 	}
 
@@ -1319,32 +1534,90 @@
 								  mvkVkComponentSwizzleName(components.b), mvkVkComponentSwizzleName(components.a));
 }
 
-// Determine whether this image view should use a Metal texture view,
-// and set the _useMTLTextureView variable appropriately.
-void MVKImageView::initMTLTextureViewSupport() {
 
-	// If no image we're just validating image iview config
-	if ( !_image ) {
-		_useMTLTextureView = false;
-		return;
-	}
+#pragma mark -
+#pragma mark MVKSamplerYcbcrConversion
 
-	_useMTLTextureView = _image->_canSupportMTLTextureView;
+void MVKSamplerYcbcrConversion::updateConstExprSampler(MSLConstexprSampler& constExprSampler) const {
+	constExprSampler.planes = _planes;
+	constExprSampler.resolution = _resolution;
+	constExprSampler.chroma_filter = _chroma_filter;
+	constExprSampler.x_chroma_offset = _x_chroma_offset;
+	constExprSampler.y_chroma_offset = _y_chroma_offset;
+    for (uint32_t i = 0; i < 4; ++i) {
+		constExprSampler.swizzle[i] = _swizzle[i];
+    }
+	constExprSampler.ycbcr_model = _ycbcr_model;
+	constExprSampler.ycbcr_range = _ycbcr_range;
+    constExprSampler.bpc = _bpc;
+	constExprSampler.ycbcr_conversion_enable = true;
+}
 
-	bool is3D = _image->_mtlTextureType == MTLTextureType3D;
-	// If the view is identical to underlying image, don't bother using a Metal view
-	if (_mtlPixelFormat == _image->_mtlPixelFormat &&
-		(_mtlTextureType == _image->_mtlTextureType ||
-		 ((_mtlTextureType == MTLTextureType2D || _mtlTextureType == MTLTextureType2DArray) && is3D)) &&
-		_subresourceRange.levelCount == _image->_mipLevels &&
-		(is3D || _subresourceRange.layerCount == _image->_arrayLayers) &&
-		(!_device->_pMetalFeatures->nativeTextureSwizzle || !_packedSwizzle)) {
-		_useMTLTextureView = false;
+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 MSLChromaLocation getSpvChromaLocationFromVkChromaLocation(VkChromaLocation vkChromaLocation) {
+	switch (vkChromaLocation) {
+		default:
+		case VK_CHROMA_LOCATION_COSITED_EVEN:   return MSL_CHROMA_LOCATION_COSITED_EVEN;
+		case VK_CHROMA_LOCATION_MIDPOINT:       return MSL_CHROMA_LOCATION_MIDPOINT;
 	}
 }
 
-MVKImageView::~MVKImageView() {
-	[_mtlTexture release];
+static MSLComponentSwizzle getSpvComponentSwizzleFromVkComponentMapping(VkComponentSwizzle vkComponentSwizzle) {
+	switch (vkComponentSwizzle) {
+		default:
+		case VK_COMPONENT_SWIZZLE_IDENTITY:     return MSL_COMPONENT_SWIZZLE_IDENTITY;
+		case VK_COMPONENT_SWIZZLE_ZERO:         return MSL_COMPONENT_SWIZZLE_ZERO;
+		case VK_COMPONENT_SWIZZLE_ONE:          return MSL_COMPONENT_SWIZZLE_ONE;
+		case VK_COMPONENT_SWIZZLE_R:            return MSL_COMPONENT_SWIZZLE_R;
+		case VK_COMPONENT_SWIZZLE_G:            return MSL_COMPONENT_SWIZZLE_G;
+		case VK_COMPONENT_SWIZZLE_B:            return MSL_COMPONENT_SWIZZLE_B;
+		case VK_COMPONENT_SWIZZLE_A:            return MSL_COMPONENT_SWIZZLE_A;
+	}
+}
+
+static MSLSamplerYCbCrModelConversion getSpvSamplerYCbCrModelConversionFromVkSamplerYcbcrModelConversion(VkSamplerYcbcrModelConversion vkSamplerYcbcrModelConversion) {
+	switch (vkSamplerYcbcrModelConversion) {
+		default:
+		case VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY:   return MSL_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY;
+		case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY: return MSL_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY;
+		case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709:      return MSL_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_BT_709;
+		case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601:      return MSL_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_BT_601;
+		case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020:     return MSL_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_BT_2020;
+	}
+}
+
+static MSLSamplerYCbCrRange getSpvSamplerYcbcrRangeFromVkSamplerYcbcrRange(VkSamplerYcbcrRange vkSamplerYcbcrRange) {
+	switch (vkSamplerYcbcrRange) {
+		default:
+		case VK_SAMPLER_YCBCR_RANGE_ITU_FULL:   return MSL_SAMPLER_YCBCR_RANGE_ITU_FULL;
+		case VK_SAMPLER_YCBCR_RANGE_ITU_NARROW: return MSL_SAMPLER_YCBCR_RANGE_ITU_NARROW;
+	}
+}
+
+MVKSamplerYcbcrConversion::MVKSamplerYcbcrConversion(MVKDevice* device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo) : MVKVulkanAPIDeviceObject(device) {
+	MVKPixelFormats* pixFmts = getPixelFormats();
+	_planes = pixFmts->getChromaSubsamplingPlaneCount(pCreateInfo->format);
+	_bpc = pixFmts->getChromaSubsamplingComponentBits(pCreateInfo->format);
+	_resolution = pixFmts->getChromaSubsamplingResolution(pCreateInfo->format);
+	_chroma_filter = getSpvMinMagFilterFromVkFilter(pCreateInfo->chromaFilter);
+	_x_chroma_offset = getSpvChromaLocationFromVkChromaLocation(pCreateInfo->xChromaOffset);
+	_y_chroma_offset = getSpvChromaLocationFromVkChromaLocation(pCreateInfo->yChromaOffset);
+	_swizzle[0] = getSpvComponentSwizzleFromVkComponentMapping(pCreateInfo->components.r);
+	_swizzle[1] = getSpvComponentSwizzleFromVkComponentMapping(pCreateInfo->components.g);
+	_swizzle[2] = getSpvComponentSwizzleFromVkComponentMapping(pCreateInfo->components.b);
+	_swizzle[3] = getSpvComponentSwizzleFromVkComponentMapping(pCreateInfo->components.a);
+	_ycbcr_model = getSpvSamplerYCbCrModelConversionFromVkSamplerYcbcrModelConversion(pCreateInfo->ycbcrModel);
+	_ycbcr_range = getSpvSamplerYcbcrRangeFromVkSamplerYcbcrRange(pCreateInfo->ycbcrRange);
+	_forceExplicitReconstruction = pCreateInfo->forceExplicitReconstruction;
 }
 
 
@@ -1405,7 +1678,20 @@
 }
 
 MVKSampler::MVKSampler(MVKDevice* device, const VkSamplerCreateInfo* pCreateInfo) : MVKVulkanAPIDeviceObject(device) {
-	_requiresConstExprSampler = pCreateInfo->compareEnable && !_device->_pMetalFeatures->depthSampleCompare;
+    _ycbcrConversion = NULL;
+    for (const auto* next = (const VkBaseInStructure*)pCreateInfo->pNext; next; next = next->pNext) {
+		switch (next->sType) {
+			case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR: {
+				const VkSamplerYcbcrConversionInfoKHR* sampConvInfo = (const VkSamplerYcbcrConversionInfoKHR*)next;
+				_ycbcrConversion = (MVKSamplerYcbcrConversion*)(sampConvInfo->conversion);
+				break;
+			}
+			default:
+				break;
+		}
+	}
+
+	_requiresConstExprSampler = (pCreateInfo->compareEnable && !_device->_pMetalFeatures->depthSampleCompare) || _ycbcrConversion;
 
 	MTLSamplerDescriptor* mtlSampDesc = newMTLSamplerDescriptor(pCreateInfo);	// temp retain
     _mtlSamplerState = [getMTLDevice() newSamplerStateWithDescriptor: mtlSampDesc];
@@ -1414,16 +1700,6 @@
 	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;
@@ -1479,7 +1755,7 @@
 			return MSL_SAMPLER_BORDER_COLOR_TRANSPARENT_BLACK;
 	}
 }
-\
+
 void MVKSampler::initConstExprSampler(const VkSamplerCreateInfo* pCreateInfo) {
 	if ( !_requiresConstExprSampler ) { return; }
 
@@ -1498,6 +1774,9 @@
 	_constExprSampler.compare_enable = pCreateInfo->compareEnable;
 	_constExprSampler.lod_clamp_enable = false;
 	_constExprSampler.anisotropy_enable = pCreateInfo->anisotropyEnable;
+    if (_ycbcrConversion) {
+        _ycbcrConversion->updateConstExprSampler(_constExprSampler);
+    }
 }
 
 MVKSampler::~MVKSampler() {
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKInstance.mm b/MoltenVK/MoltenVK/GPUObjects/MVKInstance.mm
index 4e618f4..7e466d6 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKInstance.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKInstance.mm
@@ -622,6 +622,8 @@
 	ADD_DVC_EXT_ENTRY_POINT(vkGetDescriptorSetLayoutSupportKHR, KHR_MAINTENANCE3);
 	ADD_DVC_EXT_ENTRY_POINT(vkCmdPushDescriptorSetKHR, KHR_PUSH_DESCRIPTOR);
 	ADD_DVC_EXT2_ENTRY_POINT(vkCmdPushDescriptorSetWithTemplateKHR, KHR_PUSH_DESCRIPTOR, KHR_DESCRIPTOR_UPDATE_TEMPLATE);
+	ADD_DVC_EXT_ENTRY_POINT(vkCreateSamplerYcbcrConversionKHR, KHR_SAMPLER_YCBCR_CONVERSION);
+	ADD_DVC_EXT_ENTRY_POINT(vkDestroySamplerYcbcrConversionKHR, KHR_SAMPLER_YCBCR_CONVERSION);
 	ADD_DVC_EXT_ENTRY_POINT(vkCreateSwapchainKHR, KHR_SWAPCHAIN);
 	ADD_DVC_EXT_ENTRY_POINT(vkDestroySwapchainKHR, KHR_SWAPCHAIN);
 	ADD_DVC_EXT_ENTRY_POINT(vkGetSwapchainImagesKHR, KHR_SWAPCHAIN);
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.h b/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.h
index 9503ba9..5f01d27 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.h
@@ -184,6 +184,13 @@
 #pragma mark -
 #pragma mark MVKGraphicsPipeline
 
+/** Describes a buffer binding to accommodate vertex attributes with offsets greater than the stride. */
+struct MVKTranslatedVertexBinding {
+	uint16_t binding;
+	uint16_t translationBinding;
+	uint32_t translationOffset;
+};
+
 typedef MVKSmallVector<MVKGraphicsStage, 4> MVKPiplineStages;
 
 /** The number of dynamic states possible in Vulkan. */
@@ -230,6 +237,12 @@
 	/** Returns true if the tessellation control shader needs a buffer to store its per-patch output. */
 	bool needsTessCtlPatchOutputBuffer() { return _needsTessCtlPatchOutputBuffer; }
 
+	/** Returns the Metal vertex buffer index to use for the specified vertex attribute binding number.  */
+	uint32_t getMetalBufferIndexForVertexAttributeBinding(uint32_t binding) { return _device->getMetalBufferIndexForVertexAttributeBinding(binding); }
+
+	/** Returns the collection of translated vertex bindings. */
+	MVKArrayRef<MVKTranslatedVertexBinding> getTranslatedVertexBindings() { return _translatedVertexBindings.contents(); }
+
 	/** Constructs an instance for the device and parent (which may be NULL). */
 	MVKGraphicsPipeline(MVKDevice* device,
 						MVKPipelineCache* pipelineCache,
@@ -260,6 +273,7 @@
     void addFragmentOutputToPipeline(MTLRenderPipelineDescriptor* plDesc, const SPIRVTessReflectionData& reflectData, const VkGraphicsPipelineCreateInfo* pCreateInfo, bool isTessellationVertexPipeline = false);
     bool isRenderingPoints(const VkGraphicsPipelineCreateInfo* pCreateInfo, const SPIRVTessReflectionData& reflectData);
 	bool verifyImplicitBuffer(bool needsBuffer, MVKShaderImplicitRezBinding& index, MVKShaderStage stage, const char* name, uint32_t reservedBuffers);
+	uint32_t getTranslatedVertexBinding(uint32_t binding, uint32_t translationOffset, uint32_t maxBinding);
 
 	const VkPipelineShaderStageCreateInfo* _pVertexSS = nullptr;
 	const VkPipelineShaderStageCreateInfo* _pTessCtlSS = nullptr;
@@ -272,6 +286,7 @@
 
 	MVKSmallVector<VkViewport, kMVKCachedViewportScissorCount> _viewports;
 	MVKSmallVector<VkRect2D, kMVKCachedViewportScissorCount> _scissors;
+	MVKSmallVector<MVKTranslatedVertexBinding> _translatedVertexBindings;
 
 	MTLComputePipelineDescriptor* _mtlTessControlStageDesc = nil;
 
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm b/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm
index 781681a..2afcc78 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm
@@ -953,40 +953,12 @@
         }
     }
 
-    // Vertex attributes
-    uint32_t vaCnt = pVI->vertexAttributeDescriptionCount;
-	uint32_t vbCnt = pVI->vertexBindingDescriptionCount;
-    for (uint32_t i = 0; i < vaCnt; i++) {
-        const VkVertexInputAttributeDescription* pVKVA = &pVI->pVertexAttributeDescriptions[i];
-        if (shaderContext.isVertexAttributeLocationUsed(pVKVA->location)) {
-
-      // Vulkan allows offsets to exceed the buffer stride, but Metal doesn't.
-			// Only check non-zero offsets, as it's common for both to be zero when step rate is instance.
-			if (pVKVA->offset > 0) {
-				const VkVertexInputBindingDescription* pVKVB = pVI->pVertexBindingDescriptions;
-				for (uint32_t j = 0; j < vbCnt; j++, pVKVB++) {
-					if (pVKVB->binding == pVKVA->binding) {
-						if (pVKVA->offset >= pVKVB->stride) {
-							setConfigurationResult(reportError(VK_ERROR_INITIALIZATION_FAILED, "Under Metal, vertex attribute offsets must not exceed the vertex buffer stride."));
-							return false;
-						}
-						break;
-					}
-				}
-			}
-
-			MTLVertexAttributeDescriptor* vaDesc = plDesc.vertexDescriptor.attributes[pVKVA->location];
-            vaDesc.format = getPixelFormats()->getMTLVertexFormat(pVKVA->format);
-            vaDesc.bufferIndex = _device->getMetalBufferIndexForVertexAttributeBinding(pVKVA->binding);
-            vaDesc.offset = pVKVA->offset;
-        }
-    }
-
     // Vertex buffer bindings
+	uint32_t vbCnt = pVI->vertexBindingDescriptionCount;
+	uint32_t maxBinding = 0;
     for (uint32_t i = 0; i < vbCnt; i++) {
         const VkVertexInputBindingDescription* pVKVB = &pVI->pVertexBindingDescriptions[i];
-        uint32_t vbIdx = _device->getMetalBufferIndexForVertexAttributeBinding(pVKVB->binding);
-        if (shaderContext.isVertexBufferUsed(vbIdx)) {
+        if (shaderContext.isVertexBufferUsed(pVKVB->binding)) {
 
 			// Vulkan allows any stride, but Metal only allows multiples of 4.
             // TODO: We should try to expand the buffer to the required alignment in that case.
@@ -995,10 +967,20 @@
                 return false;
             }
 
+			maxBinding = max(pVKVB->binding, maxBinding);
+			uint32_t vbIdx = getMetalBufferIndexForVertexAttributeBinding(pVKVB->binding);
 			MTLVertexBufferLayoutDescriptor* vbDesc = plDesc.vertexDescriptor.layouts[vbIdx];
-			vbDesc.stride = (pVKVB->stride == 0) ? sizeof(simd::float4) : pVKVB->stride;      // Vulkan allows zero stride but Metal doesn't. Default to float4
-            vbDesc.stepFunction = mvkMTLVertexStepFunctionFromVkVertexInputRate(pVKVB->inputRate);
-            vbDesc.stepRate = 1;
+			if (pVKVB->stride == 0) {
+				// Stride can't be 0, it will be set later to attributes' maximum offset + size
+				// to prevent it from being larger than the underlying buffer permits.
+				vbDesc.stride = 0;
+				vbDesc.stepFunction = MTLVertexStepFunctionConstant;
+				vbDesc.stepRate = 0;
+			} else {
+				vbDesc.stride = pVKVB->stride;
+				vbDesc.stepFunction = mvkMTLVertexStepFunctionFromVkVertexInputRate(pVKVB->inputRate);
+				vbDesc.stepRate = 1;
+			}
         }
     }
 
@@ -1007,7 +989,7 @@
         vbCnt = pVertexInputDivisorState->vertexBindingDivisorCount;
         for (uint32_t i = 0; i < vbCnt; i++) {
             const VkVertexInputBindingDivisorDescriptionEXT* pVKVB = &pVertexInputDivisorState->pVertexBindingDivisors[i];
-            uint32_t vbIdx = _device->getMetalBufferIndexForVertexAttributeBinding(pVKVB->binding);
+            uint32_t vbIdx = getMetalBufferIndexForVertexAttributeBinding(pVKVB->binding);
             if (shaderContext.isVertexBufferUsed(vbIdx)) {
                 MTLVertexBufferLayoutDescriptor* vbDesc = plDesc.vertexDescriptor.layouts[vbIdx];
                 if (vbDesc.stepFunction == MTLVertexStepFunctionPerInstance) {
@@ -1019,9 +1001,98 @@
         }
     }
 
+	// Vertex attributes
+	uint32_t vaCnt = pVI->vertexAttributeDescriptionCount;
+	for (uint32_t i = 0; i < vaCnt; i++) {
+		const VkVertexInputAttributeDescription* pVKVA = &pVI->pVertexAttributeDescriptions[i];
+		if (shaderContext.isVertexAttributeLocationUsed(pVKVA->location)) {
+			uint32_t vaBinding = pVKVA->binding;
+			uint32_t vaOffset = pVKVA->offset;
+
+			// Vulkan allows offsets to exceed the buffer stride, but Metal doesn't.
+			// If this is the case, fetch an a translated artificial buffer binding, using the same MTLBuffer,
+			// but that is translated so that the reduced VA offset fits into the binding stride.
+			const VkVertexInputBindingDescription* pVKVB = pVI->pVertexBindingDescriptions;
+			for (uint32_t j = 0; j < vbCnt; j++, pVKVB++) {
+				if (pVKVB->binding == pVKVA->binding) {
+					uint32_t attrSize = getPixelFormats()->getBytesPerBlock(pVKVA->format);
+					if (pVKVB->stride == 0) {
+						// The step is set to constant, but we need to change stride to be non-zero for metal.
+						// Look for the maximum offset + size to set as the stride.
+						uint32_t vbIdx = getMetalBufferIndexForVertexAttributeBinding(pVKVB->binding);
+						MTLVertexBufferLayoutDescriptor* vbDesc = plDesc.vertexDescriptor.layouts[vbIdx];
+						uint32_t strideLowBound = vaOffset + attrSize;
+						if (vbDesc.stride < strideLowBound) vbDesc.stride = strideLowBound;
+					} else if (vaOffset >= pVKVB->stride) {
+						// Move vertex attribute offset into the stride. This vertex attribute may be
+						// combined with other vertex attributes into the same translated buffer binding.
+						// But if the reduced offset combined with the vertex attribute size still won't
+						// fit into the buffer binding stride, force the vertex attribute offset to zero,
+						// effectively dedicating this vertex attribute to its own buffer binding.
+						uint32_t origOffset = vaOffset;
+						vaOffset %= pVKVB->stride;
+						if (vaOffset + attrSize > pVKVB->stride) {
+							vaOffset = 0;
+						}
+						vaBinding = getTranslatedVertexBinding(vaBinding, origOffset - vaOffset, maxBinding);
+					}
+					break;
+				}
+			}
+
+			MTLVertexAttributeDescriptor* vaDesc = plDesc.vertexDescriptor.attributes[pVKVA->location];
+			vaDesc.format = getPixelFormats()->getMTLVertexFormat(pVKVA->format);
+			vaDesc.bufferIndex = getMetalBufferIndexForVertexAttributeBinding(vaBinding);
+			vaDesc.offset = vaOffset;
+		}
+	}
+
+	// Run through the vertex bindings. Add a new Metal vertex layout for each translated binding,
+	// identical to the original layout. The translated binding will index into the same MTLBuffer,
+	// but at an offset that is one or more strides away from the original.
+	for (uint32_t i = 0; i < vbCnt; i++) {
+		const VkVertexInputBindingDescription* pVKVB = &pVI->pVertexBindingDescriptions[i];
+		uint32_t vbVACnt = shaderContext.countVertexAttributesAt(pVKVB->binding);
+		if (vbVACnt > 0) {
+			uint32_t vbIdx = getMetalBufferIndexForVertexAttributeBinding(pVKVB->binding);
+			MTLVertexBufferLayoutDescriptor* vbDesc = plDesc.vertexDescriptor.layouts[vbIdx];
+
+			uint32_t xldtVACnt = 0;
+			for (auto& xltdBind : _translatedVertexBindings) {
+				if (xltdBind.binding == pVKVB->binding) {
+					uint32_t vbXltdIdx = getMetalBufferIndexForVertexAttributeBinding(xltdBind.translationBinding);
+					MTLVertexBufferLayoutDescriptor* vbXltdDesc = plDesc.vertexDescriptor.layouts[vbXltdIdx];
+					vbXltdDesc.stride = vbDesc.stride;
+					vbXltdDesc.stepFunction = vbDesc.stepFunction;
+					vbXltdDesc.stepRate = vbDesc.stepRate;
+					xldtVACnt++;
+				}
+			}
+
+			// If all of the vertex attributes at this vertex buffer binding have been translated, remove it.
+			if (xldtVACnt == vbVACnt) { vbDesc.stride = 0; }
+		}
+	}
+
 	return true;
 }
 
+// Returns a translated binding for the existing binding and translation offset, creating it if needed.
+uint32_t MVKGraphicsPipeline::getTranslatedVertexBinding(uint32_t binding, uint32_t translationOffset, uint32_t maxBinding) {
+	// See if a translated binding already exists (for example if more than one VA needs the same translation).
+	for (auto& xltdBind : _translatedVertexBindings) {
+		if (xltdBind.binding == binding && xltdBind.translationOffset == translationOffset) {
+			return xltdBind.translationBinding;
+		}
+	}
+
+	// Get next available binding point and add a translation binding description for it
+	uint16_t xltdBindPt = (uint16_t)(maxBinding + _translatedVertexBindings.size() + 1);
+	_translatedVertexBindings.push_back( {.binding = (uint16_t)binding, .translationBinding = xltdBindPt, .translationOffset = translationOffset} );
+
+	return xltdBindPt;
+}
+
 void MVKGraphicsPipeline::addTessellationToPipeline(MTLRenderPipelineDescriptor* plDesc,
 													const SPIRVTessReflectionData& reflectData,
 													const VkPipelineTessellationStateCreateInfo* pTS) {
@@ -1186,8 +1257,7 @@
         // Set binding and offset from Vulkan vertex attribute
         MSLVertexAttribute va;
         va.vertexAttribute.location = pVKVA->location;
-        va.vertexAttribute.msl_buffer = _device->getMetalBufferIndexForVertexAttributeBinding(pVKVA->binding);
-        va.vertexAttribute.msl_offset = pVKVA->offset;
+        va.binding = pVKVA->binding;
 
         // 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
@@ -1223,17 +1293,6 @@
 
         }
 
-        // Set stride and input rate of vertex attribute from corresponding Vulkan vertex bindings
-        uint32_t vbCnt = pCreateInfo->pVertexInputState->vertexBindingDescriptionCount;
-        for (uint32_t vbIdx = 0; vbIdx < vbCnt; vbIdx++) {
-            const VkVertexInputBindingDescription* pVKVB = &pCreateInfo->pVertexInputState->pVertexBindingDescriptions[vbIdx];
-            if (pVKVB->binding == pVKVA->binding) {
-                va.vertexAttribute.msl_stride = pVKVB->stride;
-                va.vertexAttribute.per_instance = (pVKVB->inputRate == VK_VERTEX_INPUT_RATE_INSTANCE);
-                break;
-            }
-        }
-
         shaderContext.vertexAttributes.push_back(va);
     }
 }
@@ -1652,10 +1711,6 @@
 	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);
 	}
@@ -1731,6 +1786,7 @@
 	template<class Archive>
 	void serialize(Archive & archive, MSLVertexAttribute& va) {
 		archive(va.vertexAttribute,
+				va.binding,
 				va.isUsedByShader);
 	}
 
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKPixelFormats.h b/MoltenVK/MoltenVK/GPUObjects/MVKPixelFormats.h
index 7e124f1..e7b657d 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKPixelFormats.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKPixelFormats.h
@@ -21,6 +21,7 @@
 #include "mvk_datatypes.h"
 #include "MVKEnvironment.h"
 #include "MVKBaseObject.h"
+#include <SPIRV-Cross/spirv_msl.hpp>
 #include <unordered_map>
 
 #import <Metal/Metal.h>
@@ -70,6 +71,8 @@
 	kMVKMTLFmtCapsDRMR     = (kMVKMTLFmtCapsDRM | kMVKMTLFmtCapsResolve),
 	kMVKMTLFmtCapsDRFMR    = (kMVKMTLFmtCapsDRMR | kMVKMTLFmtCapsFilter),
 
+	kMVKMTLFmtCapsChromaSubsampling = kMVKMTLFmtCapsRF,
+	kMVKMTLFmtCapsMultiPlanar = kMVKMTLFmtCapsChromaSubsampling,
 } MVKMTLFmtCaps;
 
 
@@ -83,22 +86,22 @@
 	MTLPixelFormat mtlPixelFormatSubstitute;
 	MTLVertexFormat mtlVertexFormat;
 	MTLVertexFormat mtlVertexFormatSubstitute;
+    uint8_t chromaSubsamplingPlaneCount;
+    uint8_t chromaSubsamplingComponentBits;
 	VkExtent2D blockTexelSize;
 	uint32_t bytesPerBlock;
 	MVKFormatType formatType;
 	VkFormatProperties properties;
 	const char* name;
 	bool hasReportedSubstitution;
+    
+    inline double bytesPerTexel() const { return (double)bytesPerBlock / (double)(blockTexelSize.width * blockTexelSize.height); };
 
-	inline double bytesPerTexel() const { return (double)bytesPerBlock / (double)(blockTexelSize.width * blockTexelSize.height); };
-
-	inline bool isSupported() const { return (mtlPixelFormat != MTLPixelFormatInvalid); };
+	inline bool isSupported() const { return (mtlPixelFormat != MTLPixelFormatInvalid || chromaSubsamplingPlaneCount > 0); };
 	inline bool isSupportedOrSubstitutable() const { return isSupported() || (mtlPixelFormatSubstitute != MTLPixelFormatInvalid); };
-	inline MTLPixelFormat getMTLPixelFormatOrSubstitute() const { return mtlPixelFormat ? mtlPixelFormat : mtlPixelFormatSubstitute; }
 
 	inline bool vertexIsSupported() const { return (mtlVertexFormat != MTLVertexFormatInvalid); };
 	inline bool vertexIsSupportedOrSubstitutable() const { return vertexIsSupported() || (mtlVertexFormatSubstitute != MTLVertexFormatInvalid); };
-	inline MTLVertexFormat getMTLVertexFormatOrSubstitute() const { return mtlVertexFormat ? mtlVertexFormat : mtlVertexFormatSubstitute; }
 } MVKVkFormatDesc;
 
 /** Describes the properties of a MTLPixelFormat or MTLVertexFormat. */
@@ -176,16 +179,28 @@
 
 	/**
 	 * Returns the size of the compression block, measured in texels for a Vulkan format.
-	 * The returned value will be {1, 1} for non-compressed formats.
+	 * The returned value will be {1, 1} for non-compressed formats without chroma-subsampling.
 	 */
 	VkExtent2D getBlockTexelSize(VkFormat vkFormat);
 
 	/**
 	 * Returns the size of the compression block, measured in texels for a Metal format.
-	 * The returned value will be {1, 1} for non-compressed formats.
+	 * The returned value will be {1, 1} for non-compressed formats without chroma-subsampling.
 	 */
 	VkExtent2D getBlockTexelSize(MTLPixelFormat mtlFormat);
 
+	/** Returns the number of planes of the specified chroma-subsampling (YCbCr) VkFormat */
+	uint8_t getChromaSubsamplingPlaneCount(VkFormat vkFormat);
+
+	/** Returns the number of bits per channel of the specified chroma-subsampling (YCbCr) VkFormat */
+	uint8_t getChromaSubsamplingComponentBits(VkFormat vkFormat);
+
+	/** Returns the MSLFormatResolution of the specified chroma-subsampling (YCbCr) VkFormat */
+	SPIRV_CROSS_NAMESPACE::MSLFormatResolution getChromaSubsamplingResolution(VkFormat vkFormat);
+
+    /** Returns the number of planes, blockTexelSize,  bytesPerBlock and mtlPixFmt of each plane of the specified chroma-subsampling (YCbCr) VkFormat into the given arrays */
+    uint8_t getChromaSubsamplingPlanes(VkFormat vkFormat, VkExtent2D blockTexelSize[3], uint32_t bytesPerBlock[3], MTLPixelFormat mtlPixFmt[3]);
+
 	/**
 	 * Returns the size, in bytes, of a texel of the specified Vulkan format.
 	 * The returned value may be fractional for certain compressed formats.
@@ -236,7 +251,7 @@
 	/** Returns the default properties for the specified Vulkan format. */
 	VkFormatProperties& getVkFormatProperties(VkFormat vkFormat);
 
-	/** Returns the Metal format capabilities supported by the specified Vulkan format. */
+	/** Returns the Metal format capabilities supported by the specified Vulkan format, without substitution. */
 	MVKMTLFmtCaps getCapabilities(VkFormat vkFormat);
 
 	/** Returns the Metal format capabilities supported by the specified Metal format. */
@@ -288,9 +303,7 @@
 protected:
 	MVKVkFormatDesc& getVkFormatDesc(VkFormat vkFormat);
 	MVKVkFormatDesc& getVkFormatDesc(MTLPixelFormat mtlFormat);
-	MVKMTLFormatDesc& getMTLPixelFormatDesc(VkFormat vkFormat);
 	MVKMTLFormatDesc& getMTLPixelFormatDesc(MTLPixelFormat mtlFormat);
-	MVKMTLFormatDesc& getMTLVertexFormatDesc(VkFormat vkFormat);
 	MVKMTLFormatDesc& getMTLVertexFormatDesc(MTLVertexFormat mtlFormat);
 	void initVkFormatCapabilities();
 	void initMTLPixelFormatCapabilities();
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKPixelFormats.mm b/MoltenVK/MoltenVK/GPUObjects/MVKPixelFormats.mm
index 361358c..912a873 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKPixelFormats.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKPixelFormats.mm
@@ -236,6 +236,61 @@
     return getVkFormatDesc(mtlFormat).blockTexelSize;
 }
 
+uint8_t MVKPixelFormats::getChromaSubsamplingPlaneCount(VkFormat vkFormat) {
+    return getVkFormatDesc(vkFormat).chromaSubsamplingPlaneCount;
+}
+
+uint8_t MVKPixelFormats::getChromaSubsamplingComponentBits(VkFormat vkFormat) {
+    return getVkFormatDesc(vkFormat).chromaSubsamplingComponentBits;
+}
+
+SPIRV_CROSS_NAMESPACE::MSLFormatResolution MVKPixelFormats::getChromaSubsamplingResolution(VkFormat vkFormat) {
+    VkExtent2D blockTexelSize = getVkFormatDesc(vkFormat).blockTexelSize;
+    return (blockTexelSize.width != 2) ? SPIRV_CROSS_NAMESPACE::MSL_FORMAT_RESOLUTION_444
+        : (blockTexelSize.height != 2) ? SPIRV_CROSS_NAMESPACE::MSL_FORMAT_RESOLUTION_422
+                                       : SPIRV_CROSS_NAMESPACE::MSL_FORMAT_RESOLUTION_420;
+}
+
+uint8_t MVKPixelFormats::getChromaSubsamplingPlanes(VkFormat vkFormat, VkExtent2D blockTexelSize[3], uint32_t bytesPerBlock[3], MTLPixelFormat mtlPixFmt[3]) {
+    uint8_t planes = getChromaSubsamplingPlaneCount(vkFormat);
+    uint8_t bits = getChromaSubsamplingComponentBits(vkFormat);
+    SPIRV_CROSS_NAMESPACE::MSLFormatResolution resolution = getChromaSubsamplingResolution(vkFormat);
+    bytesPerBlock[0] = mvkCeilingDivide((uint32_t)bits/8U, 1U);
+    switch(resolution) {
+        default:
+            return 0;
+        case SPIRV_CROSS_NAMESPACE::MSL_FORMAT_RESOLUTION_444:
+            blockTexelSize[0] = blockTexelSize[1] = blockTexelSize[2] = VkExtent2D{1, 1};
+            break;
+        case SPIRV_CROSS_NAMESPACE::MSL_FORMAT_RESOLUTION_422:
+            blockTexelSize[0] = blockTexelSize[1] = blockTexelSize[2] = VkExtent2D{2, 1};
+            break;
+        case SPIRV_CROSS_NAMESPACE::MSL_FORMAT_RESOLUTION_420:
+            blockTexelSize[0] = blockTexelSize[1] = blockTexelSize[2] = VkExtent2D{2, 2};
+            break;
+    }
+    switch(planes) {
+        default:
+            return 0;
+        case 1:
+            bytesPerBlock[0] *= 4;
+            mtlPixFmt[0] = (bits == 8) ? MTLPixelFormatRGBA8Unorm : MTLPixelFormatRGBA16Unorm;
+            break;
+        case 2:
+            blockTexelSize[0] = VkExtent2D{1, 1};
+            bytesPerBlock[1] = bytesPerBlock[0]*2;
+            mtlPixFmt[0] = (bits == 8) ? MTLPixelFormatR8Unorm : MTLPixelFormatR16Unorm;
+            mtlPixFmt[1] = (bits == 8) ? MTLPixelFormatRG8Unorm : MTLPixelFormatRG16Unorm;
+            break;
+        case 3:
+            blockTexelSize[0] = VkExtent2D{1, 1};
+            bytesPerBlock[1] = bytesPerBlock[2] = bytesPerBlock[0];
+            mtlPixFmt[0] = mtlPixFmt[1] = mtlPixFmt[2] = (bits == 8) ? MTLPixelFormatR8Unorm : MTLPixelFormatR16Unorm;
+            break;
+    }
+    return planes;
+}
+
 float MVKPixelFormats::getBytesPerTexel(VkFormat vkFormat) {
     return getVkFormatDesc(vkFormat).bytesPerTexel();
 }
@@ -263,16 +318,11 @@
 }
 
 VkFormatProperties& MVKPixelFormats::getVkFormatProperties(VkFormat vkFormat) {
-	auto& vkDesc = getVkFormatDesc(vkFormat);
-	if ( !vkDesc.isSupported() ) {
-		MVKBaseObject::reportError(_physicalDevice, VK_ERROR_FORMAT_NOT_SUPPORTED,
-								   "VkFormat %s is not supported on this device.", vkDesc.name);
-	}
-	return vkDesc.properties;
+	return getVkFormatDesc(vkFormat).properties;
 }
 
 MVKMTLFmtCaps MVKPixelFormats::getCapabilities(VkFormat vkFormat) {
-	return getMTLPixelFormatDesc(vkFormat).mtlFmtCaps;
+	return getMTLPixelFormatDesc(getVkFormatDesc(vkFormat).mtlPixelFormat).mtlFmtCaps;
 }
 
 MVKMTLFmtCaps MVKPixelFormats::getCapabilities(MTLPixelFormat mtlFormat) {
@@ -465,11 +515,6 @@
 	return getVkFormatDesc(getMTLPixelFormatDesc(mtlFormat).vkFormat);
 }
 
-// Return a reference to the Metal format descriptor corresponding to the VkFormat.
-MVKMTLFormatDesc& MVKPixelFormats::getMTLPixelFormatDesc(VkFormat vkFormat) {
-	return getMTLPixelFormatDesc(getVkFormatDesc(vkFormat).getMTLPixelFormatOrSubstitute());
-}
-
 // Return a reference to the Metal format descriptor corresponding to the MTLPixelFormat.
 MVKMTLFormatDesc& MVKPixelFormats::getMTLPixelFormatDesc(MTLPixelFormat mtlFormat) {
 	uint16_t fmtIdx = ((mtlFormat < _mtlPixelFormatCoreCount)
@@ -478,11 +523,6 @@
 	return _mtlPixelFormatDescriptions[fmtIdx];
 }
 
-// Return a reference to the Metal format descriptor corresponding to the VkFormat.
-MVKMTLFormatDesc& MVKPixelFormats::getMTLVertexFormatDesc(VkFormat vkFormat) {
-	return getMTLVertexFormatDesc(getVkFormatDesc(vkFormat).getMTLVertexFormatOrSubstitute());
-}
-
 // Return a reference to the Metal format descriptor corresponding to the MTLVertexFormat.
 MVKMTLFormatDesc& MVKPixelFormats::getMTLVertexFormatDesc(MTLVertexFormat mtlFormat) {
 	uint16_t fmtIdx = (mtlFormat < _mtlVertexFormatCount) ? _mtlFormatDescIndicesByMTLVertexFormats[mtlFormat] : 0;
@@ -507,10 +547,16 @@
 //	test();
 }
 
-#define addVkFormatDesc(VK_FMT, MTL_FMT, MTL_FMT_ALT, MTL_VTX_FMT, MTL_VTX_FMT_ALT, BLK_W, BLK_H, BLK_BYTE_CNT, MVK_FMT_TYPE)  \
+#define addVkFormatDescFull(VK_FMT, MTL_FMT, MTL_FMT_ALT, MTL_VTX_FMT, MTL_VTX_FMT_ALT, CSPC, CSCB, BLK_W, BLK_H, BLK_BYTE_CNT, MVK_FMT_TYPE)  \
 	MVKAssert(fmtIdx < _vkFormatCount, "Attempting to describe %d VkFormats, but only have space for %d. Increase the value of _vkFormatCount", fmtIdx + 1, _vkFormatCount);  \
 	_vkFormatDescriptions[fmtIdx++] = { VK_FORMAT_ ##VK_FMT, MTLPixelFormat ##MTL_FMT, MTLPixelFormat ##MTL_FMT_ALT, MTLVertexFormat ##MTL_VTX_FMT, MTLVertexFormat ##MTL_VTX_FMT_ALT,  \
-										{ BLK_W, BLK_H }, BLK_BYTE_CNT, kMVKFormat ##MVK_FMT_TYPE, { 0, 0, 0 }, "VK_FORMAT_" #VK_FMT, false }
+										CSPC, CSCB, { BLK_W, BLK_H }, BLK_BYTE_CNT, kMVKFormat ##MVK_FMT_TYPE, { 0, 0, 0 }, "VK_FORMAT_" #VK_FMT, false }
+
+#define addVkFormatDesc(VK_FMT, MTL_FMT, MTL_FMT_ALT, MTL_VTX_FMT, MTL_VTX_FMT_ALT, BLK_W, BLK_H, BLK_BYTE_CNT, MVK_FMT_TYPE)  \
+    addVkFormatDescFull(VK_FMT, MTL_FMT, MTL_FMT_ALT, MTL_VTX_FMT, MTL_VTX_FMT_ALT, 0, 0, BLK_W, BLK_H, BLK_BYTE_CNT, MVK_FMT_TYPE)
+
+#define addVkFormatDescChromaSubsampling(VK_FMT, MTL_FMT, CSPC, CSCB, BLK_W, BLK_H, BLK_BYTE_CNT)  \
+addVkFormatDescFull(VK_FMT, MTL_FMT, Invalid, Invalid, Invalid, CSPC, CSCB, BLK_W, BLK_H, BLK_BYTE_CNT, ColorFloat)
 
 void MVKPixelFormats::initVkFormatCapabilities() {
 
@@ -757,9 +803,41 @@
 	addVkFormatDesc( PVRTC2_2BPP_SRGB_BLOCK_IMG, Invalid, Invalid, Invalid, Invalid, 8, 4, 8, Compressed );
 	addVkFormatDesc( PVRTC2_4BPP_SRGB_BLOCK_IMG, Invalid, Invalid, Invalid, Invalid, 4, 4, 8, Compressed );
 
-	// Future extension VK_KHX_color_conversion and Vulkan 1.1.
-	addVkFormatDesc( UNDEFINED, GBGR422, Invalid, Invalid, Invalid, 2, 1, 4, ColorFloat );
-	addVkFormatDesc( UNDEFINED, BGRG422, Invalid, Invalid, Invalid, 2, 1, 4, ColorFloat );
+	// Extension VK_KHR_sampler_ycbcr_conversion
+    addVkFormatDescChromaSubsampling( G8B8G8R8_422_UNORM, GBGR422, 1, 8, 2, 1, 4 );
+    addVkFormatDescChromaSubsampling( B8G8R8G8_422_UNORM, BGRG422, 1, 8, 2, 1, 4 );
+    addVkFormatDescChromaSubsampling( G8_B8_R8_3PLANE_420_UNORM, Invalid, 3, 8, 2, 2, 6 );
+    addVkFormatDescChromaSubsampling( G8_B8R8_2PLANE_420_UNORM, Invalid, 2, 8, 2, 2, 6 );
+    addVkFormatDescChromaSubsampling( G8_B8_R8_3PLANE_422_UNORM, Invalid, 3, 8, 2, 1, 4 );
+    addVkFormatDescChromaSubsampling( G8_B8R8_2PLANE_422_UNORM, Invalid, 2, 8, 2, 1, 4 );
+    addVkFormatDescChromaSubsampling( G8_B8_R8_3PLANE_444_UNORM, Invalid, 3, 8, 1, 1, 3 );
+    addVkFormatDescChromaSubsampling( R10X6_UNORM_PACK16, Invalid, 0, 10, 1, 1, 2 );
+    addVkFormatDescChromaSubsampling( R10X6G10X6_UNORM_2PACK16, Invalid, 0, 10, 1, 1, 4 );
+    addVkFormatDescChromaSubsampling( R10X6G10X6B10X6A10X6_UNORM_4PACK16, Invalid, 0, 10, 1, 1, 8 );
+    addVkFormatDescChromaSubsampling( G10X6B10X6G10X6R10X6_422_UNORM_4PACK16, Invalid, 1, 10, 2, 1, 8 );
+    addVkFormatDescChromaSubsampling( B10X6G10X6R10X6G10X6_422_UNORM_4PACK16, Invalid, 1, 10, 2, 1, 8 );
+    addVkFormatDescChromaSubsampling( G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16, Invalid, 3, 10, 2, 2, 12 );
+    addVkFormatDescChromaSubsampling( G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16, Invalid, 2, 10, 2, 2, 12 );
+    addVkFormatDescChromaSubsampling( G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16, Invalid, 3, 10, 2, 1, 8 );
+    addVkFormatDescChromaSubsampling( G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16, Invalid, 2, 10, 2, 1, 8 );
+    addVkFormatDescChromaSubsampling( G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16, Invalid, 3, 10, 1, 1, 6 );
+    addVkFormatDescChromaSubsampling( R12X4_UNORM_PACK16, Invalid, 0, 12, 1, 1, 2 );
+    addVkFormatDescChromaSubsampling( R12X4G12X4_UNORM_2PACK16, Invalid, 0, 12, 1, 1, 4 );
+    addVkFormatDescChromaSubsampling( R12X4G12X4B12X4A12X4_UNORM_4PACK16, Invalid, 0, 12, 1, 1, 8 );
+    addVkFormatDescChromaSubsampling( G12X4B12X4G12X4R12X4_422_UNORM_4PACK16, Invalid, 1, 12, 2, 1, 8 );
+    addVkFormatDescChromaSubsampling( B12X4G12X4R12X4G12X4_422_UNORM_4PACK16, Invalid, 1, 12, 2, 1, 8 );
+    addVkFormatDescChromaSubsampling( G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16, Invalid, 3, 12, 2, 2, 12 );
+    addVkFormatDescChromaSubsampling( G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16, Invalid, 2, 12, 2, 2, 12 );
+    addVkFormatDescChromaSubsampling( G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16, Invalid, 3, 12, 2, 1, 8 );
+    addVkFormatDescChromaSubsampling( G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16, Invalid, 2, 12, 2, 1, 8 );
+    addVkFormatDescChromaSubsampling( G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16, Invalid, 3, 12, 1, 1, 6 );
+    addVkFormatDescChromaSubsampling( G16B16G16R16_422_UNORM, Invalid, 1, 16, 2, 1, 8 );
+    addVkFormatDescChromaSubsampling( B16G16R16G16_422_UNORM, Invalid, 1, 16, 2, 1, 8 );
+    addVkFormatDescChromaSubsampling( G16_B16_R16_3PLANE_420_UNORM, Invalid, 3, 16, 2, 2, 12 );
+    addVkFormatDescChromaSubsampling( G16_B16R16_2PLANE_420_UNORM, Invalid, 2, 16, 2, 2, 12 );
+    addVkFormatDescChromaSubsampling( G16_B16_R16_3PLANE_422_UNORM, Invalid, 3, 16, 2, 1, 8 );
+    addVkFormatDescChromaSubsampling( G16_B16R16_2PLANE_422_UNORM, Invalid, 2, 16, 2, 1, 8 );
+    addVkFormatDescChromaSubsampling( G16_B16_R16_3PLANE_444_UNORM, Invalid, 3, 16, 1, 1, 6 );
 
 	// When adding to this list, be sure to ensure _vkFormatCount is large enough for the format count
 }
@@ -1154,44 +1232,44 @@
 	addMTLPixelFormatCapabilities( iOS_GPUFamily1_v2, RGBA32Sint, RWC );
 	addMTLPixelFormatCapabilities( iOS_GPUFamily1_v2, RGBA32Float, RWC );
 
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_4x4_LDR, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_4x4_sRGB, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_5x4_LDR, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_5x4_sRGB, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_5x5_LDR, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_5x5_sRGB, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_6x5_LDR, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_6x5_sRGB, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_6x6_LDR, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_6x6_sRGB, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_8x5_LDR, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_8x5_sRGB, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_8x6_LDR, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_8x6_sRGB, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_8x8_LDR, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_8x8_sRGB, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_10x5_LDR, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_10x5_sRGB, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_10x6_LDR, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_10x6_sRGB, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_10x8_LDR, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_10x8_sRGB, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_10x10_LDR, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_10x10_sRGB, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_12x10_LDR, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_12x10_sRGB, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_12x12_LDR, RF );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily2_v1, ASTC_12x12_sRGB, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_4x4_LDR, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_4x4_sRGB, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_5x4_LDR, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_5x4_sRGB, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_5x5_LDR, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_5x5_sRGB, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_6x5_LDR, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_6x5_sRGB, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_6x6_LDR, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_6x6_sRGB, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_8x5_LDR, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_8x5_sRGB, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_8x6_LDR, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_8x6_sRGB, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_8x8_LDR, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_8x8_sRGB, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_10x5_LDR, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_10x5_sRGB, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_10x6_LDR, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_10x6_sRGB, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_10x8_LDR, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_10x8_sRGB, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_10x10_LDR, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_10x10_sRGB, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_12x10_LDR, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_12x10_sRGB, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_12x12_LDR, RF );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily2_v1, ASTC_12x12_sRGB, RF );
 
 	addMTLPixelFormatCapabilities( iOS_GPUFamily3_v1, Depth32Float, DRMR );
 	addMTLPixelFormatCapabilities( iOS_GPUFamily3_v1, Depth32Float_Stencil8, DRMR );
 
-	addMTLPixelFormatCapabilities(iOS_GPUFamily3_v2, BGRA10_XR, All );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily3_v2, BGRA10_XR_sRGB, All );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily3_v2, BGR10_XR, All );
-	addMTLPixelFormatCapabilities(iOS_GPUFamily3_v2, BGR10_XR_sRGB, All );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily3_v2, BGRA10_XR, All );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily3_v2, BGRA10_XR_sRGB, All );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily3_v2, BGR10_XR, All );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily3_v2, BGR10_XR_sRGB, All );
 
-	addMTLPixelFormatCapabilities(iOS_GPUFamily1_v4, BGR10A2Unorm, All );
+	addMTLPixelFormatCapabilities( iOS_GPUFamily1_v4, BGR10A2Unorm, All );
 
 	addMTLVertexFormatCapabilities( iOS_GPUFamily1_v4, UCharNormalized, Vertex );
 	addMTLVertexFormatCapabilities( iOS_GPUFamily1_v4, CharNormalized, Vertex );
@@ -1271,6 +1349,17 @@
 										   VK_FORMAT_FEATURE_BLIT_DST_BIT),
 	kMVKVkFormatFeatureFlagsTexDSAtt    = (VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT),
 	kMVKVkFormatFeatureFlagsTexBlend    = (VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT),
+    kMVKVkFormatFeatureFlagsTexTransfer          = (VK_FORMAT_FEATURE_TRANSFER_SRC_BIT |
+                                                    VK_FORMAT_FEATURE_TRANSFER_DST_BIT |
+                                                    VK_FORMAT_FEATURE_BLIT_SRC_BIT |
+                                                    VK_FORMAT_FEATURE_BLIT_DST_BIT),
+    kMVKVkFormatFeatureFlagsTexChromaSubsampling = (VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR |
+                                                    VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR |
+                                                    VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR |
+                                                    VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR |
+                                                    VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR |
+                                                    VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR),
+    kMVKVkFormatFeatureFlagsTexMultiPlanar       = (VK_FORMAT_FEATURE_DISJOINT_BIT_KHR),
 	kMVKVkFormatFeatureFlagsBufRead     = (VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT),
 	kMVKVkFormatFeatureFlagsBufWrite    = (VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT),
 	kMVKVkFormatFeatureFlagsBufAtomic   = (VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT),
@@ -1285,12 +1374,25 @@
 		mvkEnableFlags(VK_FEATS, kMVKVkFormatFeatureFlags ##TYPE ##CAP);  \
 	}
 
-	VkFormat vkFmt = vkDesc.vkFormat;
 	VkFormatProperties& vkProps = vkDesc.properties;
-	MVKMTLFmtCaps mtlPixFmtCaps = getMTLPixelFormatDesc(vkFmt).mtlFmtCaps;
+	MVKMTLFmtCaps mtlPixFmtCaps = getMTLPixelFormatDesc(vkDesc.mtlPixelFormat).mtlFmtCaps;
+    vkProps.optimalTilingFeatures = kMVKVkFormatFeatureFlagsTexNone;
+    vkProps.linearTilingFeatures = kMVKVkFormatFeatureFlagsTexNone;
 
-	// Set optimal tiling features first
-	vkProps.optimalTilingFeatures = kMVKVkFormatFeatureFlagsTexNone;
+    // Chroma subsampling and multi planar features
+    if (getChromaSubsamplingComponentBits(vkDesc.vkFormat) > 0) {
+        vkProps.optimalTilingFeatures = kMVKVkFormatFeatureFlagsTexTransfer;
+    }
+    uint8_t chromaSubsamplingPlaneCount = getChromaSubsamplingPlaneCount(vkDesc.vkFormat);
+    if (chromaSubsamplingPlaneCount > 0) {
+        mtlPixFmtCaps = kMVKMTLFmtCapsRF;
+        enableFormatFeatures(ChromaSubsampling, Tex, mtlPixFmtCaps, vkProps.optimalTilingFeatures);
+    }
+    if (chromaSubsamplingPlaneCount > 1) {
+        enableFormatFeatures(MultiPlanar, Tex, mtlPixFmtCaps, vkProps.optimalTilingFeatures);
+    }
+
+	// Optimal tiling features
 	enableFormatFeatures(Read, Tex, mtlPixFmtCaps, vkProps.optimalTilingFeatures);
 	enableFormatFeatures(Filter, Tex, mtlPixFmtCaps, vkProps.optimalTilingFeatures);
 	enableFormatFeatures(Write, Tex, mtlPixFmtCaps, vkProps.optimalTilingFeatures);
@@ -1299,9 +1401,7 @@
 	enableFormatFeatures(Blend, Tex, mtlPixFmtCaps, vkProps.optimalTilingFeatures);
 
 	// Linear tiling is not available to depth/stencil or compressed formats.
-	vkProps.linearTilingFeatures = kMVKVkFormatFeatureFlagsTexNone;
 	if ( !(vkDesc.formatType == kMVKFormatDepthStencil || vkDesc.formatType == kMVKFormatCompressed) ) {
-
 		// Start with optimal tiling features, and modify.
 		vkProps.linearTilingFeatures = vkProps.optimalTilingFeatures;
 
@@ -1322,7 +1422,7 @@
 		enableFormatFeatures(Read, Buf, mtlPixFmtCaps, vkProps.bufferFeatures);
 		enableFormatFeatures(Write, Buf, mtlPixFmtCaps, vkProps.bufferFeatures);
 		enableFormatFeatures(Atomic, Buf, mtlPixFmtCaps, vkProps.bufferFeatures);
-		enableFormatFeatures(Vertex, Buf, getMTLVertexFormatDesc(vkFmt).mtlFmtCaps, vkProps.bufferFeatures);
+		enableFormatFeatures(Vertex, Buf, getMTLVertexFormatDesc(vkDesc.mtlVertexFormat).mtlFmtCaps, vkProps.bufferFeatures);
 	}
 }
 
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKRenderPass.mm b/MoltenVK/MoltenVK/GPUObjects/MVKRenderPass.mm
index 432a757..8ce7738 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKRenderPass.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKRenderPass.mm
@@ -110,7 +110,7 @@
 	if (dsRPAttIdx != VK_ATTACHMENT_UNUSED) {
 		MVKRenderPassAttachment* dsMVKRPAtt = &_renderPass->_attachments[dsRPAttIdx];
 		MVKImageView* dsImage = framebuffer->getAttachment(dsRPAttIdx);
-		MTLPixelFormat mtlDSFormat = dsImage->getMTLPixelFormat();
+		MTLPixelFormat mtlDSFormat = dsImage->getMTLPixelFormat(0);
 
 		if (pixFmts->isDepthFormat(mtlDSFormat)) {
 			MTLRenderPassDepthAttachmentDescriptor* mtlDepthAttDesc = mtlRPDesc.depthAttachment;
@@ -342,7 +342,8 @@
 			_lastUseSubpassIdx = max(spIdx, _lastUseSubpassIdx);
 
 			// Validate that the attachment pixel format supports the capabilities required by the subpass.
-			if ( !mvkAreAllFlagsEnabled(pixFmts->getCapabilities(_info.format), reqCaps) ) {
+			// Use MTLPixelFormat to look up capabilities to permit Metal format substitution.
+			if ( !mvkAreAllFlagsEnabled(pixFmts->getCapabilities(pixFmts->getMTLPixelFormat(_info.format)), reqCaps) ) {
 				_renderPass->setConfigurationResult(reportError(VK_ERROR_FORMAT_NOT_SUPPORTED, "vkCreateRenderPass(): Attachment format %s on this device does not support the VkFormat attachment capabilities required by the subpass at index %d.", _renderPass->getPixelFormats()->getName(_info.format), spIdx));
 			}
 		}
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKResource.h b/MoltenVK/MoltenVK/GPUObjects/MVKResource.h
index ca3ccfa..ee691de 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKResource.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKResource.h
@@ -39,14 +39,8 @@
     /** Returns the byte offset in the bound device memory. */
     inline VkDeviceSize getDeviceMemoryOffset() { return _deviceMemoryOffset; }
 
-	/** Returns the memory requirements of this resource by populating the specified structure. */
-	virtual VkResult getMemoryRequirements(VkMemoryRequirements* pMemoryRequirements) = 0;
-
-	/** Returns the memory requirements of this resource by populating the specified structure. */
-	virtual VkResult getMemoryRequirements(const void* pInfo, VkMemoryRequirements2* pMemoryRequirements) = 0;
-
 	/** Binds this resource to the specified offset within the specified memory allocation. */
-	virtual VkResult bindDeviceMemory(MVKDeviceMemory* mvkMem, VkDeviceSize memOffset);
+	VkResult bindDeviceMemory(MVKDeviceMemory* mvkMem, VkDeviceSize memOffset);
 
 	/** Returns the device memory underlying this resource. */
 	inline MVKDeviceMemory* getDeviceMemory() { return _deviceMemory; }
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm b/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm
index 31bd8fa..45e2335 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm
@@ -383,19 +383,19 @@
 }
 
 VkResult MVKSwapchain::getRefreshCycleDuration(VkRefreshCycleDurationGOOGLE *pRefreshCycleDuration) {
-#if MVK_IOS
 	NSInteger framesPerSecond = 60;
-	if (@available(iOS 10.3, *)) {
-		framesPerSecond = [UIScreen mainScreen].maximumFramesPerSecond;
-	} else {
-		// TODO: fallback
+
+#if MVK_IOS
+	UIScreen* screen = [UIScreen mainScreen];
+	if ([screen respondsToSelector: @selector(maximumFramesPerSecond)]) {
+		framesPerSecond = screen.maximumFramesPerSecond;
 	}
 #endif
 #if MVK_MACOS
 	// TODO: hook this up for macOS, probably need to use CGDisplayModeGetRefeshRate
-	NSInteger framesPerSecond = 60;
 #endif
-	pRefreshCycleDuration->refreshDuration = 1e9 / ( uint64_t ) framesPerSecond;
+
+	pRefreshCycleDuration->refreshDuration = (uint64_t)1e9 / framesPerSecond;
 	return VK_SUCCESS;
 }
 
diff --git a/MoltenVK/MoltenVK/Layers/MVKExtensions.def b/MoltenVK/MoltenVK/Layers/MVKExtensions.def
index 33ce097..0c74478 100644
--- a/MoltenVK/MoltenVK/Layers/MVKExtensions.def
+++ b/MoltenVK/MoltenVK/Layers/MVKExtensions.def
@@ -58,6 +58,7 @@
 MVK_EXTENSION(KHR_push_descriptor, KHR_PUSH_DESCRIPTOR, DEVICE)
 MVK_EXTENSION(KHR_relaxed_block_layout, KHR_RELAXED_BLOCK_LAYOUT, DEVICE)
 MVK_EXTENSION(KHR_sampler_mirror_clamp_to_edge, KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE, DEVICE)
+MVK_EXTENSION(KHR_sampler_ycbcr_conversion, KHR_SAMPLER_YCBCR_CONVERSION, DEVICE)
 MVK_EXTENSION(KHR_shader_draw_parameters, KHR_SHADER_DRAW_PARAMETERS, DEVICE)
 MVK_EXTENSION(KHR_shader_float16_int8, KHR_SHADER_FLOAT16_INT8, DEVICE)
 MVK_EXTENSION(KHR_storage_buffer_storage_class, KHR_STORAGE_BUFFER_STORAGE_CLASS, DEVICE)
diff --git a/MoltenVK/MoltenVK/Utility/MVKFoundation.h b/MoltenVK/MoltenVK/Utility/MVKFoundation.h
index a0f0eac..a8ea008 100644
--- a/MoltenVK/MoltenVK/Utility/MVKFoundation.h
+++ b/MoltenVK/MoltenVK/Utility/MVKFoundation.h
@@ -29,18 +29,6 @@
 
 #pragma mark Math
 
-/**
- * The following constants are used to indicate values that have no defined limit.
- * They are ridiculously large numbers, but low enough to be safely used as both
- * uint and int values without risking overflowing between positive and negative values.
- */
-static int32_t kMVKUndefinedLargeNegativeInt32 = std::numeric_limits<int32_t>::min() / 2;
-static int32_t kMVKUndefinedLargePositiveInt32 = std::numeric_limits<int32_t>::max() / 2;
-static uint32_t kMVKUndefinedLargeUInt32 = kMVKUndefinedLargePositiveInt32;
-static int64_t kMVKUndefinedLargeNegativeInt64 = std::numeric_limits<int64_t>::min() / 2;
-static int64_t kMVKUndefinedLargePositiveInt64 = std::numeric_limits<int64_t>::max() / 2;
-static uint64_t kMVKUndefinedLargeUInt64 = kMVKUndefinedLargePositiveInt64;
-
 // Common scaling multipliers
 #define KIBI		(1024)
 #define MEBI		(KIBI * KIBI)
@@ -136,21 +124,23 @@
 #pragma mark -
 #pragma mark Alignment functions
 
-/** Returns whether the specified value is a power-of-two. */
-static inline bool mvkIsPowerOfTwo(uintptr_t value) {
+/** Returns whether the specified positive value is a power-of-two. */
+template<typename T>
+static inline bool mvkIsPowerOfTwo(T value) {
 	// Test POT:  (x != 0) && ((x & (x - 1)) == 0)
 	return value && ((value & (value - 1)) == 0);
 }
 
 /**
- * Ensures the specified value is a power-of-two. Returns the specified value if it is a
- * power-of-two value. If it is not, returns the next power-of-two value that is larger
- * than the specified value is returned.
+ * Ensures the specified positive value is a power-of-two. Returns the specified value
+ * if it is a power-of-two value. If it is not, returns the next power-of-two value
+ * that is larger than the specified value is returned.
  */
-static inline uintptr_t mvkEnsurePowerOfTwo(uintptr_t value) {
+template<typename T>
+static inline T mvkEnsurePowerOfTwo(T value) {
 	if (mvkIsPowerOfTwo(value)) { return value; }
 
-	uintptr_t pot = 1;
+	T pot = 1;
 	while(pot <= value) { pot <<= 1; };
 	return pot;
 }
@@ -161,12 +151,13 @@
  *
  * This implementation returns zero for both zero and one as inputs.
  */
-static inline uint32_t mvkPowerOfTwoExponent(uintptr_t value) {
-    uintptr_t p2Value = mvkEnsurePowerOfTwo(value);
+template<typename T>
+static inline T mvkPowerOfTwoExponent(T value) {
+    T p2Value = mvkEnsurePowerOfTwo(value);
 
     // Count the trailing zeros
     p2Value = (p2Value ^ (p2Value - 1)) >> 1;  // Set trailing 0s to 1s and zero rest
-    uint32_t potExp = 0;
+    T potExp = 0;
     while (p2Value) {
         p2Value >>= 1;
         potExp++;
@@ -230,6 +221,18 @@
  */
 void mvkFlipVertically(void* rowMajorData, uint32_t rowCount, size_t bytesPerRow);
 
+/**
+ * The following constants are used to indicate values that have no defined limit.
+ * They are ridiculously large numbers, but low enough to be safely used as both
+ * uint and int values without risking overflowing between positive and negative values.
+ */
+static  int32_t kMVKUndefinedLargePositiveInt32 =  mvkEnsurePowerOfTwo(std::numeric_limits<int32_t>::max() / 2);
+static  int32_t kMVKUndefinedLargeNegativeInt32 = -kMVKUndefinedLargePositiveInt32;
+static uint32_t kMVKUndefinedLargeUInt32        =  kMVKUndefinedLargePositiveInt32;
+static  int64_t kMVKUndefinedLargePositiveInt64 =  mvkEnsurePowerOfTwo(std::numeric_limits<int64_t>::max() / 2);
+static  int64_t kMVKUndefinedLargeNegativeInt64 = -kMVKUndefinedLargePositiveInt64;
+static uint64_t kMVKUndefinedLargeUInt64        =  kMVKUndefinedLargePositiveInt64;
+
 
 #pragma mark Vulkan structure support functions
 
diff --git a/MoltenVK/MoltenVK/Vulkan/vk_mvk_moltenvk.mm b/MoltenVK/MoltenVK/Vulkan/vk_mvk_moltenvk.mm
index bccb8c1..3976621 100644
--- a/MoltenVK/MoltenVK/Vulkan/vk_mvk_moltenvk.mm
+++ b/MoltenVK/MoltenVK/Vulkan/vk_mvk_moltenvk.mm
@@ -115,7 +115,7 @@
     id<MTLTexture>                              mtlTexture) {
 
     MVKImage* mvkImg = (MVKImage*)image;
-    return mvkImg->setMTLTexture(mtlTexture);
+    return mvkImg->setMTLTexture(0, mtlTexture);
 }
 
 MVK_PUBLIC_SYMBOL void vkGetMTLTextureMVK(
@@ -123,7 +123,7 @@
     id<MTLTexture>*                             pMTLTexture) {
 
     MVKImage* mvkImg = (MVKImage*)image;
-    *pMTLTexture = mvkImg->getMTLTexture();
+    *pMTLTexture = mvkImg->getMTLTexture(0);
 }
 
 MVK_PUBLIC_SYMBOL void vkGetMTLBufferMVK(
diff --git a/MoltenVK/MoltenVK/Vulkan/vulkan.mm b/MoltenVK/MoltenVK/Vulkan/vulkan.mm
index 90e6f03..b84a88c 100644
--- a/MoltenVK/MoltenVK/Vulkan/vulkan.mm
+++ b/MoltenVK/MoltenVK/Vulkan/vulkan.mm
@@ -526,7 +526,7 @@
 	MVKTraceVulkanCallStart();
 	MVKImage* mvkImg = (MVKImage*)image;
 	MVKDeviceMemory* mvkMem = (MVKDeviceMemory*)mem;
-	VkResult rslt = mvkImg->bindDeviceMemory(mvkMem, memOffset);
+	VkResult rslt = mvkImg->bindDeviceMemory(mvkMem, memOffset, 0);
 	MVKTraceVulkanCallEnd();
 	return rslt;
 }
@@ -549,7 +549,7 @@
 	
 	MVKTraceVulkanCallStart();
 	MVKImage* mvkImg = (MVKImage*)image;
-	mvkImg->getMemoryRequirements(pMemoryRequirements);
+	mvkImg->getMemoryRequirements(pMemoryRequirements, 0);
 	MVKTraceVulkanCallEnd();
 }
 
@@ -2219,6 +2219,37 @@
 
 
 #pragma mark -
+#pragma mark VK_KHR_sampler_ycbcr_conversion extension
+
+MVK_PUBLIC_SYMBOL VkResult vkCreateSamplerYcbcrConversionKHR(
+    VkDevice                                    device,
+    const VkSamplerYcbcrConversionCreateInfo*   pCreateInfo,
+    const VkAllocationCallbacks*                pAllocator,
+    VkSamplerYcbcrConversion*                   pYcbcrConversion) {
+
+    MVKTraceVulkanCallStart();
+	MVKDevice* mvkDev = MVKDevice::getMVKDevice(device);
+	MVKSamplerYcbcrConversion* mvkSampConv = mvkDev->createSamplerYcbcrConversion(pCreateInfo, pAllocator);
+	*pYcbcrConversion = (VkSamplerYcbcrConversion)mvkSampConv;
+	VkResult rslt = mvkSampConv->getConfigurationResult();
+	MVKTraceVulkanCallEnd();
+	return rslt;
+}
+
+MVK_PUBLIC_SYMBOL void vkDestroySamplerYcbcrConversionKHR(
+    VkDevice                                    device,
+    VkSamplerYcbcrConversion                    ycbcrConversion,
+    const VkAllocationCallbacks*                pAllocator) {
+
+    MVKTraceVulkanCallStart();
+	if ( !ycbcrConversion ) { return; }
+	MVKDevice* mvkDev = MVKDevice::getMVKDevice(device);
+	mvkDev->destroySamplerYcbcrConversion((MVKSamplerYcbcrConversion*)ycbcrConversion, pAllocator);
+	MVKTraceVulkanCallEnd();
+}
+
+
+#pragma mark -
 #pragma mark VK_KHR_swapchain extension
 
 MVK_PUBLIC_SYMBOL VkResult vkCreateSwapchainKHR(
diff --git a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.cpp b/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.cpp
index 6ee2d97..6e71501 100644
--- a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.cpp
+++ b/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.cpp
@@ -103,12 +103,9 @@
 
 MVK_PUBLIC_SYMBOL bool MSLVertexAttribute::matches(const MSLVertexAttribute& other) const {
 	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; }
+	if (binding != other.binding) { return false; }
 	return true;
 }
 
@@ -136,9 +133,22 @@
 		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.planes != other.constExprSampler.planes) { return false; }
+		if (constExprSampler.resolution != other.constExprSampler.resolution) { return false; }
+		if (constExprSampler.chroma_filter != other.constExprSampler.chroma_filter) { return false; }
+		if (constExprSampler.x_chroma_offset != other.constExprSampler.x_chroma_offset) { return false; }
+		if (constExprSampler.y_chroma_offset != other.constExprSampler.y_chroma_offset) { return false; }
+		for(uint32_t i = 0; i < 4; ++i)
+			if (constExprSampler.swizzle[i] != other.constExprSampler.swizzle[i]) { return false; }
+		if (constExprSampler.ycbcr_model != other.constExprSampler.ycbcr_model) { return false; }
+		if (constExprSampler.ycbcr_range != other.constExprSampler.ycbcr_range) { return false; }
+		if (constExprSampler.bpc != other.constExprSampler.bpc) { 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; }
+		if (constExprSampler.ycbcr_conversion_enable != other.constExprSampler.ycbcr_conversion_enable) { return false; }
 	}
 
 	return true;
@@ -158,12 +168,12 @@
     return false;
 }
 
-// Check them all in case inactive VA's duplicate buffers used by active VA's.
-MVK_PUBLIC_SYMBOL bool SPIRVToMSLConversionConfiguration::isVertexBufferUsed(uint32_t mslBuffer) const {
-    for (auto& va : vertexAttributes) {
-        if ((va.vertexAttribute.msl_buffer == mslBuffer) && va.isUsedByShader) { return true; }
-    }
-    return false;
+MVK_PUBLIC_SYMBOL uint32_t SPIRVToMSLConversionConfiguration::countVertexAttributesAt(uint32_t binding) const {
+	uint32_t vaCnt = 0;
+	for (auto& va : vertexAttributes) {
+		if ((va.binding == binding) && va.isUsedByShader) { vaCnt++; }
+	}
+	return vaCnt;
 }
 
 MVK_PUBLIC_SYMBOL void SPIRVToMSLConversionConfiguration::markAllAttributesAndResourcesUsed() {
diff --git a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.h b/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.h
index 6cb0cea..0d5ddb7 100644
--- a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.h
+++ b/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.h
@@ -74,6 +74,7 @@
 	typedef struct MSLVertexAttribute {
 		SPIRV_CROSS_NAMESPACE::MSLVertexAttr vertexAttribute;
 
+		uint32_t binding = 0;
 		bool isUsedByShader = false;
 
 		/**
@@ -135,8 +136,11 @@
         /** Returns whether the vertex attribute at the specified location is used by the shader. */
         bool isVertexAttributeLocationUsed(uint32_t location) const;
 
-        /** Returns whether the vertex buffer at the specified Metal binding index is used by the shader. */
-        bool isVertexBufferUsed(uint32_t mslBuffer) const;
+		/** Returns the number of vertex attributes bound to the specified Vulkan buffer binding, and used by the shader. */
+		uint32_t countVertexAttributesAt(uint32_t binding) const;
+
+        /** Returns whether the vertex buffer at the specified Vulkan binding is used by the shader. */
+		bool isVertexBufferUsed(uint32_t binding) const { return countVertexAttributesAt(binding) > 0; }
 
 		/** Marks all vertex attributes and resources as being used by the shader. */
 		void markAllAttributesAndResourcesUsed();
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
index 4de848f..e0d366a 100644
--- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
+++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
@@ -705,8 +705,6 @@
 		A93747401A9A8B2900F29B34 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				ARCHS = arm64;
-				BITCODE_GENERATION_MODE = bitcode;
 				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
 				CLANG_WARN_UNREACHABLE_CODE = NO;
 				GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
@@ -716,15 +714,12 @@
 				PRODUCT_NAME = MoltenVKGLSLToSPIRVConverter;
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
-				VALID_ARCHS = arm64;
 			};
 			name = Debug;
 		};
 		A93747411A9A8B2900F29B34 /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				ARCHS = arm64;
-				BITCODE_GENERATION_MODE = bitcode;
 				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
 				CLANG_WARN_UNREACHABLE_CODE = NO;
 				GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
@@ -734,7 +729,6 @@
 				PRODUCT_NAME = MoltenVKGLSLToSPIRVConverter;
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
-				VALID_ARCHS = arm64;
 			};
 			name = Release;
 		};
@@ -769,8 +763,6 @@
 		A93903BD1C57E9D700FE90DC /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				ARCHS = arm64;
-				BITCODE_GENERATION_MODE = bitcode;
 				GCC_PREPROCESSOR_DEFINITIONS = (
 					"$(inherited)",
 					"SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross",
@@ -780,15 +772,12 @@
 				PRODUCT_NAME = MoltenVKSPIRVToMSLConverter;
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
-				VALID_ARCHS = arm64;
 			};
 			name = Debug;
 		};
 		A93903BE1C57E9D700FE90DC /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				ARCHS = arm64;
-				BITCODE_GENERATION_MODE = bitcode;
 				GCC_PREPROCESSOR_DEFINITIONS = (
 					"$(inherited)",
 					"SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross",
@@ -798,7 +787,6 @@
 				PRODUCT_NAME = MoltenVKSPIRVToMSLConverter;
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
-				VALID_ARCHS = arm64;
 			};
 			name = Release;
 		};
@@ -834,6 +822,7 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
 				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
 				CLANG_CXX_LIBRARY = "libc++";
 				CLANG_ENABLE_MODULES = NO;
@@ -847,9 +836,10 @@
 				CLANG_WARN_INT_CONVERSION = YES;
 				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
-				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
+				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
 				CLANG_WARN_SUSPICIOUS_MOVE = YES;
-				CLANG_WARN_UNREACHABLE_CODE = NO;
+				CLANG_WARN_UNGUARDED_AVAILABILITY = NO;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 				COPY_PHASE_STRIP = NO;
 				ENABLE_STRICT_OBJC_MSGSEND = YES;
@@ -866,8 +856,8 @@
 				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
 				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
 				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_PARAMETER = YES;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 					"$(inherited)",
@@ -880,7 +870,6 @@
 				MACOSX_DEPLOYMENT_TARGET = 10.11;
 				ONLY_ACTIVE_ARCH = YES;
 				SKIP_INSTALL = YES;
-				VALID_ARCHS = x86_64;
 			};
 			name = Debug;
 		};
@@ -888,6 +877,7 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
 				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
 				CLANG_CXX_LIBRARY = "libc++";
 				CLANG_ENABLE_MODULES = NO;
@@ -901,9 +891,10 @@
 				CLANG_WARN_INT_CONVERSION = YES;
 				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
-				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
+				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
 				CLANG_WARN_SUSPICIOUS_MOVE = YES;
-				CLANG_WARN_UNREACHABLE_CODE = NO;
+				CLANG_WARN_UNGUARDED_AVAILABILITY = NO;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 				COPY_PHASE_STRIP = YES;
 				ENABLE_NS_ASSERTIONS = NO;
@@ -920,8 +911,8 @@
 				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
 				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
 				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_PARAMETER = YES;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 					"$(inherited)",
@@ -934,7 +925,6 @@
 				MACOSX_DEPLOYMENT_TARGET = 10.11;
 				SKIP_INSTALL = YES;
 				VALIDATE_PRODUCT = YES;
-				VALID_ARCHS = x86_64;
 			};
 			name = Release;
 		};
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverterTool/OSSupport.mm b/MoltenVKShaderConverter/MoltenVKShaderConverterTool/OSSupport.mm
index 91d2dc9..5b72b69 100644
--- a/MoltenVKShaderConverter/MoltenVKShaderConverterTool/OSSupport.mm
+++ b/MoltenVKShaderConverter/MoltenVKShaderConverterTool/OSSupport.mm
@@ -19,6 +19,7 @@
 #include "OSSupport.h"
 #include "FileSupport.h"
 #include "MoltenVKShaderConverterTool.h"
+#include "MVKOSExtensions.h"
 
 #import <Foundation/Foundation.h>
 #import <Metal/Metal.h>
@@ -71,13 +72,9 @@
 
 	MTLLanguageVersion mslVerEnum = (MTLLanguageVersion)0;
 	if (mslVer(2, 1, 0)) {
-		if (@available(macOS 10.14, *)) {
-			mslVerEnum = MTLLanguageVersion2_1;
-		}
+		mslVerEnum = MTLLanguageVersion2_1;
 	} else if (mslVer(2, 0, 0)) {
-		if (@available(macOS 10.13, *)) {
-			mslVerEnum = MTLLanguageVersion2_0;
-		}
+		mslVerEnum = MTLLanguageVersion2_0;
 	} else if (mslVer(1, 2, 0)) {
 		mslVerEnum = MTLLanguageVersion1_2;
 	} else if (mslVer(1, 1, 0)) {
diff --git a/Scripts/packagePregenSpirvToolsHeaders b/Scripts/packagePregenSpirvToolsHeaders
index d77620d..0ccaf8a 100755
--- a/Scripts/packagePregenSpirvToolsHeaders
+++ b/Scripts/packagePregenSpirvToolsHeaders
@@ -14,6 +14,11 @@
 TPLT_DIR=../Templates/spirv-tools
 TPLT_BLD_DIR="${TPLT_DIR}/build"
 
+# Ensure the SPIRV-Tools library is fully built
+cd ".."
+./fetchDependencies --build-spirv-tools
+cd -  > /dev/null
+
 rm -rf "${TPLT_BLD_DIR}"
 mkdir -p "${TPLT_BLD_DIR}"
 cp -a "${SPV_TLS_BLD_DIR}/"*.h "${SPV_TLS_BLD_DIR}/"*.inc "${TPLT_BLD_DIR}"
diff --git a/Templates/spirv-tools/build.zip b/Templates/spirv-tools/build.zip
index 7e83de0..281160e 100644
--- a/Templates/spirv-tools/build.zip
+++ b/Templates/spirv-tools/build.zip
Binary files differ
diff --git a/fetchDependencies b/fetchDependencies
index 68547d1..827ca6e 100755
--- a/fetchDependencies
+++ b/fetchDependencies
@@ -4,7 +4,7 @@
 #
 # fetchDependencies - Retrieves the correct versions of all dependencies
 #
-# macOS usage: ./fetchDependencies [-v] [--debug] [--skip-spirv-tools-build]
+# macOS usage: ./fetchDependencies [-v] [--debug] [--build-spirv-tools]
 #                                  [--v-headers-root path] [--spirv-cross-root path] [--glslang-root path]
 #
 #      --debug
@@ -16,10 +16,15 @@
 #              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.
+#      --build-spirv-tools
+#              Build the full spirv-tools distribution. Normally this is not needed, because
+#              MoltenVK includes a template of pre-generated SPIRV-Tools header files, which
+#              is all that is needed. Avoiding the spirv-tools build saves significant time
+#              during the running of this script, and is necessary during CI because Travis CI
+#              cannot support the required use of Python3 by the spirv-tools build. This flag
+#              is used by the packagePregenSpirvToolsHeaders script which regenerates the
+#              spirv-tools header files and repackages the Templates/spirv-tools/build.zip
+#              file when the spirv-tools library version is upgraded.
 #
 #      --spirv-cross-root path
 #              "path" specifies a directory path to a KhronosGroup/SPIRV-Cross repository.
@@ -41,7 +46,7 @@
 V_HEADERS_ROOT=""
 SPIRV_CROSS_ROOT=""
 GLSLANG_ROOT=""
-SKIP_SPV_TLS_BLD=""
+BLD_SPV_TLS=""
 
 while (( "$#" )); do
   case "$1" in
@@ -53,8 +58,12 @@
          XC_BUILD_VERBOSITY=""
          shift 1
          ;;
-       --skip-spirv-tools-build)
-         SKIP_SPV_TLS_BLD="Y"
+       --build-spirv-tools)
+         BLD_SPV_TLS="Y"
+         shift 1
+         ;;
+       --skip-spirv-tools-build)	#deprecated
+         BLD_SPV_TLS=""
          shift 1
          ;;
        --v-headers-root)
@@ -229,11 +238,11 @@
 
 # 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
+if [ "$BLD_SPV_TLS" = "Y" ]; then
+	build_repo "${SPV_TLS_DIR}"
+else
 	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
 
 
