diff --git a/SUBMODULE_VERSIONS b/SUBMODULE_VERSIONS
index bb781a6..e627918 100644
--- a/SUBMODULE_VERSIONS
+++ b/SUBMODULE_VERSIONS
@@ -4,7 +4,7 @@
 a5d9d0f7d368054fd1691aedf1db4116efcc233e third_party/flatbuffers
 4fb0ff7069bd88ee85902f4d0bb62794e5f6d021 third_party/flatcc
 f2fb48c3b3d79a75a88a99fba6576b25d42ec528 third_party/googletest
-009cd4e491033f57f547a7bda63e35b50a6e5cf7 third_party/llvm-project
+7841e21c98495ba5e33e0d2507d985bd5b938445 third_party/llvm-project
 17b12a4481daa150e2d1ea3ada086b551b856707 third_party/marl
 560cd8c94495409cbeacb31c0b907b5068adc45b third_party/mlir-emitc
 d8c7ee00a687ac369e62e2032514a93a9b413502 third_party/pybind11
@@ -12,7 +12,7 @@
 a1390ed39ec77ecfb574bc6fcd5bfc5e3adbdea9 third_party/sdl2
 f8bf11a0253a32375c32cad92c841237b96696c0 third_party/spirv_headers
 57eb48aed36160c4876bc8310d9ca84d42ee9e2a third_party/swiftshader
-ef9971b6d7a1bba53a8d067c6fa092a998892b29 third_party/tensorflow
+86b67b8c829a5a5c61af396ce20ae60e63d9514a third_party/tensorflow
 864d86e8b6d21449474db5e9313dbff90aa9c24f third_party/tracy
 9bd3f561bcee3f01d22912de10bb07ce4e23d378 third_party/vulkan_headers
 909f36b714c9239ee0b112a321220213a474ba53 third_party/vulkan_memory_allocator
diff --git a/build_tools/bazel/third_party_import/llvm-project/overlay/llvm/BUILD.bazel b/build_tools/bazel/third_party_import/llvm-project/overlay/llvm/BUILD.bazel
index 314a81c..c8f1c08 100644
--- a/build_tools/bazel/third_party_import/llvm-project/overlay/llvm/BUILD.bazel
+++ b/build_tools/bazel/third_party_import/llvm-project/overlay/llvm/BUILD.bazel
@@ -548,6 +548,8 @@
             ("-gen-callingconv", "lib/Target/PowerPC/PPCGenCallingConv.inc"),
             ("-gen-subtarget", "lib/Target/PowerPC/PPCGenSubtargetInfo.inc"),
             ("-gen-disassembler", "lib/Target/PowerPC/PPCGenDisassemblerTables.inc"),
+            ("-gen-register-bank", "lib/Target/PowerPC/PPCGenRegisterBank.inc"),
+            ("-gen-global-isel", "lib/Target/PowerPC/PPCGenGlobalISel.inc"),
         ],
     },
     {
@@ -650,6 +652,7 @@
         ":common_target_td_sources",
     ] + glob([
         "lib/Target/" + target["dir_name"] + "/*.td",
+        "lib/Target/" + target["name"] + "/GISel/*.td",
     ]),
     deps = target.get("tbl_deps", []),
 ) for target in llvm_target_list]
@@ -3383,6 +3386,7 @@
         "lib/Target/PowerPC/*.c",
         "lib/Target/PowerPC/*.cpp",
         "lib/Target/PowerPC/*.inc",
+        "lib/Target/PowerPC/GISel/*.cpp",
     ]),
     hdrs = glob([
         "include/llvm/Target/PowerPC/*.h",
@@ -3396,6 +3400,7 @@
         ":AsmPrinter",
         ":CodeGen",
         ":Core",
+        ":GlobalISel",
         ":MC",
         ":PowerPCDesc",
         ":PowerPCInfo",
diff --git a/build_tools/bazel/third_party_import/llvm-project/overlay/mlir/BUILD.bazel b/build_tools/bazel/third_party_import/llvm-project/overlay/mlir/BUILD.bazel
index 1f6d5e7..1834744 100644
--- a/build_tools/bazel/third_party_import/llvm-project/overlay/mlir/BUILD.bazel
+++ b/build_tools/bazel/third_party_import/llvm-project/overlay/mlir/BUILD.bazel
@@ -982,7 +982,6 @@
     ],
     includes = ["include"],
     deps = [
-        ":Analysis",
         ":IR",
         ":ParserTokenKinds",
         ":Support",
@@ -2682,6 +2681,7 @@
         ":Affine",
         ":CallOpInterfaces",
         ":IR",
+        ":LinalgOps",
         ":SCFDialect",
         ":StandardOps",
         ":Support",
@@ -3923,6 +3923,7 @@
         "include/mlir/Interfaces/CallInterfaces.td",
         "include/mlir/Interfaces/ControlFlowInterfaces.h",
         "include/mlir/Interfaces/ControlFlowInterfaces.td",
+        "include/mlir/Interfaces/CopyOpInterface.td",
         "include/mlir/Interfaces/SideEffectInterfaces.td",
         "include/mlir/Interfaces/VectorInterfaces.td",
         "include/mlir/Interfaces/ViewLikeInterface.td",
diff --git a/build_tools/bazel/third_party_import/llvm-project/overlay/mlir/test/BUILD.bazel b/build_tools/bazel/third_party_import/llvm-project/overlay/mlir/test/BUILD.bazel
index 2ed9496..eab6f3f 100644
--- a/build_tools/bazel/third_party_import/llvm-project/overlay/mlir/test/BUILD.bazel
+++ b/build_tools/bazel/third_party_import/llvm-project/overlay/mlir/test/BUILD.bazel
@@ -129,13 +129,16 @@
         "lib/IR/TestPrintDefUse.cpp",
         "lib/IR/TestPrintNesting.cpp",
         "lib/IR/TestSideEffects.cpp",
+        "lib/IR/TestSlicing.cpp",
         "lib/IR/TestSymbolUses.cpp",
         "lib/IR/TestTypes.cpp",
     ],
     deps = [
         ":TestDialect",
         "@llvm-project//llvm:Support",
+        "@llvm-project//mlir:Analysis",
         "@llvm-project//mlir:IR",
+        "@llvm-project//mlir:LinalgOps",
         "@llvm-project//mlir:Pass",
         "@llvm-project//mlir:StandardOps",
         "@llvm-project//mlir:Support",
diff --git a/build_tools/docker/manage_images.py b/build_tools/docker/manage_images.py
index 8b9045a..9e7b7e3 100755
--- a/build_tools/docker/manage_images.py
+++ b/build_tools/docker/manage_images.py
@@ -31,7 +31,8 @@
   python3 build_tools/docker/manage_images.py --push --tag prod --images all
 
 Rebuild and push all images and update references to them in the repository:
-  python3 build_tools/docker/manage_images.py --push --images all --update-references
+  python3 build_tools/docker/manage_images.py --push --images all
+  --update-references
 """
 
 import argparse
@@ -73,12 +74,13 @@
   """Parses command-line options."""
   parser = argparse.ArgumentParser(
       description="Build IREE's Docker images and optionally push them to GCR.")
-  parser.add_argument('--images',
-                      '--image',
-                      type=str,
-                      required=True,
-                      action='append',
-                      help=f'Name of the image to build: {IMAGES_HELP}.')
+  parser.add_argument(
+      '--images',
+      '--image',
+      type=str,
+      required=True,
+      action='append',
+      help=f'Name of the image to build: {IMAGES_HELP}.')
   parser.add_argument(
       '--tag',
       type=str,
@@ -86,12 +88,14 @@
       help='Tag for the images to build. Defaults to `latest` (which is good '
       'for testing changes in a PR). Use `prod` to update the images that the '
       'CI caches.')
-  parser.add_argument('--pull',
-                      action='store_true',
-                      help='Pull the specified image before building.')
-  parser.add_argument('--build',
-                      action='store_true',
-                      help='Build new images from the current Dockerfiles.')
+  parser.add_argument(
+      '--pull',
+      action='store_true',
+      help='Pull the specified image before building.')
+  parser.add_argument(
+      '--build',
+      action='store_true',
+      help='Build new images from the current Dockerfiles.')
   parser.add_argument(
       '--push',
       action='store_true',
@@ -146,11 +150,12 @@
   print(f'Running: `{" ".join(command)}`')
   if dry_run:
     return 0
-  process = subprocess.Popen(command,
-                             bufsize=1,
-                             stderr=subprocess.STDOUT,
-                             stdout=subprocess.PIPE,
-                             universal_newlines=True)
+  process = subprocess.Popen(
+      command,
+      bufsize=1,
+      stderr=subprocess.STDOUT,
+      stdout=subprocess.PIPE,
+      universal_newlines=True)
   for line in process.stdout:
     print(line, end='')
 
@@ -175,11 +180,12 @@
       '-f',
       '{{index .RepoDigests 0}}',
   ]
-  inspect_process = subprocess.run(inspect_command,
-                                   universal_newlines=True,
-                                   stdout=subprocess.PIPE,
-                                   stderr=subprocess.PIPE,
-                                   timeout=10)
+  inspect_process = subprocess.run(
+      inspect_command,
+      universal_newlines=True,
+      stdout=subprocess.PIPE,
+      stderr=subprocess.PIPE,
+      timeout=10)
   if inspect_process.returncode != 0:
     print(f'Computing the repository digest for {image} failed.'
           ' Has it been pushed to GCR?')
@@ -204,11 +210,12 @@
   print(f'Updating references to {image_name}')
 
   grep_command = ['git', 'grep', '-l', f'{image_name}@sha256']
-  grep_process = subprocess.run(grep_command,
-                                stdout=subprocess.PIPE,
-                                stderr=subprocess.PIPE,
-                                timeout=5,
-                                universal_newlines=True)
+  grep_process = subprocess.run(
+      grep_command,
+      stdout=subprocess.PIPE,
+      stderr=subprocess.PIPE,
+      timeout=5,
+      universal_newlines=True)
   if grep_process.returncode > 1:
     print(f'{" ".join(grep_command)} '
           f'failed with exit code {grep_process.returncode}')
@@ -220,9 +227,10 @@
   files = grep_process.stdout.split()
   print(f'Updating references in {len(files)} files: {files}')
   for line in fileinput.input(files=files, inplace=(not dry_run)):
-    print(re.sub(f'{image_name}@sha256:[a-zA-Z0-9]+', f'{image_name}@{digest}',
-                 line),
-          end='')
+    print(
+        re.sub(f'{image_name}@sha256:[a-zA-Z0-9]+', f'{image_name}@{digest}',
+               line),
+        end='')
 
 
 if __name__ == '__main__':
diff --git a/build_tools/third_party/tensorflow/tensorflow/compiler/mlir/hlo/CMakeLists.txt b/build_tools/third_party/tensorflow/tensorflow/compiler/mlir/hlo/CMakeLists.txt
index c6d0125..917a486 100644
--- a/build_tools/third_party/tensorflow/tensorflow/compiler/mlir/hlo/CMakeLists.txt
+++ b/build_tools/third_party/tensorflow/tensorflow/compiler/mlir/hlo/CMakeLists.txt
@@ -85,6 +85,7 @@
     MLIRTransformUtils
     MLIRViewLikeInterface
     tensorflow_mlir_hlo_chlo_ops_gen
+    tensorflow_mlir_hlo_chlo_legalize_to_hlo_inc_gen
     tensorflow_mlir_hlo_hlo_ops_base_gen
     tensorflow_mlir_hlo_hlo_ops_gen
     tensorflow_mlir_hlo_hlo_ops_pattern_gen
@@ -239,3 +240,18 @@
   OUTS
     -gen-rewriters lib/Dialect/mhlo/transforms/generated_lower_complex.inc
 )
+
+external_tablegen_library(
+  PACKAGE
+    tensorflow
+  NAME
+    mlir_hlo_chlo_legalize_to_hlo_inc_gen
+  TBLGEN
+    MLIR
+  ROOT
+    ${TF_MLIR_HLO_SRC_ROOT}
+  SRCS
+    "lib/Dialect/mhlo/transforms/chlo_legalize_to_hlo_patterns.td"
+  OUTS
+    -gen-rewriters lib/Dialect/mhlo/transforms/generated_chlo_legalize_to_hlo.inc
+)
diff --git a/docs/design_docs/metal_hal_driver.md b/docs/design_docs/metal_hal_driver.md
index 5efb9d6..0729d9a 100644
--- a/docs/design_docs/metal_hal_driver.md
+++ b/docs/design_docs/metal_hal_driver.md
@@ -130,10 +130,10 @@
 
 At the moment the Metal HAL driver just has a very simple
 [`hal::Allocator`][hal-allocator] implementation. It just wraps a `MTLDevice`
-and redirects all allocation requests to the `MTLDevice`. No page/pool/slab
-or whatever. This is only meant to get started. In the future we should have
-a better memory allocation library, probably by layering the [Vulkan
-Memory Allocator][vma] on top of [`MTLHeap`][mtl-heap].
+and redirects all allocation requests to the `MTLDevice`. No page/pool/slab or
+whatever. This is only meant to get started. In the future we should have a
+better memory allocation library, probably by layering the
+[Vulkan Memory Allocator][vma] on top of [`MTLHeap`][mtl-heap].
 
 ### Buffer
 
@@ -146,33 +146,32 @@
 
 Metal provides four [`MTLStorageMode`][mtl-storage-mode] options:
 
-* `MTLStorageModeShared`: The resource is stored in system memory and is
-  accessible to both the CPU and the GPU.
-* `MTLStorageModeManaged`: The CPU and GPU may maintain separate copies of the
-  resource, and any changes must be explicitly synchronized.
-* `MTLStorageModePrivate`: The resource can be accessed only by the GPU.
-* `MTLStorageMemoryless`: The resource’s contents can be accessed only by the
-  GPU and only exist temporarily during a render pass.
+*   `MTLStorageModeShared`: The resource is stored in system memory and is
+    accessible to both the CPU and the GPU.
+*   `MTLStorageModeManaged`: The CPU and GPU may maintain separate copies of the
+    resource, and any changes must be explicitly synchronized.
+*   `MTLStorageModePrivate`: The resource can be accessed only by the GPU.
+*   `MTLStorageMemoryless`: The resource’s contents can be accessed only by the
+    GPU and only exist temporarily during a render pass.
 
 Among them, `MTLStorageModeManaged` is only available on macOS.
 
 IREE HAL defines serveral [`MemoryType`][hal-buffer]. They need to map to the
 above storage modes:
 
-* If `kDeviceLocal` but not `kHostVisible`, `MTLStorageModePrivate` is chosen.
-* If `kDeviceLocal` and `kHostVisible`:
-  * If macOS, `MTLStorageModeManaged` can be chosen.
-  * Otherwise, `MTLStorageModeShared` is chosen.
-* If not `DeviceLocal` but `kDeviceVisible`, `MTLStorageModeShared` is chosen.
-* If not `kDeviceLocal` and not `kDeviceVisible`, `MTLStorageModeShared` is
-  chosen. (TODO: We should probably use host buffer here.)
+*   If `kDeviceLocal` but not `kHostVisible`, `MTLStorageModePrivate` is chosen.
+*   If `kDeviceLocal` and `kHostVisible`:
+    *   If macOS, `MTLStorageModeManaged` can be chosen.
+    *   Otherwise, `MTLStorageModeShared` is chosen.
+*   If not `DeviceLocal` but `kDeviceVisible`, `MTLStorageModeShared` is chosen.
+*   If not `kDeviceLocal` and not `kDeviceVisible`, `MTLStorageModeShared` is
+    chosen. (TODO: We should probably use host buffer here.)
 
 IREE HAL also allows to create buffers with `kHostCoherent` bit. This may still
 be backed by `MTLStorageModeManaged` `MTLBuffer`s in macOS. To respect the
 `kHostCoherent` protocol, the Metal HAL driver will perform necessary
 `InValidate`/`Flush` operations automatically under the hood.
 
-
 [macos-version-share]: https://gs.statcounter.com/macos-version-market-share/desktop/worldwide
 [ios-version-share]: https://developer.apple.com/support/app-store/
 [iree-hal]: https://github.com/google/iree/tree/main/iree/hal
diff --git a/integrations/tensorflow/e2e/bool_test.py b/integrations/tensorflow/e2e/bool_test.py
index 674657f..161f6ad 100644
--- a/integrations/tensorflow/e2e/bool_test.py
+++ b/integrations/tensorflow/e2e/bool_test.py
@@ -39,6 +39,7 @@
 
 @tf_test_utils.compile_module(MathModule)
 class BooleanTest(tf_test_utils.TracedModuleTestCase):
+
   def test_constant(self):
 
     def constant(module):
diff --git a/third_party/llvm-project b/third_party/llvm-project
index 009cd4e..7841e21 160000
--- a/third_party/llvm-project
+++ b/third_party/llvm-project
@@ -1 +1 @@
-Subproject commit 009cd4e491033f57f547a7bda63e35b50a6e5cf7
+Subproject commit 7841e21c98495ba5e33e0d2507d985bd5b938445
diff --git a/third_party/tensorflow b/third_party/tensorflow
index ef9971b..86b67b8 160000
--- a/third_party/tensorflow
+++ b/third_party/tensorflow
@@ -1 +1 @@
-Subproject commit ef9971b6d7a1bba53a8d067c6fa092a998892b29
+Subproject commit 86b67b8c829a5a5c61af396ce20ae60e63d9514a
