Merge google -> main (#7667)

* bb1e2a751 Synchronize submodules with LLVM at llvm/llvm-project@8909dc5ebe8a
* 206b858d2 Run bazel_to_cmake on iree/compiler/Codegen/Common/.
* e3e22e769 Merge pull request #7664 from GMNGeoffrey:main-to-google
* d4725075d Integrate LLVM at llvm/llvm-project@8909dc5ebe8a
* 1c01a25cf Integrate LLVM at llvm/llvm-project@4602f52d482c
* cae7b77d2 Migrate android.support.annotation.NonNull to androidx.
* a4cd45079 Integrate LLVM at llvm/llvm-project@f46f93b47863
* 9685f4c90 Integrate LLVM at llvm/llvm-project@1d7fdbbc183a
* 5446edced Integrate LLVM at llvm/llvm-project@42102bce98e5
diff --git a/SUBMODULE_VERSIONS.txt b/SUBMODULE_VERSIONS.txt
index ae1b58c..91c5307 100644
--- a/SUBMODULE_VERSIONS.txt
+++ b/SUBMODULE_VERSIONS.txt
@@ -4,14 +4,14 @@
 aa533abfd4232b01f9e57041d70114d5a77e6de0 third_party/googletest
 88b845dee001723c4a0db1fe5477de735b6d3bb0 third_party/liburing
 acd6f6f014c25e46363e718381e0b35205df2d83 third_party/libyaml
-d56b171ee965eba9ba30f4a479a9f2e1703105cf third_party/llvm-project
-8da3bbca81d68c78ecf3eb3175119a7edd87a5a3 third_party/mlir-hlo
+8909dc5ebe8ad39f1743131eb70df402d796acab third_party/llvm-project
+504420bb1fcfd135ba364c9d251103a75923a93f third_party/mlir-hlo
 3f701faace7addc75d16dea8a6cd769fa5b3f260 third_party/musl
 4c7697dbe973ed01ae6fbec37d186ebd05982e1f third_party/pybind11
 2e1b5fb39ebc2ef4cb77005f8267e4f3a6241ba1 third_party/spirv_cross
 f5417a4b6633c3217c9a1bc2f0c70b1454975ba7 third_party/spirv_headers
 b42009b3b9d4ca35bc703f5310eedc74f584be58 third_party/stblib
-0f988beb4dd1de295e38d07dad68e0742d7578e6 third_party/tensorflow
+e7ad15b7a8a028efc4666f246506efe5c09d473b third_party/tensorflow
 058e89011fceca912d43638ebb6b85992147fcfe third_party/tracy
 9d10a96f2d57c3c37e167f2e73c9a31ac2e51fa5 third_party/vulkan_headers
 8d4a9e9174a9c6ad6a3a3ae981b915ef13fc12c4 third_party/vulkan_memory_allocator
diff --git a/bindings/tflite/java/org/tensorflow/lite/Interpreter.java b/bindings/tflite/java/org/tensorflow/lite/Interpreter.java
index 4500939..80c0b05 100644
--- a/bindings/tflite/java/org/tensorflow/lite/Interpreter.java
+++ b/bindings/tflite/java/org/tensorflow/lite/Interpreter.java
@@ -8,7 +8,7 @@
 
 package org.tensorflow.lite;
 
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
 import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.util.HashMap;
diff --git a/iree/compiler/Codegen/Common/BUILD b/iree/compiler/Codegen/Common/BUILD
index c0e47c6..f0403b5 100644
--- a/iree/compiler/Codegen/Common/BUILD
+++ b/iree/compiler/Codegen/Common/BUILD
@@ -76,6 +76,7 @@
         "@llvm-project//mlir:IR",
         "@llvm-project//mlir:LLVMCommonConversion",
         "@llvm-project//mlir:LLVMDialect",
+        "@llvm-project//mlir:LinalgBufferizableOpInterfaceImpl",
         "@llvm-project//mlir:LinalgInterfaces",
         "@llvm-project//mlir:LinalgOps",
         "@llvm-project//mlir:LinalgTransforms",
diff --git a/iree/compiler/Codegen/Common/CMakeLists.txt b/iree/compiler/Codegen/Common/CMakeLists.txt
index 76da0a9..c7757e5 100644
--- a/iree/compiler/Codegen/Common/CMakeLists.txt
+++ b/iree/compiler/Codegen/Common/CMakeLists.txt
@@ -55,6 +55,7 @@
     MLIRLLVMCommonConversion
     MLIRLLVMIR
     MLIRLinalg
+    MLIRLinalgBufferizableOpInterfaceImpl
     MLIRLinalgTransforms
     MLIRMemRef
     MLIRMemRefTransforms
diff --git a/iree/compiler/Codegen/Common/IREEComprehensiveBufferizePass.cpp b/iree/compiler/Codegen/Common/IREEComprehensiveBufferizePass.cpp
index f50c68c..4a79629 100644
--- a/iree/compiler/Codegen/Common/IREEComprehensiveBufferizePass.cpp
+++ b/iree/compiler/Codegen/Common/IREEComprehensiveBufferizePass.cpp
@@ -31,6 +31,7 @@
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
 #include "mlir/Dialect/Linalg/ComprehensiveBufferize/BufferizableOpInterface.h"
 #include "mlir/Dialect/Linalg/ComprehensiveBufferize/ComprehensiveBufferize.h"
+#include "mlir/Dialect/Linalg/ComprehensiveBufferize/LinalgInterfaceImpl.h"
 #include "mlir/Dialect/Linalg/IR/LinalgOps.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
 #include "mlir/Dialect/MemRef/Transforms/Passes.h"
@@ -87,7 +88,10 @@
                     vector::VectorDialect, AffineDialect>();
     linalg::comprehensive_bufferize::
         registerBufferizableOpInterfaceExternalModels(registry);
+    linalg::comprehensive_bufferize::linalg_ext::
+        registerBufferizableOpInterfaceExternalModels(registry);
   }
+
   void runOnOperation() override;
 
  private:
diff --git a/llvm-external-projects/iree-dialects/BUILD b/llvm-external-projects/iree-dialects/BUILD
index f2c7ea6..714ce50 100644
--- a/llvm-external-projects/iree-dialects/BUILD
+++ b/llvm-external-projects/iree-dialects/BUILD
@@ -284,6 +284,7 @@
         ":IREELinalgExtTransformsIncGen",
         "@llvm-project//llvm:Support",
         "@llvm-project//mlir:Affine",
+        "@llvm-project//mlir:ControlFlowInterfaces",
         "@llvm-project//mlir:DialectUtils",
         "@llvm-project//mlir:IR",
         "@llvm-project//mlir:LinalgOps",
diff --git a/third_party/llvm-project b/third_party/llvm-project
index d56b171..8909dc5 160000
--- a/third_party/llvm-project
+++ b/third_party/llvm-project
@@ -1 +1 @@
-Subproject commit d56b171ee965eba9ba30f4a479a9f2e1703105cf
+Subproject commit 8909dc5ebe8ad39f1743131eb70df402d796acab
diff --git a/third_party/mlir-hlo b/third_party/mlir-hlo
index 8da3bbc..504420b 160000
--- a/third_party/mlir-hlo
+++ b/third_party/mlir-hlo
@@ -1 +1 @@
-Subproject commit 8da3bbca81d68c78ecf3eb3175119a7edd87a5a3
+Subproject commit 504420bb1fcfd135ba364c9d251103a75923a93f
diff --git a/third_party/tensorflow b/third_party/tensorflow
index 0f988be..e7ad15b 160000
--- a/third_party/tensorflow
+++ b/third_party/tensorflow
@@ -1 +1 @@
-Subproject commit 0f988beb4dd1de295e38d07dad68e0742d7578e6
+Subproject commit e7ad15b7a8a028efc4666f246506efe5c09d473b