Integrate LLVM at llvm/llvm-project@abfac56 (#16710)

diff --git a/compiler/src/iree/compiler/API/Internal/CompilerDriver.cpp b/compiler/src/iree/compiler/API/Internal/CompilerDriver.cpp
index c56baae..26beb37 100644
--- a/compiler/src/iree/compiler/API/Internal/CompilerDriver.cpp
+++ b/compiler/src/iree/compiler/API/Internal/CompilerDriver.cpp
@@ -214,7 +214,7 @@
   // Reference count of balanced calls to ireeCompilerGlobalInitialize
   // and ireeCompilerGlobalShutdown. Upon reaching zero, must be deleted.
   std::atomic<int> refCount{1};
-  llvm::ThreadPool threadPool;
+  llvm::DefaultThreadPool threadPool;
   llvm::BumpPtrAllocator alloc;
   mlir::DialectRegistry registry;
   PluginManager pluginManager;
diff --git a/compiler/src/iree/compiler/Dialect/Flow/Transforms/RegionOpUtils.cpp b/compiler/src/iree/compiler/Dialect/Flow/Transforms/RegionOpUtils.cpp
index a130997..a2ca29b 100644
--- a/compiler/src/iree/compiler/Dialect/Flow/Transforms/RegionOpUtils.cpp
+++ b/compiler/src/iree/compiler/Dialect/Flow/Transforms/RegionOpUtils.cpp
@@ -451,7 +451,7 @@
       }
     }
 
-    rewriter.replaceOpWithinBlock(target, clonedTarget->getResults(), &body);
+    rewriter.replaceUsesWithinBlock(target, clonedTarget->getResults(), &body);
   }
 
   FailureOr<IREE::Flow::DispatchRegionOp> newRegionOp =
diff --git a/third_party/llvm-project b/third_party/llvm-project
index c54064d..3d50e75 160000
--- a/third_party/llvm-project
+++ b/third_party/llvm-project
@@ -1 +1 @@
-Subproject commit c54064de80e93494d1d44550b56ce8f2f3cf9c4b
+Subproject commit 3d50e75db58dfd2ef6c35a588ed4e5b03ce53efa