implemented recommended MVKVector changes and merge with HEAD
diff --git a/.travis.yml b/.travis.yml
index 33c4543..d128c7d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,7 +6,7 @@
 # Build dependencies
 install:
   - brew install python3
-  - ./fetchDependencies
+  - ./fetchDependencies -v
 
 # Cache built deps
 cache:
@@ -14,6 +14,6 @@
     - External
 
 script:
-  - xcodebuild -scheme "MoltenVK Package"
+  - xcodebuild -project MoltenVKPackaging.xcodeproj -scheme "MoltenVK Package"
   - xcodebuild -workspace Demos/Demos.xcworkspace -scheme "Cube-macOS"
 
diff --git a/Demos/LunarG-VulkanSamples/API-Samples/iOS/AppDelegate.m b/Demos/LunarG-VulkanSamples/API-Samples/iOS/AppDelegate.m
index c4acb5d..aa3aae4 100644
--- a/Demos/LunarG-VulkanSamples/API-Samples/iOS/AppDelegate.m
+++ b/Demos/LunarG-VulkanSamples/API-Samples/iOS/AppDelegate.m
@@ -1,7 +1,7 @@
 /*
  * AppDelegate.m
  *
- * Copyright (c) 2014-2018 The Brenwill Workshop Ltd. (http://www.brenwill.com)
+ * Copyright (c) 2014-2019 The Brenwill Workshop Ltd. (http://www.brenwill.com)
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/Demos/LunarG-VulkanSamples/API-Samples/iOS/main.m b/Demos/LunarG-VulkanSamples/API-Samples/iOS/main.m
index 949e0ed..d5a9582 100644
--- a/Demos/LunarG-VulkanSamples/API-Samples/iOS/main.m
+++ b/Demos/LunarG-VulkanSamples/API-Samples/iOS/main.m
@@ -1,7 +1,7 @@
 /*
  * main.m
  *
- * Copyright (c) 2014-2018 The Brenwill Workshop Ltd. (http://www.brenwill.com)
+ * Copyright (c) 2014-2019 The Brenwill Workshop Ltd. (http://www.brenwill.com)
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/Demos/LunarG-VulkanSamples/API-Samples/macOS/AppDelegate.m b/Demos/LunarG-VulkanSamples/API-Samples/macOS/AppDelegate.m
index 2a7bcaf..8dea7a7 100644
--- a/Demos/LunarG-VulkanSamples/API-Samples/macOS/AppDelegate.m
+++ b/Demos/LunarG-VulkanSamples/API-Samples/macOS/AppDelegate.m
@@ -1,7 +1,7 @@
 /*
  * AppDelegate.m
  *
- * Copyright (c) 2014-2018 The Brenwill Workshop Ltd. (http://www.brenwill.com)
+ * Copyright (c) 2014-2019 The Brenwill Workshop Ltd. (http://www.brenwill.com)
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/Demos/LunarG-VulkanSamples/API-Samples/macOS/main.m b/Demos/LunarG-VulkanSamples/API-Samples/macOS/main.m
index 3aa28fd..87157b0 100644
--- a/Demos/LunarG-VulkanSamples/API-Samples/macOS/main.m
+++ b/Demos/LunarG-VulkanSamples/API-Samples/macOS/main.m
@@ -1,7 +1,7 @@
 /*
  * main.m
  *
- * Copyright (c) 2014-2018 The Brenwill Workshop Ltd. (http://www.brenwill.com)
+ * Copyright (c) 2014-2019 The Brenwill Workshop Ltd. (http://www.brenwill.com)
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/Demos/LunarG-VulkanSamples/Cube/iOS/AppDelegate.m b/Demos/LunarG-VulkanSamples/Cube/iOS/AppDelegate.m
index c4acb5d..aa3aae4 100644
--- a/Demos/LunarG-VulkanSamples/Cube/iOS/AppDelegate.m
+++ b/Demos/LunarG-VulkanSamples/Cube/iOS/AppDelegate.m
@@ -1,7 +1,7 @@
 /*
  * AppDelegate.m
  *
- * Copyright (c) 2014-2018 The Brenwill Workshop Ltd. (http://www.brenwill.com)
+ * Copyright (c) 2014-2019 The Brenwill Workshop Ltd. (http://www.brenwill.com)
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/Demos/LunarG-VulkanSamples/Cube/iOS/DemoViewController.m b/Demos/LunarG-VulkanSamples/Cube/iOS/DemoViewController.m
index 10f16f2..403a6d6 100644
--- a/Demos/LunarG-VulkanSamples/Cube/iOS/DemoViewController.m
+++ b/Demos/LunarG-VulkanSamples/Cube/iOS/DemoViewController.m
@@ -1,7 +1,7 @@
 /*
  * DemoViewController.m
  *
- * Copyright (c) 2014-2018 The Brenwill Workshop Ltd. (http://www.brenwill.com)
+ * Copyright (c) 2014-2019 The Brenwill Workshop Ltd. (http://www.brenwill.com)
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/Demos/LunarG-VulkanSamples/Cube/iOS/main.m b/Demos/LunarG-VulkanSamples/Cube/iOS/main.m
index 949e0ed..d5a9582 100644
--- a/Demos/LunarG-VulkanSamples/Cube/iOS/main.m
+++ b/Demos/LunarG-VulkanSamples/Cube/iOS/main.m
@@ -1,7 +1,7 @@
 /*
  * main.m
  *
- * Copyright (c) 2014-2018 The Brenwill Workshop Ltd. (http://www.brenwill.com)
+ * Copyright (c) 2014-2019 The Brenwill Workshop Ltd. (http://www.brenwill.com)
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/Demos/LunarG-VulkanSamples/Cube/macOS/AppDelegate.m b/Demos/LunarG-VulkanSamples/Cube/macOS/AppDelegate.m
index 2a7bcaf..8dea7a7 100644
--- a/Demos/LunarG-VulkanSamples/Cube/macOS/AppDelegate.m
+++ b/Demos/LunarG-VulkanSamples/Cube/macOS/AppDelegate.m
@@ -1,7 +1,7 @@
 /*
  * AppDelegate.m
  *
- * Copyright (c) 2014-2018 The Brenwill Workshop Ltd. (http://www.brenwill.com)
+ * Copyright (c) 2014-2019 The Brenwill Workshop Ltd. (http://www.brenwill.com)
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/Demos/LunarG-VulkanSamples/Cube/macOS/DemoViewController.m b/Demos/LunarG-VulkanSamples/Cube/macOS/DemoViewController.m
index 641c649..04e38f3 100644
--- a/Demos/LunarG-VulkanSamples/Cube/macOS/DemoViewController.m
+++ b/Demos/LunarG-VulkanSamples/Cube/macOS/DemoViewController.m
@@ -1,7 +1,7 @@
 /*
  * DemoViewController.m
  *
- * Copyright (c) 2014-2018 The Brenwill Workshop Ltd. (http://www.brenwill.com)
+ * Copyright (c) 2014-2019 The Brenwill Workshop Ltd. (http://www.brenwill.com)
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/Demos/LunarG-VulkanSamples/Cube/macOS/Info.plist b/Demos/LunarG-VulkanSamples/Cube/macOS/Info.plist
index e176b3f..eb82698 100644
--- a/Demos/LunarG-VulkanSamples/Cube/macOS/Info.plist
+++ b/Demos/LunarG-VulkanSamples/Cube/macOS/Info.plist
@@ -25,7 +25,7 @@
 	<key>LSMinimumSystemVersion</key>
 	<string>${MACOSX_DEPLOYMENT_TARGET}</string>
 	<key>NSHumanReadableCopyright</key>
-	<string>Copyright (c) 2015-2018 The Brenwill Workshop Ltd. All rights reserved.</string>
+	<string>Copyright (c) 2015-2019 The Brenwill Workshop Ltd. All rights reserved.</string>
 	<key>NSMainStoryboardFile</key>
 	<string>Main</string>
 	<key>NSPrincipalClass</key>
diff --git a/Demos/LunarG-VulkanSamples/Cube/macOS/main.m b/Demos/LunarG-VulkanSamples/Cube/macOS/main.m
index 3aa28fd..87157b0 100644
--- a/Demos/LunarG-VulkanSamples/Cube/macOS/main.m
+++ b/Demos/LunarG-VulkanSamples/Cube/macOS/main.m
@@ -1,7 +1,7 @@
 /*
  * main.m
  *
- * Copyright (c) 2014-2018 The Brenwill Workshop Ltd. (http://www.brenwill.com)
+ * Copyright (c) 2014-2019 The Brenwill Workshop Ltd. (http://www.brenwill.com)
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/Demos/LunarG-VulkanSamples/Hologram/iOS/AppDelegate.m b/Demos/LunarG-VulkanSamples/Hologram/iOS/AppDelegate.m
index c4acb5d..aa3aae4 100644
--- a/Demos/LunarG-VulkanSamples/Hologram/iOS/AppDelegate.m
+++ b/Demos/LunarG-VulkanSamples/Hologram/iOS/AppDelegate.m
@@ -1,7 +1,7 @@
 /*
  * AppDelegate.m
  *
- * Copyright (c) 2014-2018 The Brenwill Workshop Ltd. (http://www.brenwill.com)
+ * Copyright (c) 2014-2019 The Brenwill Workshop Ltd. (http://www.brenwill.com)
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/Demos/LunarG-VulkanSamples/Hologram/iOS/main.m b/Demos/LunarG-VulkanSamples/Hologram/iOS/main.m
index 949e0ed..d5a9582 100644
--- a/Demos/LunarG-VulkanSamples/Hologram/iOS/main.m
+++ b/Demos/LunarG-VulkanSamples/Hologram/iOS/main.m
@@ -1,7 +1,7 @@
 /*
  * main.m
  *
- * Copyright (c) 2014-2018 The Brenwill Workshop Ltd. (http://www.brenwill.com)
+ * Copyright (c) 2014-2019 The Brenwill Workshop Ltd. (http://www.brenwill.com)
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/Demos/LunarG-VulkanSamples/Hologram/macOS/AppDelegate.m b/Demos/LunarG-VulkanSamples/Hologram/macOS/AppDelegate.m
index 2a7bcaf..8dea7a7 100644
--- a/Demos/LunarG-VulkanSamples/Hologram/macOS/AppDelegate.m
+++ b/Demos/LunarG-VulkanSamples/Hologram/macOS/AppDelegate.m
@@ -1,7 +1,7 @@
 /*
  * AppDelegate.m
  *
- * Copyright (c) 2014-2018 The Brenwill Workshop Ltd. (http://www.brenwill.com)
+ * Copyright (c) 2014-2019 The Brenwill Workshop Ltd. (http://www.brenwill.com)
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/Demos/LunarG-VulkanSamples/Hologram/macOS/Info.plist b/Demos/LunarG-VulkanSamples/Hologram/macOS/Info.plist
index e176b3f..eb82698 100644
--- a/Demos/LunarG-VulkanSamples/Hologram/macOS/Info.plist
+++ b/Demos/LunarG-VulkanSamples/Hologram/macOS/Info.plist
@@ -25,7 +25,7 @@
 	<key>LSMinimumSystemVersion</key>
 	<string>${MACOSX_DEPLOYMENT_TARGET}</string>
 	<key>NSHumanReadableCopyright</key>
-	<string>Copyright (c) 2015-2018 The Brenwill Workshop Ltd. All rights reserved.</string>
+	<string>Copyright (c) 2015-2019 The Brenwill Workshop Ltd. All rights reserved.</string>
 	<key>NSMainStoryboardFile</key>
 	<string>Main</string>
 	<key>NSPrincipalClass</key>
diff --git a/Demos/LunarG-VulkanSamples/Hologram/macOS/main.m b/Demos/LunarG-VulkanSamples/Hologram/macOS/main.m
index 3aa28fd..87157b0 100644
--- a/Demos/LunarG-VulkanSamples/Hologram/macOS/main.m
+++ b/Demos/LunarG-VulkanSamples/Hologram/macOS/main.m
@@ -1,7 +1,7 @@
 /*
  * main.m
  *
- * Copyright (c) 2014-2018 The Brenwill Workshop Ltd. (http://www.brenwill.com)
+ * Copyright (c) 2014-2019 The Brenwill Workshop Ltd. (http://www.brenwill.com)
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/Demos/README.md b/Demos/README.md
index a41724a..6f1e820 100644
--- a/Demos/README.md
+++ b/Demos/README.md
@@ -6,7 +6,7 @@
 
 #MoltenVK Demo Projects
 
-Copyright (c) 2014-2018 [The Brenwill Workshop Ltd.](http://www.brenwill.com)
+Copyright (c) 2014-2019 [The Brenwill Workshop Ltd.](http://www.brenwill.com)
 
 *This document is written in [Markdown](http://en.wikipedia.org/wiki/Markdown) format.
 For best results, use a Markdown reader.*
diff --git a/Docs/MoltenVK_Runtime_UserGuide.md b/Docs/MoltenVK_Runtime_UserGuide.md
index a4de56f..12d0e30 100644
--- a/Docs/MoltenVK_Runtime_UserGuide.md
+++ b/Docs/MoltenVK_Runtime_UserGuide.md
@@ -7,7 +7,7 @@
 MoltenVK Runtime User Guide
 ===========================
 
-Copyright (c) 2014-2018 [The Brenwill Workshop Ltd.](http://www.brenwill.com)
+Copyright (c) 2014-2019 [The Brenwill Workshop Ltd.](http://www.brenwill.com)
 
 *This document is written in [Markdown](http://en.wikipedia.org/wiki/Markdown) format.
 For best results, use a Markdown reader.*
@@ -23,7 +23,8 @@
 	- [Build and Runtime Requirements](#requirements)
 	- [Install as Static Framework, Static Library, or Dynamic Library](#install_lib)
 - [Interacting with the **MoltenVK** Runtime](#interaction)
-	- [MoltenVK Extension](#moltenvk_extension)
+	- [MoltenVK `VK_MVK_moltenvk` Extension](#moltenvk_extension)
+	- [Configuring MoltenVK](#moltenvk_config)
 - [*Metal Shading Language* Shaders](#shaders)
 	- [MoltenVKShaderConverter Shader Converter Tool](#shader_converter_tool)
 	- [Troubleshooting Shader Conversion](#spv_vs_msl)
@@ -241,11 +242,13 @@
 - `VK_KHR_surface`
 - `VK_KHR_swapchain`
 - `VK_KHR_swapchain_mutable_format`
+- `VK_KHR_variable_pointers`
 - `VK_EXT_shader_viewport_index_layer`
 - `VK_EXT_vertex_attribute_divisor`
-- `VK_MVK_moltenvk`
 - `VK_MVK_macos_surface` (macOS)
 - `VK_MVK_ios_surface` (iOS)
+- `VK_MVK_moltenvk`
+- `VK_AMD_gpu_shader_half_float`
 - `VK_AMD_negative_viewport_height`
 - `VK_IMG_format_pvrtc` (iOS)
 
@@ -259,9 +262,9 @@
 
 When using the `VK_MVK_macos_surface ` extension, the `pView` member of the `VkMacOSSurfaceCreateInfoMVK` 
 structure passed in the `vkCreateMacOSSurfaceMVK` function can be either an `NSView` whose layer is a 
-`CAMetalLayer`, or the `CAMetalLayer` itself. Passing the `CAMetalLayer` itself is recommended when calling
-the `vkCreateMacOSSurfaceMVK` function from outside the main application thread, as `NSView` should only be
-accessed from the main application thread.
+`CAMetalLayer`, or the `CAMetalLayer` itself. Passing the `CAMetalLayer` itself is recommended when 
+calling the `vkCreateMacOSSurfaceMVK` function from outside the main application thread, as `NSView` 
+should only be accessed from the main application thread.
 
 When using the `VK_MVK_ios_surface ` extension, the `pView` member of the `VkIOSSurfaceCreateInfoMVK` 
 structure passed in the `vkCreateIOSSurfaceMVK` function can be either a `UIView` whose layer is a 
@@ -269,14 +272,14 @@
 calling the `vkCreateIOSSurfaceMVK ` function from outside the main application thread, as `UIView` 
 should only be accessed from the main application thread.
 
-<a name="moltenvk_extension"></a>
-### MoltenVK Extension
 
-The `VK_MVK_moltenvk` *Vulkan* extension provides functionality beyond the standard *Vulkan*
-API, to support configuration options, license registration, and behaviour that is specific 
-to the **MoltenVK** implementation of *Vulkan*. You can access this functionality by including
-the `vk_mvk_moltenvk.h` header file in your code. The `vk_mvk_moltenvk.h` file also includes 
-the API documentation for this `VK_MVK_moltenvk` extension.
+<a name="moltenvk_extension"></a>
+### MoltenVK `VK_MVK_moltenvk` Extension
+
+The `VK_MVK_moltenvk` *Vulkan* extension provides functionality beyond the standard *Vulkan* API, to 
+support configuration options and behaviour that is specific to the **MoltenVK** implementation of *Vulkan*. 
+You can access this functionality by including the `vk_mvk_moltenvk.h` header file in your code. 
+The `vk_mvk_moltenvk.h` file also includes the API documentation for this `VK_MVK_moltenvk` extension.
 
 The following API header files are included in the **MoltenVK** package, each of which 
 can be included in your application source code as follows:
@@ -305,6 +308,30 @@
   directly, or simply logging data values.
 
 
+<a name="moltenvk_config"></a>
+### Configuring MoltenVK
+
+The `VK_MVK_moltenvk` *Vulkan* extension provides the ability to configure and optimize 
+**MoltenVK** for your particular application runtime requirements.
+
+There are three mechanisms for setting the values of the **MoltenVK** configuration parameters:
+
+- Runtime API via the `vkGetMoltenVKConfigurationMVK()/vkSetMoltenVKConfigurationMVK()` functions.
+- Application runtime environment variables.
+- Build settings at **MoltenVK** build time.
+
+To change the **MoltenVK** configuration settings at runtime using a programmatic API, use the 
+`vkGetMoltenVKConfigurationMVK()` and `vkSetMoltenVKConfigurationMVK()` functions to retrieve, 
+modify, and set a copy of the `MVKConfiguration` structure.
+
+The initial value of each of the configuration settings can established at runtime 
+by a corresponding environment variable, or if the environment variable is not set, 
+by a corresponding build setting at the time **MoltenVK** is compiled. The environment 
+variable and build setting for each configuration parameter share the same name.
+
+See the description of the `MVKConfiguration` structure parameters in the `vk_mvk_moltenvk.h` 
+file for more info about configuring and optimizing **MoltenVK** at build time or runtime.
+
 
 <a name="shaders"></a>
 *Metal Shading Language* Shaders
@@ -376,21 +403,16 @@
 
 - Errors encountered during **Runtime Shader Conversion** are logged to the console.
 
-- To help understand conversion issues during **Runtime Shader Conversion**, you can enable
-  the logging of the *SPIR-V* and *MSL* shader source code during conversion as follows:
-  
-  		#include <MoltenVK/vk_mvk_moltenvk.h>
-  		...
-  		MVKConfiguration mvkConfig;
-  		size_t appConfigSize = sizeof(mvkConfig);
-  		vkGetMoltenVKConfigurationMVK(vkInstance, &mvkConfig, &appConfigSize);
-  		mvkConfig.debugMode = true;
-  		vkSetMoltenVKConfigurationMVK(vkInstance, &mvkConfig, &appConfigSize);
+- To help understand conversion issues during **Runtime Shader Conversion**, you can enable the 
+  logging of the *SPIR-V* and *MSL* shader source code during shader conversion, by turning on 
+  the `MVKConfiguration::debugMode` configuration parameter, or setting the value of the `MVK_DEBUG` 
+  runtime environment variable to `1`. See the [*MoltenVK Configuration*](#moltenvk_config) 
+  description above.
 
-  Performing these steps will enable debug mode in **MoltenVK**, which includes shader conversion 
-  logging, and causes both the incoming *SPIR-V* code and the converted *MSL* source code to be 
-  logged to the console (in human-readable form). This allows you to manually verify the conversions, 
-  and can help you diagnose issues that might occur during shader conversion.
+  Enabling debug mode in **MoltenVK** includes shader conversion logging, which causes both 
+  the incoming *SPIR-V* code and the converted *MSL* source code to be logged to the console 
+  in human-readable form. This allows you to manually verify the conversions, and can help 
+  you diagnose issues that might occur during shader conversion.
 
 - For minor issues, you may be able to adjust your *SPIR-V* code so that it behaves the same 
   under *Vulkan*, but is easier to automatically convert to *MSL*.
diff --git a/Docs/Whats_New.md b/Docs/Whats_New.md
index b24fc97..0c2955b 100644
--- a/Docs/Whats_New.md
+++ b/Docs/Whats_New.md
@@ -6,12 +6,67 @@
 
 #What's New in MoltenVK
 
-Copyright (c) 2014-2018 [The Brenwill Workshop Ltd.](http://www.brenwill.com)
+Copyright (c) 2014-2019 [The Brenwill Workshop Ltd.](http://www.brenwill.com)
 
 *This document is written in [Markdown](http://en.wikipedia.org/wiki/Markdown) format.
 For best results, use a Markdown reader.*
 
 
+
+MoltenVK 1.0.31
+---------------
+
+Released 2019/01/16
+
+- Support runtime config via runtime environment variables
+- Add full ImageView swizzling to config, and disable it by default.
+- Add GPU switching to config, and enable it by default.
+- Add queue family specialization to config, and disable it by default.
+- Enable synchronous queue submits as config default.
+- Support 4 queue families.
+- Pad fragment shader output to 4 components when needed.
+- Add support for copying to and from PVRTC images.
+- Log Vulkan versions in human readable form when reporting version error.
+- Update `VK_MVK_MOLTENVK_SPEC_VERSION` to 16.
+- Update copyright to 2019.
+- Advertise the `VK_AMD_gpu_shader_half_float` extension.
+- Support the `VK_KHR_variable_pointers` extension.
+- MoltenVKShaderConverter tool exit with fail code on any file conversion fail.
+- Update to latest SPIRV-Cross version:
+	- MSL: Support SPV_KHR_variable_pointers.
+	- MSL: Workaround missing gradient2d() on macOS for typical cascaded shadow mapping.
+	- MSL: Fix mapping of identity-swizzled components.
+	- MSL: Support composites inside I/O blocks.
+	- MSL: Fix case where we pass arrays to functions by value.
+	- MSL: Add option to pad fragment outputs.
+	- MSL: Fix passing a sampled image to a function.
+	- Performance improvements on iterating internal constructs.
+	- Update copyright to 2019.
+
+
+
+MoltenVK 1.0.30
+---------------
+
+Released 2018/12/31
+
+- Allow 2 or 3 swapchain images to support both double and triple buffering.
+- Force display to switch to GPU selected by vkCreateDevice() to avoid system view compositor having to copy from that GPU to display GPU.
+- Use inline buffer for pipeline auxiliary buffer.
+- vkCmdCopyImage: Cast source image to the destination format.
+- Result of vkGetPhysicalDeviceFormatProperties2KHR match vkGetPhysicalDeviceFormatProperties.
+- MVKImage: Return error for BLOCK_TEXEL_VIEW.
+- MVKDescriptorSet: Fix handling of immutable samplers.
+- MVKPipeline: Forbid vertex attribute offsets >= stride.
+- Fix handling of case where vertex bindings and binding indices don't match up.
+- Return VK_TIMEOUT even on zero wait if fences not signalled.
+- Support iOS builds for arm64e architecture.
+- Improvements to building external libraries.
+- Print Vulkan semantics when logging converted GLSL.
+- Support uploading S3TC-compressed 3D images.
+
+
+
 MoltenVK 1.0.29
 ---------------
 
diff --git a/ExternalRevisions/README.md b/ExternalRevisions/README.md
index 4fb82ce..e99a998 100644
--- a/ExternalRevisions/README.md
+++ b/ExternalRevisions/README.md
@@ -5,7 +5,7 @@
 
 #MoltenVK External Dependencies
 
-Copyright (c) 2014-2018 [The Brenwill Workshop Ltd.](http://www.brenwill.com)
+Copyright (c) 2014-2019 [The Brenwill Workshop Ltd.](http://www.brenwill.com)
 
 *This document is written in [Markdown](http://en.wikipedia.org/wiki/Markdown) format.
 For best results, use a Markdown reader.*
@@ -15,18 +15,18 @@
 Table of Contents
 -----------------
 
-- [Fetching External Libraries](#fetching)
+- [Fetching and Building External Libraries](#fetching)
 - [Updating External Library Versions](#updating)
 - [Adding the *cereal* Library to the *MoltenVK Xcode* Project](#add_cereal)
-- [Adding the *SPIRV-Cross* Library to the *MoltenVKShaderConverter Xcode* Project](#add_spirv-cross)
-- [Adding the *glslang* Library to the *MoltenVKShaderConverter Xcode* Project](#add_glslang)
-- [Adding the *SPIRV-Tools* Library to the *MoltenVKShaderConverter Xcode* Project](#add_spirv-tools)
+- [Adding the *SPIRV-Cross* Library to the *ExternalDependencies Xcode* Project](#add_spirv-cross)
+- [Adding the *SPIRV-Tools* Library to the *ExternalDependencies Xcode* Project](#add_spirv-tools)
+- [Adding the *glslang* Library to the *ExternalDependencies Xcode* Project](#add_glslang)
 
 
 
 <a name="fetching"></a>
-Fetching External Libraries
----------------------------
+Fetching and Building External Libraries
+----------------------------------------
 
 **MoltenVK** uses technology from the following external open-source libraries:
 
@@ -40,8 +40,8 @@
 - [*VulkanSamples*](https://github.com/LunarG/VulkanSamples)
 
 These external open-source libraries are maintained in the `External` directory.
-To retrieve these libraries from their sources, run the `fetchDependencies`  script
-in the main repository directory:
+To retrieve and build these libraries from their sources, run the `fetchDependencies`
+script in the main repository directory:
 
 	./fetchDependencies
 
@@ -84,8 +84,8 @@
 The version of the *SPIRV-Tools* and *SPIRV-Headers* libraries is automatically 
 determined by the version of the *glslang* library you have retrieved.
 
-Once you have made changes to the `*_repo_revision` files, you can retrieve the 
-updated library versions by running the `fetchDependencies` script again.
+Once you have made changes to the `*_repo_revision` files, you can retrieve the updated 
+library versions by running the `fetchDependencies` script, as described above, again.
 
 >***Note:*** If, after updating to new versions of the external libraries, you encounter 
 >build errors when building **MoltenVK**, review the instructions in the sections below 
@@ -109,18 +109,18 @@
 
 
 <a name="add_spirv-cross"></a>
-Adding the *SPIRV-Cross* Library to the *MoltenVKShaderConverter Xcode* Project
--------------------------------------------------------------------------------
+Adding the *SPIRV-Cross* Library to the *ExternalDependencies Xcode* Project
+----------------------------------------------------------------------------
 
-The `MoltenVKShaderConverter` *Xcode* project is already configured to use the *SPIRV-Cross*
+The `ExternalDependencies` *Xcode* project is already configured to use the *SPIRV-Cross*
 library. However, after updating the version of *SPIRV-Cross*, as described [above](#updating),
 if you encounter any building errors, you may need to re-add the *SPIRV-Cross* library to the
-`MoltenVKShaderConverter` *Xcode* project as follows:
+`ExternalDependencies` *Xcode* project as follows:
 
 1. In the *Project Navigator*, remove all of the files under the *Group* named 
-   `MoltenVKSPIRVToMSLConverter/SPIRV-Cross`.
+   `External/SPIRV-Cross`.
 
-2. Drag the following files from the `External/SPIRV-Cross` directory to the `SPIRV-Cross` 
+2. Drag the following files from the `External/SPIRV-Cross` directory to the `External/SPIRV-Cross` 
    group in the *Project Navigator* panel:
 
 		spirv_cfg.cpp
@@ -137,24 +137,20 @@
 		spirv_parser.cpp
 		spirv_parser.hpp
 
-   In the ***Choose options for adding these files*** dialog that opens, select the 
-   ***Create groups*** option, add the files to *both* the `MoltenVKSPIRVToMSLConverter-iOS` 
-   and `MoltenVKSPIRVToMSLConverter-macOS` targets, and click the ***Finish*** button.
-
-3. ***(Optional)*** To simplify the paths used within *Xcode* to reference the added files,
-   perform the following steps:
-   
-   1. **Create a backup of your project!** This is an intrusive and dangerous operation!
-   2. In the *Finder*, right-click your `MoltenVKShaderConverter.xcodeproj` file and select 
-      **_Show Package Contents_**.
-   3. Open the `project.pbxproj` file in a text editor.
-   4. Remove all occurrences of `path-to-SPIRV-Cross-repo-folder` from the paths to the files added above.
+   In the ***Choose options for adding these files*** dialog that opens, select the ***Create groups*** option, 
+   add the files to *both* the `SPIRV-Cross-macOS` and `SPIRV-Cross-iOS` targets, and click the ***Finish*** button.
 
 
 ### Regression Testing Your Changes to *SPIRV-Cross*
 
-If you make changes to the `SPIRV-Cross` repository, you can regression test your changes
- using the following steps:
+The *SPIRV-Cross* library plays an important part in providing features for **_MoltenVK_**, and if 
+you are developing features for **_MoltenVK_**, you may end up making changes to *SPIRV-Cross*. 
+
+If you make changes to the `SPIRV-Cross` repository, you can build a new version of the `libSPIRVCross.a`
+static library by opening the `ExternalDependencies.xcodeproj` *Xcode* project, and running the **_ExternalDependencies_** *Xcode* scheme. You can then rebuild **MoltenVK** to include the new library.
+
+While makng changes to the `SPIRV-Cross` repository, you can regression test your changes using the
+following steps:
 
 1. Load and build the versions of `SPRIV-Tools` and `glslang` that are used by the `SPIRV-Cross` tests:
 
@@ -170,88 +166,62 @@
 
 		./test_shaders.sh
 
-4. If your changes result in different expected output for a reference shader, and the new results
-   are correct, you can update the reference shader for a particular regression test by deleting
-   that reference shader, in either `External/SPIRV-Cross/reference/shaders-msl` or 
-   `External/SPIRV-Cross/reference/opt/shaders-msl`, and running the test again. The test will
-   replace the deleted reference shader.
+
+
+<a name="add_spirv-tools"></a>
+Adding the *SPIRV-Tools* Library to the *ExternalDependencies Xcode* Project
+----------------------------------------------------------------------------
+
+The `ExternalDependencies` *Xcode* project is already configured to use the *SPIRV-Tools*
+library. However, after updating the version of *glslang* (which adds *SPIRV-Tools*), 
+as described [above](#updating), if you encounter any building errors, you may need to re-add 
+the *SPIRV-Tools* library to the `ExternalDependencies` *Xcode* project as follows:
+
+1. In the *Project Navigator*, remove the *Group* named `source` from under the *Group* named
+   `External/SPIRV-Tools`.
+
+2. Drag the `External/glslang/Extermal/spirv-tools/source` file folder to the `External/SPIRV-Tools` 
+   group in the *Project Navigator* panel. In the _**Choose options for adding these files**_ dialog 
+   that opens, select the _**Create groups**_ option, add the files to *both* the `SPIRV-Tools-macOS` 
+   and `SPIRV-Tools-iOS` targets, and click the ***Finish*** button.
+
+3. In the *Project Navigator* panel, select the `ExternalDependencies` *Xcode* project, then 
+   select the `SPIRV-Tools-macOS` target, and open the *Build Settings* tab. Locate the build 
+   setting entry **Header Search Paths** (`HEADER_SEARCH_PATHS`) and add the following paths:
+
+		$(inherited) 
+		"$(SRCROOT)/External/glslang/External/spirv-tools/"
+		"$(SRCROOT)/External/glslang/External/spirv-tools/include"
+		"$(SRCROOT)/External/glslang/External/spirv-tools/external/spirv-headers/include"
+		"$(SRCROOT)/External/glslang/External/spirv-tools/build"
+
+4. Repeat *Step 3* for the `SPIRV-Tools-iOS` target within the `ExternalDependencies` *Xcode* project
 
 
 
 <a name="add_glslang"></a>
-Adding the *glslang* Library to the *MoltenVKShaderConverter Xcode* Project
----------------------------------------------------------------------------
+Adding the *glslang* Library to the *ExternalDependencies Xcode* Project
+------------------------------------------------------------------------
 
-The `MoltenVKShaderConverter` *Xcode* project is already configured to use the *glslang*
+The `ExternalDependencies` *Xcode* project is already configured to use the *glslang*
 library. However, after updating the version of *glslang*, as described [above](#updating),
 if you encounter any building errors, you may need to re-add the *glslang* library to the
-`MoltenVKShaderConverter` *Xcode* project as follows:
+`ExternalDependencies` *Xcode* project as follows:
 
 1. In the *Project Navigator*, remove all *Groups* from under the *Group* named
-   `MoltenVKGLSLToSPIRVConverter/glslang`.
+   `External/glslang`.
 
-2. Drag the following folders from the `External/glslang` file folder to the `glslang` *Group* in
-   the *Project Navigator* panel:
+2. Drag the following folders from the `External/glslang` file folder to the `External/glslang` 
+   *Group* in the *Project Navigator* panel:
 
 		glslang
 		OGLCompilersDLL
 		SPIRV
 
-   In the ***Choose options for adding these files*** dialog that opens, select the 
-   ***Create groups*** option, add the files to *both* the `MoltenVKGLSLToSPIRVConverter-iOS` 
-   and `MoltenVKGLSLToSPIRVConverter-macOS` targets, and click the ***Finish*** button.
+   In the ***Choose options for adding these files*** dialog that opens, select the ***Create groups*** option, 
+   add the files to *both* the `glslang-macOS` and `glslang-iOS` targets, and click the ***Finish*** button.
 
 3. In the *Project Navigator* panel, remove the references to the following files and folders:
 
-		glslang/glslang/MachineIndependant/glslang.y
-		glslang/glslang/OSDependent/Windows
-
-4. ***(Optional)*** To simplify the paths used within *Xcode* to reference the added files,
-   perform the following steps:
-   
-   1. **Create a backup of your project!** This is an intrusive and dangerous operation!
-   2. In the *Finder*, right-click your `MoltenVKShaderConverter.xcodeproj` file and select 
-      **_Show Package Contents_**.
-   3. Open the `project.pbxproj` file in a text editor.
-   4. Remove all occurrences of `path-to-glslang-repo-folder` from the paths to the 
-      `glslang`, `OGLCompilersDLL`, and `SPIRV` directories added above.
-
-
-
-<a name="add_spirv-tools"></a>
-Adding the *SPIRV-Tools* Library to the *MoltenVKShaderConverter Xcode* Project
--------------------------------------------------------------------------------
-
-The `MoltenVKShaderConverter` *Xcode* project is already configured to use the *SPIRV-Tools*
-library. However, after updating the version of *SPIRV-Tools*, as described [above](#updating),
-if you encounter any building errors, you may need to re-add the *SPIRV-Tools* library to the
-`MoltenVKShaderConverter` *Xcode* project as follows:
-
-1. In the *Project Navigator*, remove the *Group* named `source` from under the *Group* named
-   `MoltenVKSPIRVToMSLConverter/SPIRV-Tools`.
-
-2. Drag the `External/glslang/Extermal/spirv-tools/source` file folder to the `SPIRV-Tools` group in the *Project Navigator* panel.
-   In the _**Choose options for adding these files**_ dialog that opens, select the 
-   _**Create groups**_ option, add the files to *both* the `MoltenVKSPIRVToMSLConverter-iOS` 
-   and `MoltenVKSPIRVToMSLConverter-macOS` targets, and click the ***Finish*** button.
-
-3. In the *Project Navigator* panel, select the `MoltenVKShaderConverter` *Xcode* project, then select the 
-   `MoltenVKSPIRVToMSLConverter-macOS` target, and open the *Build Settings* tab. Locate the build setting 
-   entry **Header Search Paths** (`HEADER_SEARCH_PATHS`) and add the following paths:
-   
-		"$(SRCROOT)/glslang/External/spirv-tools"
-		"$(SRCROOT)/glslang/External/spirv-tools/include"
-		"$(SRCROOT)/glslang/External/spirv-tools/external/spirv-headers/include"
-		"$(SRCROOT)/glslang/build/External/spirv-tools"
-
-4. Repeat *Step 3* for the `MoltenVKSPIRVToMSLConverter-iOS` target within the `MoltenVKShaderConverter` *Xcode* project
-
-5. ***(Optional)*** To simplify the paths used within *Xcode* to reference the added files,
-   perform the following steps:
-   
-   1. **Create a backup of your project!** This is an intrusive and dangerous operation!
-   2. In the *Finder*, right-click your `MoltenVKShaderConverter.xcodeproj` file and select 
-      **_Show Package Contents_**.
-   3. Open the `project.pbxproj` file in a text editor.
-   4. Remove all occurrences of `path-to-SPIRV-Tools-repo-folder` from the paths to the 
-      `source` directory added above.
+		External/glslang/glslang/MachineIndependant/glslang.y
+		External/glslang/glslang/OSDependent/Windows
diff --git a/ExternalRevisions/SPIRV-Cross_repo_revision b/ExternalRevisions/SPIRV-Cross_repo_revision
index 511b7a3..63dc116 100644
--- a/ExternalRevisions/SPIRV-Cross_repo_revision
+++ b/ExternalRevisions/SPIRV-Cross_repo_revision
@@ -1 +1 @@
-ed16b3e69985feaf565efbecea70a1cc2fca2a58
+9e3a41ad00ca48b9119d805cd96f337984458fe7
diff --git a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
index d25f6cd..bb7a806 100644
--- a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
+++ b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
@@ -9,6 +9,10 @@
 /* Begin PBXBuildFile section */
 		45003E73214AD4E500E989CB /* MVKExtensions.def in Headers */ = {isa = PBXBuildFile; fileRef = 45003E6F214AD4C900E989CB /* MVKExtensions.def */; };
 		45003E74214AD4E600E989CB /* MVKExtensions.def in Headers */ = {isa = PBXBuildFile; fileRef = 45003E6F214AD4C900E989CB /* MVKExtensions.def */; };
+		45557A5221C9EFF3008868BD /* MVKCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 45557A4D21C9EFF3008868BD /* MVKCodec.cpp */; };
+		45557A5321C9EFF3008868BD /* MVKCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 45557A4D21C9EFF3008868BD /* MVKCodec.cpp */; };
+		45557A5421C9EFF3008868BD /* MVKCodec.h in Headers */ = {isa = PBXBuildFile; fileRef = 45557A5121C9EFF3008868BD /* MVKCodec.h */; };
+		45557A5521C9EFF3008868BD /* MVKCodec.h in Headers */ = {isa = PBXBuildFile; fileRef = 45557A5121C9EFF3008868BD /* MVKCodec.h */; };
 		83A4AD2A21BD75570006C935 /* MVKVector.h in Headers */ = {isa = PBXBuildFile; fileRef = 83A4AD2521BD75570006C935 /* MVKVector.h */; };
 		83A4AD2B21BD75570006C935 /* MVKVector.h in Headers */ = {isa = PBXBuildFile; fileRef = 83A4AD2521BD75570006C935 /* MVKVector.h */; };
 		83A4AD2C21BD75570006C935 /* MVKVectorAllocator.h in Headers */ = {isa = PBXBuildFile; fileRef = 83A4AD2921BD75570006C935 /* MVKVectorAllocator.h */; };
@@ -265,6 +269,9 @@
 
 /* Begin PBXFileReference section */
 		45003E6F214AD4C900E989CB /* MVKExtensions.def */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = MVKExtensions.def; sourceTree = "<group>"; };
+		45557A4D21C9EFF3008868BD /* MVKCodec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MVKCodec.cpp; sourceTree = "<group>"; };
+		45557A5121C9EFF3008868BD /* MVKCodec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKCodec.h; sourceTree = "<group>"; };
+		45557A5721CD83C3008868BD /* MVKDXTnCodec.def */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = MVKDXTnCodec.def; sourceTree = "<group>"; };
 		83A4AD2521BD75570006C935 /* MVKVector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKVector.h; sourceTree = "<group>"; };
 		83A4AD2921BD75570006C935 /* MVKVectorAllocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKVectorAllocator.h; sourceTree = "<group>"; };
 		A9096E5C1F81E16300DFBEA6 /* MVKCmdDispatch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MVKCmdDispatch.h; sourceTree = "<group>"; };
@@ -497,6 +504,9 @@
 		A98149401FB6A3F7005F00B4 /* Utility */ = {
 			isa = PBXGroup;
 			children = (
+				45557A5721CD83C3008868BD /* MVKDXTnCodec.def */,
+				45557A4D21C9EFF3008868BD /* MVKCodec.cpp */,
+				45557A5121C9EFF3008868BD /* MVKCodec.h */,
 				83A4AD2521BD75570006C935 /* MVKVector.h */,
 				83A4AD2921BD75570006C935 /* MVKVectorAllocator.h */,
 				A98149411FB6A3F7005F00B4 /* MVKBaseObject.cpp */,
@@ -611,6 +621,7 @@
 				A94FB7E01C7DFB4800632CA3 /* MVKDescriptorSet.h in Headers */,
 				A9E53DE12100B197002781DD /* NSString+MoltenVK.h in Headers */,
 				A9E53DDF2100B197002781DD /* CAMetalLayer+MoltenVK.h in Headers */,
+				45557A5421C9EFF3008868BD /* MVKCodec.h in Headers */,
 				A94FB8041C7DFB4800632CA3 /* MVKRenderPass.h in Headers */,
 				A9F042A61FB4CF83009FCCB8 /* MVKLogging.h in Headers */,
 				A94FB8001C7DFB4800632CA3 /* MVKQueue.h in Headers */,
@@ -674,6 +685,7 @@
 				A94FB7E11C7DFB4800632CA3 /* MVKDescriptorSet.h in Headers */,
 				A9E53DE22100B197002781DD /* NSString+MoltenVK.h in Headers */,
 				A9E53DE02100B197002781DD /* CAMetalLayer+MoltenVK.h in Headers */,
+				45557A5521C9EFF3008868BD /* MVKCodec.h in Headers */,
 				A94FB8051C7DFB4800632CA3 /* MVKRenderPass.h in Headers */,
 				A9F042A71FB4CF83009FCCB8 /* MVKLogging.h in Headers */,
 				A94FB8011C7DFB4800632CA3 /* MVKQueue.h in Headers */,
@@ -949,6 +961,7 @@
 				A94FB7CE1C7DFB4800632CA3 /* MVKCommand.mm in Sources */,
 				A94FB80E1C7DFB4800632CA3 /* MVKShaderModule.mm in Sources */,
 				A94FB81A1C7DFB4800632CA3 /* MVKSync.mm in Sources */,
+				45557A5221C9EFF3008868BD /* MVKCodec.cpp in Sources */,
 				A94FB7BE1C7DFB4800632CA3 /* MVKCmdPipeline.mm in Sources */,
 				A94FB81E1C7DFB4800632CA3 /* MVKLayers.mm in Sources */,
 				A94FB7EE1C7DFB4800632CA3 /* MVKFramebuffer.mm in Sources */,
@@ -1001,6 +1014,7 @@
 				A94FB7CF1C7DFB4800632CA3 /* MVKCommand.mm in Sources */,
 				A94FB80F1C7DFB4800632CA3 /* MVKShaderModule.mm in Sources */,
 				A94FB81B1C7DFB4800632CA3 /* MVKSync.mm in Sources */,
+				45557A5321C9EFF3008868BD /* MVKCodec.cpp in Sources */,
 				A94FB7BF1C7DFB4800632CA3 /* MVKCmdPipeline.mm in Sources */,
 				A94FB81F1C7DFB4800632CA3 /* MVKLayers.mm in Sources */,
 				A94FB7EF1C7DFB4800632CA3 /* MVKFramebuffer.mm in Sources */,
@@ -1029,6 +1043,7 @@
 		A9B8EE1E1A98D796009C5A02 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				ARCHS = arm64;
 				BITCODE_GENERATION_MODE = bitcode;
 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
 				SDKROOT = iphoneos;
@@ -1040,6 +1055,7 @@
 		A9B8EE1F1A98D796009C5A02 /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				ARCHS = arm64;
 				BITCODE_GENERATION_MODE = bitcode;
 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
 				SDKROOT = iphoneos;
diff --git a/MoltenVKPackaging.xcodeproj/project.pbxproj b/MoltenVKPackaging.xcodeproj/project.pbxproj
index bf7d955..cffc66c 100644
--- a/MoltenVKPackaging.xcodeproj/project.pbxproj
+++ b/MoltenVKPackaging.xcodeproj/project.pbxproj
@@ -179,19 +179,11 @@
 		A92EF7CA21856EA200C8B91B /* package_update_latest.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_update_latest.sh; sourceTree = "<group>"; };
 		A92EF7CB21856EA300C8B91B /* package_shader_converter.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter.sh; sourceTree = "<group>"; };
 		A92EF7DE2186451700C8B91B /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; name = Makefile; path = ../Makefile; sourceTree = "<group>"; };
-		A943100220546CDD00F5CF87 /* fetchDependencies */ = {isa = PBXFileReference; lastKnownFileType = text; name = fetchDependencies; path = ../fetchDependencies; sourceTree = "<group>"; };
 		A975D55C213F25D700D4834F /* create_dylib.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = create_dylib.sh; path = ../MoltenVK/scripts/create_dylib.sh; sourceTree = "<group>"; };
 		A98149E51FB78829005F00B4 /* MoltenVK_Runtime_UserGuide.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = MoltenVK_Runtime_UserGuide.md; path = Docs/MoltenVK_Runtime_UserGuide.md; sourceTree = "<group>"; };
 		A99A760321852584000A8E2A /* create_framework.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = create_framework.sh; path = ../MoltenVK/scripts/create_framework.sh; sourceTree = "<group>"; };
-		A9AD67D12054E2D700ED3C08 /* VulkanSamples_repo_revision */ = {isa = PBXFileReference; lastKnownFileType = text; path = VulkanSamples_repo_revision; sourceTree = "<group>"; };
-		A9AD67D32054E2D700ED3C08 /* SPIRV-Cross_repo_revision */ = {isa = PBXFileReference; lastKnownFileType = text; path = "SPIRV-Cross_repo_revision"; sourceTree = "<group>"; };
-		A9AD67E92055D8A600ED3C08 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
-		A9D3560A20BB3A2900BE295C /* glslang_repo_revision */ = {isa = PBXFileReference; lastKnownFileType = text; path = glslang_repo_revision; sourceTree = "<group>"; };
-		A9D3560B20BB3A5600BE295C /* Vulkan-Headers_repo_revision */ = {isa = PBXFileReference; lastKnownFileType = text; path = "Vulkan-Headers_repo_revision"; sourceTree = "<group>"; };
-		A9D3560C20BB3A7200BE295C /* Vulkan-Tools_repo_revision */ = {isa = PBXFileReference; lastKnownFileType = text; path = "Vulkan-Tools_repo_revision"; sourceTree = "<group>"; };
 		A9DA8340218A198C002AA662 /* .travis.yml */ = {isa = PBXFileReference; lastKnownFileType = text; path = .travis.yml; sourceTree = "<group>"; };
 		A9DA8341218A198C002AA662 /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = text; path = .gitignore; sourceTree = "<group>"; };
-		A9EE46412065766C00193200 /* cereal_repo_revision */ = {isa = PBXFileReference; lastKnownFileType = text; path = cereal_repo_revision; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXGroup section */
@@ -200,7 +192,6 @@
 			children = (
 				A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */,
 				A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */,
-				A939A6FB1F5479D0006ACA0C /* External */,
 				A975D55B213F25AD00D4834F /* Scripts */,
 				A92DB3E11CE0F34500FBC835 /* Docs */,
 				A9DA833F218A193F002AA662 /* Git */,
@@ -227,22 +218,6 @@
 			name = Products;
 			sourceTree = "<group>";
 		};
-		A939A6FB1F5479D0006ACA0C /* External */ = {
-			isa = PBXGroup;
-			children = (
-				A9AD67E92055D8A600ED3C08 /* README.md */,
-				A943100220546CDD00F5CF87 /* fetchDependencies */,
-				A9EE46412065766C00193200 /* cereal_repo_revision */,
-				A9D3560A20BB3A2900BE295C /* glslang_repo_revision */,
-				A9AD67D32054E2D700ED3C08 /* SPIRV-Cross_repo_revision */,
-				A9D3560B20BB3A5600BE295C /* Vulkan-Headers_repo_revision */,
-				A9D3560C20BB3A7200BE295C /* Vulkan-Tools_repo_revision */,
-				A9AD67D12054E2D700ED3C08 /* VulkanSamples_repo_revision */,
-			);
-			name = External;
-			path = ExternalRevisions;
-			sourceTree = "<group>";
-		};
 		A975D55B213F25AD00D4834F /* Scripts */ = {
 			isa = PBXGroup;
 			children = (
diff --git a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/spirv.hpp b/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/spirv.hpp
deleted file mode 120000
index 37ce621..0000000
--- a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/spirv.hpp
+++ /dev/null
@@ -1 +0,0 @@
-../../External/SPIRV-Cross/spirv.hpp
\ No newline at end of file
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
index 6b0fe65..391b5dd 100644
--- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
+++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
@@ -25,809 +25,21 @@
 		A928C91A1D0488DC00071B88 /* SPIRVConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A928C9171D0488DC00071B88 /* SPIRVConversion.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		A928C91B1D0488DC00071B88 /* SPIRVConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A928C9181D0488DC00071B88 /* SPIRVConversion.mm */; };
 		A928C91C1D0488DC00071B88 /* SPIRVConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A928C9181D0488DC00071B88 /* SPIRVConversion.mm */; };
-		A93E826E211F76F6001FEBD4 /* SPVRemapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8203211F76F5001FEBD4 /* SPVRemapper.h */; };
-		A93E826F211F76F6001FEBD4 /* SPVRemapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8203211F76F5001FEBD4 /* SPVRemapper.h */; };
-		A93E8270211F76F6001FEBD4 /* SpvBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8204211F76F5001FEBD4 /* SpvBuilder.h */; };
-		A93E8271211F76F6001FEBD4 /* SpvBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8204211F76F5001FEBD4 /* SpvBuilder.h */; };
-		A93E8272211F76F6001FEBD4 /* SpvPostProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8206211F76F5001FEBD4 /* SpvPostProcess.cpp */; };
-		A93E8273211F76F6001FEBD4 /* SpvPostProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8206211F76F5001FEBD4 /* SpvPostProcess.cpp */; };
-		A93E8274211F76F6001FEBD4 /* InReadableOrder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8207211F76F5001FEBD4 /* InReadableOrder.cpp */; };
-		A93E8275211F76F6001FEBD4 /* InReadableOrder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8207211F76F5001FEBD4 /* InReadableOrder.cpp */; };
-		A93E8276211F76F6001FEBD4 /* GLSL.ext.AMD.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8208211F76F5001FEBD4 /* GLSL.ext.AMD.h */; };
-		A93E8277211F76F6001FEBD4 /* GLSL.ext.AMD.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8208211F76F5001FEBD4 /* GLSL.ext.AMD.h */; };
-		A93E8278211F76F6001FEBD4 /* doc.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8209211F76F5001FEBD4 /* doc.h */; };
-		A93E8279211F76F6001FEBD4 /* doc.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8209211F76F5001FEBD4 /* doc.h */; };
-		A93E827A211F76F6001FEBD4 /* spirv.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A93E820A211F76F5001FEBD4 /* spirv.hpp */; };
-		A93E827B211F76F6001FEBD4 /* spirv.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A93E820A211F76F5001FEBD4 /* spirv.hpp */; };
-		A93E827C211F76F6001FEBD4 /* SpvBuilder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E820B211F76F5001FEBD4 /* SpvBuilder.cpp */; };
-		A93E827D211F76F6001FEBD4 /* SpvBuilder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E820B211F76F5001FEBD4 /* SpvBuilder.cpp */; };
-		A93E827E211F76F6001FEBD4 /* GLSL.ext.EXT.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E820C211F76F6001FEBD4 /* GLSL.ext.EXT.h */; };
-		A93E827F211F76F6001FEBD4 /* GLSL.ext.EXT.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E820C211F76F6001FEBD4 /* GLSL.ext.EXT.h */; };
-		A93E8280211F76F6001FEBD4 /* GLSL.ext.KHR.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E820D211F76F6001FEBD4 /* GLSL.ext.KHR.h */; };
-		A93E8281211F76F6001FEBD4 /* GLSL.ext.KHR.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E820D211F76F6001FEBD4 /* GLSL.ext.KHR.h */; };
-		A93E8282211F76F6001FEBD4 /* GLSL.ext.NV.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E820E211F76F6001FEBD4 /* GLSL.ext.NV.h */; };
-		A93E8283211F76F6001FEBD4 /* GLSL.ext.NV.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E820E211F76F6001FEBD4 /* GLSL.ext.NV.h */; };
-		A93E8284211F76F6001FEBD4 /* GlslangToSpv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E820F211F76F6001FEBD4 /* GlslangToSpv.cpp */; };
-		A93E8285211F76F6001FEBD4 /* GlslangToSpv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E820F211F76F6001FEBD4 /* GlslangToSpv.cpp */; };
-		A93E8286211F76F6001FEBD4 /* spvIR.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8210211F76F6001FEBD4 /* spvIR.h */; };
-		A93E8287211F76F6001FEBD4 /* spvIR.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8210211F76F6001FEBD4 /* spvIR.h */; };
-		A93E8288211F76F6001FEBD4 /* bitutils.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8211211F76F6001FEBD4 /* bitutils.h */; };
-		A93E8289211F76F6001FEBD4 /* bitutils.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8211211F76F6001FEBD4 /* bitutils.h */; };
-		A93E828A211F76F6001FEBD4 /* disassemble.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8212211F76F6001FEBD4 /* disassemble.h */; };
-		A93E828B211F76F6001FEBD4 /* disassemble.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8212211F76F6001FEBD4 /* disassemble.h */; };
-		A93E828C211F76F6001FEBD4 /* GlslangToSpv.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8213211F76F6001FEBD4 /* GlslangToSpv.h */; };
-		A93E828D211F76F6001FEBD4 /* GlslangToSpv.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8213211F76F6001FEBD4 /* GlslangToSpv.h */; };
-		A93E828E211F76F6001FEBD4 /* GLSL.std.450.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8214211F76F6001FEBD4 /* GLSL.std.450.h */; };
-		A93E828F211F76F6001FEBD4 /* GLSL.std.450.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8214211F76F6001FEBD4 /* GLSL.std.450.h */; };
-		A93E8290211F76F6001FEBD4 /* SPVRemapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8215211F76F6001FEBD4 /* SPVRemapper.cpp */; };
-		A93E8291211F76F6001FEBD4 /* SPVRemapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8215211F76F6001FEBD4 /* SPVRemapper.cpp */; };
-		A93E8292211F76F6001FEBD4 /* Logger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8216211F76F6001FEBD4 /* Logger.cpp */; };
-		A93E8293211F76F6001FEBD4 /* Logger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8216211F76F6001FEBD4 /* Logger.cpp */; };
-		A93E8294211F76F6001FEBD4 /* hex_float.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8217211F76F6001FEBD4 /* hex_float.h */; };
-		A93E8295211F76F6001FEBD4 /* hex_float.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8217211F76F6001FEBD4 /* hex_float.h */; };
-		A93E8296211F76F6001FEBD4 /* Logger.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8218211F76F6001FEBD4 /* Logger.h */; };
-		A93E8297211F76F6001FEBD4 /* Logger.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8218211F76F6001FEBD4 /* Logger.h */; };
-		A93E8298211F76F6001FEBD4 /* doc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8219211F76F6001FEBD4 /* doc.cpp */; };
-		A93E8299211F76F6001FEBD4 /* doc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8219211F76F6001FEBD4 /* doc.cpp */; };
-		A93E829A211F76F6001FEBD4 /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E821A211F76F6001FEBD4 /* disassemble.cpp */; };
-		A93E829B211F76F6001FEBD4 /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E821A211F76F6001FEBD4 /* disassemble.cpp */; };
-		A93E829C211F76F6001FEBD4 /* ossource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E821F211F76F6001FEBD4 /* ossource.cpp */; };
-		A93E829D211F76F6001FEBD4 /* ossource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E821F211F76F6001FEBD4 /* ossource.cpp */; };
-		A93E829E211F76F6001FEBD4 /* osinclude.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8221211F76F6001FEBD4 /* osinclude.h */; };
-		A93E829F211F76F6001FEBD4 /* osinclude.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8221211F76F6001FEBD4 /* osinclude.h */; };
-		A93E82A4211F76F6001FEBD4 /* ResourceLimits.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8227211F76F6001FEBD4 /* ResourceLimits.h */; };
-		A93E82A5211F76F6001FEBD4 /* ResourceLimits.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8227211F76F6001FEBD4 /* ResourceLimits.h */; };
-		A93E82A6211F76F6001FEBD4 /* Types.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8228211F76F6001FEBD4 /* Types.h */; };
-		A93E82A7211F76F6001FEBD4 /* Types.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8228211F76F6001FEBD4 /* Types.h */; };
-		A93E82A8211F76F6001FEBD4 /* intermediate.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8229211F76F6001FEBD4 /* intermediate.h */; };
-		A93E82A9211F76F6001FEBD4 /* intermediate.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8229211F76F6001FEBD4 /* intermediate.h */; };
-		A93E82AA211F76F6001FEBD4 /* BaseTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E822A211F76F6001FEBD4 /* BaseTypes.h */; };
-		A93E82AB211F76F6001FEBD4 /* BaseTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E822A211F76F6001FEBD4 /* BaseTypes.h */; };
-		A93E82AC211F76F6001FEBD4 /* revision.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E822B211F76F6001FEBD4 /* revision.h */; };
-		A93E82AD211F76F6001FEBD4 /* revision.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E822B211F76F6001FEBD4 /* revision.h */; };
-		A93E82AE211F76F6001FEBD4 /* InitializeGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E822C211F76F6001FEBD4 /* InitializeGlobals.h */; };
-		A93E82AF211F76F6001FEBD4 /* InitializeGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E822C211F76F6001FEBD4 /* InitializeGlobals.h */; };
-		A93E82B0211F76F6001FEBD4 /* ShHandle.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E822D211F76F6001FEBD4 /* ShHandle.h */; };
-		A93E82B1211F76F6001FEBD4 /* ShHandle.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E822D211F76F6001FEBD4 /* ShHandle.h */; };
-		A93E82B2211F76F6001FEBD4 /* arrays.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E822E211F76F6001FEBD4 /* arrays.h */; };
-		A93E82B3211F76F6001FEBD4 /* arrays.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E822E211F76F6001FEBD4 /* arrays.h */; };
-		A93E82B4211F76F6001FEBD4 /* Common.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E822F211F76F6001FEBD4 /* Common.h */; };
-		A93E82B5211F76F6001FEBD4 /* Common.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E822F211F76F6001FEBD4 /* Common.h */; };
-		A93E82B6211F76F6001FEBD4 /* ConstantUnion.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8231211F76F6001FEBD4 /* ConstantUnion.h */; };
-		A93E82B7211F76F6001FEBD4 /* ConstantUnion.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8231211F76F6001FEBD4 /* ConstantUnion.h */; };
-		A93E82B8211F76F6001FEBD4 /* InfoSink.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8232211F76F6001FEBD4 /* InfoSink.h */; };
-		A93E82B9211F76F6001FEBD4 /* InfoSink.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8232211F76F6001FEBD4 /* InfoSink.h */; };
-		A93E82BA211F76F6001FEBD4 /* PoolAlloc.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8233211F76F6001FEBD4 /* PoolAlloc.h */; };
-		A93E82BB211F76F6001FEBD4 /* PoolAlloc.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8233211F76F6001FEBD4 /* PoolAlloc.h */; };
-		A93E82BC211F76F6001FEBD4 /* ParseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8236211F76F6001FEBD4 /* ParseHelper.cpp */; };
-		A93E82BD211F76F6001FEBD4 /* ParseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8236211F76F6001FEBD4 /* ParseHelper.cpp */; };
-		A93E82BE211F76F6001FEBD4 /* parseVersions.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8237211F76F6001FEBD4 /* parseVersions.h */; };
-		A93E82BF211F76F6001FEBD4 /* parseVersions.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8237211F76F6001FEBD4 /* parseVersions.h */; };
-		A93E82C0211F76F6001FEBD4 /* gl_types.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8238211F76F6001FEBD4 /* gl_types.h */; };
-		A93E82C1211F76F6001FEBD4 /* gl_types.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8238211F76F6001FEBD4 /* gl_types.h */; };
-		A93E82C2211F76F6001FEBD4 /* propagateNoContraction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8239211F76F6001FEBD4 /* propagateNoContraction.cpp */; };
-		A93E82C3211F76F6001FEBD4 /* propagateNoContraction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8239211F76F6001FEBD4 /* propagateNoContraction.cpp */; };
-		A93E82C4211F76F6001FEBD4 /* ScanContext.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E823A211F76F6001FEBD4 /* ScanContext.h */; };
-		A93E82C5211F76F6001FEBD4 /* ScanContext.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E823A211F76F6001FEBD4 /* ScanContext.h */; };
-		A93E82C6211F76F6001FEBD4 /* iomapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E823B211F76F6001FEBD4 /* iomapper.h */; };
-		A93E82C7211F76F6001FEBD4 /* iomapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E823B211F76F6001FEBD4 /* iomapper.h */; };
-		A93E82C8211F76F6001FEBD4 /* localintermediate.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E823C211F76F6001FEBD4 /* localintermediate.h */; };
-		A93E82C9211F76F6001FEBD4 /* localintermediate.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E823C211F76F6001FEBD4 /* localintermediate.h */; };
-		A93E82CA211F76F6001FEBD4 /* Scan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E823D211F76F6001FEBD4 /* Scan.cpp */; };
-		A93E82CB211F76F6001FEBD4 /* Scan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E823D211F76F6001FEBD4 /* Scan.cpp */; };
-		A93E82CE211F76F6001FEBD4 /* RemoveTree.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E823F211F76F6001FEBD4 /* RemoveTree.h */; };
-		A93E82CF211F76F6001FEBD4 /* RemoveTree.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E823F211F76F6001FEBD4 /* RemoveTree.h */; };
-		A93E82D0211F76F6001FEBD4 /* Initialize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8240211F76F6001FEBD4 /* Initialize.cpp */; };
-		A93E82D1211F76F6001FEBD4 /* Initialize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8240211F76F6001FEBD4 /* Initialize.cpp */; };
-		A93E82D2211F76F6001FEBD4 /* glslang_tab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8241211F76F6001FEBD4 /* glslang_tab.cpp */; };
-		A93E82D3211F76F6001FEBD4 /* glslang_tab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8241211F76F6001FEBD4 /* glslang_tab.cpp */; };
-		A93E82D4211F76F6001FEBD4 /* limits.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8242211F76F6001FEBD4 /* limits.cpp */; };
-		A93E82D5211F76F6001FEBD4 /* limits.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8242211F76F6001FEBD4 /* limits.cpp */; };
-		A93E82D6211F76F6001FEBD4 /* parseConst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8243211F76F6001FEBD4 /* parseConst.cpp */; };
-		A93E82D7211F76F6001FEBD4 /* parseConst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8243211F76F6001FEBD4 /* parseConst.cpp */; };
-		A93E82D8211F76F6001FEBD4 /* propagateNoContraction.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8244211F76F6001FEBD4 /* propagateNoContraction.h */; };
-		A93E82D9211F76F6001FEBD4 /* propagateNoContraction.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8244211F76F6001FEBD4 /* propagateNoContraction.h */; };
-		A93E82DA211F76F6001FEBD4 /* Versions.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8245211F76F6001FEBD4 /* Versions.h */; };
-		A93E82DB211F76F6001FEBD4 /* Versions.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8245211F76F6001FEBD4 /* Versions.h */; };
-		A93E82DC211F76F6001FEBD4 /* IntermTraverse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8246211F76F6001FEBD4 /* IntermTraverse.cpp */; };
-		A93E82DD211F76F6001FEBD4 /* IntermTraverse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8246211F76F6001FEBD4 /* IntermTraverse.cpp */; };
-		A93E82DE211F76F6001FEBD4 /* intermOut.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8247211F76F6001FEBD4 /* intermOut.cpp */; };
-		A93E82DF211F76F6001FEBD4 /* intermOut.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8247211F76F6001FEBD4 /* intermOut.cpp */; };
-		A93E82E0211F76F6001FEBD4 /* iomapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8248211F76F6001FEBD4 /* iomapper.cpp */; };
-		A93E82E1211F76F6001FEBD4 /* iomapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8248211F76F6001FEBD4 /* iomapper.cpp */; };
-		A93E82E2211F76F6001FEBD4 /* PoolAlloc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8249211F76F6001FEBD4 /* PoolAlloc.cpp */; };
-		A93E82E3211F76F6001FEBD4 /* PoolAlloc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8249211F76F6001FEBD4 /* PoolAlloc.cpp */; };
-		A93E82E4211F76F6001FEBD4 /* ShaderLang.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E824A211F76F6001FEBD4 /* ShaderLang.cpp */; };
-		A93E82E5211F76F6001FEBD4 /* ShaderLang.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E824A211F76F6001FEBD4 /* ShaderLang.cpp */; };
-		A93E82E6211F76F6001FEBD4 /* SymbolTable.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E824B211F76F6001FEBD4 /* SymbolTable.h */; };
-		A93E82E7211F76F6001FEBD4 /* SymbolTable.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E824B211F76F6001FEBD4 /* SymbolTable.h */; };
-		A93E82E8211F76F6001FEBD4 /* InfoSink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E824C211F76F6001FEBD4 /* InfoSink.cpp */; };
-		A93E82E9211F76F6001FEBD4 /* InfoSink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E824C211F76F6001FEBD4 /* InfoSink.cpp */; };
-		A93E82EA211F76F6001FEBD4 /* Intermediate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E824D211F76F6001FEBD4 /* Intermediate.cpp */; };
-		A93E82EB211F76F6001FEBD4 /* Intermediate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E824D211F76F6001FEBD4 /* Intermediate.cpp */; };
-		A93E82EC211F76F6001FEBD4 /* SymbolTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E824E211F76F6001FEBD4 /* SymbolTable.cpp */; };
-		A93E82ED211F76F6001FEBD4 /* SymbolTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E824E211F76F6001FEBD4 /* SymbolTable.cpp */; };
-		A93E82EE211F76F6001FEBD4 /* glslang_tab.cpp.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E824F211F76F6001FEBD4 /* glslang_tab.cpp.h */; };
-		A93E82EF211F76F6001FEBD4 /* glslang_tab.cpp.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E824F211F76F6001FEBD4 /* glslang_tab.cpp.h */; };
-		A93E82F0211F76F6001FEBD4 /* LiveTraverser.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8250211F76F6001FEBD4 /* LiveTraverser.h */; };
-		A93E82F1211F76F6001FEBD4 /* LiveTraverser.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8250211F76F6001FEBD4 /* LiveTraverser.h */; };
-		A93E82F2211F76F6001FEBD4 /* Initialize.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8251211F76F6001FEBD4 /* Initialize.h */; };
-		A93E82F3211F76F6001FEBD4 /* Initialize.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8251211F76F6001FEBD4 /* Initialize.h */; };
-		A93E82F4211F76F6001FEBD4 /* attribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8252211F76F6001FEBD4 /* attribute.cpp */; };
-		A93E82F5211F76F6001FEBD4 /* attribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8252211F76F6001FEBD4 /* attribute.cpp */; };
-		A93E82F6211F76F6001FEBD4 /* reflection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8253211F76F6001FEBD4 /* reflection.cpp */; };
-		A93E82F7211F76F6001FEBD4 /* reflection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8253211F76F6001FEBD4 /* reflection.cpp */; };
-		A93E82F8211F76F6001FEBD4 /* RemoveTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8254211F76F6001FEBD4 /* RemoveTree.cpp */; };
-		A93E82F9211F76F6001FEBD4 /* RemoveTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8254211F76F6001FEBD4 /* RemoveTree.cpp */; };
-		A93E82FA211F76F6001FEBD4 /* attribute.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8255211F76F6001FEBD4 /* attribute.h */; };
-		A93E82FB211F76F6001FEBD4 /* attribute.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8255211F76F6001FEBD4 /* attribute.h */; };
-		A93E82FC211F76F6001FEBD4 /* Versions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8256211F76F6001FEBD4 /* Versions.cpp */; };
-		A93E82FD211F76F6001FEBD4 /* Versions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8256211F76F6001FEBD4 /* Versions.cpp */; };
-		A93E82FE211F76F6001FEBD4 /* Constant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8257211F76F6001FEBD4 /* Constant.cpp */; };
-		A93E82FF211F76F6001FEBD4 /* Constant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8257211F76F6001FEBD4 /* Constant.cpp */; };
-		A93E8300211F76F6001FEBD4 /* linkValidate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8258211F76F6001FEBD4 /* linkValidate.cpp */; };
-		A93E8301211F76F6001FEBD4 /* linkValidate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8258211F76F6001FEBD4 /* linkValidate.cpp */; };
-		A93E8302211F76F6001FEBD4 /* ParseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8259211F76F6001FEBD4 /* ParseHelper.h */; };
-		A93E8303211F76F6001FEBD4 /* ParseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8259211F76F6001FEBD4 /* ParseHelper.h */; };
-		A93E8304211F76F6001FEBD4 /* PpAtom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E825B211F76F6001FEBD4 /* PpAtom.cpp */; };
-		A93E8305211F76F6001FEBD4 /* PpAtom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E825B211F76F6001FEBD4 /* PpAtom.cpp */; };
-		A93E8306211F76F6001FEBD4 /* PpTokens.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E825C211F76F6001FEBD4 /* PpTokens.h */; };
-		A93E8307211F76F6001FEBD4 /* PpTokens.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E825C211F76F6001FEBD4 /* PpTokens.h */; };
-		A93E8308211F76F6001FEBD4 /* Pp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E825D211F76F6001FEBD4 /* Pp.cpp */; };
-		A93E8309211F76F6001FEBD4 /* Pp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E825D211F76F6001FEBD4 /* Pp.cpp */; };
-		A93E830A211F76F6001FEBD4 /* PpContext.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E825E211F76F6001FEBD4 /* PpContext.h */; };
-		A93E830B211F76F6001FEBD4 /* PpContext.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E825E211F76F6001FEBD4 /* PpContext.h */; };
-		A93E830C211F76F6001FEBD4 /* PpTokens.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E825F211F76F6001FEBD4 /* PpTokens.cpp */; };
-		A93E830D211F76F6001FEBD4 /* PpTokens.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E825F211F76F6001FEBD4 /* PpTokens.cpp */; };
-		A93E830E211F76F6001FEBD4 /* PpContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8260211F76F6001FEBD4 /* PpContext.cpp */; };
-		A93E830F211F76F6001FEBD4 /* PpContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8260211F76F6001FEBD4 /* PpContext.cpp */; };
-		A93E8310211F76F6001FEBD4 /* PpScanner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8261211F76F6001FEBD4 /* PpScanner.cpp */; };
-		A93E8311211F76F6001FEBD4 /* PpScanner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8261211F76F6001FEBD4 /* PpScanner.cpp */; };
-		A93E8312211F76F6001FEBD4 /* ParseContextBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8262211F76F6001FEBD4 /* ParseContextBase.cpp */; };
-		A93E8313211F76F6001FEBD4 /* ParseContextBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8262211F76F6001FEBD4 /* ParseContextBase.cpp */; };
-		A93E8314211F76F6001FEBD4 /* reflection.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8263211F76F6001FEBD4 /* reflection.h */; };
-		A93E8315211F76F6001FEBD4 /* reflection.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8263211F76F6001FEBD4 /* reflection.h */; };
-		A93E8316211F76F6001FEBD4 /* Scan.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8264211F76F6001FEBD4 /* Scan.h */; };
-		A93E8317211F76F6001FEBD4 /* Scan.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8264211F76F6001FEBD4 /* Scan.h */; };
-		A93E8318211F76F6001FEBD4 /* ShaderLang.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8266211F76F6001FEBD4 /* ShaderLang.h */; };
-		A93E8319211F76F6001FEBD4 /* ShaderLang.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8266211F76F6001FEBD4 /* ShaderLang.h */; };
-		A93E831A211F76F6001FEBD4 /* CodeGen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8268211F76F6001FEBD4 /* CodeGen.cpp */; };
-		A93E831B211F76F6001FEBD4 /* CodeGen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8268211F76F6001FEBD4 /* CodeGen.cpp */; };
-		A93E831C211F76F6001FEBD4 /* Link.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8269211F76F6001FEBD4 /* Link.cpp */; };
-		A93E831D211F76F6001FEBD4 /* Link.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8269211F76F6001FEBD4 /* Link.cpp */; };
-		A93E831E211F76F6001FEBD4 /* InitializeDll.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E826C211F76F6001FEBD4 /* InitializeDll.h */; };
-		A93E831F211F76F6001FEBD4 /* InitializeDll.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E826C211F76F6001FEBD4 /* InitializeDll.h */; };
-		A93E8320211F76F6001FEBD4 /* InitializeDll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E826D211F76F6001FEBD4 /* InitializeDll.cpp */; };
-		A93E8321211F76F6001FEBD4 /* InitializeDll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E826D211F76F6001FEBD4 /* InitializeDll.cpp */; };
-		A94E30CF219209C700394673 /* spirv_parser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94E30CD219209C700394673 /* spirv_parser.cpp */; };
-		A94E30D0219209C700394673 /* spirv_parser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94E30CD219209C700394673 /* spirv_parser.cpp */; };
-		A94E30D1219209C700394673 /* spirv_parser.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A94E30CE219209C700394673 /* spirv_parser.hpp */; };
-		A94E30D2219209C700394673 /* spirv_parser.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A94E30CE219209C700394673 /* spirv_parser.hpp */; };
-		A94E30D521920A8C00394673 /* spirv_cross_parsed_ir.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A94E30D321920A8C00394673 /* spirv_cross_parsed_ir.hpp */; };
-		A94E30D621920A8C00394673 /* spirv_cross_parsed_ir.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A94E30D321920A8C00394673 /* spirv_cross_parsed_ir.hpp */; };
-		A94E30D721920A8C00394673 /* spirv_cross_parsed_ir.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94E30D421920A8C00394673 /* spirv_cross_parsed_ir.cpp */; };
-		A94E30D821920A8C00394673 /* spirv_cross_parsed_ir.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A94E30D421920A8C00394673 /* spirv_cross_parsed_ir.cpp */; };
 		A95096BB2003D00300F10950 /* FileSupport.mm in Sources */ = {isa = PBXBuildFile; fileRef = A925B70A1C7754B2006E7ECD /* FileSupport.mm */; };
 		A95096BC2003D00300F10950 /* FileSupport.mm in Sources */ = {isa = PBXBuildFile; fileRef = A925B70A1C7754B2006E7ECD /* FileSupport.mm */; };
 		A95096BF2003D32400F10950 /* DirectorySupport.mm in Sources */ = {isa = PBXBuildFile; fileRef = A95096BD2003D32400F10950 /* DirectorySupport.mm */; };
-		A95C5F3F1DEA9070000D17B6 /* spirv_cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A95C5F3D1DEA9070000D17B6 /* spirv_cfg.cpp */; };
-		A95C5F401DEA9070000D17B6 /* spirv_cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A95C5F3D1DEA9070000D17B6 /* spirv_cfg.cpp */; };
-		A95C5F411DEA9070000D17B6 /* spirv_cfg.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A95C5F3E1DEA9070000D17B6 /* spirv_cfg.hpp */; };
-		A95C5F421DEA9070000D17B6 /* spirv_cfg.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A95C5F3E1DEA9070000D17B6 /* spirv_cfg.hpp */; };
-		A96FE6D6215473A00060D1A3 /* spirv_target_env.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5A02154739F0060D1A3 /* spirv_target_env.cpp */; };
-		A96FE6D7215473A00060D1A3 /* spirv_target_env.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5A02154739F0060D1A3 /* spirv_target_env.cpp */; };
-		A96FE6D8215473A00060D1A3 /* assembly_grammar.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5A22154739F0060D1A3 /* assembly_grammar.h */; };
-		A96FE6D9215473A00060D1A3 /* assembly_grammar.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5A22154739F0060D1A3 /* assembly_grammar.h */; };
-		A96FE6DA215473A00060D1A3 /* enum_set.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5A32154739F0060D1A3 /* enum_set.h */; };
-		A96FE6DB215473A00060D1A3 /* enum_set.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5A32154739F0060D1A3 /* enum_set.h */; };
-		A96FE6DC215473A00060D1A3 /* text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5A62154739F0060D1A3 /* text.cpp */; };
-		A96FE6DD215473A00060D1A3 /* text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5A62154739F0060D1A3 /* text.cpp */; };
-		A96FE6DE215473A00060D1A3 /* assembly_grammar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5A72154739F0060D1A3 /* assembly_grammar.cpp */; };
-		A96FE6DF215473A00060D1A3 /* assembly_grammar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5A72154739F0060D1A3 /* assembly_grammar.cpp */; };
-		A96FE6E0215473A00060D1A3 /* text.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5A82154739F0060D1A3 /* text.h */; };
-		A96FE6E1215473A00060D1A3 /* text.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5A82154739F0060D1A3 /* text.h */; };
-		A96FE6E2215473A00060D1A3 /* extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5A92154739F0060D1A3 /* extensions.cpp */; };
-		A96FE6E3215473A00060D1A3 /* extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5A92154739F0060D1A3 /* extensions.cpp */; };
-		A96FE6E4215473A00060D1A3 /* parse_number.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5AB2154739F0060D1A3 /* parse_number.h */; };
-		A96FE6E5215473A00060D1A3 /* parse_number.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5AB2154739F0060D1A3 /* parse_number.h */; };
-		A96FE6E6215473A00060D1A3 /* ilist_node.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5AC2154739F0060D1A3 /* ilist_node.h */; };
-		A96FE6E7215473A00060D1A3 /* ilist_node.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5AC2154739F0060D1A3 /* ilist_node.h */; };
-		A96FE6E8215473A00060D1A3 /* make_unique.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5AD2154739F0060D1A3 /* make_unique.h */; };
-		A96FE6E9215473A00060D1A3 /* make_unique.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5AD2154739F0060D1A3 /* make_unique.h */; };
-		A96FE6EA215473A00060D1A3 /* string_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5AE2154739F0060D1A3 /* string_utils.h */; };
-		A96FE6EB215473A00060D1A3 /* string_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5AE2154739F0060D1A3 /* string_utils.h */; };
-		A96FE6EC215473A00060D1A3 /* small_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5AF2154739F0060D1A3 /* small_vector.h */; };
-		A96FE6ED215473A00060D1A3 /* small_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5AF2154739F0060D1A3 /* small_vector.h */; };
-		A96FE6EE215473A00060D1A3 /* timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5B02154739F0060D1A3 /* timer.cpp */; };
-		A96FE6EF215473A00060D1A3 /* timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5B02154739F0060D1A3 /* timer.cpp */; };
-		A96FE6F0215473A00060D1A3 /* timer.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5B12154739F0060D1A3 /* timer.h */; };
-		A96FE6F1215473A00060D1A3 /* timer.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5B12154739F0060D1A3 /* timer.h */; };
-		A96FE6F2215473A00060D1A3 /* string_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5B22154739F0060D1A3 /* string_utils.cpp */; };
-		A96FE6F3215473A00060D1A3 /* string_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5B22154739F0060D1A3 /* string_utils.cpp */; };
-		A96FE6F4215473A00060D1A3 /* bit_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5B32154739F0060D1A3 /* bit_vector.h */; };
-		A96FE6F5215473A00060D1A3 /* bit_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5B32154739F0060D1A3 /* bit_vector.h */; };
-		A96FE6F6215473A00060D1A3 /* bitutils.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5B42154739F0060D1A3 /* bitutils.h */; };
-		A96FE6F7215473A00060D1A3 /* bitutils.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5B42154739F0060D1A3 /* bitutils.h */; };
-		A96FE6F8215473A00060D1A3 /* hex_float.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5B52154739F0060D1A3 /* hex_float.h */; };
-		A96FE6F9215473A00060D1A3 /* hex_float.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5B52154739F0060D1A3 /* hex_float.h */; };
-		A96FE6FA215473A00060D1A3 /* parse_number.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5B62154739F0060D1A3 /* parse_number.cpp */; };
-		A96FE6FB215473A00060D1A3 /* parse_number.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5B62154739F0060D1A3 /* parse_number.cpp */; };
-		A96FE6FC215473A00060D1A3 /* bit_vector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5B72154739F0060D1A3 /* bit_vector.cpp */; };
-		A96FE6FD215473A00060D1A3 /* bit_vector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5B72154739F0060D1A3 /* bit_vector.cpp */; };
-		A96FE6FE215473A00060D1A3 /* ilist.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5B82154739F0060D1A3 /* ilist.h */; };
-		A96FE6FF215473A00060D1A3 /* ilist.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5B82154739F0060D1A3 /* ilist.h */; };
-		A96FE700215473A00060D1A3 /* spirv_target_env.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5B92154739F0060D1A3 /* spirv_target_env.h */; };
-		A96FE701215473A00060D1A3 /* spirv_target_env.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5B92154739F0060D1A3 /* spirv_target_env.h */; };
-		A96FE702215473A00060D1A3 /* table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5BA2154739F0060D1A3 /* table.cpp */; };
-		A96FE703215473A00060D1A3 /* table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5BA2154739F0060D1A3 /* table.cpp */; };
-		A96FE704215473A00060D1A3 /* id_descriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5BB2154739F0060D1A3 /* id_descriptor.cpp */; };
-		A96FE705215473A00060D1A3 /* id_descriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5BB2154739F0060D1A3 /* id_descriptor.cpp */; };
-		A96FE706215473A00060D1A3 /* latest_version_opencl_std_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5BC2154739F0060D1A3 /* latest_version_opencl_std_header.h */; };
-		A96FE707215473A00060D1A3 /* latest_version_opencl_std_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5BC2154739F0060D1A3 /* latest_version_opencl_std_header.h */; };
-		A96FE708215473A00060D1A3 /* spirv_optimizer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5BD2154739F0060D1A3 /* spirv_optimizer_options.cpp */; };
-		A96FE709215473A00060D1A3 /* spirv_optimizer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5BD2154739F0060D1A3 /* spirv_optimizer_options.cpp */; };
-		A96FE70A215473A00060D1A3 /* cfa.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5BE2154739F0060D1A3 /* cfa.h */; };
-		A96FE70B215473A00060D1A3 /* cfa.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5BE2154739F0060D1A3 /* cfa.h */; };
-		A96FE70C215473A00060D1A3 /* enum_string_mapping.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5BF2154739F0060D1A3 /* enum_string_mapping.h */; };
-		A96FE70D215473A00060D1A3 /* enum_string_mapping.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5BF2154739F0060D1A3 /* enum_string_mapping.h */; };
-		A96FE70E215473A00060D1A3 /* spirv_validator_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5C02154739F0060D1A3 /* spirv_validator_options.cpp */; };
-		A96FE70F215473A00060D1A3 /* spirv_validator_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5C02154739F0060D1A3 /* spirv_validator_options.cpp */; };
-		A96FE710215473A00060D1A3 /* print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5C22154739F0060D1A3 /* print.cpp */; };
-		A96FE711215473A00060D1A3 /* print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5C22154739F0060D1A3 /* print.cpp */; };
-		A96FE712215473A00060D1A3 /* spirv_definition.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5C32154739F0060D1A3 /* spirv_definition.h */; };
-		A96FE713215473A00060D1A3 /* spirv_definition.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5C32154739F0060D1A3 /* spirv_definition.h */; };
-		A96FE714215473A00060D1A3 /* operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5C42154739F0060D1A3 /* operand.h */; };
-		A96FE715215473A00060D1A3 /* operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5C42154739F0060D1A3 /* operand.h */; };
-		A96FE716215473A00060D1A3 /* spirv_endian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5C52154739F0060D1A3 /* spirv_endian.cpp */; };
-		A96FE717215473A00060D1A3 /* spirv_endian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5C52154739F0060D1A3 /* spirv_endian.cpp */; };
-		A96FE718215473A00060D1A3 /* macro.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5C62154739F0060D1A3 /* macro.h */; };
-		A96FE719215473A00060D1A3 /* macro.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5C62154739F0060D1A3 /* macro.h */; };
-		A96FE71A215473A00060D1A3 /* spirv_constant.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5C72154739F0060D1A3 /* spirv_constant.h */; };
-		A96FE71B215473A00060D1A3 /* spirv_constant.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5C72154739F0060D1A3 /* spirv_constant.h */; };
-		A96FE71C215473A00060D1A3 /* binary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5C92154739F0060D1A3 /* binary.cpp */; };
-		A96FE71D215473A00060D1A3 /* binary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5C92154739F0060D1A3 /* binary.cpp */; };
-		A96FE71E215473A00060D1A3 /* spirv_validator_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5CA2154739F0060D1A3 /* spirv_validator_options.h */; };
-		A96FE71F215473A00060D1A3 /* spirv_validator_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5CA2154739F0060D1A3 /* spirv_validator_options.h */; };
-		A96FE720215473A00060D1A3 /* markv_codec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5CC2154739F0060D1A3 /* markv_codec.cpp */; };
-		A96FE721215473A00060D1A3 /* markv_codec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5CC2154739F0060D1A3 /* markv_codec.cpp */; };
-		A96FE722215473A00060D1A3 /* markv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5CD2154739F0060D1A3 /* markv.cpp */; };
-		A96FE723215473A00060D1A3 /* markv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5CD2154739F0060D1A3 /* markv.cpp */; };
-		A96FE724215473A00060D1A3 /* huffman_codec.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5CE2154739F0060D1A3 /* huffman_codec.h */; };
-		A96FE725215473A00060D1A3 /* huffman_codec.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5CE2154739F0060D1A3 /* huffman_codec.h */; };
-		A96FE726215473A00060D1A3 /* bit_stream.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5D02154739F0060D1A3 /* bit_stream.h */; };
-		A96FE727215473A00060D1A3 /* bit_stream.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5D02154739F0060D1A3 /* bit_stream.h */; };
-		A96FE728215473A00060D1A3 /* move_to_front.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5D12154739F0060D1A3 /* move_to_front.cpp */; };
-		A96FE729215473A00060D1A3 /* move_to_front.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5D12154739F0060D1A3 /* move_to_front.cpp */; };
-		A96FE72A215473A00060D1A3 /* markv_encoder.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5D22154739F0060D1A3 /* markv_encoder.h */; };
-		A96FE72B215473A00060D1A3 /* markv_encoder.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5D22154739F0060D1A3 /* markv_encoder.h */; };
-		A96FE72C215473A00060D1A3 /* markv_decoder.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5D32154739F0060D1A3 /* markv_decoder.h */; };
-		A96FE72D215473A00060D1A3 /* markv_decoder.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5D32154739F0060D1A3 /* markv_decoder.h */; };
-		A96FE72E215473A00060D1A3 /* markv.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5D42154739F0060D1A3 /* markv.h */; };
-		A96FE72F215473A00060D1A3 /* markv.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5D42154739F0060D1A3 /* markv.h */; };
-		A96FE730215473A00060D1A3 /* markv_model.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5D52154739F0060D1A3 /* markv_model.h */; };
-		A96FE731215473A00060D1A3 /* markv_model.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5D52154739F0060D1A3 /* markv_model.h */; };
-		A96FE732215473A00060D1A3 /* markv_decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5D62154739F0060D1A3 /* markv_decoder.cpp */; };
-		A96FE733215473A00060D1A3 /* markv_decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5D62154739F0060D1A3 /* markv_decoder.cpp */; };
-		A96FE734215473A00060D1A3 /* move_to_front.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5D72154739F0060D1A3 /* move_to_front.h */; };
-		A96FE735215473A00060D1A3 /* move_to_front.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5D72154739F0060D1A3 /* move_to_front.h */; };
-		A96FE736215473A00060D1A3 /* markv_codec.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5D82154739F0060D1A3 /* markv_codec.h */; };
-		A96FE737215473A00060D1A3 /* markv_codec.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5D82154739F0060D1A3 /* markv_codec.h */; };
-		A96FE738215473A00060D1A3 /* markv_logger.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5D92154739F0060D1A3 /* markv_logger.h */; };
-		A96FE739215473A00060D1A3 /* markv_logger.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5D92154739F0060D1A3 /* markv_logger.h */; };
-		A96FE73A215473A00060D1A3 /* bit_stream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5DA2154739F0060D1A3 /* bit_stream.cpp */; };
-		A96FE73B215473A00060D1A3 /* bit_stream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5DA2154739F0060D1A3 /* bit_stream.cpp */; };
-		A96FE73C215473A00060D1A3 /* markv_encoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5DB2154739F0060D1A3 /* markv_encoder.cpp */; };
-		A96FE73D215473A00060D1A3 /* markv_encoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5DB2154739F0060D1A3 /* markv_encoder.cpp */; };
-		A96FE73E215473A00060D1A3 /* enum_string_mapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5DC2154739F0060D1A3 /* enum_string_mapping.cpp */; };
-		A96FE73F215473A00060D1A3 /* enum_string_mapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5DC2154739F0060D1A3 /* enum_string_mapping.cpp */; };
-		A96FE740215473A00060D1A3 /* text_handler.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5DD2154739F0060D1A3 /* text_handler.h */; };
-		A96FE741215473A00060D1A3 /* text_handler.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5DD2154739F0060D1A3 /* text_handler.h */; };
-		A96FE742215473A00060D1A3 /* parsed_operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5DE2154739F0060D1A3 /* parsed_operand.h */; };
-		A96FE743215473A00060D1A3 /* parsed_operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5DE2154739F0060D1A3 /* parsed_operand.h */; };
-		A96FE744215473A00060D1A3 /* name_mapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5DF2154739F0060D1A3 /* name_mapper.h */; };
-		A96FE745215473A00060D1A3 /* name_mapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5DF2154739F0060D1A3 /* name_mapper.h */; };
-		A96FE746215473A00060D1A3 /* parsed_operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5E02154739F0060D1A3 /* parsed_operand.cpp */; };
-		A96FE747215473A00060D1A3 /* parsed_operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5E02154739F0060D1A3 /* parsed_operand.cpp */; };
-		A96FE748215473A00060D1A3 /* diagnostic.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5E12154739F0060D1A3 /* diagnostic.h */; };
-		A96FE749215473A00060D1A3 /* diagnostic.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5E12154739F0060D1A3 /* diagnostic.h */; };
-		A96FE74A215473A00060D1A3 /* spirv_endian.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5E22154739F0060D1A3 /* spirv_endian.h */; };
-		A96FE74B215473A00060D1A3 /* spirv_endian.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5E22154739F0060D1A3 /* spirv_endian.h */; };
-		A96FE74C215473A00060D1A3 /* name_mapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5E32154739F0060D1A3 /* name_mapper.cpp */; };
-		A96FE74D215473A00060D1A3 /* name_mapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5E32154739F0060D1A3 /* name_mapper.cpp */; };
-		A96FE74E215473A00060D1A3 /* linker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5E72154739F0060D1A3 /* linker.cpp */; };
-		A96FE74F215473A00060D1A3 /* linker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5E72154739F0060D1A3 /* linker.cpp */; };
-		A96FE750215473A00060D1A3 /* software_version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5E82154739F0060D1A3 /* software_version.cpp */; };
-		A96FE751215473A00060D1A3 /* software_version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5E82154739F0060D1A3 /* software_version.cpp */; };
-		A96FE752215473A00060D1A3 /* opcode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5E92154739F0060D1A3 /* opcode.cpp */; };
-		A96FE753215473A00060D1A3 /* opcode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5E92154739F0060D1A3 /* opcode.cpp */; };
-		A96FE754215473A00060D1A3 /* print.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5EA2154739F0060D1A3 /* print.h */; };
-		A96FE755215473A00060D1A3 /* print.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5EA2154739F0060D1A3 /* print.h */; };
-		A96FE756215473A00060D1A3 /* ext_inst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5EB2154739F0060D1A3 /* ext_inst.cpp */; };
-		A96FE757215473A00060D1A3 /* ext_inst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5EB2154739F0060D1A3 /* ext_inst.cpp */; };
-		A96FE758215473A00060D1A3 /* disassemble.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5EC2154739F0060D1A3 /* disassemble.h */; };
-		A96FE759215473A00060D1A3 /* disassemble.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5EC2154739F0060D1A3 /* disassemble.h */; };
-		A96FE75A215473A00060D1A3 /* optimizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5EE2154739F0060D1A3 /* optimizer.cpp */; };
-		A96FE75B215473A00060D1A3 /* optimizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5EE2154739F0060D1A3 /* optimizer.cpp */; };
-		A96FE75C215473A00060D1A3 /* if_conversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5EF2154739F0060D1A3 /* if_conversion.h */; };
-		A96FE75D215473A00060D1A3 /* if_conversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5EF2154739F0060D1A3 /* if_conversion.h */; };
-		A96FE75E215473A00060D1A3 /* register_pressure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5F02154739F0060D1A3 /* register_pressure.cpp */; };
-		A96FE75F215473A00060D1A3 /* register_pressure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5F02154739F0060D1A3 /* register_pressure.cpp */; };
-		A96FE760215473A00060D1A3 /* loop_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5F12154739F0060D1A3 /* loop_utils.cpp */; };
-		A96FE761215473A00060D1A3 /* loop_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5F12154739F0060D1A3 /* loop_utils.cpp */; };
-		A96FE762215473A00060D1A3 /* merge_return_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5F22154739F0060D1A3 /* merge_return_pass.h */; };
-		A96FE763215473A00060D1A3 /* merge_return_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5F22154739F0060D1A3 /* merge_return_pass.h */; };
-		A96FE764215473A00060D1A3 /* inline_opaque_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5F32154739F0060D1A3 /* inline_opaque_pass.h */; };
-		A96FE765215473A00060D1A3 /* inline_opaque_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5F32154739F0060D1A3 /* inline_opaque_pass.h */; };
-		A96FE766215473A00060D1A3 /* loop_fusion.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5F42154739F0060D1A3 /* loop_fusion.h */; };
-		A96FE767215473A00060D1A3 /* loop_fusion.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5F42154739F0060D1A3 /* loop_fusion.h */; };
-		A96FE768215473A00060D1A3 /* combine_access_chains.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5F52154739F0060D1A3 /* combine_access_chains.cpp */; };
-		A96FE769215473A00060D1A3 /* combine_access_chains.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5F52154739F0060D1A3 /* combine_access_chains.cpp */; };
-		A96FE76A215473A00060D1A3 /* build_module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5F62154739F0060D1A3 /* build_module.cpp */; };
-		A96FE76B215473A00060D1A3 /* build_module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5F62154739F0060D1A3 /* build_module.cpp */; };
-		A96FE76C215473A00060D1A3 /* composite.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5F72154739F0060D1A3 /* composite.h */; };
-		A96FE76D215473A00060D1A3 /* composite.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5F72154739F0060D1A3 /* composite.h */; };
-		A96FE76E215473A00060D1A3 /* compact_ids_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5F82154739F0060D1A3 /* compact_ids_pass.h */; };
-		A96FE76F215473A00060D1A3 /* compact_ids_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5F82154739F0060D1A3 /* compact_ids_pass.h */; };
-		A96FE770215473A00060D1A3 /* register_pressure.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5F92154739F0060D1A3 /* register_pressure.h */; };
-		A96FE771215473A00060D1A3 /* register_pressure.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5F92154739F0060D1A3 /* register_pressure.h */; };
-		A96FE772215473A00060D1A3 /* tree_iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5FA2154739F0060D1A3 /* tree_iterator.h */; };
-		A96FE773215473A00060D1A3 /* tree_iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5FA2154739F0060D1A3 /* tree_iterator.h */; };
-		A96FE774215473A00060D1A3 /* local_single_store_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5FB2154739F0060D1A3 /* local_single_store_elim_pass.h */; };
-		A96FE775215473A00060D1A3 /* local_single_store_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5FB2154739F0060D1A3 /* local_single_store_elim_pass.h */; };
-		A96FE776215473A00060D1A3 /* reduce_load_size.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5FC2154739F0060D1A3 /* reduce_load_size.h */; };
-		A96FE777215473A00060D1A3 /* reduce_load_size.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5FC2154739F0060D1A3 /* reduce_load_size.h */; };
-		A96FE778215473A00060D1A3 /* types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5FD2154739F0060D1A3 /* types.cpp */; };
-		A96FE779215473A00060D1A3 /* types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE5FD2154739F0060D1A3 /* types.cpp */; };
-		A96FE77A215473A00060D1A3 /* scalar_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5FE2154739F0060D1A3 /* scalar_analysis.h */; };
-		A96FE77B215473A00060D1A3 /* scalar_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5FE2154739F0060D1A3 /* scalar_analysis.h */; };
-		A96FE77C215473A00060D1A3 /* strip_debug_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5FF2154739F0060D1A3 /* strip_debug_info_pass.h */; };
-		A96FE77D215473A00060D1A3 /* strip_debug_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE5FF2154739F0060D1A3 /* strip_debug_info_pass.h */; };
-		A96FE77E215473A00060D1A3 /* cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6002154739F0060D1A3 /* cfg.cpp */; };
-		A96FE77F215473A00060D1A3 /* cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6002154739F0060D1A3 /* cfg.cpp */; };
-		A96FE780215473A00060D1A3 /* decoration_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6012154739F0060D1A3 /* decoration_manager.cpp */; };
-		A96FE781215473A00060D1A3 /* decoration_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6012154739F0060D1A3 /* decoration_manager.cpp */; };
-		A96FE782215473A00060D1A3 /* local_single_block_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6022154739F0060D1A3 /* local_single_block_elim_pass.cpp */; };
-		A96FE783215473A00060D1A3 /* local_single_block_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6022154739F0060D1A3 /* local_single_block_elim_pass.cpp */; };
-		A96FE784215473A00060D1A3 /* freeze_spec_constant_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6032154739F0060D1A3 /* freeze_spec_constant_value_pass.cpp */; };
-		A96FE785215473A00060D1A3 /* freeze_spec_constant_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6032154739F0060D1A3 /* freeze_spec_constant_value_pass.cpp */; };
-		A96FE786215473A00060D1A3 /* replace_invalid_opc.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6042154739F0060D1A3 /* replace_invalid_opc.h */; };
-		A96FE787215473A00060D1A3 /* replace_invalid_opc.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6042154739F0060D1A3 /* replace_invalid_opc.h */; };
-		A96FE788215473A00060D1A3 /* local_access_chain_convert_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6052154739F0060D1A3 /* local_access_chain_convert_pass.h */; };
-		A96FE789215473A00060D1A3 /* local_access_chain_convert_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6052154739F0060D1A3 /* local_access_chain_convert_pass.h */; };
-		A96FE78A215473A00060D1A3 /* local_redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6062154739F0060D1A3 /* local_redundancy_elimination.cpp */; };
-		A96FE78B215473A00060D1A3 /* local_redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6062154739F0060D1A3 /* local_redundancy_elimination.cpp */; };
-		A96FE78C215473A00060D1A3 /* propagator.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6082154739F0060D1A3 /* propagator.h */; };
-		A96FE78D215473A00060D1A3 /* propagator.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6082154739F0060D1A3 /* propagator.h */; };
-		A96FE78E215473A00060D1A3 /* instruction_list.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6092154739F0060D1A3 /* instruction_list.h */; };
-		A96FE78F215473A00060D1A3 /* instruction_list.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6092154739F0060D1A3 /* instruction_list.h */; };
-		A96FE790215473A00060D1A3 /* feature_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE60A2154739F0060D1A3 /* feature_manager.cpp */; };
-		A96FE791215473A00060D1A3 /* feature_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE60A2154739F0060D1A3 /* feature_manager.cpp */; };
-		A96FE792215473A00060D1A3 /* pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE60B2154739F0060D1A3 /* pass.cpp */; };
-		A96FE793215473A00060D1A3 /* pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE60B2154739F0060D1A3 /* pass.cpp */; };
-		A96FE794215473A00060D1A3 /* loop_fission.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE60C2154739F0060D1A3 /* loop_fission.cpp */; };
-		A96FE795215473A00060D1A3 /* loop_fission.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE60C2154739F0060D1A3 /* loop_fission.cpp */; };
-		A96FE796215473A00060D1A3 /* dominator_tree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE60D2154739F0060D1A3 /* dominator_tree.cpp */; };
-		A96FE797215473A00060D1A3 /* dominator_tree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE60D2154739F0060D1A3 /* dominator_tree.cpp */; };
-		A96FE798215473A00060D1A3 /* merge_return_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE60E2154739F0060D1A3 /* merge_return_pass.cpp */; };
-		A96FE799215473A00060D1A3 /* merge_return_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE60E2154739F0060D1A3 /* merge_return_pass.cpp */; };
-		A96FE79A215473A00060D1A3 /* ir_context.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE60F2154739F0060D1A3 /* ir_context.h */; };
-		A96FE79B215473A00060D1A3 /* ir_context.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE60F2154739F0060D1A3 /* ir_context.h */; };
-		A96FE79C215473A00060D1A3 /* eliminate_dead_constant_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6102154739F0060D1A3 /* eliminate_dead_constant_pass.cpp */; };
-		A96FE79D215473A00060D1A3 /* eliminate_dead_constant_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6102154739F0060D1A3 /* eliminate_dead_constant_pass.cpp */; };
-		A96FE79E215473A00060D1A3 /* cfg_cleanup_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6112154739F0060D1A3 /* cfg_cleanup_pass.cpp */; };
-		A96FE79F215473A00060D1A3 /* cfg_cleanup_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6112154739F0060D1A3 /* cfg_cleanup_pass.cpp */; };
-		A96FE7A0215473A00060D1A3 /* const_folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6122154739F0060D1A3 /* const_folding_rules.cpp */; };
-		A96FE7A1215473A00060D1A3 /* const_folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6122154739F0060D1A3 /* const_folding_rules.cpp */; };
-		A96FE7A2215473A00060D1A3 /* loop_unroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6132154739F0060D1A3 /* loop_unroller.h */; };
-		A96FE7A3215473A00060D1A3 /* loop_unroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6132154739F0060D1A3 /* loop_unroller.h */; };
-		A96FE7A4215473A00060D1A3 /* strip_debug_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6142154739F0060D1A3 /* strip_debug_info_pass.cpp */; };
-		A96FE7A5215473A00060D1A3 /* strip_debug_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6142154739F0060D1A3 /* strip_debug_info_pass.cpp */; };
-		A96FE7A6215473A00060D1A3 /* ssa_rewrite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6152154739F0060D1A3 /* ssa_rewrite_pass.cpp */; };
-		A96FE7A7215473A00060D1A3 /* ssa_rewrite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6152154739F0060D1A3 /* ssa_rewrite_pass.cpp */; };
-		A96FE7A8215473A00060D1A3 /* loop_dependence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6162154739F0060D1A3 /* loop_dependence.cpp */; };
-		A96FE7A9215473A00060D1A3 /* loop_dependence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6162154739F0060D1A3 /* loop_dependence.cpp */; };
-		A96FE7AA215473A00060D1A3 /* unify_const_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6172154739F0060D1A3 /* unify_const_pass.h */; };
-		A96FE7AB215473A00060D1A3 /* unify_const_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6172154739F0060D1A3 /* unify_const_pass.h */; };
-		A96FE7AC215473A00060D1A3 /* ir_loader.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6182154739F0060D1A3 /* ir_loader.h */; };
-		A96FE7AD215473A00060D1A3 /* ir_loader.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6182154739F0060D1A3 /* ir_loader.h */; };
-		A96FE7AE215473A00060D1A3 /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6192154739F0060D1A3 /* types.h */; };
-		A96FE7AF215473A00060D1A3 /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6192154739F0060D1A3 /* types.h */; };
-		A96FE7B0215473A00060D1A3 /* fold_spec_constant_op_and_composite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE61A2154739F0060D1A3 /* fold_spec_constant_op_and_composite_pass.h */; };
-		A96FE7B1215473A00060D1A3 /* fold_spec_constant_op_and_composite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE61A2154739F0060D1A3 /* fold_spec_constant_op_and_composite_pass.h */; };
-		A96FE7B2215473A00060D1A3 /* mem_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE61B2154739F0060D1A3 /* mem_pass.cpp */; };
-		A96FE7B3215473A00060D1A3 /* mem_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE61B2154739F0060D1A3 /* mem_pass.cpp */; };
-		A96FE7B4215473A00060D1A3 /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE61C2154739F0060D1A3 /* basic_block.h */; };
-		A96FE7B5215473A00060D1A3 /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE61C2154739F0060D1A3 /* basic_block.h */; };
-		A96FE7B6215473A00060D1A3 /* remove_duplicates_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE61D2154739F0060D1A3 /* remove_duplicates_pass.cpp */; };
-		A96FE7B7215473A00060D1A3 /* remove_duplicates_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE61D2154739F0060D1A3 /* remove_duplicates_pass.cpp */; };
-		A96FE7B8215473A00060D1A3 /* dead_variable_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE61E2154739F0060D1A3 /* dead_variable_elimination.cpp */; };
-		A96FE7B9215473A00060D1A3 /* dead_variable_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE61E2154739F0060D1A3 /* dead_variable_elimination.cpp */; };
-		A96FE7BA215473A00060D1A3 /* block_merge_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE61F2154739F0060D1A3 /* block_merge_pass.h */; };
-		A96FE7BB215473A00060D1A3 /* block_merge_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE61F2154739F0060D1A3 /* block_merge_pass.h */; };
-		A96FE7BC215473A00060D1A3 /* module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6202154739F0060D1A3 /* module.cpp */; };
-		A96FE7BD215473A00060D1A3 /* module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6202154739F0060D1A3 /* module.cpp */; };
-		A96FE7BE215473A00060D1A3 /* fold_spec_constant_op_and_composite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6212154739F0060D1A3 /* fold_spec_constant_op_and_composite_pass.cpp */; };
-		A96FE7BF215473A00060D1A3 /* fold_spec_constant_op_and_composite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6212154739F0060D1A3 /* fold_spec_constant_op_and_composite_pass.cpp */; };
-		A96FE7C0215473A00060D1A3 /* loop_unswitch_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6222154739F0060D1A3 /* loop_unswitch_pass.cpp */; };
-		A96FE7C1215473A00060D1A3 /* loop_unswitch_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6222154739F0060D1A3 /* loop_unswitch_pass.cpp */; };
-		A96FE7C2215473A00060D1A3 /* unify_const_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6232154739F0060D1A3 /* unify_const_pass.cpp */; };
-		A96FE7C3215473A00060D1A3 /* unify_const_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6232154739F0060D1A3 /* unify_const_pass.cpp */; };
-		A96FE7C4215473A00060D1A3 /* type_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6242154739F0060D1A3 /* type_manager.cpp */; };
-		A96FE7C5215473A00060D1A3 /* type_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6242154739F0060D1A3 /* type_manager.cpp */; };
-		A96FE7C6215473A00060D1A3 /* private_to_local_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6252154739F0060D1A3 /* private_to_local_pass.h */; };
-		A96FE7C7215473A00060D1A3 /* private_to_local_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6252154739F0060D1A3 /* private_to_local_pass.h */; };
-		A96FE7C8215473A00060D1A3 /* inline_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6262154739F0060D1A3 /* inline_pass.cpp */; };
-		A96FE7C9215473A00060D1A3 /* inline_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6262154739F0060D1A3 /* inline_pass.cpp */; };
-		A96FE7CA215473A00060D1A3 /* def_use_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6272154739F0060D1A3 /* def_use_manager.h */; };
-		A96FE7CB215473A00060D1A3 /* def_use_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6272154739F0060D1A3 /* def_use_manager.h */; };
-		A96FE7CC215473A00060D1A3 /* ir_loader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6282154739F0060D1A3 /* ir_loader.cpp */; };
-		A96FE7CD215473A00060D1A3 /* ir_loader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6282154739F0060D1A3 /* ir_loader.cpp */; };
-		A96FE7CE215473A00060D1A3 /* cfg_cleanup_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6292154739F0060D1A3 /* cfg_cleanup_pass.h */; };
-		A96FE7CF215473A00060D1A3 /* cfg_cleanup_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6292154739F0060D1A3 /* cfg_cleanup_pass.h */; };
-		A96FE7D0215473A00060D1A3 /* licm_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE62A2154739F0060D1A3 /* licm_pass.cpp */; };
-		A96FE7D1215473A00060D1A3 /* licm_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE62A2154739F0060D1A3 /* licm_pass.cpp */; };
-		A96FE7D2215473A00060D1A3 /* eliminate_dead_functions_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE62B2154739F0060D1A3 /* eliminate_dead_functions_pass.cpp */; };
-		A96FE7D3215473A00060D1A3 /* eliminate_dead_functions_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE62B2154739F0060D1A3 /* eliminate_dead_functions_pass.cpp */; };
-		A96FE7D4215473A00060D1A3 /* local_redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE62C2154739F0060D1A3 /* local_redundancy_elimination.h */; };
-		A96FE7D5215473A00060D1A3 /* local_redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE62C2154739F0060D1A3 /* local_redundancy_elimination.h */; };
-		A96FE7D6215473A00060D1A3 /* loop_peeling.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE62D2154739F0060D1A3 /* loop_peeling.h */; };
-		A96FE7D7215473A00060D1A3 /* loop_peeling.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE62D2154739F0060D1A3 /* loop_peeling.h */; };
-		A96FE7D8215473A00060D1A3 /* vector_dce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE62E2154739F0060D1A3 /* vector_dce.cpp */; };
-		A96FE7D9215473A00060D1A3 /* vector_dce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE62E2154739F0060D1A3 /* vector_dce.cpp */; };
-		A96FE7DA215473A00060D1A3 /* loop_unroller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE62F2154739F0060D1A3 /* loop_unroller.cpp */; };
-		A96FE7DB215473A00060D1A3 /* loop_unroller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE62F2154739F0060D1A3 /* loop_unroller.cpp */; };
-		A96FE7DC215473A00060D1A3 /* constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6302154739F0060D1A3 /* constants.cpp */; };
-		A96FE7DD215473A00060D1A3 /* constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6302154739F0060D1A3 /* constants.cpp */; };
-		A96FE7DE215473A00060D1A3 /* loop_fusion_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6312154739F0060D1A3 /* loop_fusion_pass.h */; };
-		A96FE7DF215473A00060D1A3 /* loop_fusion_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6312154739F0060D1A3 /* loop_fusion_pass.h */; };
-		A96FE7E0215473A00060D1A3 /* struct_cfg_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6322154739F0060D1A3 /* struct_cfg_analysis.h */; };
-		A96FE7E1215473A00060D1A3 /* struct_cfg_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6322154739F0060D1A3 /* struct_cfg_analysis.h */; };
-		A96FE7E2215473A00060D1A3 /* common_uniform_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6332154739F0060D1A3 /* common_uniform_elim_pass.cpp */; };
-		A96FE7E3215473A00060D1A3 /* common_uniform_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6332154739F0060D1A3 /* common_uniform_elim_pass.cpp */; };
-		A96FE7E4215473A00060D1A3 /* def_use_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6342154739F0060D1A3 /* def_use_manager.cpp */; };
-		A96FE7E5215473A00060D1A3 /* def_use_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6342154739F0060D1A3 /* def_use_manager.cpp */; };
-		A96FE7E6215473A00060D1A3 /* strip_reflect_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6352154739F0060D1A3 /* strip_reflect_info_pass.cpp */; };
-		A96FE7E7215473A00060D1A3 /* strip_reflect_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6352154739F0060D1A3 /* strip_reflect_info_pass.cpp */; };
-		A96FE7E8215473A00060D1A3 /* decoration_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6362154739F0060D1A3 /* decoration_manager.h */; };
-		A96FE7E9215473A00060D1A3 /* decoration_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6362154739F0060D1A3 /* decoration_manager.h */; };
-		A96FE7EA215473A00060D1A3 /* ccp_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6372154739F0060D1A3 /* ccp_pass.cpp */; };
-		A96FE7EB215473A00060D1A3 /* ccp_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6372154739F0060D1A3 /* ccp_pass.cpp */; };
-		A96FE7EC215473A00060D1A3 /* local_single_block_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6382154739F0060D1A3 /* local_single_block_elim_pass.h */; };
-		A96FE7ED215473A00060D1A3 /* local_single_block_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6382154739F0060D1A3 /* local_single_block_elim_pass.h */; };
-		A96FE7EE215473A00060D1A3 /* strength_reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6392154739F0060D1A3 /* strength_reduction_pass.h */; };
-		A96FE7EF215473A00060D1A3 /* strength_reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6392154739F0060D1A3 /* strength_reduction_pass.h */; };
-		A96FE7F0215473A00060D1A3 /* aggressive_dead_code_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE63A2154739F0060D1A3 /* aggressive_dead_code_elim_pass.cpp */; };
-		A96FE7F1215473A00060D1A3 /* aggressive_dead_code_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE63A2154739F0060D1A3 /* aggressive_dead_code_elim_pass.cpp */; };
-		A96FE7F2215473A00060D1A3 /* simplification_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE63B2154739F0060D1A3 /* simplification_pass.cpp */; };
-		A96FE7F3215473A00060D1A3 /* simplification_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE63B2154739F0060D1A3 /* simplification_pass.cpp */; };
-		A96FE7F4215473A00060D1A3 /* dead_branch_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE63C2154739F0060D1A3 /* dead_branch_elim_pass.cpp */; };
-		A96FE7F5215473A00060D1A3 /* dead_branch_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE63C2154739F0060D1A3 /* dead_branch_elim_pass.cpp */; };
-		A96FE7F6215473A00060D1A3 /* flatten_decoration_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE63D2154739F0060D1A3 /* flatten_decoration_pass.cpp */; };
-		A96FE7F7215473A00060D1A3 /* flatten_decoration_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE63D2154739F0060D1A3 /* flatten_decoration_pass.cpp */; };
-		A96FE7F8215473A00060D1A3 /* dead_insert_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE63E2154739F0060D1A3 /* dead_insert_elim_pass.h */; };
-		A96FE7F9215473A00060D1A3 /* dead_insert_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE63E2154739F0060D1A3 /* dead_insert_elim_pass.h */; };
-		A96FE7FA215473A00060D1A3 /* folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE63F2154739F0060D1A3 /* folding_rules.cpp */; };
-		A96FE7FB215473A00060D1A3 /* folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE63F2154739F0060D1A3 /* folding_rules.cpp */; };
-		A96FE7FC215473A00060D1A3 /* freeze_spec_constant_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6402154739F0060D1A3 /* freeze_spec_constant_value_pass.h */; };
-		A96FE7FD215473A00060D1A3 /* freeze_spec_constant_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6402154739F0060D1A3 /* freeze_spec_constant_value_pass.h */; };
-		A96FE7FE215473A00060D1A3 /* ir_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6412154739F0060D1A3 /* ir_context.cpp */; };
-		A96FE7FF215473A00060D1A3 /* ir_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6412154739F0060D1A3 /* ir_context.cpp */; };
-		A96FE800215473A00060D1A3 /* mem_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6422154739F0060D1A3 /* mem_pass.h */; };
-		A96FE801215473A00060D1A3 /* mem_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6422154739F0060D1A3 /* mem_pass.h */; };
-		A96FE802215473A00060D1A3 /* loop_descriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6432154739F0060D1A3 /* loop_descriptor.cpp */; };
-		A96FE803215473A00060D1A3 /* loop_descriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6432154739F0060D1A3 /* loop_descriptor.cpp */; };
-		A96FE804215473A00060D1A3 /* local_ssa_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6442154739F0060D1A3 /* local_ssa_elim_pass.cpp */; };
-		A96FE805215473A00060D1A3 /* local_ssa_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6442154739F0060D1A3 /* local_ssa_elim_pass.cpp */; };
-		A96FE806215473A00060D1A3 /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6452154739F0060D1A3 /* function.cpp */; };
-		A96FE807215473A00060D1A3 /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6452154739F0060D1A3 /* function.cpp */; };
-		A96FE808215473A00060D1A3 /* instruction_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6462154739F0060D1A3 /* instruction_list.cpp */; };
-		A96FE809215473A00060D1A3 /* instruction_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6462154739F0060D1A3 /* instruction_list.cpp */; };
-		A96FE80A215473A00060D1A3 /* composite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6472154739F0060D1A3 /* composite.cpp */; };
-		A96FE80B215473A00060D1A3 /* composite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6472154739F0060D1A3 /* composite.cpp */; };
-		A96FE80C215473A00060D1A3 /* inline_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6482154739F0060D1A3 /* inline_pass.h */; };
-		A96FE80D215473A00060D1A3 /* inline_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6482154739F0060D1A3 /* inline_pass.h */; };
-		A96FE80E215473A00060D1A3 /* loop_dependence.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6492154739F0060D1A3 /* loop_dependence.h */; };
-		A96FE80F215473A00060D1A3 /* loop_dependence.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6492154739F0060D1A3 /* loop_dependence.h */; };
-		A96FE810215473A00060D1A3 /* value_number_table.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE64A2154739F0060D1A3 /* value_number_table.h */; };
-		A96FE811215473A00060D1A3 /* value_number_table.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE64A2154739F0060D1A3 /* value_number_table.h */; };
-		A96FE812215473A00060D1A3 /* flatten_decoration_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE64B2154739F0060D1A3 /* flatten_decoration_pass.h */; };
-		A96FE813215473A00060D1A3 /* flatten_decoration_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE64B2154739F0060D1A3 /* flatten_decoration_pass.h */; };
-		A96FE814215473A00060D1A3 /* if_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE64C2154739F0060D1A3 /* if_conversion.cpp */; };
-		A96FE815215473A00060D1A3 /* if_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE64C2154739F0060D1A3 /* if_conversion.cpp */; };
-		A96FE816215473A00060D1A3 /* inline_exhaustive_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE64D2154739F0060D1A3 /* inline_exhaustive_pass.h */; };
-		A96FE817215473A00060D1A3 /* inline_exhaustive_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE64D2154739F0060D1A3 /* inline_exhaustive_pass.h */; };
-		A96FE818215473A00060D1A3 /* constants.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE64E2154739F0060D1A3 /* constants.h */; };
-		A96FE819215473A00060D1A3 /* constants.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE64E2154739F0060D1A3 /* constants.h */; };
-		A96FE81A215473A00060D1A3 /* strength_reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE64F2154739F0060D1A3 /* strength_reduction_pass.cpp */; };
-		A96FE81B215473A00060D1A3 /* strength_reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE64F2154739F0060D1A3 /* strength_reduction_pass.cpp */; };
-		A96FE81C215473A00060D1A3 /* copy_prop_arrays.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6502154739F0060D1A3 /* copy_prop_arrays.cpp */; };
-		A96FE81D215473A00060D1A3 /* copy_prop_arrays.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6502154739F0060D1A3 /* copy_prop_arrays.cpp */; };
-		A96FE81E215473A00060D1A3 /* pass_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6512154739F0060D1A3 /* pass_manager.cpp */; };
-		A96FE81F215473A00060D1A3 /* pass_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6512154739F0060D1A3 /* pass_manager.cpp */; };
-		A96FE820215473A00060D1A3 /* inline_exhaustive_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6522154739F0060D1A3 /* inline_exhaustive_pass.cpp */; };
-		A96FE821215473A00060D1A3 /* inline_exhaustive_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6522154739F0060D1A3 /* inline_exhaustive_pass.cpp */; };
-		A96FE822215473A00060D1A3 /* loop_fission.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6532154739F0060D1A3 /* loop_fission.h */; };
-		A96FE823215473A00060D1A3 /* loop_fission.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6532154739F0060D1A3 /* loop_fission.h */; };
-		A96FE824215473A00060D1A3 /* workaround1209.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6542154739F0060D1A3 /* workaround1209.h */; };
-		A96FE825215473A00060D1A3 /* workaround1209.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6542154739F0060D1A3 /* workaround1209.h */; };
-		A96FE826215473A00060D1A3 /* loop_fusion_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6552154739F0060D1A3 /* loop_fusion_pass.cpp */; };
-		A96FE827215473A00060D1A3 /* loop_fusion_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6552154739F0060D1A3 /* loop_fusion_pass.cpp */; };
-		A96FE828215473A00060D1A3 /* log.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6562154739F0060D1A3 /* log.h */; };
-		A96FE829215473A00060D1A3 /* log.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6562154739F0060D1A3 /* log.h */; };
-		A96FE82A215473A00060D1A3 /* copy_prop_arrays.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6572154739F0060D1A3 /* copy_prop_arrays.h */; };
-		A96FE82B215473A00060D1A3 /* copy_prop_arrays.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6572154739F0060D1A3 /* copy_prop_arrays.h */; };
-		A96FE82C215473A00060D1A3 /* eliminate_dead_constant_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE658215473A00060D1A3 /* eliminate_dead_constant_pass.h */; };
-		A96FE82D215473A00060D1A3 /* eliminate_dead_constant_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE658215473A00060D1A3 /* eliminate_dead_constant_pass.h */; };
-		A96FE82E215473A00060D1A3 /* dead_insert_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE659215473A00060D1A3 /* dead_insert_elim_pass.cpp */; };
-		A96FE82F215473A00060D1A3 /* dead_insert_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE659215473A00060D1A3 /* dead_insert_elim_pass.cpp */; };
-		A96FE830215473A00060D1A3 /* ssa_rewrite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE65A215473A00060D1A3 /* ssa_rewrite_pass.h */; };
-		A96FE831215473A00060D1A3 /* ssa_rewrite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE65A215473A00060D1A3 /* ssa_rewrite_pass.h */; };
-		A96FE832215473A00060D1A3 /* scalar_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE65B215473A00060D1A3 /* scalar_analysis.cpp */; };
-		A96FE833215473A00060D1A3 /* scalar_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE65B215473A00060D1A3 /* scalar_analysis.cpp */; };
-		A96FE834215473A00060D1A3 /* dead_variable_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE65C215473A00060D1A3 /* dead_variable_elimination.h */; };
-		A96FE835215473A00060D1A3 /* dead_variable_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE65C215473A00060D1A3 /* dead_variable_elimination.h */; };
-		A96FE836215473A00060D1A3 /* block_merge_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE65D215473A00060D1A3 /* block_merge_pass.cpp */; };
-		A96FE837215473A00060D1A3 /* block_merge_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE65D215473A00060D1A3 /* block_merge_pass.cpp */; };
-		A96FE838215473A00060D1A3 /* dominator_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE65E215473A00060D1A3 /* dominator_analysis.h */; };
-		A96FE839215473A00060D1A3 /* dominator_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE65E215473A00060D1A3 /* dominator_analysis.h */; };
-		A96FE83A215473A00060D1A3 /* pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE65F215473A00060D1A3 /* pass.h */; };
-		A96FE83B215473A00060D1A3 /* pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE65F215473A00060D1A3 /* pass.h */; };
-		A96FE83C215473A00060D1A3 /* folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE660215473A00060D1A3 /* folding_rules.h */; };
-		A96FE83D215473A00060D1A3 /* folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE660215473A00060D1A3 /* folding_rules.h */; };
-		A96FE83E215473A00060D1A3 /* eliminate_dead_functions_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE661215473A00060D1A3 /* eliminate_dead_functions_pass.h */; };
-		A96FE83F215473A00060D1A3 /* eliminate_dead_functions_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE661215473A00060D1A3 /* eliminate_dead_functions_pass.h */; };
-		A96FE840215473A00060D1A3 /* common_uniform_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE662215473A00060D1A3 /* common_uniform_elim_pass.h */; };
-		A96FE841215473A00060D1A3 /* common_uniform_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE662215473A00060D1A3 /* common_uniform_elim_pass.h */; };
-		A96FE842215473A00060D1A3 /* fold.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE663215473A00060D1A3 /* fold.h */; };
-		A96FE843215473A00060D1A3 /* fold.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE663215473A00060D1A3 /* fold.h */; };
-		A96FE844215473A00060D1A3 /* local_single_store_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE664215473A00060D1A3 /* local_single_store_elim_pass.cpp */; };
-		A96FE845215473A00060D1A3 /* local_single_store_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE664215473A00060D1A3 /* local_single_store_elim_pass.cpp */; };
-		A96FE846215473A00060D1A3 /* dead_branch_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE665215473A00060D1A3 /* dead_branch_elim_pass.h */; };
-		A96FE847215473A00060D1A3 /* dead_branch_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE665215473A00060D1A3 /* dead_branch_elim_pass.h */; };
-		A96FE848215473A00060D1A3 /* private_to_local_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE666215473A00060D1A3 /* private_to_local_pass.cpp */; };
-		A96FE849215473A00060D1A3 /* private_to_local_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE666215473A00060D1A3 /* private_to_local_pass.cpp */; };
-		A96FE84A215473A00060D1A3 /* scalar_analysis_nodes.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE667215473A00060D1A3 /* scalar_analysis_nodes.h */; };
-		A96FE84B215473A00060D1A3 /* scalar_analysis_nodes.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE667215473A00060D1A3 /* scalar_analysis_nodes.h */; };
-		A96FE84C215473A00060D1A3 /* propagator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE668215473A00060D1A3 /* propagator.cpp */; };
-		A96FE84D215473A00060D1A3 /* propagator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE668215473A00060D1A3 /* propagator.cpp */; };
-		A96FE84E215473A00060D1A3 /* loop_dependence_helpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE669215473A00060D1A3 /* loop_dependence_helpers.cpp */; };
-		A96FE84F215473A00060D1A3 /* loop_dependence_helpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE669215473A00060D1A3 /* loop_dependence_helpers.cpp */; };
-		A96FE850215473A00060D1A3 /* set_spec_constant_default_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE66A215473A00060D1A3 /* set_spec_constant_default_value_pass.cpp */; };
-		A96FE851215473A00060D1A3 /* set_spec_constant_default_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE66A215473A00060D1A3 /* set_spec_constant_default_value_pass.cpp */; };
-		A96FE852215473A00060D1A3 /* passes.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE66B215473A00060D1A3 /* passes.h */; };
-		A96FE853215473A00060D1A3 /* passes.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE66B215473A00060D1A3 /* passes.h */; };
-		A96FE854215473A00060D1A3 /* fold.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE66C215473A00060D1A3 /* fold.cpp */; };
-		A96FE855215473A00060D1A3 /* fold.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE66C215473A00060D1A3 /* fold.cpp */; };
-		A96FE856215473A00060D1A3 /* strip_reflect_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE66D215473A00060D1A3 /* strip_reflect_info_pass.h */; };
-		A96FE857215473A00060D1A3 /* strip_reflect_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE66D215473A00060D1A3 /* strip_reflect_info_pass.h */; };
-		A96FE858215473A00060D1A3 /* scalar_replacement_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE66E215473A00060D1A3 /* scalar_replacement_pass.cpp */; };
-		A96FE859215473A00060D1A3 /* scalar_replacement_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE66E215473A00060D1A3 /* scalar_replacement_pass.cpp */; };
-		A96FE85A215473A00060D1A3 /* simplification_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE66F215473A00060D1A3 /* simplification_pass.h */; };
-		A96FE85B215473A00060D1A3 /* simplification_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE66F215473A00060D1A3 /* simplification_pass.h */; };
-		A96FE85C215473A00060D1A3 /* remove_duplicates_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE670215473A00060D1A3 /* remove_duplicates_pass.h */; };
-		A96FE85D215473A00060D1A3 /* remove_duplicates_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE670215473A00060D1A3 /* remove_duplicates_pass.h */; };
-		A96FE85E215473A00060D1A3 /* redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE671215473A00060D1A3 /* redundancy_elimination.cpp */; };
-		A96FE85F215473A00060D1A3 /* redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE671215473A00060D1A3 /* redundancy_elimination.cpp */; };
-		A96FE860215473A00060D1A3 /* reflect.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE672215473A00060D1A3 /* reflect.h */; };
-		A96FE861215473A00060D1A3 /* reflect.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE672215473A00060D1A3 /* reflect.h */; };
-		A96FE862215473A00060D1A3 /* workaround1209.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE673215473A00060D1A3 /* workaround1209.cpp */; };
-		A96FE863215473A00060D1A3 /* workaround1209.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE673215473A00060D1A3 /* workaround1209.cpp */; };
-		A96FE864215473A00060D1A3 /* null_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE674215473A00060D1A3 /* null_pass.h */; };
-		A96FE865215473A00060D1A3 /* null_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE674215473A00060D1A3 /* null_pass.h */; };
-		A96FE866215473A00060D1A3 /* const_folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE675215473A00060D1A3 /* const_folding_rules.h */; };
-		A96FE867215473A00060D1A3 /* const_folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE675215473A00060D1A3 /* const_folding_rules.h */; };
-		A96FE868215473A00060D1A3 /* scalar_replacement_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE676215473A00060D1A3 /* scalar_replacement_pass.h */; };
-		A96FE869215473A00060D1A3 /* scalar_replacement_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE676215473A00060D1A3 /* scalar_replacement_pass.h */; };
-		A96FE86A215473A00060D1A3 /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE677215473A00060D1A3 /* instruction.cpp */; };
-		A96FE86B215473A00060D1A3 /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE677215473A00060D1A3 /* instruction.cpp */; };
-		A96FE86C215473A00060D1A3 /* reduce_load_size.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE678215473A00060D1A3 /* reduce_load_size.cpp */; };
-		A96FE86D215473A00060D1A3 /* reduce_load_size.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE678215473A00060D1A3 /* reduce_load_size.cpp */; };
-		A96FE86E215473A00060D1A3 /* redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE679215473A00060D1A3 /* redundancy_elimination.h */; };
-		A96FE86F215473A00060D1A3 /* redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE679215473A00060D1A3 /* redundancy_elimination.h */; };
-		A96FE870215473A00060D1A3 /* value_number_table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE67A215473A00060D1A3 /* value_number_table.cpp */; };
-		A96FE871215473A00060D1A3 /* value_number_table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE67A215473A00060D1A3 /* value_number_table.cpp */; };
-		A96FE872215473A00060D1A3 /* local_ssa_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE67B215473A00060D1A3 /* local_ssa_elim_pass.h */; };
-		A96FE873215473A00060D1A3 /* local_ssa_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE67B215473A00060D1A3 /* local_ssa_elim_pass.h */; };
-		A96FE874215473A00060D1A3 /* inline_opaque_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE67C215473A00060D1A3 /* inline_opaque_pass.cpp */; };
-		A96FE875215473A00060D1A3 /* inline_opaque_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE67C215473A00060D1A3 /* inline_opaque_pass.cpp */; };
-		A96FE876215473A00060D1A3 /* replace_invalid_opc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE67D215473A00060D1A3 /* replace_invalid_opc.cpp */; };
-		A96FE877215473A00060D1A3 /* replace_invalid_opc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE67D215473A00060D1A3 /* replace_invalid_opc.cpp */; };
-		A96FE878215473A00060D1A3 /* loop_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE67E215473A00060D1A3 /* loop_utils.h */; };
-		A96FE879215473A00060D1A3 /* loop_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE67E215473A00060D1A3 /* loop_utils.h */; };
-		A96FE87A215473A00060D1A3 /* module.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE67F215473A00060D1A3 /* module.h */; };
-		A96FE87B215473A00060D1A3 /* module.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE67F215473A00060D1A3 /* module.h */; };
-		A96FE87C215473A00060D1A3 /* dominator_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE680215473A00060D1A3 /* dominator_analysis.cpp */; };
-		A96FE87D215473A00060D1A3 /* dominator_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE680215473A00060D1A3 /* dominator_analysis.cpp */; };
-		A96FE87E215473A00060D1A3 /* ir_builder.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE681215473A00060D1A3 /* ir_builder.h */; };
-		A96FE87F215473A00060D1A3 /* ir_builder.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE681215473A00060D1A3 /* ir_builder.h */; };
-		A96FE880215473A00060D1A3 /* loop_unswitch_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE682215473A00060D1A3 /* loop_unswitch_pass.h */; };
-		A96FE881215473A00060D1A3 /* loop_unswitch_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE682215473A00060D1A3 /* loop_unswitch_pass.h */; };
-		A96FE882215473A00060D1A3 /* cfg.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE683215473A00060D1A3 /* cfg.h */; };
-		A96FE883215473A00060D1A3 /* cfg.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE683215473A00060D1A3 /* cfg.h */; };
-		A96FE884215473A00060D1A3 /* loop_descriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE684215473A00060D1A3 /* loop_descriptor.h */; };
-		A96FE885215473A00060D1A3 /* loop_descriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE684215473A00060D1A3 /* loop_descriptor.h */; };
-		A96FE886215473A00060D1A3 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE685215473A00060D1A3 /* instruction.h */; };
-		A96FE887215473A00060D1A3 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE685215473A00060D1A3 /* instruction.h */; };
-		A96FE888215473A00060D1A3 /* aggressive_dead_code_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE686215473A00060D1A3 /* aggressive_dead_code_elim_pass.h */; };
-		A96FE889215473A00060D1A3 /* aggressive_dead_code_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE686215473A00060D1A3 /* aggressive_dead_code_elim_pass.h */; };
-		A96FE88A215473A00060D1A3 /* struct_cfg_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE687215473A00060D1A3 /* struct_cfg_analysis.cpp */; };
-		A96FE88B215473A00060D1A3 /* struct_cfg_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE687215473A00060D1A3 /* struct_cfg_analysis.cpp */; };
-		A96FE88C215473A00060D1A3 /* vector_dce.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE688215473A00060D1A3 /* vector_dce.h */; };
-		A96FE88D215473A00060D1A3 /* vector_dce.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE688215473A00060D1A3 /* vector_dce.h */; };
-		A96FE88E215473A00060D1A3 /* combine_access_chains.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE689215473A00060D1A3 /* combine_access_chains.h */; };
-		A96FE88F215473A00060D1A3 /* combine_access_chains.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE689215473A00060D1A3 /* combine_access_chains.h */; };
-		A96FE890215473A00060D1A3 /* pass_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE68A215473A00060D1A3 /* pass_manager.h */; };
-		A96FE891215473A00060D1A3 /* pass_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE68A215473A00060D1A3 /* pass_manager.h */; };
-		A96FE892215473A00060D1A3 /* local_access_chain_convert_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE68B215473A00060D1A3 /* local_access_chain_convert_pass.cpp */; };
-		A96FE893215473A00060D1A3 /* local_access_chain_convert_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE68B215473A00060D1A3 /* local_access_chain_convert_pass.cpp */; };
-		A96FE894215473A00060D1A3 /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE68C215473A00060D1A3 /* basic_block.cpp */; };
-		A96FE895215473A00060D1A3 /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE68C215473A00060D1A3 /* basic_block.cpp */; };
-		A96FE896215473A00060D1A3 /* iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE68D215473A00060D1A3 /* iterator.h */; };
-		A96FE897215473A00060D1A3 /* iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE68D215473A00060D1A3 /* iterator.h */; };
-		A96FE898215473A00060D1A3 /* licm_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE68E215473A00060D1A3 /* licm_pass.h */; };
-		A96FE899215473A00060D1A3 /* licm_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE68E215473A00060D1A3 /* licm_pass.h */; };
-		A96FE89A215473A00060D1A3 /* build_module.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE68F215473A00060D1A3 /* build_module.h */; };
-		A96FE89B215473A00060D1A3 /* build_module.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE68F215473A00060D1A3 /* build_module.h */; };
-		A96FE89C215473A00060D1A3 /* ccp_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE690215473A00060D1A3 /* ccp_pass.h */; };
-		A96FE89D215473A00060D1A3 /* ccp_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE690215473A00060D1A3 /* ccp_pass.h */; };
-		A96FE89E215473A00060D1A3 /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE691215473A00060D1A3 /* function.h */; };
-		A96FE89F215473A00060D1A3 /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE691215473A00060D1A3 /* function.h */; };
-		A96FE8A0215473A00060D1A3 /* loop_fusion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE692215473A00060D1A3 /* loop_fusion.cpp */; };
-		A96FE8A1215473A00060D1A3 /* loop_fusion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE692215473A00060D1A3 /* loop_fusion.cpp */; };
-		A96FE8A2215473A00060D1A3 /* feature_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE693215473A00060D1A3 /* feature_manager.h */; };
-		A96FE8A3215473A00060D1A3 /* feature_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE693215473A00060D1A3 /* feature_manager.h */; };
-		A96FE8A4215473A00060D1A3 /* scalar_analysis_simplification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE694215473A00060D1A3 /* scalar_analysis_simplification.cpp */; };
-		A96FE8A5215473A00060D1A3 /* scalar_analysis_simplification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE694215473A00060D1A3 /* scalar_analysis_simplification.cpp */; };
-		A96FE8A6215473A00060D1A3 /* set_spec_constant_default_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE695215473A00060D1A3 /* set_spec_constant_default_value_pass.h */; };
-		A96FE8A7215473A00060D1A3 /* set_spec_constant_default_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE695215473A00060D1A3 /* set_spec_constant_default_value_pass.h */; };
-		A96FE8A8215473A00060D1A3 /* dominator_tree.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE696215473A00060D1A3 /* dominator_tree.h */; };
-		A96FE8A9215473A00060D1A3 /* dominator_tree.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE696215473A00060D1A3 /* dominator_tree.h */; };
-		A96FE8AA215473A00060D1A3 /* type_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE697215473A00060D1A3 /* type_manager.h */; };
-		A96FE8AB215473A00060D1A3 /* type_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE697215473A00060D1A3 /* type_manager.h */; };
-		A96FE8AC215473A00060D1A3 /* compact_ids_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE698215473A00060D1A3 /* compact_ids_pass.cpp */; };
-		A96FE8AD215473A00060D1A3 /* compact_ids_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE698215473A00060D1A3 /* compact_ids_pass.cpp */; };
-		A96FE8AE215473A00060D1A3 /* loop_peeling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE699215473A00060D1A3 /* loop_peeling.cpp */; };
-		A96FE8AF215473A00060D1A3 /* loop_peeling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE699215473A00060D1A3 /* loop_peeling.cpp */; };
-		A96FE8B0215473A00060D1A3 /* table.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE69A215473A00060D1A3 /* table.h */; };
-		A96FE8B1215473A00060D1A3 /* table.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE69A215473A00060D1A3 /* table.h */; };
-		A96FE8B2215473A00060D1A3 /* ext_inst.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE69B215473A00060D1A3 /* ext_inst.h */; };
-		A96FE8B3215473A00060D1A3 /* ext_inst.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE69B215473A00060D1A3 /* ext_inst.h */; };
-		A96FE8B4215473A00060D1A3 /* diagnostic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE69C215473A00060D1A3 /* diagnostic.cpp */; };
-		A96FE8B5215473A00060D1A3 /* diagnostic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE69C215473A00060D1A3 /* diagnostic.cpp */; };
-		A96FE8B6215473A00060D1A3 /* latest_version_spirv_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE69D215473A00060D1A3 /* latest_version_spirv_header.h */; };
-		A96FE8B7215473A00060D1A3 /* latest_version_spirv_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE69D215473A00060D1A3 /* latest_version_spirv_header.h */; };
-		A96FE8B8215473A00060D1A3 /* libspirv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE69E215473A00060D1A3 /* libspirv.cpp */; };
-		A96FE8B9215473A00060D1A3 /* libspirv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE69E215473A00060D1A3 /* libspirv.cpp */; };
-		A96FE8BA215473A00060D1A3 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE69F215473A00060D1A3 /* instruction.h */; };
-		A96FE8BB215473A00060D1A3 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE69F215473A00060D1A3 /* instruction.h */; };
-		A96FE8BC215473A00060D1A3 /* id_descriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6A0215473A00060D1A3 /* id_descriptor.h */; };
-		A96FE8BD215473A00060D1A3 /* id_descriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6A0215473A00060D1A3 /* id_descriptor.h */; };
-		A96FE8BE215473A00060D1A3 /* spirv_optimizer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6A1215473A00060D1A3 /* spirv_optimizer_options.h */; };
-		A96FE8BF215473A00060D1A3 /* spirv_optimizer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6A1215473A00060D1A3 /* spirv_optimizer_options.h */; };
-		A96FE8C0215473A00060D1A3 /* opcode.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6A2215473A00060D1A3 /* opcode.h */; };
-		A96FE8C1215473A00060D1A3 /* opcode.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6A2215473A00060D1A3 /* opcode.h */; };
-		A96FE8C2215473A00060D1A3 /* operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6A3215473A00060D1A3 /* operand.cpp */; };
-		A96FE8C3215473A00060D1A3 /* operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6A3215473A00060D1A3 /* operand.cpp */; };
-		A96FE8C4215473A00060D1A3 /* latest_version_glsl_std_450_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6A4215473A00060D1A3 /* latest_version_glsl_std_450_header.h */; };
-		A96FE8C5215473A00060D1A3 /* latest_version_glsl_std_450_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6A4215473A00060D1A3 /* latest_version_glsl_std_450_header.h */; };
-		A96FE8C6215473A00060D1A3 /* extensions.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6A5215473A00060D1A3 /* extensions.h */; };
-		A96FE8C7215473A00060D1A3 /* extensions.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6A5215473A00060D1A3 /* extensions.h */; };
-		A96FE8C8215473A00060D1A3 /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6A6215473A00060D1A3 /* disassemble.cpp */; };
-		A96FE8C9215473A00060D1A3 /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6A6215473A00060D1A3 /* disassemble.cpp */; };
-		A96FE8CA215473A00060D1A3 /* binary.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6A7215473A00060D1A3 /* binary.h */; };
-		A96FE8CB215473A00060D1A3 /* binary.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6A7215473A00060D1A3 /* binary.h */; };
-		A96FE8CC215473A00060D1A3 /* text_handler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6A8215473A00060D1A3 /* text_handler.cpp */; };
-		A96FE8CD215473A00060D1A3 /* text_handler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6A8215473A00060D1A3 /* text_handler.cpp */; };
-		A96FE8CE215473A00060D1A3 /* validate_annotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6AA215473A00060D1A3 /* validate_annotation.cpp */; };
-		A96FE8CF215473A00060D1A3 /* validate_annotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6AA215473A00060D1A3 /* validate_annotation.cpp */; };
-		A96FE8D0215473A00060D1A3 /* validate_cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6AB215473A00060D1A3 /* validate_cfg.cpp */; };
-		A96FE8D1215473A00060D1A3 /* validate_cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6AB215473A00060D1A3 /* validate_cfg.cpp */; };
-		A96FE8D2215473A00060D1A3 /* validate_capability.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6AC215473A00060D1A3 /* validate_capability.cpp */; };
-		A96FE8D3215473A00060D1A3 /* validate_capability.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6AC215473A00060D1A3 /* validate_capability.cpp */; };
-		A96FE8D4215473A00060D1A3 /* construct.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6AD215473A00060D1A3 /* construct.h */; };
-		A96FE8D5215473A00060D1A3 /* construct.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6AD215473A00060D1A3 /* construct.h */; };
-		A96FE8D6215473A00060D1A3 /* validate_barriers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6AE215473A00060D1A3 /* validate_barriers.cpp */; };
-		A96FE8D7215473A00060D1A3 /* validate_barriers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6AE215473A00060D1A3 /* validate_barriers.cpp */; };
-		A96FE8D8215473A00060D1A3 /* validate_non_uniform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6AF215473A00060D1A3 /* validate_non_uniform.cpp */; };
-		A96FE8D9215473A00060D1A3 /* validate_non_uniform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6AF215473A00060D1A3 /* validate_non_uniform.cpp */; };
-		A96FE8DA215473A00060D1A3 /* validate_atomics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6B0215473A00060D1A3 /* validate_atomics.cpp */; };
-		A96FE8DB215473A00060D1A3 /* validate_atomics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6B0215473A00060D1A3 /* validate_atomics.cpp */; };
-		A96FE8DC215473A00060D1A3 /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6B1215473A00060D1A3 /* basic_block.h */; };
-		A96FE8DD215473A00060D1A3 /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6B1215473A00060D1A3 /* basic_block.h */; };
-		A96FE8DE215473A00060D1A3 /* validate_instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6B2215473A00060D1A3 /* validate_instruction.cpp */; };
-		A96FE8DF215473A00060D1A3 /* validate_instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6B2215473A00060D1A3 /* validate_instruction.cpp */; };
-		A96FE8E0215473A00060D1A3 /* validate_decorations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6B3215473A00060D1A3 /* validate_decorations.cpp */; };
-		A96FE8E1215473A00060D1A3 /* validate_decorations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6B3215473A00060D1A3 /* validate_decorations.cpp */; };
-		A96FE8E2215473A00060D1A3 /* validate_debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6B4215473A00060D1A3 /* validate_debug.cpp */; };
-		A96FE8E3215473A00060D1A3 /* validate_debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6B4215473A00060D1A3 /* validate_debug.cpp */; };
-		A96FE8E4215473A00060D1A3 /* validate_builtins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6B5215473A00060D1A3 /* validate_builtins.cpp */; };
-		A96FE8E5215473A00060D1A3 /* validate_builtins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6B5215473A00060D1A3 /* validate_builtins.cpp */; };
-		A96FE8E6215473A00060D1A3 /* validate_interfaces.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6B6215473A00060D1A3 /* validate_interfaces.cpp */; };
-		A96FE8E7215473A00060D1A3 /* validate_interfaces.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6B6215473A00060D1A3 /* validate_interfaces.cpp */; };
-		A96FE8E8215473A00060D1A3 /* validate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6B7215473A00060D1A3 /* validate.cpp */; };
-		A96FE8E9215473A00060D1A3 /* validate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6B7215473A00060D1A3 /* validate.cpp */; };
-		A96FE8EA215473A00060D1A3 /* validation_state.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6B8215473A00060D1A3 /* validation_state.h */; };
-		A96FE8EB215473A00060D1A3 /* validation_state.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6B8215473A00060D1A3 /* validation_state.h */; };
-		A96FE8EC215473A00060D1A3 /* validate_constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6B9215473A00060D1A3 /* validate_constants.cpp */; };
-		A96FE8ED215473A00060D1A3 /* validate_constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6B9215473A00060D1A3 /* validate_constants.cpp */; };
-		A96FE8EE215473A00060D1A3 /* validate_bitwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6BA215473A00060D1A3 /* validate_bitwise.cpp */; };
-		A96FE8EF215473A00060D1A3 /* validate_bitwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6BA215473A00060D1A3 /* validate_bitwise.cpp */; };
-		A96FE8F0215473A00060D1A3 /* construct.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6BB215473A00060D1A3 /* construct.cpp */; };
-		A96FE8F1215473A00060D1A3 /* construct.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6BB215473A00060D1A3 /* construct.cpp */; };
-		A96FE8F2215473A00060D1A3 /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6BC215473A00060D1A3 /* function.cpp */; };
-		A96FE8F3215473A00060D1A3 /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6BC215473A00060D1A3 /* function.cpp */; };
-		A96FE8F4215473A00060D1A3 /* validate.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6BD215473A00060D1A3 /* validate.h */; };
-		A96FE8F5215473A00060D1A3 /* validate.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6BD215473A00060D1A3 /* validate.h */; };
-		A96FE8F6215473A00060D1A3 /* validate_adjacency.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6BE215473A00060D1A3 /* validate_adjacency.cpp */; };
-		A96FE8F7215473A00060D1A3 /* validate_adjacency.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6BE215473A00060D1A3 /* validate_adjacency.cpp */; };
-		A96FE8F8215473A00060D1A3 /* validate_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6BF215473A00060D1A3 /* validate_conversion.cpp */; };
-		A96FE8F9215473A00060D1A3 /* validate_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6BF215473A00060D1A3 /* validate_conversion.cpp */; };
-		A96FE8FA215473A00060D1A3 /* validate_datarules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6C0215473A00060D1A3 /* validate_datarules.cpp */; };
-		A96FE8FB215473A00060D1A3 /* validate_datarules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6C0215473A00060D1A3 /* validate_datarules.cpp */; };
-		A96FE8FC215473A00060D1A3 /* validate_id.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6C1215473A00060D1A3 /* validate_id.cpp */; };
-		A96FE8FD215473A00060D1A3 /* validate_id.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6C1215473A00060D1A3 /* validate_id.cpp */; };
-		A96FE8FE215473A00060D1A3 /* validate_arithmetics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6C2215473A00060D1A3 /* validate_arithmetics.cpp */; };
-		A96FE8FF215473A00060D1A3 /* validate_arithmetics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6C2215473A00060D1A3 /* validate_arithmetics.cpp */; };
-		A96FE900215473A00060D1A3 /* validate_mode_setting.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6C3215473A00060D1A3 /* validate_mode_setting.cpp */; };
-		A96FE901215473A00060D1A3 /* validate_mode_setting.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6C3215473A00060D1A3 /* validate_mode_setting.cpp */; };
-		A96FE902215473A00060D1A3 /* validate_logicals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6C4215473A00060D1A3 /* validate_logicals.cpp */; };
-		A96FE903215473A00060D1A3 /* validate_logicals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6C4215473A00060D1A3 /* validate_logicals.cpp */; };
-		A96FE904215473A00060D1A3 /* validate_derivatives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6C5215473A00060D1A3 /* validate_derivatives.cpp */; };
-		A96FE905215473A00060D1A3 /* validate_derivatives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6C5215473A00060D1A3 /* validate_derivatives.cpp */; };
-		A96FE906215473A00060D1A3 /* validate_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6C6215473A00060D1A3 /* validate_memory.cpp */; };
-		A96FE907215473A00060D1A3 /* validate_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6C6215473A00060D1A3 /* validate_memory.cpp */; };
-		A96FE908215473A00060D1A3 /* validate_image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6C7215473A00060D1A3 /* validate_image.cpp */; };
-		A96FE909215473A00060D1A3 /* validate_image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6C7215473A00060D1A3 /* validate_image.cpp */; };
-		A96FE90A215473A00060D1A3 /* validate_literals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6C8215473A00060D1A3 /* validate_literals.cpp */; };
-		A96FE90B215473A00060D1A3 /* validate_literals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6C8215473A00060D1A3 /* validate_literals.cpp */; };
-		A96FE90C215473A00060D1A3 /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6C9215473A00060D1A3 /* instruction.cpp */; };
-		A96FE90D215473A00060D1A3 /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6C9215473A00060D1A3 /* instruction.cpp */; };
-		A96FE90E215473A00060D1A3 /* validate_type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6CA215473A00060D1A3 /* validate_type.cpp */; };
-		A96FE90F215473A00060D1A3 /* validate_type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6CA215473A00060D1A3 /* validate_type.cpp */; };
-		A96FE910215473A00060D1A3 /* validate_ext_inst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6CB215473A00060D1A3 /* validate_ext_inst.cpp */; };
-		A96FE911215473A00060D1A3 /* validate_ext_inst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6CB215473A00060D1A3 /* validate_ext_inst.cpp */; };
-		A96FE912215473A00060D1A3 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6CC215473A00060D1A3 /* instruction.h */; };
-		A96FE913215473A00060D1A3 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6CC215473A00060D1A3 /* instruction.h */; };
-		A96FE914215473A00060D1A3 /* validate_execution_limitations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6CD215473A00060D1A3 /* validate_execution_limitations.cpp */; };
-		A96FE915215473A00060D1A3 /* validate_execution_limitations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6CD215473A00060D1A3 /* validate_execution_limitations.cpp */; };
-		A96FE916215473A00060D1A3 /* validate_layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6CE215473A00060D1A3 /* validate_layout.cpp */; };
-		A96FE917215473A00060D1A3 /* validate_layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6CE215473A00060D1A3 /* validate_layout.cpp */; };
-		A96FE918215473A00060D1A3 /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6CF215473A00060D1A3 /* basic_block.cpp */; };
-		A96FE919215473A00060D1A3 /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6CF215473A00060D1A3 /* basic_block.cpp */; };
-		A96FE91A215473A00060D1A3 /* validate_function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6D0215473A00060D1A3 /* validate_function.cpp */; };
-		A96FE91B215473A00060D1A3 /* validate_function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6D0215473A00060D1A3 /* validate_function.cpp */; };
-		A96FE91C215473A00060D1A3 /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6D1215473A00060D1A3 /* function.h */; };
-		A96FE91D215473A00060D1A3 /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6D1215473A00060D1A3 /* function.h */; };
-		A96FE91E215473A00060D1A3 /* validate_composites.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6D2215473A00060D1A3 /* validate_composites.cpp */; };
-		A96FE91F215473A00060D1A3 /* validate_composites.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6D2215473A00060D1A3 /* validate_composites.cpp */; };
-		A96FE920215473A00060D1A3 /* validation_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6D3215473A00060D1A3 /* validation_state.cpp */; };
-		A96FE921215473A00060D1A3 /* validation_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6D3215473A00060D1A3 /* validation_state.cpp */; };
-		A96FE922215473A00060D1A3 /* validate_primitives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6D4215473A00060D1A3 /* validate_primitives.cpp */; };
-		A96FE923215473A00060D1A3 /* validate_primitives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96FE6D4215473A00060D1A3 /* validate_primitives.cpp */; };
-		A96FE924215473A00060D1A3 /* decoration.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6D5215473A00060D1A3 /* decoration.h */; };
-		A96FE925215473A00060D1A3 /* decoration.h in Headers */ = {isa = PBXBuildFile; fileRef = A96FE6D5215473A00060D1A3 /* decoration.h */; };
+		A972AD2B21CEE6A90013AB25 /* libglslang.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD2A21CEE6A90013AB25 /* libglslang.a */; };
+		A972AD3121CEE7040013AB25 /* libSPIRVCross.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD2F21CEE7040013AB25 /* libSPIRVCross.a */; };
+		A972AD3221CEE7040013AB25 /* libSPIRVTools.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD3021CEE7040013AB25 /* libSPIRVTools.a */; };
+		A972AD3621CEE7330013AB25 /* libSPIRVTools.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD3421CEE7330013AB25 /* libSPIRVTools.a */; };
+		A972AD3721CEE7330013AB25 /* libSPIRVCross.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD3521CEE7330013AB25 /* libSPIRVCross.a */; };
+		A972AD3921CEE7480013AB25 /* libglslang.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD3821CEE7480013AB25 /* libglslang.a */; };
 		A97CC7401C7527F3004A5C7E /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97CC73D1C7527F3004A5C7E /* main.cpp */; };
 		A97CC7411C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97CC73E1C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp */; };
 		A98149661FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
 		A98149671FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
 		A98149681FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
 		A98149691FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
-		A9AB19971CB5B5A80001E7F9 /* spirv_common.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A9AB19901CB5B5A80001E7F9 /* spirv_common.hpp */; };
-		A9AB19981CB5B5A80001E7F9 /* spirv_common.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A9AB19901CB5B5A80001E7F9 /* spirv_common.hpp */; };
-		A9AB19991CB5B5A80001E7F9 /* spirv_cross.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9AB19911CB5B5A80001E7F9 /* spirv_cross.cpp */; };
-		A9AB199A1CB5B5A80001E7F9 /* spirv_cross.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9AB19911CB5B5A80001E7F9 /* spirv_cross.cpp */; };
-		A9AB199B1CB5B5A80001E7F9 /* spirv_cross.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A9AB19921CB5B5A80001E7F9 /* spirv_cross.hpp */; };
-		A9AB199C1CB5B5A80001E7F9 /* spirv_cross.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A9AB19921CB5B5A80001E7F9 /* spirv_cross.hpp */; };
-		A9AB199D1CB5B5A80001E7F9 /* spirv_glsl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9AB19931CB5B5A80001E7F9 /* spirv_glsl.cpp */; };
-		A9AB199E1CB5B5A80001E7F9 /* spirv_glsl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9AB19931CB5B5A80001E7F9 /* spirv_glsl.cpp */; };
-		A9AB199F1CB5B5A80001E7F9 /* spirv_glsl.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A9AB19941CB5B5A80001E7F9 /* spirv_glsl.hpp */; };
-		A9AB19A01CB5B5A80001E7F9 /* spirv_glsl.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A9AB19941CB5B5A80001E7F9 /* spirv_glsl.hpp */; };
-		A9AB19A11CB5B5A80001E7F9 /* spirv_msl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9AB19951CB5B5A80001E7F9 /* spirv_msl.cpp */; };
-		A9AB19A21CB5B5A80001E7F9 /* spirv_msl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9AB19951CB5B5A80001E7F9 /* spirv_msl.cpp */; };
-		A9AB19A31CB5B5A80001E7F9 /* spirv_msl.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A9AB19961CB5B5A80001E7F9 /* spirv_msl.hpp */; };
-		A9AB19A41CB5B5A80001E7F9 /* spirv_msl.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A9AB19961CB5B5A80001E7F9 /* spirv_msl.hpp */; };
-		A9BB09761CEF89B100CCAB22 /* spirv.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A9BB09751CEF89B100CCAB22 /* spirv.hpp */; settings = {ATTRIBUTES = (Public, ); }; };
-		A9BB09771CEF89B100CCAB22 /* spirv.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A9BB09751CEF89B100CCAB22 /* spirv.hpp */; settings = {ATTRIBUTES = (Public, ); }; };
 		A9F042B01FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */; };
 		A9F042B11FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */; };
 		A9F042B21FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */; };
@@ -868,427 +80,21 @@
 		A928C9181D0488DC00071B88 /* SPIRVConversion.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SPIRVConversion.mm; sourceTree = "<group>"; };
 		A93903BF1C57E9D700FE90DC /* MoltenVKSPIRVToMSLConverter.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MoltenVKSPIRVToMSLConverter.framework; sourceTree = BUILT_PRODUCTS_DIR; };
 		A93903C71C57E9ED00FE90DC /* MoltenVKSPIRVToMSLConverter.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MoltenVKSPIRVToMSLConverter.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-		A93E8203211F76F5001FEBD4 /* SPVRemapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPVRemapper.h; sourceTree = "<group>"; };
-		A93E8204211F76F5001FEBD4 /* SpvBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpvBuilder.h; sourceTree = "<group>"; };
-		A93E8205211F76F5001FEBD4 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
-		A93E8206211F76F5001FEBD4 /* SpvPostProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpvPostProcess.cpp; sourceTree = "<group>"; };
-		A93E8207211F76F5001FEBD4 /* InReadableOrder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InReadableOrder.cpp; sourceTree = "<group>"; };
-		A93E8208211F76F5001FEBD4 /* GLSL.ext.AMD.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLSL.ext.AMD.h; sourceTree = "<group>"; };
-		A93E8209211F76F5001FEBD4 /* doc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = doc.h; sourceTree = "<group>"; };
-		A93E820A211F76F5001FEBD4 /* spirv.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = spirv.hpp; sourceTree = "<group>"; };
-		A93E820B211F76F5001FEBD4 /* SpvBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpvBuilder.cpp; sourceTree = "<group>"; };
-		A93E820C211F76F6001FEBD4 /* GLSL.ext.EXT.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLSL.ext.EXT.h; sourceTree = "<group>"; };
-		A93E820D211F76F6001FEBD4 /* GLSL.ext.KHR.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLSL.ext.KHR.h; sourceTree = "<group>"; };
-		A93E820E211F76F6001FEBD4 /* GLSL.ext.NV.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLSL.ext.NV.h; sourceTree = "<group>"; };
-		A93E820F211F76F6001FEBD4 /* GlslangToSpv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GlslangToSpv.cpp; sourceTree = "<group>"; };
-		A93E8210211F76F6001FEBD4 /* spvIR.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spvIR.h; sourceTree = "<group>"; };
-		A93E8211211F76F6001FEBD4 /* bitutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bitutils.h; sourceTree = "<group>"; };
-		A93E8212211F76F6001FEBD4 /* disassemble.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = disassemble.h; sourceTree = "<group>"; };
-		A93E8213211F76F6001FEBD4 /* GlslangToSpv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlslangToSpv.h; sourceTree = "<group>"; };
-		A93E8214211F76F6001FEBD4 /* GLSL.std.450.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLSL.std.450.h; sourceTree = "<group>"; };
-		A93E8215211F76F6001FEBD4 /* SPVRemapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SPVRemapper.cpp; sourceTree = "<group>"; };
-		A93E8216211F76F6001FEBD4 /* Logger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Logger.cpp; sourceTree = "<group>"; };
-		A93E8217211F76F6001FEBD4 /* hex_float.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hex_float.h; sourceTree = "<group>"; };
-		A93E8218211F76F6001FEBD4 /* Logger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Logger.h; sourceTree = "<group>"; };
-		A93E8219211F76F6001FEBD4 /* doc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = doc.cpp; sourceTree = "<group>"; };
-		A93E821A211F76F6001FEBD4 /* disassemble.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = disassemble.cpp; sourceTree = "<group>"; };
-		A93E821C211F76F6001FEBD4 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
-		A93E821F211F76F6001FEBD4 /* ossource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ossource.cpp; sourceTree = "<group>"; };
-		A93E8220211F76F6001FEBD4 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
-		A93E8221211F76F6001FEBD4 /* osinclude.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osinclude.h; sourceTree = "<group>"; };
-		A93E8227211F76F6001FEBD4 /* ResourceLimits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResourceLimits.h; sourceTree = "<group>"; };
-		A93E8228211F76F6001FEBD4 /* Types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Types.h; sourceTree = "<group>"; };
-		A93E8229211F76F6001FEBD4 /* intermediate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = intermediate.h; sourceTree = "<group>"; };
-		A93E822A211F76F6001FEBD4 /* BaseTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseTypes.h; sourceTree = "<group>"; };
-		A93E822B211F76F6001FEBD4 /* revision.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = revision.h; sourceTree = "<group>"; };
-		A93E822C211F76F6001FEBD4 /* InitializeGlobals.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InitializeGlobals.h; sourceTree = "<group>"; };
-		A93E822D211F76F6001FEBD4 /* ShHandle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShHandle.h; sourceTree = "<group>"; };
-		A93E822E211F76F6001FEBD4 /* arrays.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = arrays.h; sourceTree = "<group>"; };
-		A93E822F211F76F6001FEBD4 /* Common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Common.h; sourceTree = "<group>"; };
-		A93E8230211F76F6001FEBD4 /* revision.template */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = revision.template; sourceTree = "<group>"; };
-		A93E8231211F76F6001FEBD4 /* ConstantUnion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConstantUnion.h; sourceTree = "<group>"; };
-		A93E8232211F76F6001FEBD4 /* InfoSink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InfoSink.h; sourceTree = "<group>"; };
-		A93E8233211F76F6001FEBD4 /* PoolAlloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PoolAlloc.h; sourceTree = "<group>"; };
-		A93E8234211F76F6001FEBD4 /* updateGrammar */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = updateGrammar; sourceTree = "<group>"; };
-		A93E8236211F76F6001FEBD4 /* ParseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParseHelper.cpp; sourceTree = "<group>"; };
-		A93E8237211F76F6001FEBD4 /* parseVersions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = parseVersions.h; sourceTree = "<group>"; };
-		A93E8238211F76F6001FEBD4 /* gl_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gl_types.h; sourceTree = "<group>"; };
-		A93E8239211F76F6001FEBD4 /* propagateNoContraction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = propagateNoContraction.cpp; sourceTree = "<group>"; };
-		A93E823A211F76F6001FEBD4 /* ScanContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScanContext.h; sourceTree = "<group>"; };
-		A93E823B211F76F6001FEBD4 /* iomapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iomapper.h; sourceTree = "<group>"; };
-		A93E823C211F76F6001FEBD4 /* localintermediate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = localintermediate.h; sourceTree = "<group>"; };
-		A93E823D211F76F6001FEBD4 /* Scan.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Scan.cpp; sourceTree = "<group>"; };
-		A93E823F211F76F6001FEBD4 /* RemoveTree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RemoveTree.h; sourceTree = "<group>"; };
-		A93E8240211F76F6001FEBD4 /* Initialize.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Initialize.cpp; sourceTree = "<group>"; };
-		A93E8241211F76F6001FEBD4 /* glslang_tab.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = glslang_tab.cpp; sourceTree = "<group>"; };
-		A93E8242211F76F6001FEBD4 /* limits.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = limits.cpp; sourceTree = "<group>"; };
-		A93E8243211F76F6001FEBD4 /* parseConst.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parseConst.cpp; sourceTree = "<group>"; };
-		A93E8244211F76F6001FEBD4 /* propagateNoContraction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = propagateNoContraction.h; sourceTree = "<group>"; };
-		A93E8245211F76F6001FEBD4 /* Versions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Versions.h; sourceTree = "<group>"; };
-		A93E8246211F76F6001FEBD4 /* IntermTraverse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IntermTraverse.cpp; sourceTree = "<group>"; };
-		A93E8247211F76F6001FEBD4 /* intermOut.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = intermOut.cpp; sourceTree = "<group>"; };
-		A93E8248211F76F6001FEBD4 /* iomapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = iomapper.cpp; sourceTree = "<group>"; };
-		A93E8249211F76F6001FEBD4 /* PoolAlloc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PoolAlloc.cpp; sourceTree = "<group>"; };
-		A93E824A211F76F6001FEBD4 /* ShaderLang.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShaderLang.cpp; sourceTree = "<group>"; };
-		A93E824B211F76F6001FEBD4 /* SymbolTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SymbolTable.h; sourceTree = "<group>"; };
-		A93E824C211F76F6001FEBD4 /* InfoSink.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InfoSink.cpp; sourceTree = "<group>"; };
-		A93E824D211F76F6001FEBD4 /* Intermediate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Intermediate.cpp; sourceTree = "<group>"; };
-		A93E824E211F76F6001FEBD4 /* SymbolTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SymbolTable.cpp; sourceTree = "<group>"; };
-		A93E824F211F76F6001FEBD4 /* glslang_tab.cpp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glslang_tab.cpp.h; sourceTree = "<group>"; };
-		A93E8250211F76F6001FEBD4 /* LiveTraverser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LiveTraverser.h; sourceTree = "<group>"; };
-		A93E8251211F76F6001FEBD4 /* Initialize.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Initialize.h; sourceTree = "<group>"; };
-		A93E8252211F76F6001FEBD4 /* attribute.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = attribute.cpp; sourceTree = "<group>"; };
-		A93E8253211F76F6001FEBD4 /* reflection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reflection.cpp; sourceTree = "<group>"; };
-		A93E8254211F76F6001FEBD4 /* RemoveTree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RemoveTree.cpp; sourceTree = "<group>"; };
-		A93E8255211F76F6001FEBD4 /* attribute.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = attribute.h; sourceTree = "<group>"; };
-		A93E8256211F76F6001FEBD4 /* Versions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Versions.cpp; sourceTree = "<group>"; };
-		A93E8257211F76F6001FEBD4 /* Constant.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Constant.cpp; sourceTree = "<group>"; };
-		A93E8258211F76F6001FEBD4 /* linkValidate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = linkValidate.cpp; sourceTree = "<group>"; };
-		A93E8259211F76F6001FEBD4 /* ParseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ParseHelper.h; sourceTree = "<group>"; };
-		A93E825B211F76F6001FEBD4 /* PpAtom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PpAtom.cpp; sourceTree = "<group>"; };
-		A93E825C211F76F6001FEBD4 /* PpTokens.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PpTokens.h; sourceTree = "<group>"; };
-		A93E825D211F76F6001FEBD4 /* Pp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Pp.cpp; sourceTree = "<group>"; };
-		A93E825E211F76F6001FEBD4 /* PpContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PpContext.h; sourceTree = "<group>"; };
-		A93E825F211F76F6001FEBD4 /* PpTokens.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PpTokens.cpp; sourceTree = "<group>"; };
-		A93E8260211F76F6001FEBD4 /* PpContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PpContext.cpp; sourceTree = "<group>"; };
-		A93E8261211F76F6001FEBD4 /* PpScanner.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PpScanner.cpp; sourceTree = "<group>"; };
-		A93E8262211F76F6001FEBD4 /* ParseContextBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParseContextBase.cpp; sourceTree = "<group>"; };
-		A93E8263211F76F6001FEBD4 /* reflection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reflection.h; sourceTree = "<group>"; };
-		A93E8264211F76F6001FEBD4 /* Scan.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Scan.h; sourceTree = "<group>"; };
-		A93E8266211F76F6001FEBD4 /* ShaderLang.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShaderLang.h; sourceTree = "<group>"; };
-		A93E8268211F76F6001FEBD4 /* CodeGen.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CodeGen.cpp; sourceTree = "<group>"; };
-		A93E8269211F76F6001FEBD4 /* Link.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Link.cpp; sourceTree = "<group>"; };
-		A93E826B211F76F6001FEBD4 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
-		A93E826C211F76F6001FEBD4 /* InitializeDll.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InitializeDll.h; sourceTree = "<group>"; };
-		A93E826D211F76F6001FEBD4 /* InitializeDll.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InitializeDll.cpp; sourceTree = "<group>"; };
-		A94E30CD219209C700394673 /* spirv_parser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_parser.cpp; sourceTree = "<group>"; };
-		A94E30CE219209C700394673 /* spirv_parser.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = spirv_parser.hpp; sourceTree = "<group>"; };
-		A94E30D321920A8C00394673 /* spirv_cross_parsed_ir.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = spirv_cross_parsed_ir.hpp; sourceTree = "<group>"; };
-		A94E30D421920A8C00394673 /* spirv_cross_parsed_ir.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_cross_parsed_ir.cpp; sourceTree = "<group>"; };
 		A95096BD2003D32400F10950 /* DirectorySupport.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DirectorySupport.mm; sourceTree = "<group>"; };
 		A95096BE2003D32400F10950 /* DirectorySupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DirectorySupport.h; sourceTree = "<group>"; };
-		A95C5F3D1DEA9070000D17B6 /* spirv_cfg.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_cfg.cpp; sourceTree = "<group>"; };
-		A95C5F3E1DEA9070000D17B6 /* spirv_cfg.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = spirv_cfg.hpp; sourceTree = "<group>"; };
 		A964BD5F1C57EFBD00D930D8 /* MoltenVKShaderConverter */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = MoltenVKShaderConverter; sourceTree = BUILT_PRODUCTS_DIR; };
 		A964BD601C57EFBD00D930D8 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MoltenVKGLSLToSPIRVConverter.framework; sourceTree = BUILT_PRODUCTS_DIR; };
 		A964BD611C57EFBD00D930D8 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MoltenVKGLSLToSPIRVConverter.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-		A96FE5A02154739F0060D1A3 /* spirv_target_env.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_target_env.cpp; sourceTree = "<group>"; };
-		A96FE5A12154739F0060D1A3 /* 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>"; };
-		A96FE5A22154739F0060D1A3 /* assembly_grammar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = assembly_grammar.h; sourceTree = "<group>"; };
-		A96FE5A32154739F0060D1A3 /* enum_set.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enum_set.h; sourceTree = "<group>"; };
-		A96FE5A42154739F0060D1A3 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
-		A96FE5A52154739F0060D1A3 /* extinst.spv-amd-shader-ballot.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "extinst.spv-amd-shader-ballot.grammar.json"; sourceTree = "<group>"; };
-		A96FE5A62154739F0060D1A3 /* text.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = text.cpp; sourceTree = "<group>"; };
-		A96FE5A72154739F0060D1A3 /* assembly_grammar.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = assembly_grammar.cpp; sourceTree = "<group>"; };
-		A96FE5A82154739F0060D1A3 /* text.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = text.h; sourceTree = "<group>"; };
-		A96FE5A92154739F0060D1A3 /* extensions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = extensions.cpp; sourceTree = "<group>"; };
-		A96FE5AB2154739F0060D1A3 /* parse_number.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = parse_number.h; sourceTree = "<group>"; };
-		A96FE5AC2154739F0060D1A3 /* ilist_node.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ilist_node.h; sourceTree = "<group>"; };
-		A96FE5AD2154739F0060D1A3 /* make_unique.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = make_unique.h; sourceTree = "<group>"; };
-		A96FE5AE2154739F0060D1A3 /* string_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = string_utils.h; sourceTree = "<group>"; };
-		A96FE5AF2154739F0060D1A3 /* small_vector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = small_vector.h; sourceTree = "<group>"; };
-		A96FE5B02154739F0060D1A3 /* timer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = timer.cpp; sourceTree = "<group>"; };
-		A96FE5B12154739F0060D1A3 /* timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = timer.h; sourceTree = "<group>"; };
-		A96FE5B22154739F0060D1A3 /* string_utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = string_utils.cpp; sourceTree = "<group>"; };
-		A96FE5B32154739F0060D1A3 /* bit_vector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bit_vector.h; sourceTree = "<group>"; };
-		A96FE5B42154739F0060D1A3 /* bitutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bitutils.h; sourceTree = "<group>"; };
-		A96FE5B52154739F0060D1A3 /* hex_float.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hex_float.h; sourceTree = "<group>"; };
-		A96FE5B62154739F0060D1A3 /* parse_number.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parse_number.cpp; sourceTree = "<group>"; };
-		A96FE5B72154739F0060D1A3 /* bit_vector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bit_vector.cpp; sourceTree = "<group>"; };
-		A96FE5B82154739F0060D1A3 /* ilist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ilist.h; sourceTree = "<group>"; };
-		A96FE5B92154739F0060D1A3 /* spirv_target_env.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_target_env.h; sourceTree = "<group>"; };
-		A96FE5BA2154739F0060D1A3 /* table.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = table.cpp; sourceTree = "<group>"; };
-		A96FE5BB2154739F0060D1A3 /* id_descriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = id_descriptor.cpp; sourceTree = "<group>"; };
-		A96FE5BC2154739F0060D1A3 /* latest_version_opencl_std_header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = latest_version_opencl_std_header.h; sourceTree = "<group>"; };
-		A96FE5BD2154739F0060D1A3 /* spirv_optimizer_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_optimizer_options.cpp; sourceTree = "<group>"; };
-		A96FE5BE2154739F0060D1A3 /* cfa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfa.h; sourceTree = "<group>"; };
-		A96FE5BF2154739F0060D1A3 /* enum_string_mapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enum_string_mapping.h; sourceTree = "<group>"; };
-		A96FE5C02154739F0060D1A3 /* spirv_validator_options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_validator_options.cpp; sourceTree = "<group>"; };
-		A96FE5C12154739F0060D1A3 /* 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>"; };
-		A96FE5C22154739F0060D1A3 /* print.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = print.cpp; sourceTree = "<group>"; };
-		A96FE5C32154739F0060D1A3 /* spirv_definition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_definition.h; sourceTree = "<group>"; };
-		A96FE5C42154739F0060D1A3 /* operand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = operand.h; sourceTree = "<group>"; };
-		A96FE5C52154739F0060D1A3 /* spirv_endian.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_endian.cpp; sourceTree = "<group>"; };
-		A96FE5C62154739F0060D1A3 /* macro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = macro.h; sourceTree = "<group>"; };
-		A96FE5C72154739F0060D1A3 /* spirv_constant.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_constant.h; sourceTree = "<group>"; };
-		A96FE5C82154739F0060D1A3 /* extinst.spv-amd-gcn-shader.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "extinst.spv-amd-gcn-shader.grammar.json"; sourceTree = "<group>"; };
-		A96FE5C92154739F0060D1A3 /* binary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = binary.cpp; sourceTree = "<group>"; };
-		A96FE5CA2154739F0060D1A3 /* spirv_validator_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_validator_options.h; sourceTree = "<group>"; };
-		A96FE5CC2154739F0060D1A3 /* markv_codec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = markv_codec.cpp; sourceTree = "<group>"; };
-		A96FE5CD2154739F0060D1A3 /* markv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = markv.cpp; sourceTree = "<group>"; };
-		A96FE5CE2154739F0060D1A3 /* huffman_codec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = huffman_codec.h; sourceTree = "<group>"; };
-		A96FE5CF2154739F0060D1A3 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
-		A96FE5D02154739F0060D1A3 /* bit_stream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bit_stream.h; sourceTree = "<group>"; };
-		A96FE5D12154739F0060D1A3 /* move_to_front.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = move_to_front.cpp; sourceTree = "<group>"; };
-		A96FE5D22154739F0060D1A3 /* markv_encoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = markv_encoder.h; sourceTree = "<group>"; };
-		A96FE5D32154739F0060D1A3 /* markv_decoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = markv_decoder.h; sourceTree = "<group>"; };
-		A96FE5D42154739F0060D1A3 /* markv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = markv.h; sourceTree = "<group>"; };
-		A96FE5D52154739F0060D1A3 /* markv_model.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = markv_model.h; sourceTree = "<group>"; };
-		A96FE5D62154739F0060D1A3 /* markv_decoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = markv_decoder.cpp; sourceTree = "<group>"; };
-		A96FE5D72154739F0060D1A3 /* move_to_front.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = move_to_front.h; sourceTree = "<group>"; };
-		A96FE5D82154739F0060D1A3 /* markv_codec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = markv_codec.h; sourceTree = "<group>"; };
-		A96FE5D92154739F0060D1A3 /* markv_logger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = markv_logger.h; sourceTree = "<group>"; };
-		A96FE5DA2154739F0060D1A3 /* bit_stream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bit_stream.cpp; sourceTree = "<group>"; };
-		A96FE5DB2154739F0060D1A3 /* markv_encoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = markv_encoder.cpp; sourceTree = "<group>"; };
-		A96FE5DC2154739F0060D1A3 /* enum_string_mapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = enum_string_mapping.cpp; sourceTree = "<group>"; };
-		A96FE5DD2154739F0060D1A3 /* text_handler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = text_handler.h; sourceTree = "<group>"; };
-		A96FE5DE2154739F0060D1A3 /* parsed_operand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = parsed_operand.h; sourceTree = "<group>"; };
-		A96FE5DF2154739F0060D1A3 /* name_mapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = name_mapper.h; sourceTree = "<group>"; };
-		A96FE5E02154739F0060D1A3 /* parsed_operand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parsed_operand.cpp; sourceTree = "<group>"; };
-		A96FE5E12154739F0060D1A3 /* diagnostic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = diagnostic.h; sourceTree = "<group>"; };
-		A96FE5E22154739F0060D1A3 /* spirv_endian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_endian.h; sourceTree = "<group>"; };
-		A96FE5E32154739F0060D1A3 /* name_mapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = name_mapper.cpp; sourceTree = "<group>"; };
-		A96FE5E42154739F0060D1A3 /* extinst.debuginfo.grammar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = extinst.debuginfo.grammar.json; sourceTree = "<group>"; };
-		A96FE5E62154739F0060D1A3 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
-		A96FE5E72154739F0060D1A3 /* linker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = linker.cpp; sourceTree = "<group>"; };
-		A96FE5E82154739F0060D1A3 /* software_version.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = software_version.cpp; sourceTree = "<group>"; };
-		A96FE5E92154739F0060D1A3 /* opcode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opcode.cpp; sourceTree = "<group>"; };
-		A96FE5EA2154739F0060D1A3 /* print.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = print.h; sourceTree = "<group>"; };
-		A96FE5EB2154739F0060D1A3 /* ext_inst.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ext_inst.cpp; sourceTree = "<group>"; };
-		A96FE5EC2154739F0060D1A3 /* disassemble.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = disassemble.h; sourceTree = "<group>"; };
-		A96FE5EE2154739F0060D1A3 /* optimizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = optimizer.cpp; sourceTree = "<group>"; };
-		A96FE5EF2154739F0060D1A3 /* if_conversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = if_conversion.h; sourceTree = "<group>"; };
-		A96FE5F02154739F0060D1A3 /* register_pressure.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = register_pressure.cpp; sourceTree = "<group>"; };
-		A96FE5F12154739F0060D1A3 /* loop_utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_utils.cpp; sourceTree = "<group>"; };
-		A96FE5F22154739F0060D1A3 /* merge_return_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = merge_return_pass.h; sourceTree = "<group>"; };
-		A96FE5F32154739F0060D1A3 /* inline_opaque_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline_opaque_pass.h; sourceTree = "<group>"; };
-		A96FE5F42154739F0060D1A3 /* loop_fusion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_fusion.h; sourceTree = "<group>"; };
-		A96FE5F52154739F0060D1A3 /* combine_access_chains.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = combine_access_chains.cpp; sourceTree = "<group>"; };
-		A96FE5F62154739F0060D1A3 /* build_module.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = build_module.cpp; sourceTree = "<group>"; };
-		A96FE5F72154739F0060D1A3 /* composite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = composite.h; sourceTree = "<group>"; };
-		A96FE5F82154739F0060D1A3 /* compact_ids_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = compact_ids_pass.h; sourceTree = "<group>"; };
-		A96FE5F92154739F0060D1A3 /* register_pressure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = register_pressure.h; sourceTree = "<group>"; };
-		A96FE5FA2154739F0060D1A3 /* tree_iterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tree_iterator.h; sourceTree = "<group>"; };
-		A96FE5FB2154739F0060D1A3 /* local_single_store_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_single_store_elim_pass.h; sourceTree = "<group>"; };
-		A96FE5FC2154739F0060D1A3 /* reduce_load_size.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reduce_load_size.h; sourceTree = "<group>"; };
-		A96FE5FD2154739F0060D1A3 /* types.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = types.cpp; sourceTree = "<group>"; };
-		A96FE5FE2154739F0060D1A3 /* scalar_analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scalar_analysis.h; sourceTree = "<group>"; };
-		A96FE5FF2154739F0060D1A3 /* strip_debug_info_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strip_debug_info_pass.h; sourceTree = "<group>"; };
-		A96FE6002154739F0060D1A3 /* cfg.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cfg.cpp; sourceTree = "<group>"; };
-		A96FE6012154739F0060D1A3 /* decoration_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decoration_manager.cpp; sourceTree = "<group>"; };
-		A96FE6022154739F0060D1A3 /* local_single_block_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_single_block_elim_pass.cpp; sourceTree = "<group>"; };
-		A96FE6032154739F0060D1A3 /* freeze_spec_constant_value_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = freeze_spec_constant_value_pass.cpp; sourceTree = "<group>"; };
-		A96FE6042154739F0060D1A3 /* replace_invalid_opc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = replace_invalid_opc.h; sourceTree = "<group>"; };
-		A96FE6052154739F0060D1A3 /* local_access_chain_convert_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_access_chain_convert_pass.h; sourceTree = "<group>"; };
-		A96FE6062154739F0060D1A3 /* local_redundancy_elimination.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_redundancy_elimination.cpp; sourceTree = "<group>"; };
-		A96FE6072154739F0060D1A3 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
-		A96FE6082154739F0060D1A3 /* propagator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = propagator.h; sourceTree = "<group>"; };
-		A96FE6092154739F0060D1A3 /* instruction_list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction_list.h; sourceTree = "<group>"; };
-		A96FE60A2154739F0060D1A3 /* feature_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = feature_manager.cpp; sourceTree = "<group>"; };
-		A96FE60B2154739F0060D1A3 /* pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pass.cpp; sourceTree = "<group>"; };
-		A96FE60C2154739F0060D1A3 /* loop_fission.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_fission.cpp; sourceTree = "<group>"; };
-		A96FE60D2154739F0060D1A3 /* dominator_tree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dominator_tree.cpp; sourceTree = "<group>"; };
-		A96FE60E2154739F0060D1A3 /* merge_return_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = merge_return_pass.cpp; sourceTree = "<group>"; };
-		A96FE60F2154739F0060D1A3 /* ir_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_context.h; sourceTree = "<group>"; };
-		A96FE6102154739F0060D1A3 /* eliminate_dead_constant_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_constant_pass.cpp; sourceTree = "<group>"; };
-		A96FE6112154739F0060D1A3 /* cfg_cleanup_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cfg_cleanup_pass.cpp; sourceTree = "<group>"; };
-		A96FE6122154739F0060D1A3 /* const_folding_rules.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = const_folding_rules.cpp; sourceTree = "<group>"; };
-		A96FE6132154739F0060D1A3 /* loop_unroller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_unroller.h; sourceTree = "<group>"; };
-		A96FE6142154739F0060D1A3 /* strip_debug_info_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strip_debug_info_pass.cpp; sourceTree = "<group>"; };
-		A96FE6152154739F0060D1A3 /* ssa_rewrite_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ssa_rewrite_pass.cpp; sourceTree = "<group>"; };
-		A96FE6162154739F0060D1A3 /* loop_dependence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_dependence.cpp; sourceTree = "<group>"; };
-		A96FE6172154739F0060D1A3 /* unify_const_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unify_const_pass.h; sourceTree = "<group>"; };
-		A96FE6182154739F0060D1A3 /* ir_loader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_loader.h; sourceTree = "<group>"; };
-		A96FE6192154739F0060D1A3 /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = "<group>"; };
-		A96FE61A2154739F0060D1A3 /* 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>"; };
-		A96FE61B2154739F0060D1A3 /* mem_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mem_pass.cpp; sourceTree = "<group>"; };
-		A96FE61C2154739F0060D1A3 /* basic_block.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = basic_block.h; sourceTree = "<group>"; };
-		A96FE61D2154739F0060D1A3 /* remove_duplicates_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remove_duplicates_pass.cpp; sourceTree = "<group>"; };
-		A96FE61E2154739F0060D1A3 /* dead_variable_elimination.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dead_variable_elimination.cpp; sourceTree = "<group>"; };
-		A96FE61F2154739F0060D1A3 /* block_merge_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_merge_pass.h; sourceTree = "<group>"; };
-		A96FE6202154739F0060D1A3 /* module.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = module.cpp; sourceTree = "<group>"; };
-		A96FE6212154739F0060D1A3 /* 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>"; };
-		A96FE6222154739F0060D1A3 /* loop_unswitch_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_unswitch_pass.cpp; sourceTree = "<group>"; };
-		A96FE6232154739F0060D1A3 /* unify_const_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unify_const_pass.cpp; sourceTree = "<group>"; };
-		A96FE6242154739F0060D1A3 /* type_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = type_manager.cpp; sourceTree = "<group>"; };
-		A96FE6252154739F0060D1A3 /* private_to_local_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = private_to_local_pass.h; sourceTree = "<group>"; };
-		A96FE6262154739F0060D1A3 /* inline_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inline_pass.cpp; sourceTree = "<group>"; };
-		A96FE6272154739F0060D1A3 /* def_use_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = def_use_manager.h; sourceTree = "<group>"; };
-		A96FE6282154739F0060D1A3 /* ir_loader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_loader.cpp; sourceTree = "<group>"; };
-		A96FE6292154739F0060D1A3 /* cfg_cleanup_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfg_cleanup_pass.h; sourceTree = "<group>"; };
-		A96FE62A2154739F0060D1A3 /* licm_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = licm_pass.cpp; sourceTree = "<group>"; };
-		A96FE62B2154739F0060D1A3 /* eliminate_dead_functions_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eliminate_dead_functions_pass.cpp; sourceTree = "<group>"; };
-		A96FE62C2154739F0060D1A3 /* local_redundancy_elimination.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_redundancy_elimination.h; sourceTree = "<group>"; };
-		A96FE62D2154739F0060D1A3 /* loop_peeling.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_peeling.h; sourceTree = "<group>"; };
-		A96FE62E2154739F0060D1A3 /* vector_dce.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vector_dce.cpp; sourceTree = "<group>"; };
-		A96FE62F2154739F0060D1A3 /* loop_unroller.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_unroller.cpp; sourceTree = "<group>"; };
-		A96FE6302154739F0060D1A3 /* constants.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = constants.cpp; sourceTree = "<group>"; };
-		A96FE6312154739F0060D1A3 /* loop_fusion_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_fusion_pass.h; sourceTree = "<group>"; };
-		A96FE6322154739F0060D1A3 /* struct_cfg_analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = struct_cfg_analysis.h; sourceTree = "<group>"; };
-		A96FE6332154739F0060D1A3 /* common_uniform_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = common_uniform_elim_pass.cpp; sourceTree = "<group>"; };
-		A96FE6342154739F0060D1A3 /* def_use_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = def_use_manager.cpp; sourceTree = "<group>"; };
-		A96FE6352154739F0060D1A3 /* strip_reflect_info_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strip_reflect_info_pass.cpp; sourceTree = "<group>"; };
-		A96FE6362154739F0060D1A3 /* decoration_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoration_manager.h; sourceTree = "<group>"; };
-		A96FE6372154739F0060D1A3 /* ccp_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ccp_pass.cpp; sourceTree = "<group>"; };
-		A96FE6382154739F0060D1A3 /* local_single_block_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_single_block_elim_pass.h; sourceTree = "<group>"; };
-		A96FE6392154739F0060D1A3 /* strength_reduction_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strength_reduction_pass.h; sourceTree = "<group>"; };
-		A96FE63A2154739F0060D1A3 /* aggressive_dead_code_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aggressive_dead_code_elim_pass.cpp; sourceTree = "<group>"; };
-		A96FE63B2154739F0060D1A3 /* simplification_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = simplification_pass.cpp; sourceTree = "<group>"; };
-		A96FE63C2154739F0060D1A3 /* dead_branch_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dead_branch_elim_pass.cpp; sourceTree = "<group>"; };
-		A96FE63D2154739F0060D1A3 /* flatten_decoration_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = flatten_decoration_pass.cpp; sourceTree = "<group>"; };
-		A96FE63E2154739F0060D1A3 /* dead_insert_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dead_insert_elim_pass.h; sourceTree = "<group>"; };
-		A96FE63F2154739F0060D1A3 /* folding_rules.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = folding_rules.cpp; sourceTree = "<group>"; };
-		A96FE6402154739F0060D1A3 /* freeze_spec_constant_value_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = freeze_spec_constant_value_pass.h; sourceTree = "<group>"; };
-		A96FE6412154739F0060D1A3 /* ir_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_context.cpp; sourceTree = "<group>"; };
-		A96FE6422154739F0060D1A3 /* mem_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mem_pass.h; sourceTree = "<group>"; };
-		A96FE6432154739F0060D1A3 /* loop_descriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_descriptor.cpp; sourceTree = "<group>"; };
-		A96FE6442154739F0060D1A3 /* local_ssa_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_ssa_elim_pass.cpp; sourceTree = "<group>"; };
-		A96FE6452154739F0060D1A3 /* function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = function.cpp; sourceTree = "<group>"; };
-		A96FE6462154739F0060D1A3 /* instruction_list.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instruction_list.cpp; sourceTree = "<group>"; };
-		A96FE6472154739F0060D1A3 /* composite.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = composite.cpp; sourceTree = "<group>"; };
-		A96FE6482154739F0060D1A3 /* inline_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline_pass.h; sourceTree = "<group>"; };
-		A96FE6492154739F0060D1A3 /* loop_dependence.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_dependence.h; sourceTree = "<group>"; };
-		A96FE64A2154739F0060D1A3 /* value_number_table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = value_number_table.h; sourceTree = "<group>"; };
-		A96FE64B2154739F0060D1A3 /* flatten_decoration_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = flatten_decoration_pass.h; sourceTree = "<group>"; };
-		A96FE64C2154739F0060D1A3 /* if_conversion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = if_conversion.cpp; sourceTree = "<group>"; };
-		A96FE64D2154739F0060D1A3 /* inline_exhaustive_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline_exhaustive_pass.h; sourceTree = "<group>"; };
-		A96FE64E2154739F0060D1A3 /* constants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = constants.h; sourceTree = "<group>"; };
-		A96FE64F2154739F0060D1A3 /* strength_reduction_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strength_reduction_pass.cpp; sourceTree = "<group>"; };
-		A96FE6502154739F0060D1A3 /* copy_prop_arrays.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = copy_prop_arrays.cpp; sourceTree = "<group>"; };
-		A96FE6512154739F0060D1A3 /* pass_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pass_manager.cpp; sourceTree = "<group>"; };
-		A96FE6522154739F0060D1A3 /* inline_exhaustive_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inline_exhaustive_pass.cpp; sourceTree = "<group>"; };
-		A96FE6532154739F0060D1A3 /* loop_fission.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_fission.h; sourceTree = "<group>"; };
-		A96FE6542154739F0060D1A3 /* workaround1209.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = workaround1209.h; sourceTree = "<group>"; };
-		A96FE6552154739F0060D1A3 /* loop_fusion_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_fusion_pass.cpp; sourceTree = "<group>"; };
-		A96FE6562154739F0060D1A3 /* log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = log.h; sourceTree = "<group>"; };
-		A96FE6572154739F0060D1A3 /* copy_prop_arrays.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = copy_prop_arrays.h; sourceTree = "<group>"; };
-		A96FE658215473A00060D1A3 /* eliminate_dead_constant_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_constant_pass.h; sourceTree = "<group>"; };
-		A96FE659215473A00060D1A3 /* dead_insert_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dead_insert_elim_pass.cpp; sourceTree = "<group>"; };
-		A96FE65A215473A00060D1A3 /* ssa_rewrite_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ssa_rewrite_pass.h; sourceTree = "<group>"; };
-		A96FE65B215473A00060D1A3 /* scalar_analysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scalar_analysis.cpp; sourceTree = "<group>"; };
-		A96FE65C215473A00060D1A3 /* dead_variable_elimination.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dead_variable_elimination.h; sourceTree = "<group>"; };
-		A96FE65D215473A00060D1A3 /* block_merge_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_merge_pass.cpp; sourceTree = "<group>"; };
-		A96FE65E215473A00060D1A3 /* dominator_analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dominator_analysis.h; sourceTree = "<group>"; };
-		A96FE65F215473A00060D1A3 /* pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pass.h; sourceTree = "<group>"; };
-		A96FE660215473A00060D1A3 /* folding_rules.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = folding_rules.h; sourceTree = "<group>"; };
-		A96FE661215473A00060D1A3 /* eliminate_dead_functions_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eliminate_dead_functions_pass.h; sourceTree = "<group>"; };
-		A96FE662215473A00060D1A3 /* common_uniform_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common_uniform_elim_pass.h; sourceTree = "<group>"; };
-		A96FE663215473A00060D1A3 /* fold.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fold.h; sourceTree = "<group>"; };
-		A96FE664215473A00060D1A3 /* local_single_store_elim_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_single_store_elim_pass.cpp; sourceTree = "<group>"; };
-		A96FE665215473A00060D1A3 /* dead_branch_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dead_branch_elim_pass.h; sourceTree = "<group>"; };
-		A96FE666215473A00060D1A3 /* private_to_local_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = private_to_local_pass.cpp; sourceTree = "<group>"; };
-		A96FE667215473A00060D1A3 /* scalar_analysis_nodes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scalar_analysis_nodes.h; sourceTree = "<group>"; };
-		A96FE668215473A00060D1A3 /* propagator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = propagator.cpp; sourceTree = "<group>"; };
-		A96FE669215473A00060D1A3 /* loop_dependence_helpers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_dependence_helpers.cpp; sourceTree = "<group>"; };
-		A96FE66A215473A00060D1A3 /* 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>"; };
-		A96FE66B215473A00060D1A3 /* passes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = passes.h; sourceTree = "<group>"; };
-		A96FE66C215473A00060D1A3 /* fold.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fold.cpp; sourceTree = "<group>"; };
-		A96FE66D215473A00060D1A3 /* strip_reflect_info_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strip_reflect_info_pass.h; sourceTree = "<group>"; };
-		A96FE66E215473A00060D1A3 /* scalar_replacement_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scalar_replacement_pass.cpp; sourceTree = "<group>"; };
-		A96FE66F215473A00060D1A3 /* simplification_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = simplification_pass.h; sourceTree = "<group>"; };
-		A96FE670215473A00060D1A3 /* remove_duplicates_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remove_duplicates_pass.h; sourceTree = "<group>"; };
-		A96FE671215473A00060D1A3 /* redundancy_elimination.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = redundancy_elimination.cpp; sourceTree = "<group>"; };
-		A96FE672215473A00060D1A3 /* reflect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reflect.h; sourceTree = "<group>"; };
-		A96FE673215473A00060D1A3 /* workaround1209.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = workaround1209.cpp; sourceTree = "<group>"; };
-		A96FE674215473A00060D1A3 /* null_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = null_pass.h; sourceTree = "<group>"; };
-		A96FE675215473A00060D1A3 /* const_folding_rules.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = const_folding_rules.h; sourceTree = "<group>"; };
-		A96FE676215473A00060D1A3 /* scalar_replacement_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scalar_replacement_pass.h; sourceTree = "<group>"; };
-		A96FE677215473A00060D1A3 /* instruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instruction.cpp; sourceTree = "<group>"; };
-		A96FE678215473A00060D1A3 /* reduce_load_size.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reduce_load_size.cpp; sourceTree = "<group>"; };
-		A96FE679215473A00060D1A3 /* redundancy_elimination.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = redundancy_elimination.h; sourceTree = "<group>"; };
-		A96FE67A215473A00060D1A3 /* value_number_table.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = value_number_table.cpp; sourceTree = "<group>"; };
-		A96FE67B215473A00060D1A3 /* local_ssa_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = local_ssa_elim_pass.h; sourceTree = "<group>"; };
-		A96FE67C215473A00060D1A3 /* inline_opaque_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inline_opaque_pass.cpp; sourceTree = "<group>"; };
-		A96FE67D215473A00060D1A3 /* replace_invalid_opc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = replace_invalid_opc.cpp; sourceTree = "<group>"; };
-		A96FE67E215473A00060D1A3 /* loop_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_utils.h; sourceTree = "<group>"; };
-		A96FE67F215473A00060D1A3 /* module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = module.h; sourceTree = "<group>"; };
-		A96FE680215473A00060D1A3 /* dominator_analysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dominator_analysis.cpp; sourceTree = "<group>"; };
-		A96FE681215473A00060D1A3 /* ir_builder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_builder.h; sourceTree = "<group>"; };
-		A96FE682215473A00060D1A3 /* loop_unswitch_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_unswitch_pass.h; sourceTree = "<group>"; };
-		A96FE683215473A00060D1A3 /* cfg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfg.h; sourceTree = "<group>"; };
-		A96FE684215473A00060D1A3 /* loop_descriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_descriptor.h; sourceTree = "<group>"; };
-		A96FE685215473A00060D1A3 /* instruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction.h; sourceTree = "<group>"; };
-		A96FE686215473A00060D1A3 /* aggressive_dead_code_elim_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aggressive_dead_code_elim_pass.h; sourceTree = "<group>"; };
-		A96FE687215473A00060D1A3 /* struct_cfg_analysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = struct_cfg_analysis.cpp; sourceTree = "<group>"; };
-		A96FE688215473A00060D1A3 /* vector_dce.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vector_dce.h; sourceTree = "<group>"; };
-		A96FE689215473A00060D1A3 /* combine_access_chains.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = combine_access_chains.h; sourceTree = "<group>"; };
-		A96FE68A215473A00060D1A3 /* pass_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pass_manager.h; sourceTree = "<group>"; };
-		A96FE68B215473A00060D1A3 /* local_access_chain_convert_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_access_chain_convert_pass.cpp; sourceTree = "<group>"; };
-		A96FE68C215473A00060D1A3 /* basic_block.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = basic_block.cpp; sourceTree = "<group>"; };
-		A96FE68D215473A00060D1A3 /* iterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iterator.h; sourceTree = "<group>"; };
-		A96FE68E215473A00060D1A3 /* licm_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = licm_pass.h; sourceTree = "<group>"; };
-		A96FE68F215473A00060D1A3 /* build_module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = build_module.h; sourceTree = "<group>"; };
-		A96FE690215473A00060D1A3 /* ccp_pass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccp_pass.h; sourceTree = "<group>"; };
-		A96FE691215473A00060D1A3 /* function.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = function.h; sourceTree = "<group>"; };
-		A96FE692215473A00060D1A3 /* loop_fusion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_fusion.cpp; sourceTree = "<group>"; };
-		A96FE693215473A00060D1A3 /* feature_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = feature_manager.h; sourceTree = "<group>"; };
-		A96FE694215473A00060D1A3 /* scalar_analysis_simplification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scalar_analysis_simplification.cpp; sourceTree = "<group>"; };
-		A96FE695215473A00060D1A3 /* 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>"; };
-		A96FE696215473A00060D1A3 /* dominator_tree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dominator_tree.h; sourceTree = "<group>"; };
-		A96FE697215473A00060D1A3 /* type_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = type_manager.h; sourceTree = "<group>"; };
-		A96FE698215473A00060D1A3 /* compact_ids_pass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = compact_ids_pass.cpp; sourceTree = "<group>"; };
-		A96FE699215473A00060D1A3 /* loop_peeling.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_peeling.cpp; sourceTree = "<group>"; };
-		A96FE69A215473A00060D1A3 /* table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = table.h; sourceTree = "<group>"; };
-		A96FE69B215473A00060D1A3 /* ext_inst.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ext_inst.h; sourceTree = "<group>"; };
-		A96FE69C215473A00060D1A3 /* diagnostic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = diagnostic.cpp; sourceTree = "<group>"; };
-		A96FE69D215473A00060D1A3 /* latest_version_spirv_header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = latest_version_spirv_header.h; sourceTree = "<group>"; };
-		A96FE69E215473A00060D1A3 /* libspirv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = libspirv.cpp; sourceTree = "<group>"; };
-		A96FE69F215473A00060D1A3 /* instruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction.h; sourceTree = "<group>"; };
-		A96FE6A0215473A00060D1A3 /* id_descriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = id_descriptor.h; sourceTree = "<group>"; };
-		A96FE6A1215473A00060D1A3 /* spirv_optimizer_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spirv_optimizer_options.h; sourceTree = "<group>"; };
-		A96FE6A2215473A00060D1A3 /* opcode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opcode.h; sourceTree = "<group>"; };
-		A96FE6A3215473A00060D1A3 /* operand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = operand.cpp; sourceTree = "<group>"; };
-		A96FE6A4215473A00060D1A3 /* 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>"; };
-		A96FE6A5215473A00060D1A3 /* extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = extensions.h; sourceTree = "<group>"; };
-		A96FE6A6215473A00060D1A3 /* disassemble.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = disassemble.cpp; sourceTree = "<group>"; };
-		A96FE6A7215473A00060D1A3 /* binary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = binary.h; sourceTree = "<group>"; };
-		A96FE6A8215473A00060D1A3 /* text_handler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = text_handler.cpp; sourceTree = "<group>"; };
-		A96FE6AA215473A00060D1A3 /* validate_annotation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_annotation.cpp; sourceTree = "<group>"; };
-		A96FE6AB215473A00060D1A3 /* validate_cfg.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_cfg.cpp; sourceTree = "<group>"; };
-		A96FE6AC215473A00060D1A3 /* validate_capability.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_capability.cpp; sourceTree = "<group>"; };
-		A96FE6AD215473A00060D1A3 /* construct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = construct.h; sourceTree = "<group>"; };
-		A96FE6AE215473A00060D1A3 /* validate_barriers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_barriers.cpp; sourceTree = "<group>"; };
-		A96FE6AF215473A00060D1A3 /* validate_non_uniform.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_non_uniform.cpp; sourceTree = "<group>"; };
-		A96FE6B0215473A00060D1A3 /* validate_atomics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_atomics.cpp; sourceTree = "<group>"; };
-		A96FE6B1215473A00060D1A3 /* basic_block.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = basic_block.h; sourceTree = "<group>"; };
-		A96FE6B2215473A00060D1A3 /* validate_instruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_instruction.cpp; sourceTree = "<group>"; };
-		A96FE6B3215473A00060D1A3 /* validate_decorations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_decorations.cpp; sourceTree = "<group>"; };
-		A96FE6B4215473A00060D1A3 /* validate_debug.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_debug.cpp; sourceTree = "<group>"; };
-		A96FE6B5215473A00060D1A3 /* validate_builtins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_builtins.cpp; sourceTree = "<group>"; };
-		A96FE6B6215473A00060D1A3 /* validate_interfaces.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_interfaces.cpp; sourceTree = "<group>"; };
-		A96FE6B7215473A00060D1A3 /* validate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate.cpp; sourceTree = "<group>"; };
-		A96FE6B8215473A00060D1A3 /* validation_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validation_state.h; sourceTree = "<group>"; };
-		A96FE6B9215473A00060D1A3 /* validate_constants.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_constants.cpp; sourceTree = "<group>"; };
-		A96FE6BA215473A00060D1A3 /* validate_bitwise.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_bitwise.cpp; sourceTree = "<group>"; };
-		A96FE6BB215473A00060D1A3 /* construct.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = construct.cpp; sourceTree = "<group>"; };
-		A96FE6BC215473A00060D1A3 /* function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = function.cpp; sourceTree = "<group>"; };
-		A96FE6BD215473A00060D1A3 /* validate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = validate.h; sourceTree = "<group>"; };
-		A96FE6BE215473A00060D1A3 /* validate_adjacency.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_adjacency.cpp; sourceTree = "<group>"; };
-		A96FE6BF215473A00060D1A3 /* validate_conversion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_conversion.cpp; sourceTree = "<group>"; };
-		A96FE6C0215473A00060D1A3 /* validate_datarules.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_datarules.cpp; sourceTree = "<group>"; };
-		A96FE6C1215473A00060D1A3 /* validate_id.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_id.cpp; sourceTree = "<group>"; };
-		A96FE6C2215473A00060D1A3 /* validate_arithmetics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_arithmetics.cpp; sourceTree = "<group>"; };
-		A96FE6C3215473A00060D1A3 /* validate_mode_setting.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_mode_setting.cpp; sourceTree = "<group>"; };
-		A96FE6C4215473A00060D1A3 /* validate_logicals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_logicals.cpp; sourceTree = "<group>"; };
-		A96FE6C5215473A00060D1A3 /* validate_derivatives.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_derivatives.cpp; sourceTree = "<group>"; };
-		A96FE6C6215473A00060D1A3 /* validate_memory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_memory.cpp; sourceTree = "<group>"; };
-		A96FE6C7215473A00060D1A3 /* validate_image.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_image.cpp; sourceTree = "<group>"; };
-		A96FE6C8215473A00060D1A3 /* validate_literals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_literals.cpp; sourceTree = "<group>"; };
-		A96FE6C9215473A00060D1A3 /* instruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = instruction.cpp; sourceTree = "<group>"; };
-		A96FE6CA215473A00060D1A3 /* validate_type.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_type.cpp; sourceTree = "<group>"; };
-		A96FE6CB215473A00060D1A3 /* validate_ext_inst.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_ext_inst.cpp; sourceTree = "<group>"; };
-		A96FE6CC215473A00060D1A3 /* instruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = instruction.h; sourceTree = "<group>"; };
-		A96FE6CD215473A00060D1A3 /* validate_execution_limitations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_execution_limitations.cpp; sourceTree = "<group>"; };
-		A96FE6CE215473A00060D1A3 /* validate_layout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_layout.cpp; sourceTree = "<group>"; };
-		A96FE6CF215473A00060D1A3 /* basic_block.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = basic_block.cpp; sourceTree = "<group>"; };
-		A96FE6D0215473A00060D1A3 /* validate_function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_function.cpp; sourceTree = "<group>"; };
-		A96FE6D1215473A00060D1A3 /* function.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = function.h; sourceTree = "<group>"; };
-		A96FE6D2215473A00060D1A3 /* validate_composites.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_composites.cpp; sourceTree = "<group>"; };
-		A96FE6D3215473A00060D1A3 /* validation_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validation_state.cpp; sourceTree = "<group>"; };
-		A96FE6D4215473A00060D1A3 /* validate_primitives.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_primitives.cpp; sourceTree = "<group>"; };
-		A96FE6D5215473A00060D1A3 /* decoration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoration.h; sourceTree = "<group>"; };
+		A972AD2A21CEE6A90013AB25 /* libglslang.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libglslang.a; path = ../External/build/iOS/libglslang.a; sourceTree = "<group>"; };
+		A972AD2F21CEE7040013AB25 /* libSPIRVCross.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSPIRVCross.a; path = ../External/build/iOS/libSPIRVCross.a; sourceTree = "<group>"; };
+		A972AD3021CEE7040013AB25 /* libSPIRVTools.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSPIRVTools.a; path = ../External/build/iOS/libSPIRVTools.a; sourceTree = "<group>"; };
+		A972AD3421CEE7330013AB25 /* libSPIRVTools.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSPIRVTools.a; path = ../External/build/macOS/libSPIRVTools.a; sourceTree = "<group>"; };
+		A972AD3521CEE7330013AB25 /* libSPIRVCross.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSPIRVCross.a; path = ../External/build/macOS/libSPIRVCross.a; sourceTree = "<group>"; };
+		A972AD3821CEE7480013AB25 /* libglslang.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libglslang.a; path = ../External/build/macOS/libglslang.a; sourceTree = "<group>"; };
 		A97CC73D1C7527F3004A5C7E /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = "<group>"; };
 		A97CC73E1C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MoltenVKShaderConverterTool.cpp; sourceTree = "<group>"; };
 		A97CC73F1C7527F3004A5C7E /* MoltenVKShaderConverterTool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MoltenVKShaderConverterTool.h; sourceTree = "<group>"; };
 		A98149651FB6A98A005F00B4 /* MVKStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKStrings.h; sourceTree = "<group>"; };
-		A9AB19901CB5B5A80001E7F9 /* spirv_common.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = spirv_common.hpp; sourceTree = "<group>"; };
-		A9AB19911CB5B5A80001E7F9 /* spirv_cross.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_cross.cpp; sourceTree = "<group>"; };
-		A9AB19921CB5B5A80001E7F9 /* spirv_cross.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = spirv_cross.hpp; sourceTree = "<group>"; };
-		A9AB19931CB5B5A80001E7F9 /* spirv_glsl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_glsl.cpp; sourceTree = "<group>"; };
-		A9AB19941CB5B5A80001E7F9 /* spirv_glsl.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = spirv_glsl.hpp; sourceTree = "<group>"; };
-		A9AB19951CB5B5A80001E7F9 /* spirv_msl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_msl.cpp; sourceTree = "<group>"; };
-		A9AB19961CB5B5A80001E7F9 /* spirv_msl.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = spirv_msl.hpp; sourceTree = "<group>"; };
-		A9BB09751CEF89B100CCAB22 /* spirv.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = spirv.hpp; sourceTree = "<group>"; };
 		A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKCommonEnvironment.h; sourceTree = "<group>"; };
 		A9F042AB1FB4D060009FCCB8 /* MVKLogging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKLogging.h; sourceTree = "<group>"; };
 /* End PBXFileReference section */
@@ -1303,21 +109,52 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
+		A972AD2821CEE6310013AB25 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				A972AD2B21CEE6A90013AB25 /* libglslang.a in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		A972AD2C21CEE6C30013AB25 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				A972AD3921CEE7480013AB25 /* libglslang.a in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		A972AD2E21CEE6F50013AB25 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				A972AD3121CEE7040013AB25 /* libSPIRVCross.a in Frameworks */,
+				A972AD3221CEE7040013AB25 /* libSPIRVTools.a in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		A972AD3321CEE7230013AB25 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				A972AD3621CEE7330013AB25 /* libSPIRVTools.a in Frameworks */,
+				A972AD3721CEE7330013AB25 /* libSPIRVCross.a in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
 		A9093C561C58013D0094110D /* MoltenVKSPIRVToMSLConverter */ = {
 			isa = PBXGroup;
 			children = (
-				A9FE521B1D440E17001DD573 /* SPIRV-Tools */,
-				A9381E5C1CB55F4600287A79 /* SPIRV-Cross */,
 				A925B70B1C7754B2006E7ECD /* FileSupport.h */,
 				A925B70A1C7754B2006E7ECD /* FileSupport.mm */,
 				A928C9171D0488DC00071B88 /* SPIRVConversion.h */,
 				A928C9181D0488DC00071B88 /* SPIRVConversion.mm */,
 				A9093F5A1C58013E0094110D /* SPIRVToMSLConverter.cpp */,
 				A9093F5B1C58013E0094110D /* SPIRVToMSLConverter.h */,
-				A9BB09751CEF89B100CCAB22 /* spirv.hpp */,
 			);
 			path = MoltenVKSPIRVToMSLConverter;
 			sourceTree = "<group>";
@@ -1325,7 +162,6 @@
 		A90940A11C5808BB0094110D /* MoltenVKGLSLToSPIRVConverter */ = {
 			isa = PBXGroup;
 			children = (
-				A97B21311C80B38D003F0FB4 /* glslang */,
 				A90940A31C5808BB0094110D /* GLSLToSPIRVConverter.cpp */,
 				A90940A41C5808BB0094110D /* GLSLToSPIRVConverter.h */,
 				A90941A11C581F840094110D /* GLSLConversion.mm */,
@@ -1334,197 +170,6 @@
 			path = MoltenVKGLSLToSPIRVConverter;
 			sourceTree = "<group>";
 		};
-		A9381E5C1CB55F4600287A79 /* SPIRV-Cross */ = {
-			isa = PBXGroup;
-			children = (
-				A95C5F3D1DEA9070000D17B6 /* spirv_cfg.cpp */,
-				A95C5F3E1DEA9070000D17B6 /* spirv_cfg.hpp */,
-				A9AB19901CB5B5A80001E7F9 /* spirv_common.hpp */,
-				A94E30D421920A8C00394673 /* spirv_cross_parsed_ir.cpp */,
-				A94E30D321920A8C00394673 /* spirv_cross_parsed_ir.hpp */,
-				A9AB19911CB5B5A80001E7F9 /* spirv_cross.cpp */,
-				A9AB19921CB5B5A80001E7F9 /* spirv_cross.hpp */,
-				A9AB19931CB5B5A80001E7F9 /* spirv_glsl.cpp */,
-				A9AB19941CB5B5A80001E7F9 /* spirv_glsl.hpp */,
-				A9AB19951CB5B5A80001E7F9 /* spirv_msl.cpp */,
-				A9AB19961CB5B5A80001E7F9 /* spirv_msl.hpp */,
-				A94E30CD219209C700394673 /* spirv_parser.cpp */,
-				A94E30CE219209C700394673 /* spirv_parser.hpp */,
-			);
-			name = "SPIRV-Cross";
-			path = "../SPIRV-Cross";
-			sourceTree = "<group>";
-		};
-		A93E8202211F76F5001FEBD4 /* SPIRV */ = {
-			isa = PBXGroup;
-			children = (
-				A93E8203211F76F5001FEBD4 /* SPVRemapper.h */,
-				A93E8204211F76F5001FEBD4 /* SpvBuilder.h */,
-				A93E8205211F76F5001FEBD4 /* CMakeLists.txt */,
-				A93E8206211F76F5001FEBD4 /* SpvPostProcess.cpp */,
-				A93E8207211F76F5001FEBD4 /* InReadableOrder.cpp */,
-				A93E8208211F76F5001FEBD4 /* GLSL.ext.AMD.h */,
-				A93E8209211F76F5001FEBD4 /* doc.h */,
-				A93E820A211F76F5001FEBD4 /* spirv.hpp */,
-				A93E820B211F76F5001FEBD4 /* SpvBuilder.cpp */,
-				A93E820C211F76F6001FEBD4 /* GLSL.ext.EXT.h */,
-				A93E820D211F76F6001FEBD4 /* GLSL.ext.KHR.h */,
-				A93E820E211F76F6001FEBD4 /* GLSL.ext.NV.h */,
-				A93E820F211F76F6001FEBD4 /* GlslangToSpv.cpp */,
-				A93E8210211F76F6001FEBD4 /* spvIR.h */,
-				A93E8211211F76F6001FEBD4 /* bitutils.h */,
-				A93E8212211F76F6001FEBD4 /* disassemble.h */,
-				A93E8213211F76F6001FEBD4 /* GlslangToSpv.h */,
-				A93E8214211F76F6001FEBD4 /* GLSL.std.450.h */,
-				A93E8215211F76F6001FEBD4 /* SPVRemapper.cpp */,
-				A93E8216211F76F6001FEBD4 /* Logger.cpp */,
-				A93E8217211F76F6001FEBD4 /* hex_float.h */,
-				A93E8218211F76F6001FEBD4 /* Logger.h */,
-				A93E8219211F76F6001FEBD4 /* doc.cpp */,
-				A93E821A211F76F6001FEBD4 /* disassemble.cpp */,
-			);
-			path = SPIRV;
-			sourceTree = "<group>";
-		};
-		A93E821B211F76F6001FEBD4 /* glslang */ = {
-			isa = PBXGroup;
-			children = (
-				A93E821C211F76F6001FEBD4 /* CMakeLists.txt */,
-				A93E821D211F76F6001FEBD4 /* OSDependent */,
-				A93E8226211F76F6001FEBD4 /* Include */,
-				A93E8234211F76F6001FEBD4 /* updateGrammar */,
-				A93E8235211F76F6001FEBD4 /* MachineIndependent */,
-				A93E8265211F76F6001FEBD4 /* Public */,
-				A93E8267211F76F6001FEBD4 /* GenericCodeGen */,
-			);
-			path = glslang;
-			sourceTree = "<group>";
-		};
-		A93E821D211F76F6001FEBD4 /* OSDependent */ = {
-			isa = PBXGroup;
-			children = (
-				A93E821E211F76F6001FEBD4 /* Unix */,
-				A93E8221211F76F6001FEBD4 /* osinclude.h */,
-			);
-			path = OSDependent;
-			sourceTree = "<group>";
-		};
-		A93E821E211F76F6001FEBD4 /* Unix */ = {
-			isa = PBXGroup;
-			children = (
-				A93E821F211F76F6001FEBD4 /* ossource.cpp */,
-				A93E8220211F76F6001FEBD4 /* CMakeLists.txt */,
-			);
-			path = Unix;
-			sourceTree = "<group>";
-		};
-		A93E8226211F76F6001FEBD4 /* Include */ = {
-			isa = PBXGroup;
-			children = (
-				A93E8227211F76F6001FEBD4 /* ResourceLimits.h */,
-				A93E8228211F76F6001FEBD4 /* Types.h */,
-				A93E8229211F76F6001FEBD4 /* intermediate.h */,
-				A93E822A211F76F6001FEBD4 /* BaseTypes.h */,
-				A93E822B211F76F6001FEBD4 /* revision.h */,
-				A93E822C211F76F6001FEBD4 /* InitializeGlobals.h */,
-				A93E822D211F76F6001FEBD4 /* ShHandle.h */,
-				A93E822E211F76F6001FEBD4 /* arrays.h */,
-				A93E822F211F76F6001FEBD4 /* Common.h */,
-				A93E8230211F76F6001FEBD4 /* revision.template */,
-				A93E8231211F76F6001FEBD4 /* ConstantUnion.h */,
-				A93E8232211F76F6001FEBD4 /* InfoSink.h */,
-				A93E8233211F76F6001FEBD4 /* PoolAlloc.h */,
-			);
-			path = Include;
-			sourceTree = "<group>";
-		};
-		A93E8235211F76F6001FEBD4 /* MachineIndependent */ = {
-			isa = PBXGroup;
-			children = (
-				A93E8236211F76F6001FEBD4 /* ParseHelper.cpp */,
-				A93E8237211F76F6001FEBD4 /* parseVersions.h */,
-				A93E8238211F76F6001FEBD4 /* gl_types.h */,
-				A93E8239211F76F6001FEBD4 /* propagateNoContraction.cpp */,
-				A93E823A211F76F6001FEBD4 /* ScanContext.h */,
-				A93E823B211F76F6001FEBD4 /* iomapper.h */,
-				A93E823C211F76F6001FEBD4 /* localintermediate.h */,
-				A93E823D211F76F6001FEBD4 /* Scan.cpp */,
-				A93E823F211F76F6001FEBD4 /* RemoveTree.h */,
-				A93E8240211F76F6001FEBD4 /* Initialize.cpp */,
-				A93E8241211F76F6001FEBD4 /* glslang_tab.cpp */,
-				A93E8242211F76F6001FEBD4 /* limits.cpp */,
-				A93E8243211F76F6001FEBD4 /* parseConst.cpp */,
-				A93E8244211F76F6001FEBD4 /* propagateNoContraction.h */,
-				A93E8245211F76F6001FEBD4 /* Versions.h */,
-				A93E8246211F76F6001FEBD4 /* IntermTraverse.cpp */,
-				A93E8247211F76F6001FEBD4 /* intermOut.cpp */,
-				A93E8248211F76F6001FEBD4 /* iomapper.cpp */,
-				A93E8249211F76F6001FEBD4 /* PoolAlloc.cpp */,
-				A93E824A211F76F6001FEBD4 /* ShaderLang.cpp */,
-				A93E824B211F76F6001FEBD4 /* SymbolTable.h */,
-				A93E824C211F76F6001FEBD4 /* InfoSink.cpp */,
-				A93E824D211F76F6001FEBD4 /* Intermediate.cpp */,
-				A93E824E211F76F6001FEBD4 /* SymbolTable.cpp */,
-				A93E824F211F76F6001FEBD4 /* glslang_tab.cpp.h */,
-				A93E8250211F76F6001FEBD4 /* LiveTraverser.h */,
-				A93E8251211F76F6001FEBD4 /* Initialize.h */,
-				A93E8252211F76F6001FEBD4 /* attribute.cpp */,
-				A93E8253211F76F6001FEBD4 /* reflection.cpp */,
-				A93E8254211F76F6001FEBD4 /* RemoveTree.cpp */,
-				A93E8255211F76F6001FEBD4 /* attribute.h */,
-				A93E8256211F76F6001FEBD4 /* Versions.cpp */,
-				A93E8257211F76F6001FEBD4 /* Constant.cpp */,
-				A93E8258211F76F6001FEBD4 /* linkValidate.cpp */,
-				A93E8259211F76F6001FEBD4 /* ParseHelper.h */,
-				A93E825A211F76F6001FEBD4 /* preprocessor */,
-				A93E8262211F76F6001FEBD4 /* ParseContextBase.cpp */,
-				A93E8263211F76F6001FEBD4 /* reflection.h */,
-				A93E8264211F76F6001FEBD4 /* Scan.h */,
-			);
-			path = MachineIndependent;
-			sourceTree = "<group>";
-		};
-		A93E825A211F76F6001FEBD4 /* preprocessor */ = {
-			isa = PBXGroup;
-			children = (
-				A93E825B211F76F6001FEBD4 /* PpAtom.cpp */,
-				A93E825C211F76F6001FEBD4 /* PpTokens.h */,
-				A93E825D211F76F6001FEBD4 /* Pp.cpp */,
-				A93E825E211F76F6001FEBD4 /* PpContext.h */,
-				A93E825F211F76F6001FEBD4 /* PpTokens.cpp */,
-				A93E8260211F76F6001FEBD4 /* PpContext.cpp */,
-				A93E8261211F76F6001FEBD4 /* PpScanner.cpp */,
-			);
-			path = preprocessor;
-			sourceTree = "<group>";
-		};
-		A93E8265211F76F6001FEBD4 /* Public */ = {
-			isa = PBXGroup;
-			children = (
-				A93E8266211F76F6001FEBD4 /* ShaderLang.h */,
-			);
-			path = Public;
-			sourceTree = "<group>";
-		};
-		A93E8267211F76F6001FEBD4 /* GenericCodeGen */ = {
-			isa = PBXGroup;
-			children = (
-				A93E8268211F76F6001FEBD4 /* CodeGen.cpp */,
-				A93E8269211F76F6001FEBD4 /* Link.cpp */,
-			);
-			path = GenericCodeGen;
-			sourceTree = "<group>";
-		};
-		A93E826A211F76F6001FEBD4 /* OGLCompilersDLL */ = {
-			isa = PBXGroup;
-			children = (
-				A93E826B211F76F6001FEBD4 /* CMakeLists.txt */,
-				A93E826C211F76F6001FEBD4 /* InitializeDll.h */,
-				A93E826D211F76F6001FEBD4 /* InitializeDll.cpp */,
-			);
-			path = OGLCompilersDLL;
-			sourceTree = "<group>";
-		};
 		A964B28D1C57EBC400D930D8 /* Products */ = {
 			isa = PBXGroup;
 			children = (
@@ -1537,368 +182,17 @@
 			name = Products;
 			sourceTree = "<group>";
 		};
-		A96FE59F2154739F0060D1A3 /* source */ = {
+		A972AD2921CEE6A80013AB25 /* Frameworks */ = {
 			isa = PBXGroup;
 			children = (
-				A96FE5A02154739F0060D1A3 /* spirv_target_env.cpp */,
-				A96FE5A12154739F0060D1A3 /* extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json */,
-				A96FE5A22154739F0060D1A3 /* assembly_grammar.h */,
-				A96FE5A32154739F0060D1A3 /* enum_set.h */,
-				A96FE5A42154739F0060D1A3 /* CMakeLists.txt */,
-				A96FE5A52154739F0060D1A3 /* extinst.spv-amd-shader-ballot.grammar.json */,
-				A96FE5A62154739F0060D1A3 /* text.cpp */,
-				A96FE5A72154739F0060D1A3 /* assembly_grammar.cpp */,
-				A96FE5A82154739F0060D1A3 /* text.h */,
-				A96FE5A92154739F0060D1A3 /* extensions.cpp */,
-				A96FE5AA2154739F0060D1A3 /* util */,
-				A96FE5B92154739F0060D1A3 /* spirv_target_env.h */,
-				A96FE5BA2154739F0060D1A3 /* table.cpp */,
-				A96FE5BB2154739F0060D1A3 /* id_descriptor.cpp */,
-				A96FE5BC2154739F0060D1A3 /* latest_version_opencl_std_header.h */,
-				A96FE5BD2154739F0060D1A3 /* spirv_optimizer_options.cpp */,
-				A96FE5BE2154739F0060D1A3 /* cfa.h */,
-				A96FE5BF2154739F0060D1A3 /* enum_string_mapping.h */,
-				A96FE5C02154739F0060D1A3 /* spirv_validator_options.cpp */,
-				A96FE5C12154739F0060D1A3 /* extinst.spv-amd-shader-trinary-minmax.grammar.json */,
-				A96FE5C22154739F0060D1A3 /* print.cpp */,
-				A96FE5C32154739F0060D1A3 /* spirv_definition.h */,
-				A96FE5C42154739F0060D1A3 /* operand.h */,
-				A96FE5C52154739F0060D1A3 /* spirv_endian.cpp */,
-				A96FE5C62154739F0060D1A3 /* macro.h */,
-				A96FE5C72154739F0060D1A3 /* spirv_constant.h */,
-				A96FE5C82154739F0060D1A3 /* extinst.spv-amd-gcn-shader.grammar.json */,
-				A96FE5C92154739F0060D1A3 /* binary.cpp */,
-				A96FE5CA2154739F0060D1A3 /* spirv_validator_options.h */,
-				A96FE5CB2154739F0060D1A3 /* comp */,
-				A96FE5DC2154739F0060D1A3 /* enum_string_mapping.cpp */,
-				A96FE5DD2154739F0060D1A3 /* text_handler.h */,
-				A96FE5DE2154739F0060D1A3 /* parsed_operand.h */,
-				A96FE5DF2154739F0060D1A3 /* name_mapper.h */,
-				A96FE5E02154739F0060D1A3 /* parsed_operand.cpp */,
-				A96FE5E12154739F0060D1A3 /* diagnostic.h */,
-				A96FE5E22154739F0060D1A3 /* spirv_endian.h */,
-				A96FE5E32154739F0060D1A3 /* name_mapper.cpp */,
-				A96FE5E42154739F0060D1A3 /* extinst.debuginfo.grammar.json */,
-				A96FE5E52154739F0060D1A3 /* link */,
-				A96FE5E82154739F0060D1A3 /* software_version.cpp */,
-				A96FE5E92154739F0060D1A3 /* opcode.cpp */,
-				A96FE5EA2154739F0060D1A3 /* print.h */,
-				A96FE5EB2154739F0060D1A3 /* ext_inst.cpp */,
-				A96FE5EC2154739F0060D1A3 /* disassemble.h */,
-				A96FE5ED2154739F0060D1A3 /* opt */,
-				A96FE69A215473A00060D1A3 /* table.h */,
-				A96FE69B215473A00060D1A3 /* ext_inst.h */,
-				A96FE69C215473A00060D1A3 /* diagnostic.cpp */,
-				A96FE69D215473A00060D1A3 /* latest_version_spirv_header.h */,
-				A96FE69E215473A00060D1A3 /* libspirv.cpp */,
-				A96FE69F215473A00060D1A3 /* instruction.h */,
-				A96FE6A0215473A00060D1A3 /* id_descriptor.h */,
-				A96FE6A1215473A00060D1A3 /* spirv_optimizer_options.h */,
-				A96FE6A2215473A00060D1A3 /* opcode.h */,
-				A96FE6A3215473A00060D1A3 /* operand.cpp */,
-				A96FE6A4215473A00060D1A3 /* latest_version_glsl_std_450_header.h */,
-				A96FE6A5215473A00060D1A3 /* extensions.h */,
-				A96FE6A6215473A00060D1A3 /* disassemble.cpp */,
-				A96FE6A7215473A00060D1A3 /* binary.h */,
-				A96FE6A8215473A00060D1A3 /* text_handler.cpp */,
-				A96FE6A9215473A00060D1A3 /* val */,
+				A972AD3821CEE7480013AB25 /* libglslang.a */,
+				A972AD2F21CEE7040013AB25 /* libSPIRVCross.a */,
+				A972AD3521CEE7330013AB25 /* libSPIRVCross.a */,
+				A972AD3021CEE7040013AB25 /* libSPIRVTools.a */,
+				A972AD3421CEE7330013AB25 /* libSPIRVTools.a */,
+				A972AD2A21CEE6A90013AB25 /* libglslang.a */,
 			);
-			name = source;
-			path = "../../../../External/glslang/External/spirv-tools/source";
-			sourceTree = "<group>";
-		};
-		A96FE5AA2154739F0060D1A3 /* util */ = {
-			isa = PBXGroup;
-			children = (
-				A96FE5AB2154739F0060D1A3 /* parse_number.h */,
-				A96FE5AC2154739F0060D1A3 /* ilist_node.h */,
-				A96FE5AD2154739F0060D1A3 /* make_unique.h */,
-				A96FE5AE2154739F0060D1A3 /* string_utils.h */,
-				A96FE5AF2154739F0060D1A3 /* small_vector.h */,
-				A96FE5B02154739F0060D1A3 /* timer.cpp */,
-				A96FE5B12154739F0060D1A3 /* timer.h */,
-				A96FE5B22154739F0060D1A3 /* string_utils.cpp */,
-				A96FE5B32154739F0060D1A3 /* bit_vector.h */,
-				A96FE5B42154739F0060D1A3 /* bitutils.h */,
-				A96FE5B52154739F0060D1A3 /* hex_float.h */,
-				A96FE5B62154739F0060D1A3 /* parse_number.cpp */,
-				A96FE5B72154739F0060D1A3 /* bit_vector.cpp */,
-				A96FE5B82154739F0060D1A3 /* ilist.h */,
-			);
-			path = util;
-			sourceTree = "<group>";
-		};
-		A96FE5CB2154739F0060D1A3 /* comp */ = {
-			isa = PBXGroup;
-			children = (
-				A96FE5CC2154739F0060D1A3 /* markv_codec.cpp */,
-				A96FE5CD2154739F0060D1A3 /* markv.cpp */,
-				A96FE5CE2154739F0060D1A3 /* huffman_codec.h */,
-				A96FE5CF2154739F0060D1A3 /* CMakeLists.txt */,
-				A96FE5D02154739F0060D1A3 /* bit_stream.h */,
-				A96FE5D12154739F0060D1A3 /* move_to_front.cpp */,
-				A96FE5D22154739F0060D1A3 /* markv_encoder.h */,
-				A96FE5D32154739F0060D1A3 /* markv_decoder.h */,
-				A96FE5D42154739F0060D1A3 /* markv.h */,
-				A96FE5D52154739F0060D1A3 /* markv_model.h */,
-				A96FE5D62154739F0060D1A3 /* markv_decoder.cpp */,
-				A96FE5D72154739F0060D1A3 /* move_to_front.h */,
-				A96FE5D82154739F0060D1A3 /* markv_codec.h */,
-				A96FE5D92154739F0060D1A3 /* markv_logger.h */,
-				A96FE5DA2154739F0060D1A3 /* bit_stream.cpp */,
-				A96FE5DB2154739F0060D1A3 /* markv_encoder.cpp */,
-			);
-			path = comp;
-			sourceTree = "<group>";
-		};
-		A96FE5E52154739F0060D1A3 /* link */ = {
-			isa = PBXGroup;
-			children = (
-				A96FE5E62154739F0060D1A3 /* CMakeLists.txt */,
-				A96FE5E72154739F0060D1A3 /* linker.cpp */,
-			);
-			path = link;
-			sourceTree = "<group>";
-		};
-		A96FE5ED2154739F0060D1A3 /* opt */ = {
-			isa = PBXGroup;
-			children = (
-				A96FE5EE2154739F0060D1A3 /* optimizer.cpp */,
-				A96FE5EF2154739F0060D1A3 /* if_conversion.h */,
-				A96FE5F02154739F0060D1A3 /* register_pressure.cpp */,
-				A96FE5F12154739F0060D1A3 /* loop_utils.cpp */,
-				A96FE5F22154739F0060D1A3 /* merge_return_pass.h */,
-				A96FE5F32154739F0060D1A3 /* inline_opaque_pass.h */,
-				A96FE5F42154739F0060D1A3 /* loop_fusion.h */,
-				A96FE5F52154739F0060D1A3 /* combine_access_chains.cpp */,
-				A96FE5F62154739F0060D1A3 /* build_module.cpp */,
-				A96FE5F72154739F0060D1A3 /* composite.h */,
-				A96FE5F82154739F0060D1A3 /* compact_ids_pass.h */,
-				A96FE5F92154739F0060D1A3 /* register_pressure.h */,
-				A96FE5FA2154739F0060D1A3 /* tree_iterator.h */,
-				A96FE5FB2154739F0060D1A3 /* local_single_store_elim_pass.h */,
-				A96FE5FC2154739F0060D1A3 /* reduce_load_size.h */,
-				A96FE5FD2154739F0060D1A3 /* types.cpp */,
-				A96FE5FE2154739F0060D1A3 /* scalar_analysis.h */,
-				A96FE5FF2154739F0060D1A3 /* strip_debug_info_pass.h */,
-				A96FE6002154739F0060D1A3 /* cfg.cpp */,
-				A96FE6012154739F0060D1A3 /* decoration_manager.cpp */,
-				A96FE6022154739F0060D1A3 /* local_single_block_elim_pass.cpp */,
-				A96FE6032154739F0060D1A3 /* freeze_spec_constant_value_pass.cpp */,
-				A96FE6042154739F0060D1A3 /* replace_invalid_opc.h */,
-				A96FE6052154739F0060D1A3 /* local_access_chain_convert_pass.h */,
-				A96FE6062154739F0060D1A3 /* local_redundancy_elimination.cpp */,
-				A96FE6072154739F0060D1A3 /* CMakeLists.txt */,
-				A96FE6082154739F0060D1A3 /* propagator.h */,
-				A96FE6092154739F0060D1A3 /* instruction_list.h */,
-				A96FE60A2154739F0060D1A3 /* feature_manager.cpp */,
-				A96FE60B2154739F0060D1A3 /* pass.cpp */,
-				A96FE60C2154739F0060D1A3 /* loop_fission.cpp */,
-				A96FE60D2154739F0060D1A3 /* dominator_tree.cpp */,
-				A96FE60E2154739F0060D1A3 /* merge_return_pass.cpp */,
-				A96FE60F2154739F0060D1A3 /* ir_context.h */,
-				A96FE6102154739F0060D1A3 /* eliminate_dead_constant_pass.cpp */,
-				A96FE6112154739F0060D1A3 /* cfg_cleanup_pass.cpp */,
-				A96FE6122154739F0060D1A3 /* const_folding_rules.cpp */,
-				A96FE6132154739F0060D1A3 /* loop_unroller.h */,
-				A96FE6142154739F0060D1A3 /* strip_debug_info_pass.cpp */,
-				A96FE6152154739F0060D1A3 /* ssa_rewrite_pass.cpp */,
-				A96FE6162154739F0060D1A3 /* loop_dependence.cpp */,
-				A96FE6172154739F0060D1A3 /* unify_const_pass.h */,
-				A96FE6182154739F0060D1A3 /* ir_loader.h */,
-				A96FE6192154739F0060D1A3 /* types.h */,
-				A96FE61A2154739F0060D1A3 /* fold_spec_constant_op_and_composite_pass.h */,
-				A96FE61B2154739F0060D1A3 /* mem_pass.cpp */,
-				A96FE61C2154739F0060D1A3 /* basic_block.h */,
-				A96FE61D2154739F0060D1A3 /* remove_duplicates_pass.cpp */,
-				A96FE61E2154739F0060D1A3 /* dead_variable_elimination.cpp */,
-				A96FE61F2154739F0060D1A3 /* block_merge_pass.h */,
-				A96FE6202154739F0060D1A3 /* module.cpp */,
-				A96FE6212154739F0060D1A3 /* fold_spec_constant_op_and_composite_pass.cpp */,
-				A96FE6222154739F0060D1A3 /* loop_unswitch_pass.cpp */,
-				A96FE6232154739F0060D1A3 /* unify_const_pass.cpp */,
-				A96FE6242154739F0060D1A3 /* type_manager.cpp */,
-				A96FE6252154739F0060D1A3 /* private_to_local_pass.h */,
-				A96FE6262154739F0060D1A3 /* inline_pass.cpp */,
-				A96FE6272154739F0060D1A3 /* def_use_manager.h */,
-				A96FE6282154739F0060D1A3 /* ir_loader.cpp */,
-				A96FE6292154739F0060D1A3 /* cfg_cleanup_pass.h */,
-				A96FE62A2154739F0060D1A3 /* licm_pass.cpp */,
-				A96FE62B2154739F0060D1A3 /* eliminate_dead_functions_pass.cpp */,
-				A96FE62C2154739F0060D1A3 /* local_redundancy_elimination.h */,
-				A96FE62D2154739F0060D1A3 /* loop_peeling.h */,
-				A96FE62E2154739F0060D1A3 /* vector_dce.cpp */,
-				A96FE62F2154739F0060D1A3 /* loop_unroller.cpp */,
-				A96FE6302154739F0060D1A3 /* constants.cpp */,
-				A96FE6312154739F0060D1A3 /* loop_fusion_pass.h */,
-				A96FE6322154739F0060D1A3 /* struct_cfg_analysis.h */,
-				A96FE6332154739F0060D1A3 /* common_uniform_elim_pass.cpp */,
-				A96FE6342154739F0060D1A3 /* def_use_manager.cpp */,
-				A96FE6352154739F0060D1A3 /* strip_reflect_info_pass.cpp */,
-				A96FE6362154739F0060D1A3 /* decoration_manager.h */,
-				A96FE6372154739F0060D1A3 /* ccp_pass.cpp */,
-				A96FE6382154739F0060D1A3 /* local_single_block_elim_pass.h */,
-				A96FE6392154739F0060D1A3 /* strength_reduction_pass.h */,
-				A96FE63A2154739F0060D1A3 /* aggressive_dead_code_elim_pass.cpp */,
-				A96FE63B2154739F0060D1A3 /* simplification_pass.cpp */,
-				A96FE63C2154739F0060D1A3 /* dead_branch_elim_pass.cpp */,
-				A96FE63D2154739F0060D1A3 /* flatten_decoration_pass.cpp */,
-				A96FE63E2154739F0060D1A3 /* dead_insert_elim_pass.h */,
-				A96FE63F2154739F0060D1A3 /* folding_rules.cpp */,
-				A96FE6402154739F0060D1A3 /* freeze_spec_constant_value_pass.h */,
-				A96FE6412154739F0060D1A3 /* ir_context.cpp */,
-				A96FE6422154739F0060D1A3 /* mem_pass.h */,
-				A96FE6432154739F0060D1A3 /* loop_descriptor.cpp */,
-				A96FE6442154739F0060D1A3 /* local_ssa_elim_pass.cpp */,
-				A96FE6452154739F0060D1A3 /* function.cpp */,
-				A96FE6462154739F0060D1A3 /* instruction_list.cpp */,
-				A96FE6472154739F0060D1A3 /* composite.cpp */,
-				A96FE6482154739F0060D1A3 /* inline_pass.h */,
-				A96FE6492154739F0060D1A3 /* loop_dependence.h */,
-				A96FE64A2154739F0060D1A3 /* value_number_table.h */,
-				A96FE64B2154739F0060D1A3 /* flatten_decoration_pass.h */,
-				A96FE64C2154739F0060D1A3 /* if_conversion.cpp */,
-				A96FE64D2154739F0060D1A3 /* inline_exhaustive_pass.h */,
-				A96FE64E2154739F0060D1A3 /* constants.h */,
-				A96FE64F2154739F0060D1A3 /* strength_reduction_pass.cpp */,
-				A96FE6502154739F0060D1A3 /* copy_prop_arrays.cpp */,
-				A96FE6512154739F0060D1A3 /* pass_manager.cpp */,
-				A96FE6522154739F0060D1A3 /* inline_exhaustive_pass.cpp */,
-				A96FE6532154739F0060D1A3 /* loop_fission.h */,
-				A96FE6542154739F0060D1A3 /* workaround1209.h */,
-				A96FE6552154739F0060D1A3 /* loop_fusion_pass.cpp */,
-				A96FE6562154739F0060D1A3 /* log.h */,
-				A96FE6572154739F0060D1A3 /* copy_prop_arrays.h */,
-				A96FE658215473A00060D1A3 /* eliminate_dead_constant_pass.h */,
-				A96FE659215473A00060D1A3 /* dead_insert_elim_pass.cpp */,
-				A96FE65A215473A00060D1A3 /* ssa_rewrite_pass.h */,
-				A96FE65B215473A00060D1A3 /* scalar_analysis.cpp */,
-				A96FE65C215473A00060D1A3 /* dead_variable_elimination.h */,
-				A96FE65D215473A00060D1A3 /* block_merge_pass.cpp */,
-				A96FE65E215473A00060D1A3 /* dominator_analysis.h */,
-				A96FE65F215473A00060D1A3 /* pass.h */,
-				A96FE660215473A00060D1A3 /* folding_rules.h */,
-				A96FE661215473A00060D1A3 /* eliminate_dead_functions_pass.h */,
-				A96FE662215473A00060D1A3 /* common_uniform_elim_pass.h */,
-				A96FE663215473A00060D1A3 /* fold.h */,
-				A96FE664215473A00060D1A3 /* local_single_store_elim_pass.cpp */,
-				A96FE665215473A00060D1A3 /* dead_branch_elim_pass.h */,
-				A96FE666215473A00060D1A3 /* private_to_local_pass.cpp */,
-				A96FE667215473A00060D1A3 /* scalar_analysis_nodes.h */,
-				A96FE668215473A00060D1A3 /* propagator.cpp */,
-				A96FE669215473A00060D1A3 /* loop_dependence_helpers.cpp */,
-				A96FE66A215473A00060D1A3 /* set_spec_constant_default_value_pass.cpp */,
-				A96FE66B215473A00060D1A3 /* passes.h */,
-				A96FE66C215473A00060D1A3 /* fold.cpp */,
-				A96FE66D215473A00060D1A3 /* strip_reflect_info_pass.h */,
-				A96FE66E215473A00060D1A3 /* scalar_replacement_pass.cpp */,
-				A96FE66F215473A00060D1A3 /* simplification_pass.h */,
-				A96FE670215473A00060D1A3 /* remove_duplicates_pass.h */,
-				A96FE671215473A00060D1A3 /* redundancy_elimination.cpp */,
-				A96FE672215473A00060D1A3 /* reflect.h */,
-				A96FE673215473A00060D1A3 /* workaround1209.cpp */,
-				A96FE674215473A00060D1A3 /* null_pass.h */,
-				A96FE675215473A00060D1A3 /* const_folding_rules.h */,
-				A96FE676215473A00060D1A3 /* scalar_replacement_pass.h */,
-				A96FE677215473A00060D1A3 /* instruction.cpp */,
-				A96FE678215473A00060D1A3 /* reduce_load_size.cpp */,
-				A96FE679215473A00060D1A3 /* redundancy_elimination.h */,
-				A96FE67A215473A00060D1A3 /* value_number_table.cpp */,
-				A96FE67B215473A00060D1A3 /* local_ssa_elim_pass.h */,
-				A96FE67C215473A00060D1A3 /* inline_opaque_pass.cpp */,
-				A96FE67D215473A00060D1A3 /* replace_invalid_opc.cpp */,
-				A96FE67E215473A00060D1A3 /* loop_utils.h */,
-				A96FE67F215473A00060D1A3 /* module.h */,
-				A96FE680215473A00060D1A3 /* dominator_analysis.cpp */,
-				A96FE681215473A00060D1A3 /* ir_builder.h */,
-				A96FE682215473A00060D1A3 /* loop_unswitch_pass.h */,
-				A96FE683215473A00060D1A3 /* cfg.h */,
-				A96FE684215473A00060D1A3 /* loop_descriptor.h */,
-				A96FE685215473A00060D1A3 /* instruction.h */,
-				A96FE686215473A00060D1A3 /* aggressive_dead_code_elim_pass.h */,
-				A96FE687215473A00060D1A3 /* struct_cfg_analysis.cpp */,
-				A96FE688215473A00060D1A3 /* vector_dce.h */,
-				A96FE689215473A00060D1A3 /* combine_access_chains.h */,
-				A96FE68A215473A00060D1A3 /* pass_manager.h */,
-				A96FE68B215473A00060D1A3 /* local_access_chain_convert_pass.cpp */,
-				A96FE68C215473A00060D1A3 /* basic_block.cpp */,
-				A96FE68D215473A00060D1A3 /* iterator.h */,
-				A96FE68E215473A00060D1A3 /* licm_pass.h */,
-				A96FE68F215473A00060D1A3 /* build_module.h */,
-				A96FE690215473A00060D1A3 /* ccp_pass.h */,
-				A96FE691215473A00060D1A3 /* function.h */,
-				A96FE692215473A00060D1A3 /* loop_fusion.cpp */,
-				A96FE693215473A00060D1A3 /* feature_manager.h */,
-				A96FE694215473A00060D1A3 /* scalar_analysis_simplification.cpp */,
-				A96FE695215473A00060D1A3 /* set_spec_constant_default_value_pass.h */,
-				A96FE696215473A00060D1A3 /* dominator_tree.h */,
-				A96FE697215473A00060D1A3 /* type_manager.h */,
-				A96FE698215473A00060D1A3 /* compact_ids_pass.cpp */,
-				A96FE699215473A00060D1A3 /* loop_peeling.cpp */,
-			);
-			path = opt;
-			sourceTree = "<group>";
-		};
-		A96FE6A9215473A00060D1A3 /* val */ = {
-			isa = PBXGroup;
-			children = (
-				A96FE6AA215473A00060D1A3 /* validate_annotation.cpp */,
-				A96FE6AB215473A00060D1A3 /* validate_cfg.cpp */,
-				A96FE6AC215473A00060D1A3 /* validate_capability.cpp */,
-				A96FE6AD215473A00060D1A3 /* construct.h */,
-				A96FE6AE215473A00060D1A3 /* validate_barriers.cpp */,
-				A96FE6AF215473A00060D1A3 /* validate_non_uniform.cpp */,
-				A96FE6B0215473A00060D1A3 /* validate_atomics.cpp */,
-				A96FE6B1215473A00060D1A3 /* basic_block.h */,
-				A96FE6B2215473A00060D1A3 /* validate_instruction.cpp */,
-				A96FE6B3215473A00060D1A3 /* validate_decorations.cpp */,
-				A96FE6B4215473A00060D1A3 /* validate_debug.cpp */,
-				A96FE6B5215473A00060D1A3 /* validate_builtins.cpp */,
-				A96FE6B6215473A00060D1A3 /* validate_interfaces.cpp */,
-				A96FE6B7215473A00060D1A3 /* validate.cpp */,
-				A96FE6B8215473A00060D1A3 /* validation_state.h */,
-				A96FE6B9215473A00060D1A3 /* validate_constants.cpp */,
-				A96FE6BA215473A00060D1A3 /* validate_bitwise.cpp */,
-				A96FE6BB215473A00060D1A3 /* construct.cpp */,
-				A96FE6BC215473A00060D1A3 /* function.cpp */,
-				A96FE6BD215473A00060D1A3 /* validate.h */,
-				A96FE6BE215473A00060D1A3 /* validate_adjacency.cpp */,
-				A96FE6BF215473A00060D1A3 /* validate_conversion.cpp */,
-				A96FE6C0215473A00060D1A3 /* validate_datarules.cpp */,
-				A96FE6C1215473A00060D1A3 /* validate_id.cpp */,
-				A96FE6C2215473A00060D1A3 /* validate_arithmetics.cpp */,
-				A96FE6C3215473A00060D1A3 /* validate_mode_setting.cpp */,
-				A96FE6C4215473A00060D1A3 /* validate_logicals.cpp */,
-				A96FE6C5215473A00060D1A3 /* validate_derivatives.cpp */,
-				A96FE6C6215473A00060D1A3 /* validate_memory.cpp */,
-				A96FE6C7215473A00060D1A3 /* validate_image.cpp */,
-				A96FE6C8215473A00060D1A3 /* validate_literals.cpp */,
-				A96FE6C9215473A00060D1A3 /* instruction.cpp */,
-				A96FE6CA215473A00060D1A3 /* validate_type.cpp */,
-				A96FE6CB215473A00060D1A3 /* validate_ext_inst.cpp */,
-				A96FE6CC215473A00060D1A3 /* instruction.h */,
-				A96FE6CD215473A00060D1A3 /* validate_execution_limitations.cpp */,
-				A96FE6CE215473A00060D1A3 /* validate_layout.cpp */,
-				A96FE6CF215473A00060D1A3 /* basic_block.cpp */,
-				A96FE6D0215473A00060D1A3 /* validate_function.cpp */,
-				A96FE6D1215473A00060D1A3 /* function.h */,
-				A96FE6D2215473A00060D1A3 /* validate_composites.cpp */,
-				A96FE6D3215473A00060D1A3 /* validation_state.cpp */,
-				A96FE6D4215473A00060D1A3 /* validate_primitives.cpp */,
-				A96FE6D5215473A00060D1A3 /* decoration.h */,
-			);
-			path = val;
-			sourceTree = "<group>";
-		};
-		A97B21311C80B38D003F0FB4 /* glslang */ = {
-			isa = PBXGroup;
-			children = (
-				A93E821B211F76F6001FEBD4 /* glslang */,
-				A93E826A211F76F6001FEBD4 /* OGLCompilersDLL */,
-				A93E8202211F76F5001FEBD4 /* SPIRV */,
-			);
-			name = glslang;
-			path = ../glslang;
+			name = Frameworks;
 			sourceTree = "<group>";
 		};
 		A97CC73C1C7527F3004A5C7E /* MoltenVKShaderConverterTool */ = {
@@ -1932,18 +226,10 @@
 				A97CC73C1C7527F3004A5C7E /* MoltenVKShaderConverterTool */,
 				A9F042A81FB4D060009FCCB8 /* Common */,
 				A964B28D1C57EBC400D930D8 /* Products */,
+				A972AD2921CEE6A80013AB25 /* Frameworks */,
 			);
 			sourceTree = "<group>";
 		};
-		A9FE521B1D440E17001DD573 /* SPIRV-Tools */ = {
-			isa = PBXGroup;
-			children = (
-				A96FE59F2154739F0060D1A3 /* source */,
-			);
-			name = "SPIRV-Tools";
-			path = "../glslang/External/spirv-tools";
-			sourceTree = "<group>";
-		};
 /* End PBXGroup section */
 
 /* Begin PBXHeadersBuildPhase section */
@@ -1952,58 +238,10 @@
 			buildActionMask = 2147483647;
 			files = (
 				A90941A51C581F840094110D /* GLSLConversion.h in Headers */,
-				A93E82C4211F76F6001FEBD4 /* ScanContext.h in Headers */,
-				A93E82D8211F76F6001FEBD4 /* propagateNoContraction.h in Headers */,
-				A93E831E211F76F6001FEBD4 /* InitializeDll.h in Headers */,
-				A93E82F0211F76F6001FEBD4 /* LiveTraverser.h in Headers */,
-				A93E8306211F76F6001FEBD4 /* PpTokens.h in Headers */,
-				A93E82B8211F76F6001FEBD4 /* InfoSink.h in Headers */,
-				A93E82FA211F76F6001FEBD4 /* attribute.h in Headers */,
-				A93E827A211F76F6001FEBD4 /* spirv.hpp in Headers */,
 				A9F042B41FB4D060009FCCB8 /* MVKLogging.h in Headers */,
 				A90940A91C5808BB0094110D /* GLSLToSPIRVConverter.h in Headers */,
-				A93E82A4211F76F6001FEBD4 /* ResourceLimits.h in Headers */,
-				A93E82C6211F76F6001FEBD4 /* iomapper.h in Headers */,
-				A93E829E211F76F6001FEBD4 /* osinclude.h in Headers */,
-				A93E8302211F76F6001FEBD4 /* ParseHelper.h in Headers */,
-				A93E82CE211F76F6001FEBD4 /* RemoveTree.h in Headers */,
-				A93E82C8211F76F6001FEBD4 /* localintermediate.h in Headers */,
-				A93E830A211F76F6001FEBD4 /* PpContext.h in Headers */,
-				A93E82A6211F76F6001FEBD4 /* Types.h in Headers */,
-				A93E8316211F76F6001FEBD4 /* Scan.h in Headers */,
-				A93E8278211F76F6001FEBD4 /* doc.h in Headers */,
-				A93E82BA211F76F6001FEBD4 /* PoolAlloc.h in Headers */,
-				A93E82AE211F76F6001FEBD4 /* InitializeGlobals.h in Headers */,
-				A93E82BE211F76F6001FEBD4 /* parseVersions.h in Headers */,
 				A9F042B01FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */,
-				A93E8314211F76F6001FEBD4 /* reflection.h in Headers */,
-				A93E82DA211F76F6001FEBD4 /* Versions.h in Headers */,
-				A93E82C0211F76F6001FEBD4 /* gl_types.h in Headers */,
-				A93E82EE211F76F6001FEBD4 /* glslang_tab.cpp.h in Headers */,
-				A93E82AC211F76F6001FEBD4 /* revision.h in Headers */,
-				A93E82B0211F76F6001FEBD4 /* ShHandle.h in Headers */,
-				A93E828E211F76F6001FEBD4 /* GLSL.std.450.h in Headers */,
-				A93E82AA211F76F6001FEBD4 /* BaseTypes.h in Headers */,
-				A93E82B6211F76F6001FEBD4 /* ConstantUnion.h in Headers */,
-				A93E8294211F76F6001FEBD4 /* hex_float.h in Headers */,
-				A93E8282211F76F6001FEBD4 /* GLSL.ext.NV.h in Headers */,
-				A93E8318211F76F6001FEBD4 /* ShaderLang.h in Headers */,
-				A93E826E211F76F6001FEBD4 /* SPVRemapper.h in Headers */,
-				A93E82B4211F76F6001FEBD4 /* Common.h in Headers */,
-				A93E82F2211F76F6001FEBD4 /* Initialize.h in Headers */,
-				A93E827E211F76F6001FEBD4 /* GLSL.ext.EXT.h in Headers */,
-				A93E8280211F76F6001FEBD4 /* GLSL.ext.KHR.h in Headers */,
-				A93E82A8211F76F6001FEBD4 /* intermediate.h in Headers */,
-				A93E8276211F76F6001FEBD4 /* GLSL.ext.AMD.h in Headers */,
-				A93E82E6211F76F6001FEBD4 /* SymbolTable.h in Headers */,
-				A93E828C211F76F6001FEBD4 /* GlslangToSpv.h in Headers */,
-				A93E82B2211F76F6001FEBD4 /* arrays.h in Headers */,
-				A93E8296211F76F6001FEBD4 /* Logger.h in Headers */,
-				A93E8270211F76F6001FEBD4 /* SpvBuilder.h in Headers */,
-				A93E8288211F76F6001FEBD4 /* bitutils.h in Headers */,
 				A98149661FB6A98A005F00B4 /* MVKStrings.h in Headers */,
-				A93E8286211F76F6001FEBD4 /* spvIR.h in Headers */,
-				A93E828A211F76F6001FEBD4 /* disassemble.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -2012,58 +250,10 @@
 			buildActionMask = 2147483647;
 			files = (
 				A90941A61C581F840094110D /* GLSLConversion.h in Headers */,
-				A93E82C5211F76F6001FEBD4 /* ScanContext.h in Headers */,
-				A93E82D9211F76F6001FEBD4 /* propagateNoContraction.h in Headers */,
-				A93E831F211F76F6001FEBD4 /* InitializeDll.h in Headers */,
-				A93E82F1211F76F6001FEBD4 /* LiveTraverser.h in Headers */,
-				A93E8307211F76F6001FEBD4 /* PpTokens.h in Headers */,
-				A93E82B9211F76F6001FEBD4 /* InfoSink.h in Headers */,
-				A93E82FB211F76F6001FEBD4 /* attribute.h in Headers */,
-				A93E827B211F76F6001FEBD4 /* spirv.hpp in Headers */,
 				A9F042B51FB4D060009FCCB8 /* MVKLogging.h in Headers */,
 				A90940AA1C5808BB0094110D /* GLSLToSPIRVConverter.h in Headers */,
-				A93E82A5211F76F6001FEBD4 /* ResourceLimits.h in Headers */,
-				A93E82C7211F76F6001FEBD4 /* iomapper.h in Headers */,
-				A93E829F211F76F6001FEBD4 /* osinclude.h in Headers */,
-				A93E8303211F76F6001FEBD4 /* ParseHelper.h in Headers */,
-				A93E82CF211F76F6001FEBD4 /* RemoveTree.h in Headers */,
-				A93E82C9211F76F6001FEBD4 /* localintermediate.h in Headers */,
-				A93E830B211F76F6001FEBD4 /* PpContext.h in Headers */,
-				A93E82A7211F76F6001FEBD4 /* Types.h in Headers */,
-				A93E8317211F76F6001FEBD4 /* Scan.h in Headers */,
-				A93E8279211F76F6001FEBD4 /* doc.h in Headers */,
-				A93E82BB211F76F6001FEBD4 /* PoolAlloc.h in Headers */,
-				A93E82AF211F76F6001FEBD4 /* InitializeGlobals.h in Headers */,
-				A93E82BF211F76F6001FEBD4 /* parseVersions.h in Headers */,
 				A9F042B11FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */,
-				A93E8315211F76F6001FEBD4 /* reflection.h in Headers */,
-				A93E82DB211F76F6001FEBD4 /* Versions.h in Headers */,
-				A93E82C1211F76F6001FEBD4 /* gl_types.h in Headers */,
-				A93E82EF211F76F6001FEBD4 /* glslang_tab.cpp.h in Headers */,
-				A93E82AD211F76F6001FEBD4 /* revision.h in Headers */,
-				A93E82B1211F76F6001FEBD4 /* ShHandle.h in Headers */,
-				A93E828F211F76F6001FEBD4 /* GLSL.std.450.h in Headers */,
-				A93E82AB211F76F6001FEBD4 /* BaseTypes.h in Headers */,
-				A93E82B7211F76F6001FEBD4 /* ConstantUnion.h in Headers */,
-				A93E8295211F76F6001FEBD4 /* hex_float.h in Headers */,
-				A93E8283211F76F6001FEBD4 /* GLSL.ext.NV.h in Headers */,
-				A93E8319211F76F6001FEBD4 /* ShaderLang.h in Headers */,
-				A93E826F211F76F6001FEBD4 /* SPVRemapper.h in Headers */,
-				A93E82B5211F76F6001FEBD4 /* Common.h in Headers */,
-				A93E82F3211F76F6001FEBD4 /* Initialize.h in Headers */,
-				A93E827F211F76F6001FEBD4 /* GLSL.ext.EXT.h in Headers */,
-				A93E8281211F76F6001FEBD4 /* GLSL.ext.KHR.h in Headers */,
-				A93E82A9211F76F6001FEBD4 /* intermediate.h in Headers */,
-				A93E8277211F76F6001FEBD4 /* GLSL.ext.AMD.h in Headers */,
-				A93E82E7211F76F6001FEBD4 /* SymbolTable.h in Headers */,
-				A93E828D211F76F6001FEBD4 /* GlslangToSpv.h in Headers */,
-				A93E82B3211F76F6001FEBD4 /* arrays.h in Headers */,
-				A93E8297211F76F6001FEBD4 /* Logger.h in Headers */,
-				A93E8271211F76F6001FEBD4 /* SpvBuilder.h in Headers */,
-				A93E8289211F76F6001FEBD4 /* bitutils.h in Headers */,
 				A98149671FB6A98A005F00B4 /* MVKStrings.h in Headers */,
-				A93E8287211F76F6001FEBD4 /* spvIR.h in Headers */,
-				A93E828B211F76F6001FEBD4 /* disassemble.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -2071,162 +261,11 @@
 			isa = PBXHeadersBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A96FE8BE215473A00060D1A3 /* spirv_optimizer_options.h in Headers */,
-				A96FE76E215473A00060D1A3 /* compact_ids_pass.h in Headers */,
-				A96FE712215473A00060D1A3 /* spirv_definition.h in Headers */,
-				A94E30D1219209C700394673 /* spirv_parser.hpp in Headers */,
-				A96FE8A8215473A00060D1A3 /* dominator_tree.h in Headers */,
-				A96FE7E0215473A00060D1A3 /* struct_cfg_analysis.h in Headers */,
-				A96FE766215473A00060D1A3 /* loop_fusion.h in Headers */,
-				A96FE824215473A00060D1A3 /* workaround1209.h in Headers */,
 				A98149681FB6A98A005F00B4 /* MVKStrings.h in Headers */,
-				A96FE846215473A00060D1A3 /* dead_branch_elim_pass.h in Headers */,
-				A96FE8B2215473A00060D1A3 /* ext_inst.h in Headers */,
-				A96FE816215473A00060D1A3 /* inline_exhaustive_pass.h in Headers */,
-				A96FE800215473A00060D1A3 /* mem_pass.h in Headers */,
-				A96FE812215473A00060D1A3 /* flatten_decoration_pass.h in Headers */,
-				A96FE864215473A00060D1A3 /* null_pass.h in Headers */,
-				A96FE83E215473A00060D1A3 /* eliminate_dead_functions_pass.h in Headers */,
-				A96FE8C4215473A00060D1A3 /* latest_version_glsl_std_450_header.h in Headers */,
-				A96FE718215473A00060D1A3 /* macro.h in Headers */,
-				A96FE71A215473A00060D1A3 /* spirv_constant.h in Headers */,
-				A96FE8BC215473A00060D1A3 /* id_descriptor.h in Headers */,
-				A96FE822215473A00060D1A3 /* loop_fission.h in Headers */,
-				A96FE758215473A00060D1A3 /* disassemble.h in Headers */,
-				A96FE83A215473A00060D1A3 /* pass.h in Headers */,
-				A96FE896215473A00060D1A3 /* iterator.h in Headers */,
-				A96FE78E215473A00060D1A3 /* instruction_list.h in Headers */,
-				A96FE838215473A00060D1A3 /* dominator_analysis.h in Headers */,
-				A96FE6E0215473A00060D1A3 /* text.h in Headers */,
-				A96FE706215473A00060D1A3 /* latest_version_opencl_std_header.h in Headers */,
-				A96FE890215473A00060D1A3 /* pass_manager.h in Headers */,
-				A96FE91C215473A00060D1A3 /* function.h in Headers */,
-				A96FE84A215473A00060D1A3 /* scalar_analysis_nodes.h in Headers */,
-				A96FE83C215473A00060D1A3 /* folding_rules.h in Headers */,
-				A96FE85A215473A00060D1A3 /* simplification_pass.h in Headers */,
-				A96FE89A215473A00060D1A3 /* build_module.h in Headers */,
-				A96FE714215473A00060D1A3 /* operand.h in Headers */,
-				A96FE762215473A00060D1A3 /* merge_return_pass.h in Headers */,
-				A96FE884215473A00060D1A3 /* loop_descriptor.h in Headers */,
-				A96FE72C215473A00060D1A3 /* markv_decoder.h in Headers */,
-				A96FE7FC215473A00060D1A3 /* freeze_spec_constant_value_pass.h in Headers */,
-				A96FE912215473A00060D1A3 /* instruction.h in Headers */,
-				A96FE82A215473A00060D1A3 /* copy_prop_arrays.h in Headers */,
-				A96FE85C215473A00060D1A3 /* remove_duplicates_pass.h in Headers */,
-				A96FE878215473A00060D1A3 /* loop_utils.h in Headers */,
-				A96FE7D6215473A00060D1A3 /* loop_peeling.h in Headers */,
-				A96FE726215473A00060D1A3 /* bit_stream.h in Headers */,
-				A96FE74A215473A00060D1A3 /* spirv_endian.h in Headers */,
-				A96FE8B0215473A00060D1A3 /* table.h in Headers */,
-				A96FE7B4215473A00060D1A3 /* basic_block.h in Headers */,
-				A96FE818215473A00060D1A3 /* constants.h in Headers */,
-				A96FE86E215473A00060D1A3 /* redundancy_elimination.h in Headers */,
-				A96FE736215473A00060D1A3 /* markv_codec.h in Headers */,
-				A96FE6F0215473A00060D1A3 /* timer.h in Headers */,
-				A9BB09761CEF89B100CCAB22 /* spirv.hpp in Headers */,
-				A96FE810215473A00060D1A3 /* value_number_table.h in Headers */,
-				A96FE6EA215473A00060D1A3 /* string_utils.h in Headers */,
-				A96FE748215473A00060D1A3 /* diagnostic.h in Headers */,
-				A96FE7DE215473A00060D1A3 /* loop_fusion_pass.h in Headers */,
-				A96FE89C215473A00060D1A3 /* ccp_pass.h in Headers */,
-				A96FE742215473A00060D1A3 /* parsed_operand.h in Headers */,
-				A96FE924215473A00060D1A3 /* decoration.h in Headers */,
 				A928C9191D0488DC00071B88 /* SPIRVConversion.h in Headers */,
-				A96FE8C0215473A00060D1A3 /* opcode.h in Headers */,
-				A96FE7CA215473A00060D1A3 /* def_use_manager.h in Headers */,
-				A96FE6E8215473A00060D1A3 /* make_unique.h in Headers */,
-				A96FE734215473A00060D1A3 /* move_to_front.h in Headers */,
-				A96FE880215473A00060D1A3 /* loop_unswitch_pass.h in Headers */,
-				A96FE7E8215473A00060D1A3 /* decoration_manager.h in Headers */,
-				A9AB19971CB5B5A80001E7F9 /* spirv_common.hpp in Headers */,
-				A96FE6F6215473A00060D1A3 /* bitutils.h in Headers */,
 				A9F042B61FB4D060009FCCB8 /* MVKLogging.h in Headers */,
-				A96FE80C215473A00060D1A3 /* inline_pass.h in Headers */,
-				A96FE6DA215473A00060D1A3 /* enum_set.h in Headers */,
-				A96FE860215473A00060D1A3 /* reflect.h in Headers */,
-				A96FE70A215473A00060D1A3 /* cfa.h in Headers */,
-				A96FE77A215473A00060D1A3 /* scalar_analysis.h in Headers */,
-				A96FE776215473A00060D1A3 /* reduce_load_size.h in Headers */,
-				A96FE888215473A00060D1A3 /* aggressive_dead_code_elim_pass.h in Headers */,
-				A96FE8DC215473A00060D1A3 /* basic_block.h in Headers */,
-				A96FE834215473A00060D1A3 /* dead_variable_elimination.h in Headers */,
-				A96FE740215473A00060D1A3 /* text_handler.h in Headers */,
-				A94E30D521920A8C00394673 /* spirv_cross_parsed_ir.hpp in Headers */,
-				A9AB199B1CB5B5A80001E7F9 /* spirv_cross.hpp in Headers */,
-				A96FE7F8215473A00060D1A3 /* dead_insert_elim_pass.h in Headers */,
-				A96FE872215473A00060D1A3 /* local_ssa_elim_pass.h in Headers */,
-				A96FE72E215473A00060D1A3 /* markv.h in Headers */,
-				A96FE866215473A00060D1A3 /* const_folding_rules.h in Headers */,
-				A96FE7D4215473A00060D1A3 /* local_redundancy_elimination.h in Headers */,
-				A96FE898215473A00060D1A3 /* licm_pass.h in Headers */,
-				A96FE78C215473A00060D1A3 /* propagator.h in Headers */,
-				A96FE744215473A00060D1A3 /* name_mapper.h in Headers */,
-				A96FE774215473A00060D1A3 /* local_single_store_elim_pass.h in Headers */,
-				A96FE75C215473A00060D1A3 /* if_conversion.h in Headers */,
-				A96FE6D8215473A00060D1A3 /* assembly_grammar.h in Headers */,
-				A96FE856215473A00060D1A3 /* strip_reflect_info_pass.h in Headers */,
-				A96FE724215473A00060D1A3 /* huffman_codec.h in Headers */,
-				A96FE828215473A00060D1A3 /* log.h in Headers */,
-				A96FE786215473A00060D1A3 /* replace_invalid_opc.h in Headers */,
-				A96FE764215473A00060D1A3 /* inline_opaque_pass.h in Headers */,
-				A96FE72A215473A00060D1A3 /* markv_encoder.h in Headers */,
-				A96FE7EC215473A00060D1A3 /* local_single_block_elim_pass.h in Headers */,
-				A96FE87A215473A00060D1A3 /* module.h in Headers */,
-				A96FE76C215473A00060D1A3 /* composite.h in Headers */,
-				A96FE8EA215473A00060D1A3 /* validation_state.h in Headers */,
-				A96FE770215473A00060D1A3 /* register_pressure.h in Headers */,
-				A96FE842215473A00060D1A3 /* fold.h in Headers */,
-				A96FE852215473A00060D1A3 /* passes.h in Headers */,
-				A96FE7C6215473A00060D1A3 /* private_to_local_pass.h in Headers */,
-				A96FE77C215473A00060D1A3 /* strip_debug_info_pass.h in Headers */,
-				A96FE738215473A00060D1A3 /* markv_logger.h in Headers */,
-				A96FE7BA215473A00060D1A3 /* block_merge_pass.h in Headers */,
 				A909408C1C58013E0094110D /* SPIRVToMSLConverter.h in Headers */,
-				A96FE8C6215473A00060D1A3 /* extensions.h in Headers */,
-				A96FE8BA215473A00060D1A3 /* instruction.h in Headers */,
-				A9AB19A31CB5B5A80001E7F9 /* spirv_msl.hpp in Headers */,
 				A9F042B21FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */,
-				A96FE7B0215473A00060D1A3 /* fold_spec_constant_op_and_composite_pass.h in Headers */,
-				A96FE6E6215473A00060D1A3 /* ilist_node.h in Headers */,
-				A96FE8B6215473A00060D1A3 /* latest_version_spirv_header.h in Headers */,
-				A96FE8AA215473A00060D1A3 /* type_manager.h in Headers */,
-				A96FE6E4215473A00060D1A3 /* parse_number.h in Headers */,
-				A96FE7AC215473A00060D1A3 /* ir_loader.h in Headers */,
-				A96FE886215473A00060D1A3 /* instruction.h in Headers */,
-				A96FE8F4215473A00060D1A3 /* validate.h in Headers */,
-				A96FE830215473A00060D1A3 /* ssa_rewrite_pass.h in Headers */,
-				A96FE71E215473A00060D1A3 /* spirv_validator_options.h in Headers */,
-				A96FE6FE215473A00060D1A3 /* ilist.h in Headers */,
-				A96FE70C215473A00060D1A3 /* enum_string_mapping.h in Headers */,
-				A96FE79A215473A00060D1A3 /* ir_context.h in Headers */,
-				A96FE88C215473A00060D1A3 /* vector_dce.h in Headers */,
-				A9AB199F1CB5B5A80001E7F9 /* spirv_glsl.hpp in Headers */,
-				A96FE7AE215473A00060D1A3 /* types.h in Headers */,
-				A96FE6F8215473A00060D1A3 /* hex_float.h in Headers */,
-				A96FE7A2215473A00060D1A3 /* loop_unroller.h in Headers */,
-				A96FE8CA215473A00060D1A3 /* binary.h in Headers */,
-				A96FE754215473A00060D1A3 /* print.h in Headers */,
-				A96FE730215473A00060D1A3 /* markv_model.h in Headers */,
-				A96FE82C215473A00060D1A3 /* eliminate_dead_constant_pass.h in Headers */,
-				A96FE87E215473A00060D1A3 /* ir_builder.h in Headers */,
-				A96FE772215473A00060D1A3 /* tree_iterator.h in Headers */,
-				A96FE700215473A00060D1A3 /* spirv_target_env.h in Headers */,
-				A95C5F411DEA9070000D17B6 /* spirv_cfg.hpp in Headers */,
-				A96FE8A2215473A00060D1A3 /* feature_manager.h in Headers */,
-				A96FE6F4215473A00060D1A3 /* bit_vector.h in Headers */,
-				A96FE788215473A00060D1A3 /* local_access_chain_convert_pass.h in Headers */,
-				A96FE80E215473A00060D1A3 /* loop_dependence.h in Headers */,
-				A96FE882215473A00060D1A3 /* cfg.h in Headers */,
-				A96FE7CE215473A00060D1A3 /* cfg_cleanup_pass.h in Headers */,
-				A96FE89E215473A00060D1A3 /* function.h in Headers */,
-				A96FE840215473A00060D1A3 /* common_uniform_elim_pass.h in Headers */,
-				A96FE7EE215473A00060D1A3 /* strength_reduction_pass.h in Headers */,
-				A96FE8D4215473A00060D1A3 /* construct.h in Headers */,
-				A96FE8A6215473A00060D1A3 /* set_spec_constant_default_value_pass.h in Headers */,
-				A96FE6EC215473A00060D1A3 /* small_vector.h in Headers */,
-				A96FE868215473A00060D1A3 /* scalar_replacement_pass.h in Headers */,
-				A96FE88E215473A00060D1A3 /* combine_access_chains.h in Headers */,
-				A96FE7AA215473A00060D1A3 /* unify_const_pass.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -2234,162 +273,11 @@
 			isa = PBXHeadersBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A96FE8BF215473A00060D1A3 /* spirv_optimizer_options.h in Headers */,
-				A96FE76F215473A00060D1A3 /* compact_ids_pass.h in Headers */,
-				A96FE713215473A00060D1A3 /* spirv_definition.h in Headers */,
-				A94E30D2219209C700394673 /* spirv_parser.hpp in Headers */,
-				A96FE8A9215473A00060D1A3 /* dominator_tree.h in Headers */,
-				A96FE7E1215473A00060D1A3 /* struct_cfg_analysis.h in Headers */,
-				A96FE767215473A00060D1A3 /* loop_fusion.h in Headers */,
-				A96FE825215473A00060D1A3 /* workaround1209.h in Headers */,
 				A98149691FB6A98A005F00B4 /* MVKStrings.h in Headers */,
-				A96FE847215473A00060D1A3 /* dead_branch_elim_pass.h in Headers */,
-				A96FE8B3215473A00060D1A3 /* ext_inst.h in Headers */,
-				A96FE817215473A00060D1A3 /* inline_exhaustive_pass.h in Headers */,
-				A96FE801215473A00060D1A3 /* mem_pass.h in Headers */,
-				A96FE813215473A00060D1A3 /* flatten_decoration_pass.h in Headers */,
-				A96FE865215473A00060D1A3 /* null_pass.h in Headers */,
-				A96FE83F215473A00060D1A3 /* eliminate_dead_functions_pass.h in Headers */,
-				A96FE8C5215473A00060D1A3 /* latest_version_glsl_std_450_header.h in Headers */,
-				A96FE719215473A00060D1A3 /* macro.h in Headers */,
-				A96FE71B215473A00060D1A3 /* spirv_constant.h in Headers */,
-				A96FE8BD215473A00060D1A3 /* id_descriptor.h in Headers */,
-				A96FE823215473A00060D1A3 /* loop_fission.h in Headers */,
-				A96FE759215473A00060D1A3 /* disassemble.h in Headers */,
-				A96FE83B215473A00060D1A3 /* pass.h in Headers */,
-				A96FE897215473A00060D1A3 /* iterator.h in Headers */,
-				A96FE78F215473A00060D1A3 /* instruction_list.h in Headers */,
-				A96FE839215473A00060D1A3 /* dominator_analysis.h in Headers */,
-				A96FE6E1215473A00060D1A3 /* text.h in Headers */,
-				A96FE707215473A00060D1A3 /* latest_version_opencl_std_header.h in Headers */,
-				A96FE891215473A00060D1A3 /* pass_manager.h in Headers */,
-				A96FE91D215473A00060D1A3 /* function.h in Headers */,
-				A96FE84B215473A00060D1A3 /* scalar_analysis_nodes.h in Headers */,
-				A96FE83D215473A00060D1A3 /* folding_rules.h in Headers */,
-				A96FE85B215473A00060D1A3 /* simplification_pass.h in Headers */,
-				A96FE89B215473A00060D1A3 /* build_module.h in Headers */,
-				A96FE715215473A00060D1A3 /* operand.h in Headers */,
-				A96FE763215473A00060D1A3 /* merge_return_pass.h in Headers */,
-				A96FE885215473A00060D1A3 /* loop_descriptor.h in Headers */,
-				A96FE72D215473A00060D1A3 /* markv_decoder.h in Headers */,
-				A96FE7FD215473A00060D1A3 /* freeze_spec_constant_value_pass.h in Headers */,
-				A96FE913215473A00060D1A3 /* instruction.h in Headers */,
-				A96FE82B215473A00060D1A3 /* copy_prop_arrays.h in Headers */,
-				A96FE85D215473A00060D1A3 /* remove_duplicates_pass.h in Headers */,
-				A96FE879215473A00060D1A3 /* loop_utils.h in Headers */,
-				A96FE7D7215473A00060D1A3 /* loop_peeling.h in Headers */,
-				A96FE727215473A00060D1A3 /* bit_stream.h in Headers */,
-				A96FE74B215473A00060D1A3 /* spirv_endian.h in Headers */,
-				A96FE8B1215473A00060D1A3 /* table.h in Headers */,
-				A96FE7B5215473A00060D1A3 /* basic_block.h in Headers */,
-				A96FE819215473A00060D1A3 /* constants.h in Headers */,
-				A96FE86F215473A00060D1A3 /* redundancy_elimination.h in Headers */,
-				A96FE737215473A00060D1A3 /* markv_codec.h in Headers */,
-				A96FE6F1215473A00060D1A3 /* timer.h in Headers */,
-				A9BB09771CEF89B100CCAB22 /* spirv.hpp in Headers */,
-				A96FE811215473A00060D1A3 /* value_number_table.h in Headers */,
-				A96FE6EB215473A00060D1A3 /* string_utils.h in Headers */,
-				A96FE749215473A00060D1A3 /* diagnostic.h in Headers */,
-				A96FE7DF215473A00060D1A3 /* loop_fusion_pass.h in Headers */,
-				A96FE89D215473A00060D1A3 /* ccp_pass.h in Headers */,
-				A96FE743215473A00060D1A3 /* parsed_operand.h in Headers */,
-				A96FE925215473A00060D1A3 /* decoration.h in Headers */,
 				A928C91A1D0488DC00071B88 /* SPIRVConversion.h in Headers */,
-				A96FE8C1215473A00060D1A3 /* opcode.h in Headers */,
-				A96FE7CB215473A00060D1A3 /* def_use_manager.h in Headers */,
-				A96FE6E9215473A00060D1A3 /* make_unique.h in Headers */,
-				A96FE735215473A00060D1A3 /* move_to_front.h in Headers */,
-				A96FE881215473A00060D1A3 /* loop_unswitch_pass.h in Headers */,
-				A96FE7E9215473A00060D1A3 /* decoration_manager.h in Headers */,
-				A9AB19981CB5B5A80001E7F9 /* spirv_common.hpp in Headers */,
-				A96FE6F7215473A00060D1A3 /* bitutils.h in Headers */,
 				A9F042B71FB4D060009FCCB8 /* MVKLogging.h in Headers */,
-				A96FE80D215473A00060D1A3 /* inline_pass.h in Headers */,
-				A96FE6DB215473A00060D1A3 /* enum_set.h in Headers */,
-				A96FE861215473A00060D1A3 /* reflect.h in Headers */,
-				A96FE70B215473A00060D1A3 /* cfa.h in Headers */,
-				A96FE77B215473A00060D1A3 /* scalar_analysis.h in Headers */,
-				A96FE777215473A00060D1A3 /* reduce_load_size.h in Headers */,
-				A96FE889215473A00060D1A3 /* aggressive_dead_code_elim_pass.h in Headers */,
-				A96FE8DD215473A00060D1A3 /* basic_block.h in Headers */,
-				A96FE835215473A00060D1A3 /* dead_variable_elimination.h in Headers */,
-				A96FE741215473A00060D1A3 /* text_handler.h in Headers */,
-				A94E30D621920A8C00394673 /* spirv_cross_parsed_ir.hpp in Headers */,
-				A9AB199C1CB5B5A80001E7F9 /* spirv_cross.hpp in Headers */,
-				A96FE7F9215473A00060D1A3 /* dead_insert_elim_pass.h in Headers */,
-				A96FE873215473A00060D1A3 /* local_ssa_elim_pass.h in Headers */,
-				A96FE72F215473A00060D1A3 /* markv.h in Headers */,
-				A96FE867215473A00060D1A3 /* const_folding_rules.h in Headers */,
-				A96FE7D5215473A00060D1A3 /* local_redundancy_elimination.h in Headers */,
-				A96FE899215473A00060D1A3 /* licm_pass.h in Headers */,
-				A96FE78D215473A00060D1A3 /* propagator.h in Headers */,
-				A96FE745215473A00060D1A3 /* name_mapper.h in Headers */,
-				A96FE775215473A00060D1A3 /* local_single_store_elim_pass.h in Headers */,
-				A96FE75D215473A00060D1A3 /* if_conversion.h in Headers */,
-				A96FE6D9215473A00060D1A3 /* assembly_grammar.h in Headers */,
-				A96FE857215473A00060D1A3 /* strip_reflect_info_pass.h in Headers */,
-				A96FE725215473A00060D1A3 /* huffman_codec.h in Headers */,
-				A96FE829215473A00060D1A3 /* log.h in Headers */,
-				A96FE787215473A00060D1A3 /* replace_invalid_opc.h in Headers */,
-				A96FE765215473A00060D1A3 /* inline_opaque_pass.h in Headers */,
-				A96FE72B215473A00060D1A3 /* markv_encoder.h in Headers */,
-				A96FE7ED215473A00060D1A3 /* local_single_block_elim_pass.h in Headers */,
-				A96FE87B215473A00060D1A3 /* module.h in Headers */,
-				A96FE76D215473A00060D1A3 /* composite.h in Headers */,
-				A96FE8EB215473A00060D1A3 /* validation_state.h in Headers */,
-				A96FE771215473A00060D1A3 /* register_pressure.h in Headers */,
-				A96FE843215473A00060D1A3 /* fold.h in Headers */,
-				A96FE853215473A00060D1A3 /* passes.h in Headers */,
-				A96FE7C7215473A00060D1A3 /* private_to_local_pass.h in Headers */,
-				A96FE77D215473A00060D1A3 /* strip_debug_info_pass.h in Headers */,
-				A96FE739215473A00060D1A3 /* markv_logger.h in Headers */,
-				A96FE7BB215473A00060D1A3 /* block_merge_pass.h in Headers */,
 				A909408D1C58013E0094110D /* SPIRVToMSLConverter.h in Headers */,
-				A96FE8C7215473A00060D1A3 /* extensions.h in Headers */,
-				A96FE8BB215473A00060D1A3 /* instruction.h in Headers */,
-				A9AB19A41CB5B5A80001E7F9 /* spirv_msl.hpp in Headers */,
 				A9F042B31FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */,
-				A96FE7B1215473A00060D1A3 /* fold_spec_constant_op_and_composite_pass.h in Headers */,
-				A96FE6E7215473A00060D1A3 /* ilist_node.h in Headers */,
-				A96FE8B7215473A00060D1A3 /* latest_version_spirv_header.h in Headers */,
-				A96FE8AB215473A00060D1A3 /* type_manager.h in Headers */,
-				A96FE6E5215473A00060D1A3 /* parse_number.h in Headers */,
-				A96FE7AD215473A00060D1A3 /* ir_loader.h in Headers */,
-				A96FE887215473A00060D1A3 /* instruction.h in Headers */,
-				A96FE8F5215473A00060D1A3 /* validate.h in Headers */,
-				A96FE831215473A00060D1A3 /* ssa_rewrite_pass.h in Headers */,
-				A96FE71F215473A00060D1A3 /* spirv_validator_options.h in Headers */,
-				A96FE6FF215473A00060D1A3 /* ilist.h in Headers */,
-				A96FE70D215473A00060D1A3 /* enum_string_mapping.h in Headers */,
-				A96FE79B215473A00060D1A3 /* ir_context.h in Headers */,
-				A96FE88D215473A00060D1A3 /* vector_dce.h in Headers */,
-				A9AB19A01CB5B5A80001E7F9 /* spirv_glsl.hpp in Headers */,
-				A96FE7AF215473A00060D1A3 /* types.h in Headers */,
-				A96FE6F9215473A00060D1A3 /* hex_float.h in Headers */,
-				A96FE7A3215473A00060D1A3 /* loop_unroller.h in Headers */,
-				A96FE8CB215473A00060D1A3 /* binary.h in Headers */,
-				A96FE755215473A00060D1A3 /* print.h in Headers */,
-				A96FE731215473A00060D1A3 /* markv_model.h in Headers */,
-				A96FE82D215473A00060D1A3 /* eliminate_dead_constant_pass.h in Headers */,
-				A96FE87F215473A00060D1A3 /* ir_builder.h in Headers */,
-				A96FE773215473A00060D1A3 /* tree_iterator.h in Headers */,
-				A96FE701215473A00060D1A3 /* spirv_target_env.h in Headers */,
-				A95C5F421DEA9070000D17B6 /* spirv_cfg.hpp in Headers */,
-				A96FE8A3215473A00060D1A3 /* feature_manager.h in Headers */,
-				A96FE6F5215473A00060D1A3 /* bit_vector.h in Headers */,
-				A96FE789215473A00060D1A3 /* local_access_chain_convert_pass.h in Headers */,
-				A96FE80F215473A00060D1A3 /* loop_dependence.h in Headers */,
-				A96FE883215473A00060D1A3 /* cfg.h in Headers */,
-				A96FE7CF215473A00060D1A3 /* cfg_cleanup_pass.h in Headers */,
-				A96FE89F215473A00060D1A3 /* function.h in Headers */,
-				A96FE841215473A00060D1A3 /* common_uniform_elim_pass.h in Headers */,
-				A96FE7EF215473A00060D1A3 /* strength_reduction_pass.h in Headers */,
-				A96FE8D5215473A00060D1A3 /* construct.h in Headers */,
-				A96FE8A7215473A00060D1A3 /* set_spec_constant_default_value_pass.h in Headers */,
-				A96FE6ED215473A00060D1A3 /* small_vector.h in Headers */,
-				A96FE869215473A00060D1A3 /* scalar_replacement_pass.h in Headers */,
-				A96FE88F215473A00060D1A3 /* combine_access_chains.h in Headers */,
-				A96FE7AB215473A00060D1A3 /* unify_const_pass.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -2420,6 +308,7 @@
 			buildPhases = (
 				A93747291A9A8B2900F29B34 /* Headers */,
 				A93747271A9A8B2900F29B34 /* Sources */,
+				A972AD2821CEE6310013AB25 /* Frameworks */,
 			);
 			buildRules = (
 			);
@@ -2436,6 +325,7 @@
 			buildPhases = (
 				A937476E1A9A98D000F29B34 /* Headers */,
 				A937476C1A9A98D000F29B34 /* Sources */,
+				A972AD2C21CEE6C30013AB25 /* Frameworks */,
 			);
 			buildRules = (
 			);
@@ -2452,6 +342,7 @@
 			buildPhases = (
 				A93903B91C57E9D700FE90DC /* Headers */,
 				A93903BA1C57E9D700FE90DC /* Sources */,
+				A972AD2E21CEE6F50013AB25 /* Frameworks */,
 			);
 			buildRules = (
 			);
@@ -2468,6 +359,7 @@
 			buildPhases = (
 				A93903C11C57E9ED00FE90DC /* Headers */,
 				A93903C21C57E9ED00FE90DC /* Sources */,
+				A972AD3321CEE7230013AB25 /* Frameworks */,
 			);
 			buildRules = (
 			);
@@ -2543,47 +435,8 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A93E8298211F76F6001FEBD4 /* doc.cpp in Sources */,
-				A93E831C211F76F6001FEBD4 /* Link.cpp in Sources */,
-				A93E8272211F76F6001FEBD4 /* SpvPostProcess.cpp in Sources */,
-				A93E82E4211F76F6001FEBD4 /* ShaderLang.cpp in Sources */,
-				A93E831A211F76F6001FEBD4 /* CodeGen.cpp in Sources */,
-				A93E830C211F76F6001FEBD4 /* PpTokens.cpp in Sources */,
-				A93E8290211F76F6001FEBD4 /* SPVRemapper.cpp in Sources */,
-				A93E82C2211F76F6001FEBD4 /* propagateNoContraction.cpp in Sources */,
-				A93E82FE211F76F6001FEBD4 /* Constant.cpp in Sources */,
 				A90941A31C581F840094110D /* GLSLConversion.mm in Sources */,
-				A93E82D4211F76F6001FEBD4 /* limits.cpp in Sources */,
-				A93E8300211F76F6001FEBD4 /* linkValidate.cpp in Sources */,
-				A93E8292211F76F6001FEBD4 /* Logger.cpp in Sources */,
-				A93E829C211F76F6001FEBD4 /* ossource.cpp in Sources */,
 				A90940A71C5808BB0094110D /* GLSLToSPIRVConverter.cpp in Sources */,
-				A93E82E0211F76F6001FEBD4 /* iomapper.cpp in Sources */,
-				A93E82DC211F76F6001FEBD4 /* IntermTraverse.cpp in Sources */,
-				A93E829A211F76F6001FEBD4 /* disassemble.cpp in Sources */,
-				A93E82E8211F76F6001FEBD4 /* InfoSink.cpp in Sources */,
-				A93E8312211F76F6001FEBD4 /* ParseContextBase.cpp in Sources */,
-				A93E8284211F76F6001FEBD4 /* GlslangToSpv.cpp in Sources */,
-				A93E82EC211F76F6001FEBD4 /* SymbolTable.cpp in Sources */,
-				A93E8304211F76F6001FEBD4 /* PpAtom.cpp in Sources */,
-				A93E8274211F76F6001FEBD4 /* InReadableOrder.cpp in Sources */,
-				A93E82D2211F76F6001FEBD4 /* glslang_tab.cpp in Sources */,
-				A93E8310211F76F6001FEBD4 /* PpScanner.cpp in Sources */,
-				A93E82E2211F76F6001FEBD4 /* PoolAlloc.cpp in Sources */,
-				A93E82F6211F76F6001FEBD4 /* reflection.cpp in Sources */,
-				A93E82EA211F76F6001FEBD4 /* Intermediate.cpp in Sources */,
-				A93E8308211F76F6001FEBD4 /* Pp.cpp in Sources */,
-				A93E82F4211F76F6001FEBD4 /* attribute.cpp in Sources */,
-				A93E82D6211F76F6001FEBD4 /* parseConst.cpp in Sources */,
-				A93E827C211F76F6001FEBD4 /* SpvBuilder.cpp in Sources */,
-				A93E82CA211F76F6001FEBD4 /* Scan.cpp in Sources */,
-				A93E82BC211F76F6001FEBD4 /* ParseHelper.cpp in Sources */,
-				A93E82F8211F76F6001FEBD4 /* RemoveTree.cpp in Sources */,
-				A93E82FC211F76F6001FEBD4 /* Versions.cpp in Sources */,
-				A93E8320211F76F6001FEBD4 /* InitializeDll.cpp in Sources */,
-				A93E82D0211F76F6001FEBD4 /* Initialize.cpp in Sources */,
-				A93E830E211F76F6001FEBD4 /* PpContext.cpp in Sources */,
-				A93E82DE211F76F6001FEBD4 /* intermOut.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -2591,47 +444,8 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A93E8299211F76F6001FEBD4 /* doc.cpp in Sources */,
-				A93E831D211F76F6001FEBD4 /* Link.cpp in Sources */,
-				A93E8273211F76F6001FEBD4 /* SpvPostProcess.cpp in Sources */,
-				A93E82E5211F76F6001FEBD4 /* ShaderLang.cpp in Sources */,
-				A93E831B211F76F6001FEBD4 /* CodeGen.cpp in Sources */,
-				A93E830D211F76F6001FEBD4 /* PpTokens.cpp in Sources */,
-				A93E8291211F76F6001FEBD4 /* SPVRemapper.cpp in Sources */,
-				A93E82C3211F76F6001FEBD4 /* propagateNoContraction.cpp in Sources */,
-				A93E82FF211F76F6001FEBD4 /* Constant.cpp in Sources */,
 				A90941A41C581F840094110D /* GLSLConversion.mm in Sources */,
-				A93E82D5211F76F6001FEBD4 /* limits.cpp in Sources */,
-				A93E8301211F76F6001FEBD4 /* linkValidate.cpp in Sources */,
-				A93E8293211F76F6001FEBD4 /* Logger.cpp in Sources */,
-				A93E829D211F76F6001FEBD4 /* ossource.cpp in Sources */,
 				A90940A81C5808BB0094110D /* GLSLToSPIRVConverter.cpp in Sources */,
-				A93E82E1211F76F6001FEBD4 /* iomapper.cpp in Sources */,
-				A93E82DD211F76F6001FEBD4 /* IntermTraverse.cpp in Sources */,
-				A93E829B211F76F6001FEBD4 /* disassemble.cpp in Sources */,
-				A93E82E9211F76F6001FEBD4 /* InfoSink.cpp in Sources */,
-				A93E8313211F76F6001FEBD4 /* ParseContextBase.cpp in Sources */,
-				A93E8285211F76F6001FEBD4 /* GlslangToSpv.cpp in Sources */,
-				A93E82ED211F76F6001FEBD4 /* SymbolTable.cpp in Sources */,
-				A93E8305211F76F6001FEBD4 /* PpAtom.cpp in Sources */,
-				A93E8275211F76F6001FEBD4 /* InReadableOrder.cpp in Sources */,
-				A93E82D3211F76F6001FEBD4 /* glslang_tab.cpp in Sources */,
-				A93E8311211F76F6001FEBD4 /* PpScanner.cpp in Sources */,
-				A93E82E3211F76F6001FEBD4 /* PoolAlloc.cpp in Sources */,
-				A93E82F7211F76F6001FEBD4 /* reflection.cpp in Sources */,
-				A93E82EB211F76F6001FEBD4 /* Intermediate.cpp in Sources */,
-				A93E8309211F76F6001FEBD4 /* Pp.cpp in Sources */,
-				A93E82F5211F76F6001FEBD4 /* attribute.cpp in Sources */,
-				A93E82D7211F76F6001FEBD4 /* parseConst.cpp in Sources */,
-				A93E827D211F76F6001FEBD4 /* SpvBuilder.cpp in Sources */,
-				A93E82CB211F76F6001FEBD4 /* Scan.cpp in Sources */,
-				A93E82BD211F76F6001FEBD4 /* ParseHelper.cpp in Sources */,
-				A93E82F9211F76F6001FEBD4 /* RemoveTree.cpp in Sources */,
-				A93E82FD211F76F6001FEBD4 /* Versions.cpp in Sources */,
-				A93E8321211F76F6001FEBD4 /* InitializeDll.cpp in Sources */,
-				A93E82D1211F76F6001FEBD4 /* Initialize.cpp in Sources */,
-				A93E830F211F76F6001FEBD4 /* PpContext.cpp in Sources */,
-				A93E82DF211F76F6001FEBD4 /* intermOut.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -2639,168 +453,9 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A96FE86A215473A00060D1A3 /* instruction.cpp in Sources */,
-				A96FE91E215473A00060D1A3 /* validate_composites.cpp in Sources */,
-				A96FE8C2215473A00060D1A3 /* operand.cpp in Sources */,
-				A96FE7A8215473A00060D1A3 /* loop_dependence.cpp in Sources */,
-				A96FE7C8215473A00060D1A3 /* inline_pass.cpp in Sources */,
-				A96FE8FC215473A00060D1A3 /* validate_id.cpp in Sources */,
-				A96FE7FE215473A00060D1A3 /* ir_context.cpp in Sources */,
-				A96FE7B8215473A00060D1A3 /* dead_variable_elimination.cpp in Sources */,
-				A96FE756215473A00060D1A3 /* ext_inst.cpp in Sources */,
-				A96FE8B4215473A00060D1A3 /* diagnostic.cpp in Sources */,
-				A96FE7CC215473A00060D1A3 /* ir_loader.cpp in Sources */,
-				A96FE74E215473A00060D1A3 /* linker.cpp in Sources */,
-				A96FE874215473A00060D1A3 /* inline_opaque_pass.cpp in Sources */,
-				A96FE746215473A00060D1A3 /* parsed_operand.cpp in Sources */,
-				A96FE85E215473A00060D1A3 /* redundancy_elimination.cpp in Sources */,
-				A96FE8EC215473A00060D1A3 /* validate_constants.cpp in Sources */,
-				A96FE7DA215473A00060D1A3 /* loop_unroller.cpp in Sources */,
-				A96FE8FA215473A00060D1A3 /* validate_datarules.cpp in Sources */,
-				A96FE7A0215473A00060D1A3 /* const_folding_rules.cpp in Sources */,
-				A96FE71C215473A00060D1A3 /* binary.cpp in Sources */,
-				A96FE8C8215473A00060D1A3 /* disassemble.cpp in Sources */,
-				A96FE80A215473A00060D1A3 /* composite.cpp in Sources */,
-				A96FE73E215473A00060D1A3 /* enum_string_mapping.cpp in Sources */,
-				A96FE900215473A00060D1A3 /* validate_mode_setting.cpp in Sources */,
-				A96FE910215473A00060D1A3 /* validate_ext_inst.cpp in Sources */,
-				A96FE780215473A00060D1A3 /* decoration_manager.cpp in Sources */,
-				A96FE8F0215473A00060D1A3 /* construct.cpp in Sources */,
-				A96FE892215473A00060D1A3 /* local_access_chain_convert_pass.cpp in Sources */,
-				A96FE720215473A00060D1A3 /* markv_codec.cpp in Sources */,
-				A96FE8CC215473A00060D1A3 /* text_handler.cpp in Sources */,
-				A96FE8AC215473A00060D1A3 /* compact_ids_pass.cpp in Sources */,
-				A96FE7D2215473A00060D1A3 /* eliminate_dead_functions_pass.cpp in Sources */,
-				A96FE7A4215473A00060D1A3 /* strip_debug_info_pass.cpp in Sources */,
-				A96FE7E6215473A00060D1A3 /* strip_reflect_info_pass.cpp in Sources */,
-				A96FE8FE215473A00060D1A3 /* validate_arithmetics.cpp in Sources */,
-				A96FE77E215473A00060D1A3 /* cfg.cpp in Sources */,
-				A96FE7F4215473A00060D1A3 /* dead_branch_elim_pass.cpp in Sources */,
-				A96FE7C2215473A00060D1A3 /* unify_const_pass.cpp in Sources */,
-				A96FE836215473A00060D1A3 /* block_merge_pass.cpp in Sources */,
-				A96FE820215473A00060D1A3 /* inline_exhaustive_pass.cpp in Sources */,
-				A96FE906215473A00060D1A3 /* validate_memory.cpp in Sources */,
-				A96FE8DE215473A00060D1A3 /* validate_instruction.cpp in Sources */,
-				A96FE8A0215473A00060D1A3 /* loop_fusion.cpp in Sources */,
-				A96FE81C215473A00060D1A3 /* copy_prop_arrays.cpp in Sources */,
-				A96FE808215473A00060D1A3 /* instruction_list.cpp in Sources */,
-				A96FE794215473A00060D1A3 /* loop_fission.cpp in Sources */,
-				A96FE902215473A00060D1A3 /* validate_logicals.cpp in Sources */,
-				A96FE8EE215473A00060D1A3 /* validate_bitwise.cpp in Sources */,
-				A96FE752215473A00060D1A3 /* opcode.cpp in Sources */,
-				A96FE73A215473A00060D1A3 /* bit_stream.cpp in Sources */,
-				A96FE798215473A00060D1A3 /* merge_return_pass.cpp in Sources */,
-				A96FE704215473A00060D1A3 /* id_descriptor.cpp in Sources */,
-				A96FE722215473A00060D1A3 /* markv.cpp in Sources */,
-				A96FE862215473A00060D1A3 /* workaround1209.cpp in Sources */,
-				A96FE7B6215473A00060D1A3 /* remove_duplicates_pass.cpp in Sources */,
-				A96FE6E2215473A00060D1A3 /* extensions.cpp in Sources */,
-				A96FE73C215473A00060D1A3 /* markv_encoder.cpp in Sources */,
-				A96FE90C215473A00060D1A3 /* instruction.cpp in Sources */,
-				A96FE81A215473A00060D1A3 /* strength_reduction_pass.cpp in Sources */,
-				A94E30D721920A8C00394673 /* spirv_cross_parsed_ir.cpp in Sources */,
-				A96FE78A215473A00060D1A3 /* local_redundancy_elimination.cpp in Sources */,
-				A96FE826215473A00060D1A3 /* loop_fusion_pass.cpp in Sources */,
-				A96FE782215473A00060D1A3 /* local_single_block_elim_pass.cpp in Sources */,
-				A96FE854215473A00060D1A3 /* fold.cpp in Sources */,
-				A96FE790215473A00060D1A3 /* feature_manager.cpp in Sources */,
-				A9AB19991CB5B5A80001E7F9 /* spirv_cross.cpp in Sources */,
-				A96FE8AE215473A00060D1A3 /* loop_peeling.cpp in Sources */,
-				A96FE876215473A00060D1A3 /* replace_invalid_opc.cpp in Sources */,
-				A96FE7BC215473A00060D1A3 /* module.cpp in Sources */,
-				A96FE84C215473A00060D1A3 /* propagator.cpp in Sources */,
-				A96FE914215473A00060D1A3 /* validate_execution_limitations.cpp in Sources */,
-				A96FE86C215473A00060D1A3 /* reduce_load_size.cpp in Sources */,
-				A96FE796215473A00060D1A3 /* dominator_tree.cpp in Sources */,
-				A96FE7EA215473A00060D1A3 /* ccp_pass.cpp in Sources */,
-				A96FE768215473A00060D1A3 /* combine_access_chains.cpp in Sources */,
-				A96FE760215473A00060D1A3 /* loop_utils.cpp in Sources */,
-				A96FE778215473A00060D1A3 /* types.cpp in Sources */,
-				A96FE702215473A00060D1A3 /* table.cpp in Sources */,
-				A96FE850215473A00060D1A3 /* set_spec_constant_default_value_pass.cpp in Sources */,
-				A96FE8E4215473A00060D1A3 /* validate_builtins.cpp in Sources */,
-				A96FE8D6215473A00060D1A3 /* validate_barriers.cpp in Sources */,
-				A96FE8F2215473A00060D1A3 /* function.cpp in Sources */,
-				A96FE7E2215473A00060D1A3 /* common_uniform_elim_pass.cpp in Sources */,
-				A96FE908215473A00060D1A3 /* validate_image.cpp in Sources */,
-				A96FE7C4215473A00060D1A3 /* type_manager.cpp in Sources */,
-				A96FE6FA215473A00060D1A3 /* parse_number.cpp in Sources */,
-				A9AB19A11CB5B5A80001E7F9 /* spirv_msl.cpp in Sources */,
-				A96FE814215473A00060D1A3 /* if_conversion.cpp in Sources */,
-				A96FE79E215473A00060D1A3 /* cfg_cleanup_pass.cpp in Sources */,
-				A96FE90E215473A00060D1A3 /* validate_type.cpp in Sources */,
-				A96FE6DC215473A00060D1A3 /* text.cpp in Sources */,
-				A96FE904215473A00060D1A3 /* validate_derivatives.cpp in Sources */,
-				A96FE894215473A00060D1A3 /* basic_block.cpp in Sources */,
-				A96FE802215473A00060D1A3 /* loop_descriptor.cpp in Sources */,
-				A96FE70E215473A00060D1A3 /* spirv_validator_options.cpp in Sources */,
-				A96FE870215473A00060D1A3 /* value_number_table.cpp in Sources */,
-				A96FE7F2215473A00060D1A3 /* simplification_pass.cpp in Sources */,
 				A95096BB2003D00300F10950 /* FileSupport.mm in Sources */,
-				A96FE6F2215473A00060D1A3 /* string_utils.cpp in Sources */,
-				A94E30CF219209C700394673 /* spirv_parser.cpp in Sources */,
 				A909408A1C58013E0094110D /* SPIRVToMSLConverter.cpp in Sources */,
-				A96FE7C0215473A00060D1A3 /* loop_unswitch_pass.cpp in Sources */,
-				A96FE82E215473A00060D1A3 /* dead_insert_elim_pass.cpp in Sources */,
-				A96FE7BE215473A00060D1A3 /* fold_spec_constant_op_and_composite_pass.cpp in Sources */,
-				A96FE8E0215473A00060D1A3 /* validate_decorations.cpp in Sources */,
-				A96FE7A6215473A00060D1A3 /* ssa_rewrite_pass.cpp in Sources */,
-				A96FE75A215473A00060D1A3 /* optimizer.cpp in Sources */,
-				A96FE8E2215473A00060D1A3 /* validate_debug.cpp in Sources */,
 				A928C91B1D0488DC00071B88 /* SPIRVConversion.mm in Sources */,
-				A96FE7F6215473A00060D1A3 /* flatten_decoration_pass.cpp in Sources */,
-				A9AB199D1CB5B5A80001E7F9 /* spirv_glsl.cpp in Sources */,
-				A96FE792215473A00060D1A3 /* pass.cpp in Sources */,
-				A95C5F3F1DEA9070000D17B6 /* spirv_cfg.cpp in Sources */,
-				A96FE7B2215473A00060D1A3 /* mem_pass.cpp in Sources */,
-				A96FE7FA215473A00060D1A3 /* folding_rules.cpp in Sources */,
-				A96FE8D8215473A00060D1A3 /* validate_non_uniform.cpp in Sources */,
-				A96FE8E8215473A00060D1A3 /* validate.cpp in Sources */,
-				A96FE8D2215473A00060D1A3 /* validate_capability.cpp in Sources */,
-				A96FE7D8215473A00060D1A3 /* vector_dce.cpp in Sources */,
-				A96FE84E215473A00060D1A3 /* loop_dependence_helpers.cpp in Sources */,
-				A96FE8F8215473A00060D1A3 /* validate_conversion.cpp in Sources */,
-				A96FE750215473A00060D1A3 /* software_version.cpp in Sources */,
-				A96FE804215473A00060D1A3 /* local_ssa_elim_pass.cpp in Sources */,
-				A96FE916215473A00060D1A3 /* validate_layout.cpp in Sources */,
-				A96FE848215473A00060D1A3 /* private_to_local_pass.cpp in Sources */,
-				A96FE708215473A00060D1A3 /* spirv_optimizer_options.cpp in Sources */,
-				A96FE710215473A00060D1A3 /* print.cpp in Sources */,
-				A96FE76A215473A00060D1A3 /* build_module.cpp in Sources */,
-				A96FE7F0215473A00060D1A3 /* aggressive_dead_code_elim_pass.cpp in Sources */,
-				A96FE8A4215473A00060D1A3 /* scalar_analysis_simplification.cpp in Sources */,
-				A96FE8DA215473A00060D1A3 /* validate_atomics.cpp in Sources */,
-				A96FE90A215473A00060D1A3 /* validate_literals.cpp in Sources */,
-				A96FE81E215473A00060D1A3 /* pass_manager.cpp in Sources */,
-				A96FE7DC215473A00060D1A3 /* constants.cpp in Sources */,
-				A96FE6D6215473A00060D1A3 /* spirv_target_env.cpp in Sources */,
-				A96FE79C215473A00060D1A3 /* eliminate_dead_constant_pass.cpp in Sources */,
-				A96FE88A215473A00060D1A3 /* struct_cfg_analysis.cpp in Sources */,
-				A96FE920215473A00060D1A3 /* validation_state.cpp in Sources */,
-				A96FE806215473A00060D1A3 /* function.cpp in Sources */,
-				A96FE8B8215473A00060D1A3 /* libspirv.cpp in Sources */,
-				A96FE74C215473A00060D1A3 /* name_mapper.cpp in Sources */,
-				A96FE87C215473A00060D1A3 /* dominator_analysis.cpp in Sources */,
-				A96FE6FC215473A00060D1A3 /* bit_vector.cpp in Sources */,
-				A96FE6DE215473A00060D1A3 /* assembly_grammar.cpp in Sources */,
-				A96FE7D0215473A00060D1A3 /* licm_pass.cpp in Sources */,
-				A96FE8F6215473A00060D1A3 /* validate_adjacency.cpp in Sources */,
-				A96FE75E215473A00060D1A3 /* register_pressure.cpp in Sources */,
-				A96FE8D0215473A00060D1A3 /* validate_cfg.cpp in Sources */,
-				A96FE844215473A00060D1A3 /* local_single_store_elim_pass.cpp in Sources */,
-				A96FE728215473A00060D1A3 /* move_to_front.cpp in Sources */,
-				A96FE6EE215473A00060D1A3 /* timer.cpp in Sources */,
-				A96FE784215473A00060D1A3 /* freeze_spec_constant_value_pass.cpp in Sources */,
-				A96FE918215473A00060D1A3 /* basic_block.cpp in Sources */,
-				A96FE732215473A00060D1A3 /* markv_decoder.cpp in Sources */,
-				A96FE832215473A00060D1A3 /* scalar_analysis.cpp in Sources */,
-				A96FE8CE215473A00060D1A3 /* validate_annotation.cpp in Sources */,
-				A96FE91A215473A00060D1A3 /* validate_function.cpp in Sources */,
-				A96FE858215473A00060D1A3 /* scalar_replacement_pass.cpp in Sources */,
-				A96FE716215473A00060D1A3 /* spirv_endian.cpp in Sources */,
-				A96FE922215473A00060D1A3 /* validate_primitives.cpp in Sources */,
-				A96FE7E4215473A00060D1A3 /* def_use_manager.cpp in Sources */,
-				A96FE8E6215473A00060D1A3 /* validate_interfaces.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -2808,168 +463,9 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A96FE86B215473A00060D1A3 /* instruction.cpp in Sources */,
-				A96FE91F215473A00060D1A3 /* validate_composites.cpp in Sources */,
-				A96FE8C3215473A00060D1A3 /* operand.cpp in Sources */,
-				A96FE7A9215473A00060D1A3 /* loop_dependence.cpp in Sources */,
-				A96FE7C9215473A00060D1A3 /* inline_pass.cpp in Sources */,
-				A96FE8FD215473A00060D1A3 /* validate_id.cpp in Sources */,
-				A96FE7FF215473A00060D1A3 /* ir_context.cpp in Sources */,
-				A96FE7B9215473A00060D1A3 /* dead_variable_elimination.cpp in Sources */,
-				A96FE757215473A00060D1A3 /* ext_inst.cpp in Sources */,
-				A96FE8B5215473A00060D1A3 /* diagnostic.cpp in Sources */,
-				A96FE7CD215473A00060D1A3 /* ir_loader.cpp in Sources */,
-				A96FE74F215473A00060D1A3 /* linker.cpp in Sources */,
-				A96FE875215473A00060D1A3 /* inline_opaque_pass.cpp in Sources */,
-				A96FE747215473A00060D1A3 /* parsed_operand.cpp in Sources */,
-				A96FE85F215473A00060D1A3 /* redundancy_elimination.cpp in Sources */,
-				A96FE8ED215473A00060D1A3 /* validate_constants.cpp in Sources */,
-				A96FE7DB215473A00060D1A3 /* loop_unroller.cpp in Sources */,
-				A96FE8FB215473A00060D1A3 /* validate_datarules.cpp in Sources */,
-				A96FE7A1215473A00060D1A3 /* const_folding_rules.cpp in Sources */,
-				A96FE71D215473A00060D1A3 /* binary.cpp in Sources */,
-				A96FE8C9215473A00060D1A3 /* disassemble.cpp in Sources */,
-				A96FE80B215473A00060D1A3 /* composite.cpp in Sources */,
-				A96FE73F215473A00060D1A3 /* enum_string_mapping.cpp in Sources */,
-				A96FE901215473A00060D1A3 /* validate_mode_setting.cpp in Sources */,
-				A96FE911215473A00060D1A3 /* validate_ext_inst.cpp in Sources */,
-				A96FE781215473A00060D1A3 /* decoration_manager.cpp in Sources */,
-				A96FE8F1215473A00060D1A3 /* construct.cpp in Sources */,
-				A96FE893215473A00060D1A3 /* local_access_chain_convert_pass.cpp in Sources */,
-				A96FE721215473A00060D1A3 /* markv_codec.cpp in Sources */,
-				A96FE8CD215473A00060D1A3 /* text_handler.cpp in Sources */,
-				A96FE8AD215473A00060D1A3 /* compact_ids_pass.cpp in Sources */,
-				A96FE7D3215473A00060D1A3 /* eliminate_dead_functions_pass.cpp in Sources */,
-				A96FE7A5215473A00060D1A3 /* strip_debug_info_pass.cpp in Sources */,
-				A96FE7E7215473A00060D1A3 /* strip_reflect_info_pass.cpp in Sources */,
-				A96FE8FF215473A00060D1A3 /* validate_arithmetics.cpp in Sources */,
-				A96FE77F215473A00060D1A3 /* cfg.cpp in Sources */,
-				A96FE7F5215473A00060D1A3 /* dead_branch_elim_pass.cpp in Sources */,
-				A96FE7C3215473A00060D1A3 /* unify_const_pass.cpp in Sources */,
-				A96FE837215473A00060D1A3 /* block_merge_pass.cpp in Sources */,
-				A96FE821215473A00060D1A3 /* inline_exhaustive_pass.cpp in Sources */,
-				A96FE907215473A00060D1A3 /* validate_memory.cpp in Sources */,
-				A96FE8DF215473A00060D1A3 /* validate_instruction.cpp in Sources */,
-				A96FE8A1215473A00060D1A3 /* loop_fusion.cpp in Sources */,
-				A96FE81D215473A00060D1A3 /* copy_prop_arrays.cpp in Sources */,
-				A96FE809215473A00060D1A3 /* instruction_list.cpp in Sources */,
-				A96FE795215473A00060D1A3 /* loop_fission.cpp in Sources */,
-				A96FE903215473A00060D1A3 /* validate_logicals.cpp in Sources */,
-				A96FE8EF215473A00060D1A3 /* validate_bitwise.cpp in Sources */,
-				A96FE753215473A00060D1A3 /* opcode.cpp in Sources */,
-				A96FE73B215473A00060D1A3 /* bit_stream.cpp in Sources */,
-				A96FE799215473A00060D1A3 /* merge_return_pass.cpp in Sources */,
-				A96FE705215473A00060D1A3 /* id_descriptor.cpp in Sources */,
-				A96FE723215473A00060D1A3 /* markv.cpp in Sources */,
-				A96FE863215473A00060D1A3 /* workaround1209.cpp in Sources */,
-				A96FE7B7215473A00060D1A3 /* remove_duplicates_pass.cpp in Sources */,
-				A96FE6E3215473A00060D1A3 /* extensions.cpp in Sources */,
-				A96FE73D215473A00060D1A3 /* markv_encoder.cpp in Sources */,
-				A96FE90D215473A00060D1A3 /* instruction.cpp in Sources */,
-				A96FE81B215473A00060D1A3 /* strength_reduction_pass.cpp in Sources */,
-				A94E30D821920A8C00394673 /* spirv_cross_parsed_ir.cpp in Sources */,
-				A96FE78B215473A00060D1A3 /* local_redundancy_elimination.cpp in Sources */,
-				A96FE827215473A00060D1A3 /* loop_fusion_pass.cpp in Sources */,
-				A96FE783215473A00060D1A3 /* local_single_block_elim_pass.cpp in Sources */,
-				A96FE855215473A00060D1A3 /* fold.cpp in Sources */,
-				A96FE791215473A00060D1A3 /* feature_manager.cpp in Sources */,
-				A9AB199A1CB5B5A80001E7F9 /* spirv_cross.cpp in Sources */,
-				A96FE8AF215473A00060D1A3 /* loop_peeling.cpp in Sources */,
-				A96FE877215473A00060D1A3 /* replace_invalid_opc.cpp in Sources */,
-				A96FE7BD215473A00060D1A3 /* module.cpp in Sources */,
-				A96FE84D215473A00060D1A3 /* propagator.cpp in Sources */,
-				A96FE915215473A00060D1A3 /* validate_execution_limitations.cpp in Sources */,
-				A96FE86D215473A00060D1A3 /* reduce_load_size.cpp in Sources */,
-				A96FE797215473A00060D1A3 /* dominator_tree.cpp in Sources */,
-				A96FE7EB215473A00060D1A3 /* ccp_pass.cpp in Sources */,
-				A96FE769215473A00060D1A3 /* combine_access_chains.cpp in Sources */,
-				A96FE761215473A00060D1A3 /* loop_utils.cpp in Sources */,
-				A96FE779215473A00060D1A3 /* types.cpp in Sources */,
-				A96FE703215473A00060D1A3 /* table.cpp in Sources */,
-				A96FE851215473A00060D1A3 /* set_spec_constant_default_value_pass.cpp in Sources */,
-				A96FE8E5215473A00060D1A3 /* validate_builtins.cpp in Sources */,
-				A96FE8D7215473A00060D1A3 /* validate_barriers.cpp in Sources */,
-				A96FE8F3215473A00060D1A3 /* function.cpp in Sources */,
-				A96FE7E3215473A00060D1A3 /* common_uniform_elim_pass.cpp in Sources */,
-				A96FE909215473A00060D1A3 /* validate_image.cpp in Sources */,
-				A96FE7C5215473A00060D1A3 /* type_manager.cpp in Sources */,
-				A96FE6FB215473A00060D1A3 /* parse_number.cpp in Sources */,
-				A9AB19A21CB5B5A80001E7F9 /* spirv_msl.cpp in Sources */,
-				A96FE815215473A00060D1A3 /* if_conversion.cpp in Sources */,
-				A96FE79F215473A00060D1A3 /* cfg_cleanup_pass.cpp in Sources */,
-				A96FE90F215473A00060D1A3 /* validate_type.cpp in Sources */,
-				A96FE6DD215473A00060D1A3 /* text.cpp in Sources */,
-				A96FE905215473A00060D1A3 /* validate_derivatives.cpp in Sources */,
-				A96FE895215473A00060D1A3 /* basic_block.cpp in Sources */,
-				A96FE803215473A00060D1A3 /* loop_descriptor.cpp in Sources */,
-				A96FE70F215473A00060D1A3 /* spirv_validator_options.cpp in Sources */,
-				A96FE871215473A00060D1A3 /* value_number_table.cpp in Sources */,
-				A96FE7F3215473A00060D1A3 /* simplification_pass.cpp in Sources */,
 				A95096BC2003D00300F10950 /* FileSupport.mm in Sources */,
-				A96FE6F3215473A00060D1A3 /* string_utils.cpp in Sources */,
-				A94E30D0219209C700394673 /* spirv_parser.cpp in Sources */,
 				A909408B1C58013E0094110D /* SPIRVToMSLConverter.cpp in Sources */,
-				A96FE7C1215473A00060D1A3 /* loop_unswitch_pass.cpp in Sources */,
-				A96FE82F215473A00060D1A3 /* dead_insert_elim_pass.cpp in Sources */,
-				A96FE7BF215473A00060D1A3 /* fold_spec_constant_op_and_composite_pass.cpp in Sources */,
-				A96FE8E1215473A00060D1A3 /* validate_decorations.cpp in Sources */,
-				A96FE7A7215473A00060D1A3 /* ssa_rewrite_pass.cpp in Sources */,
-				A96FE75B215473A00060D1A3 /* optimizer.cpp in Sources */,
-				A96FE8E3215473A00060D1A3 /* validate_debug.cpp in Sources */,
 				A928C91C1D0488DC00071B88 /* SPIRVConversion.mm in Sources */,
-				A96FE7F7215473A00060D1A3 /* flatten_decoration_pass.cpp in Sources */,
-				A9AB199E1CB5B5A80001E7F9 /* spirv_glsl.cpp in Sources */,
-				A96FE793215473A00060D1A3 /* pass.cpp in Sources */,
-				A95C5F401DEA9070000D17B6 /* spirv_cfg.cpp in Sources */,
-				A96FE7B3215473A00060D1A3 /* mem_pass.cpp in Sources */,
-				A96FE7FB215473A00060D1A3 /* folding_rules.cpp in Sources */,
-				A96FE8D9215473A00060D1A3 /* validate_non_uniform.cpp in Sources */,
-				A96FE8E9215473A00060D1A3 /* validate.cpp in Sources */,
-				A96FE8D3215473A00060D1A3 /* validate_capability.cpp in Sources */,
-				A96FE7D9215473A00060D1A3 /* vector_dce.cpp in Sources */,
-				A96FE84F215473A00060D1A3 /* loop_dependence_helpers.cpp in Sources */,
-				A96FE8F9215473A00060D1A3 /* validate_conversion.cpp in Sources */,
-				A96FE751215473A00060D1A3 /* software_version.cpp in Sources */,
-				A96FE805215473A00060D1A3 /* local_ssa_elim_pass.cpp in Sources */,
-				A96FE917215473A00060D1A3 /* validate_layout.cpp in Sources */,
-				A96FE849215473A00060D1A3 /* private_to_local_pass.cpp in Sources */,
-				A96FE709215473A00060D1A3 /* spirv_optimizer_options.cpp in Sources */,
-				A96FE711215473A00060D1A3 /* print.cpp in Sources */,
-				A96FE76B215473A00060D1A3 /* build_module.cpp in Sources */,
-				A96FE7F1215473A00060D1A3 /* aggressive_dead_code_elim_pass.cpp in Sources */,
-				A96FE8A5215473A00060D1A3 /* scalar_analysis_simplification.cpp in Sources */,
-				A96FE8DB215473A00060D1A3 /* validate_atomics.cpp in Sources */,
-				A96FE90B215473A00060D1A3 /* validate_literals.cpp in Sources */,
-				A96FE81F215473A00060D1A3 /* pass_manager.cpp in Sources */,
-				A96FE7DD215473A00060D1A3 /* constants.cpp in Sources */,
-				A96FE6D7215473A00060D1A3 /* spirv_target_env.cpp in Sources */,
-				A96FE79D215473A00060D1A3 /* eliminate_dead_constant_pass.cpp in Sources */,
-				A96FE88B215473A00060D1A3 /* struct_cfg_analysis.cpp in Sources */,
-				A96FE921215473A00060D1A3 /* validation_state.cpp in Sources */,
-				A96FE807215473A00060D1A3 /* function.cpp in Sources */,
-				A96FE8B9215473A00060D1A3 /* libspirv.cpp in Sources */,
-				A96FE74D215473A00060D1A3 /* name_mapper.cpp in Sources */,
-				A96FE87D215473A00060D1A3 /* dominator_analysis.cpp in Sources */,
-				A96FE6FD215473A00060D1A3 /* bit_vector.cpp in Sources */,
-				A96FE6DF215473A00060D1A3 /* assembly_grammar.cpp in Sources */,
-				A96FE7D1215473A00060D1A3 /* licm_pass.cpp in Sources */,
-				A96FE8F7215473A00060D1A3 /* validate_adjacency.cpp in Sources */,
-				A96FE75F215473A00060D1A3 /* register_pressure.cpp in Sources */,
-				A96FE8D1215473A00060D1A3 /* validate_cfg.cpp in Sources */,
-				A96FE845215473A00060D1A3 /* local_single_store_elim_pass.cpp in Sources */,
-				A96FE729215473A00060D1A3 /* move_to_front.cpp in Sources */,
-				A96FE6EF215473A00060D1A3 /* timer.cpp in Sources */,
-				A96FE785215473A00060D1A3 /* freeze_spec_constant_value_pass.cpp in Sources */,
-				A96FE919215473A00060D1A3 /* basic_block.cpp in Sources */,
-				A96FE733215473A00060D1A3 /* markv_decoder.cpp in Sources */,
-				A96FE833215473A00060D1A3 /* scalar_analysis.cpp in Sources */,
-				A96FE8CF215473A00060D1A3 /* validate_annotation.cpp in Sources */,
-				A96FE91B215473A00060D1A3 /* validate_function.cpp in Sources */,
-				A96FE859215473A00060D1A3 /* scalar_replacement_pass.cpp in Sources */,
-				A96FE717215473A00060D1A3 /* spirv_endian.cpp in Sources */,
-				A96FE923215473A00060D1A3 /* validate_primitives.cpp in Sources */,
-				A96FE7E5215473A00060D1A3 /* def_use_manager.cpp in Sources */,
-				A96FE8E7215473A00060D1A3 /* validate_interfaces.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -3012,6 +508,7 @@
 		A93747401A9A8B2900F29B34 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				ARCHS = arm64;
 				BITCODE_GENERATION_MODE = bitcode;
 				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
 				CLANG_WARN_UNREACHABLE_CODE = NO;
@@ -3020,7 +517,7 @@
 				GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
 				GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
 				GCC_WARN_UNUSED_PARAMETER = NO;
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/iOS\"";
 				MACH_O_TYPE = staticlib;
 				PRODUCT_NAME = MoltenVKGLSLToSPIRVConverter;
 				SDKROOT = iphoneos;
@@ -3032,6 +529,7 @@
 		A93747411A9A8B2900F29B34 /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				ARCHS = arm64;
 				BITCODE_GENERATION_MODE = bitcode;
 				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
 				CLANG_WARN_UNREACHABLE_CODE = NO;
@@ -3040,7 +538,7 @@
 				GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
 				GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
 				GCC_WARN_UNUSED_PARAMETER = NO;
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/iOS\"";
 				MACH_O_TYPE = staticlib;
 				PRODUCT_NAME = MoltenVKGLSLToSPIRVConverter;
 				SDKROOT = iphoneos;
@@ -3058,6 +556,7 @@
 				GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
 				GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
 				GCC_WARN_UNUSED_PARAMETER = NO;
+				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/macOS\"";
 				MACH_O_TYPE = staticlib;
 				PRODUCT_NAME = MoltenVKGLSLToSPIRVConverter;
 				SDKROOT = macosx;
@@ -3073,6 +572,7 @@
 				GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
 				GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
 				GCC_WARN_UNUSED_PARAMETER = NO;
+				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/macOS\"";
 				MACH_O_TYPE = staticlib;
 				PRODUCT_NAME = MoltenVKGLSLToSPIRVConverter;
 				SDKROOT = macosx;
@@ -3082,18 +582,20 @@
 		A93903BD1C57E9D700FE90DC /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				ARCHS = arm64;
 				BITCODE_GENERATION_MODE = bitcode;
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
 				GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
 				HEADER_SEARCH_PATHS = (
 					"$(inherited)",
+					"\"$(SRCROOT)/SPIRV-Cross\"",
 					"\"$(SRCROOT)/glslang/External/spirv-tools/\"",
 					"\"$(SRCROOT)/glslang/External/spirv-tools/include\"",
 					"\"$(SRCROOT)/glslang/External/spirv-tools/external/spirv-headers/include\"",
 					"\"$(SRCROOT)/glslang/build/External/spirv-tools\"",
 				);
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/iOS\"";
 				MACH_O_TYPE = staticlib;
 				PRODUCT_NAME = MoltenVKSPIRVToMSLConverter;
 				SDKROOT = iphoneos;
@@ -3105,18 +607,20 @@
 		A93903BE1C57E9D700FE90DC /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				ARCHS = arm64;
 				BITCODE_GENERATION_MODE = bitcode;
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
 				GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
 				HEADER_SEARCH_PATHS = (
 					"$(inherited)",
+					"\"$(SRCROOT)/SPIRV-Cross\"",
 					"\"$(SRCROOT)/glslang/External/spirv-tools/\"",
 					"\"$(SRCROOT)/glslang/External/spirv-tools/include\"",
 					"\"$(SRCROOT)/glslang/External/spirv-tools/external/spirv-headers/include\"",
 					"\"$(SRCROOT)/glslang/build/External/spirv-tools\"",
 				);
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/iOS\"";
 				MACH_O_TYPE = staticlib;
 				PRODUCT_NAME = MoltenVKSPIRVToMSLConverter;
 				SDKROOT = iphoneos;
@@ -3132,11 +636,13 @@
 				GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
 				HEADER_SEARCH_PATHS = (
 					"$(inherited)",
+					"\"$(SRCROOT)/SPIRV-Cross\"",
 					"\"$(SRCROOT)/glslang/External/spirv-tools/\"",
 					"\"$(SRCROOT)/glslang/External/spirv-tools/include\"",
 					"\"$(SRCROOT)/glslang/External/spirv-tools/external/spirv-headers/include\"",
 					"\"$(SRCROOT)/glslang/build/External/spirv-tools\"",
 				);
+				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/macOS\"";
 				MACH_O_TYPE = staticlib;
 				PRODUCT_NAME = MoltenVKSPIRVToMSLConverter;
 				SDKROOT = macosx;
@@ -3150,11 +656,13 @@
 				GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
 				HEADER_SEARCH_PATHS = (
 					"$(inherited)",
+					"\"$(SRCROOT)/SPIRV-Cross\"",
 					"\"$(SRCROOT)/glslang/External/spirv-tools/\"",
 					"\"$(SRCROOT)/glslang/External/spirv-tools/include\"",
 					"\"$(SRCROOT)/glslang/External/spirv-tools/external/spirv-headers/include\"",
 					"\"$(SRCROOT)/glslang/build/External/spirv-tools\"",
 				);
+				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/macOS\"";
 				MACH_O_TYPE = staticlib;
 				PRODUCT_NAME = MoltenVKSPIRVToMSLConverter;
 				SDKROOT = macosx;
@@ -3203,9 +711,11 @@
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_PARAMETER = YES;
 				GCC_WARN_UNUSED_VARIABLE = NO;
-				MACOSX_DEPLOYMENT_TARGET = 10.9;
+				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				MACOSX_DEPLOYMENT_TARGET = 10.11;
 				ONLY_ACTIVE_ARCH = YES;
 				SKIP_INSTALL = YES;
+				VALID_ARCHS = x86_64;
 			};
 			name = Debug;
 		};
@@ -3248,9 +758,11 @@
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_PARAMETER = YES;
 				GCC_WARN_UNUSED_VARIABLE = NO;
-				MACOSX_DEPLOYMENT_TARGET = 10.9;
+				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				MACOSX_DEPLOYMENT_TARGET = 10.11;
 				SKIP_INSTALL = YES;
 				VALIDATE_PRODUCT = YES;
+				VALID_ARCHS = x86_64;
 			};
 			name = Release;
 		};
diff --git a/README.md b/README.md
index e90cb15..b211fdc 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@
 MoltenVK
 ========
 
-Copyright (c) 2014-2018 [The Brenwill Workshop Ltd.](http://www.brenwill.com)
+Copyright (c) 2014-2019 [The Brenwill Workshop Ltd.](http://www.brenwill.com)
 
 *This document is written in [Markdown](http://en.wikipedia.org/wiki/Markdown) format. 
 For best results, use a Markdown reader.*
diff --git a/Scripts/package_ext_libs.sh b/Scripts/package_ext_libs.sh
new file mode 100755
index 0000000..4c3e6fa
--- /dev/null
+++ b/Scripts/package_ext_libs.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+set -e
+
+export MVK_EXT_LIB_DST_DIR="External"
+export MVK_EXT_LIB_DST_OS_PATH="${PROJECT_DIR}/${MVK_EXT_LIB_DST_DIR}/build/${MVK_OS}"
+
+rm -rf "${MVK_EXT_LIB_DST_OS_PATH}"
+mkdir -p "${MVK_EXT_LIB_DST_OS_PATH}"
+
+cp -a "${MVK_BUILT_PROD_PATH}/"*.a "${MVK_EXT_LIB_DST_OS_PATH}"
diff --git a/Scripts/package_ext_libs_ios.sh b/Scripts/package_ext_libs_ios.sh
new file mode 100755
index 0000000..4aaced3
--- /dev/null
+++ b/Scripts/package_ext_libs_ios.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+export MVK_OS="iOS"
+export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}-iphoneos"
+
+"${SRCROOT}/Scripts/package_ext_libs.sh"
+
diff --git a/Scripts/package_ext_libs_macos.sh b/Scripts/package_ext_libs_macos.sh
new file mode 100755
index 0000000..fd44591
--- /dev/null
+++ b/Scripts/package_ext_libs_macos.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+export MVK_OS="macOS"
+export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}"
+
+"${SRCROOT}/Scripts/package_ext_libs.sh"
+
diff --git a/fetchDependencies b/fetchDependencies
index 3b87d72..24a451f 100755
--- a/fetchDependencies
+++ b/fetchDependencies
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 #
-# Copyright (c) 2016-2018 The Brenwill Workshop Ltd.
+# Copyright (c) 2016-2019 The Brenwill Workshop Ltd.
 #
 # fetchDependencies - Retrieves the correct versions of all dependencies
 #
@@ -22,17 +22,23 @@
 #              build directory must be in the specified directory.
 #              It should be built the same way this script builds it.
 #
+#      -v      verbose output
 #
 
 
 # ----------------- Functions -------------------
 
+XC_BUILD_VERBOSITY="-quiet"
 V_HEADERS_ROOT=""
 SPIRV_CROSS_ROOT=""
 GLSLANG_ROOT=""
 
 while (( "$#" )); do
   case "$1" in
+       -v)
+         XC_BUILD_VERBOSITY=""
+         shift 1
+         ;;
        --v-headers-root)
          V_HEADERS_ROOT=$2
          shift 2
@@ -89,8 +95,6 @@
 		make -j $(sysctl -n hw.activecpu)
 	fi
 
-	make install
-
 	cd -
 }
 
@@ -98,7 +102,7 @@
 # ----------------- Main -------------------
 
 EXT_DIR=External
-EXT_REV_DIR=ExternalRevisions
+EXT_REV_DIR=../ExternalRevisions
 
 echo
 echo ========== Retrieving MoltenVK dependencies into ${EXT_DIR} ==========
@@ -115,7 +119,7 @@
 
 REPO_NAME=cereal
 REPO_URL="https://github.com/USCiLab/${REPO_NAME}.git"
-REPO_REV=$(cat "../${EXT_REV_DIR}/${REPO_NAME}_repo_revision")
+REPO_REV=$(cat "${EXT_REV_DIR}/${REPO_NAME}_repo_revision")
 
 update_repo ${REPO_NAME} ${REPO_URL} ${REPO_REV}
 
@@ -135,7 +139,7 @@
 else
        REPO_NAME=Vulkan-Headers
        REPO_URL="https://github.com/KhronosGroup/${REPO_NAME}.git"
-       REPO_REV=$(cat "../${EXT_REV_DIR}/${REPO_NAME}_repo_revision")
+       REPO_REV=$(cat "${EXT_REV_DIR}/${REPO_NAME}_repo_revision")
 
        update_repo ${REPO_NAME} ${REPO_URL} ${REPO_REV}
 fi
@@ -156,7 +160,7 @@
 else
        REPO_NAME=SPIRV-Cross
        REPO_URL="https://github.com/KhronosGroup/${REPO_NAME}.git"
-       REPO_REV=$(cat "../${EXT_REV_DIR}/${REPO_NAME}_repo_revision")
+       REPO_REV=$(cat "${EXT_REV_DIR}/${REPO_NAME}_repo_revision")
 
        update_repo ${REPO_NAME} ${REPO_URL} ${REPO_REV}
 fi
@@ -177,7 +181,7 @@
 else
        REPO_NAME=glslang
        REPO_URL="https://github.com/KhronosGroup/${REPO_NAME}.git"
-       REPO_REV=$(cat "../${EXT_REV_DIR}/${REPO_NAME}_repo_revision")
+       REPO_REV=$(cat "${EXT_REV_DIR}/${REPO_NAME}_repo_revision")
 
        update_repo ${REPO_NAME} ${REPO_URL} ${REPO_REV}
 
@@ -185,7 +189,7 @@
        ./update_glslang_sources.py
        cd -
 
-       build_repo ${REPO_NAME}
+       build_repo "${REPO_NAME}/External/spirv-tools"
 fi
 
 
@@ -197,7 +201,7 @@
 
 REPO_NAME=Vulkan-Tools
 REPO_URL="https://github.com/KhronosGroup/${REPO_NAME}.git"
-REPO_REV=$(cat "../${EXT_REV_DIR}/${REPO_NAME}_repo_revision")
+REPO_REV=$(cat "${EXT_REV_DIR}/${REPO_NAME}_repo_revision")
 
 update_repo ${REPO_NAME} ${REPO_URL} ${REPO_REV}
 
@@ -210,7 +214,7 @@
 
 REPO_NAME=VulkanSamples
 REPO_URL="https://github.com/LunarG/${REPO_NAME}.git"
-REPO_REV=$(cat "../${EXT_REV_DIR}/${REPO_NAME}_repo_revision")
+REPO_REV=$(cat "${EXT_REV_DIR}/${REPO_NAME}_repo_revision")
 
 update_repo ${REPO_NAME} ${REPO_URL} ${REPO_REV}
 
@@ -225,3 +229,20 @@
 
 cd ..
 
+
+# -------------- Build MoltenVK dependencies -----------------
+echo
+echo ========== Building dependency libraries quietly. Please be patient on first build. ==========
+echo
+
+EXT_DEPS=ExternalDependencies
+
+xcodebuild 									\
+	-project "${EXT_DEPS}.xcodeproj"		\
+	-scheme "${EXT_DEPS}"					\
+	-derivedDataPath "${EXT_DIR}/build"		\
+	${XC_BUILD_VERBOSITY}					\
+	build
+
+echo ========== Done! ==========
+