Update LLVM submodule and build files.

Generated via

```
$ python3 ./scripts/git/update_tf_llvm_submodules.py --update_build_files --tensorflow_commit=KEEP
```

And a manual fix-up reverting `"@zlib",` back to `"@zlib_archive//:zlib",`.

TF submodule update seems to require some changes to our Bazel configuration, such as bumping the version of Bazel (https://github.com/google/iree/pull/755) and possibly updating some parts of `WORKSPACE` and `.bazelrc`.

TensorFlow targets (`//integrations/tensorflow/compiler:iree-tf-opt`, `//integrations/tensorflow/compiler/dialect/tf_tensorlist/ir:ir`, etc.) are still broken.

Closes https://github.com/google/iree/pull/830

PiperOrigin-RevId: 296953534
diff --git a/SUBMODULE_VERSIONS b/SUBMODULE_VERSIONS
index 8ef9035..44c6334 100644
--- a/SUBMODULE_VERSIONS
+++ b/SUBMODULE_VERSIONS
@@ -6,7 +6,7 @@
 48233ad3d45b314a83474b3704ae09638e3e2621 third_party/glslang
 495ced98de99a5895e484b2e09771edb42d3c7ab third_party/google_tracing_framework
 f2fb48c3b3d79a75a88a99fba6576b25d42ec528 third_party/googletest
-5feb80e748924606531ba28c97fe65145c65372e third_party/llvm-project
+78be61871704a451a5d9462d7e96ed6c982746d4 third_party/llvm-project
 80d452484c5409444b0ec19383faa84bb7a4d351 third_party/pybind11
 b73f111094da3e380a1774b56b15f16c90ae8e23 third_party/sdl2
 b252a50953ac4375cb1864e94f4b0234db9d215d third_party/spirv_headers
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 8c53968..adfd959 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
@@ -739,6 +739,7 @@
         ":intrinsic_enums_gen",
         ":intrinsics_impl_gen",
         ":mc",
+        ":object",
         ":support",
     ],
 )
@@ -1155,6 +1156,7 @@
         ":intrinsics_impl_gen",
         ":mc",
         ":mc_disassembler",
+        ":object",
         ":support",
     ],
 )
@@ -1889,6 +1891,7 @@
     copts = llvm_copts,
     deps = [
         ":config",
+        ":debug_info_dwarf",
         ":mc",
         ":support",
     ],
@@ -3198,6 +3201,7 @@
         ":code_gen",
         ":config",
         ":core",
+        ":coroutines",
         ":inst_combine",
         ":instrumentation",
         ":ipo",
@@ -3284,6 +3288,7 @@
         ":intrinsic_enums_gen",
         ":intrinsics_impl_gen",
         ":mc",
+        ":object",
         ":powerpc_info",
         ":powerpc_target_gen",
         ":support",
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 e012def..c203330 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
@@ -81,15 +81,14 @@
     ]),
     hdrs = glob([
         "include/mlir/Pass/*.h",
-    ]) + [
-        "include/mlir/Analysis/Verifier.h",
-    ],
+    ]),
     includes = ["include"],
     linkopts = [
         "-lm",
         "-lpthread",
     ],
     deps = [
+        ":Analysis",
         ":IR",
         ":Support",
         "@llvm-project//llvm:support",
@@ -198,6 +197,21 @@
     ],
 )
 
+cc_library(
+    name = "LoopOpsTransforms",
+    srcs = ["lib/Dialect/LoopOps/Transforms/ParallelLoopFusion.cpp"],
+    hdrs = ["include/mlir/Dialect/LoopOps/Passes.h"],
+    includes = ["include"],
+    deps = [
+        ":IR",
+        ":LoopOps",
+        ":Pass",
+        ":StandardOps",
+        ":Transforms",
+    ],
+    alwayslink = 1,
+)
+
 filegroup(
     name = "StdOpsTdFiles",
     srcs = [
@@ -667,6 +681,26 @@
 )
 
 cc_library(
+    name = "GPUToVulkanTransforms",
+    srcs = [
+        "lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp",
+    ],
+    hdrs = ["include/mlir/Conversion/GPUToVulkan/ConvertGPUToVulkanPass.h"],
+    includes = ["include"],
+    deps = [
+        ":GPUDialect",
+        ":IR",
+        ":LLVMDialect",
+        ":Pass",
+        ":SPIRVDialect",
+        ":SPIRVSerialization",
+        ":StandardOps",
+        ":Support",
+        "@llvm-project//llvm:support",
+    ],
+)
+
+cc_library(
     name = "GPUToCUDATransforms",
     srcs = [
         "lib/Conversion/GPUToCUDA/ConvertKernelFuncToCubin.cpp",
@@ -681,8 +715,8 @@
         ":Pass",
         ":Support",
         ":TargetNVVMIR",
-        "@llvm-project//llvm:all_targets",
         "@llvm-project//llvm:core",
+        "@llvm-project//llvm:nvptx_code_gen",
         "@llvm-project//llvm:support",
         "@llvm-project//llvm:target",
     ],
@@ -733,30 +767,6 @@
     ],
 )
 
-cc_library(
-    name = "GPUToVulkanTransforms",
-    srcs = [
-        "lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp",
-    ],
-    hdrs = [
-        "include/mlir/Conversion/GPUToVulkan/ConvertGPUToVulkanPass.h",
-    ],
-    includes = [
-        "include",
-    ],
-    deps = [
-        ":GPUDialect",
-        ":IR",
-        ":LLVMDialect",
-        ":Pass",
-        ":SPIRVDialect",
-        ":StandardOps",
-        ":Support",
-        ":Transforms",
-        ":Translation",
-    ],
-)
-
 gentbl(
     name = "LLVMOpsIncGen",
     strip_include_prefix = "include",
@@ -1340,8 +1350,8 @@
         ":AffineToStandardTransforms",
         ":GPUDialect",
         ":IR",
-        ":LinalgTransforms",
         ":LoopOps",
+        ":Pass",
         ":StandardOps",
         ":Support",
         ":TransformUtils",
@@ -1481,7 +1491,6 @@
         ":IR",
         ":InferTypeOpInterfaceIncGen",
         ":LoopOps",
-        ":Pass",
         ":StandardOps",
         ":Support",
         "@llvm-project//llvm:support",
@@ -1664,13 +1673,13 @@
         ":GPUToNVVMTransforms",
         ":GPUToROCDLTransforms",
         ":GPUToSPIRVTransforms",
-        ":GPUToVulkanTransforms",
         ":GPUTransforms",
         ":IR",
         ":LLVMDialect",
         ":LLVMTransforms",
         ":LinalgToLLVM",
         ":LinalgToSPIRV",
+        ":LoopOpsTransforms",
         ":NVVMDialect",
         ":Parser",
         ":Pass",
@@ -1684,6 +1693,7 @@
         "@llvm-project//mlir/test:TestDialect",
         "@llvm-project//mlir/test:TestIR",
         "@llvm-project//mlir/test:TestPass",
+        "@llvm-project//mlir/test:TestSPIRV",
         "@llvm-project//mlir/test:TestTransforms",
     ],
 )
@@ -1734,6 +1744,7 @@
         "include/mlir/InitAllDialects.h",
         "include/mlir/InitAllPasses.h",
     ],
+    defines = ["MLIR_CUDA_CONVERSIONS_ENABLED"],
     deps = [
         ":AffineOps",
         ":Analysis",
@@ -1752,6 +1763,7 @@
         ":LinalgToSPIRV",
         ":LinalgTransforms",
         ":LoopOps",
+        ":LoopOpsTransforms",
         ":LoopsToGPUPass",
         ":NVVMDialect",
         ":OpenMPDialect",
@@ -1809,6 +1821,7 @@
         "@llvm-project//mlir/test:TestDialect",
         "@llvm-project//mlir/test:TestIR",
         "@llvm-project//mlir/test:TestPass",
+        "@llvm-project//mlir/test:TestSPIRV",
         "@llvm-project//mlir/test:TestTransforms",
     ],
 )
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 31b2f28..d156b1e 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
@@ -141,7 +141,6 @@
     name = "TestTransforms",
     srcs = glob([
         "lib/Transforms/*.cpp",
-        "Dialect/SPIRV/TestAvailability.cpp",
     ]),
     includes = ["lib/TestDialect"],
     deps = [
@@ -169,3 +168,16 @@
         "@llvm-project//mlir:VectorToLoops",
     ],
 )
+
+cc_library(
+    name = "TestSPIRV",
+    srcs = glob([
+        "Dialect/SPIRV/*.cpp",
+    ]),
+    deps = [
+        "@llvm-project//mlir:IR",
+        "@llvm-project//mlir:Pass",
+        "@llvm-project//mlir:SPIRVDialect",
+        "@llvm-project//mlir:SPIRVLowering",
+    ],
+)
diff --git a/third_party/llvm-project b/third_party/llvm-project
index 5feb80e..78be618 160000
--- a/third_party/llvm-project
+++ b/third_party/llvm-project
@@ -1 +1 @@
-Subproject commit 5feb80e748924606531ba28c97fe65145c65372e
+Subproject commit 78be61871704a451a5d9462d7e96ed6c982746d4