Merge pull request #3533

d9d1dd6 Synchronize submodules
298c725 Integrate TF at tensorflow/tensorflow@2d6bdab
503b47a Merge pull request #3526 from rsuderman:main-to-google
5dde072 Synchronize submodules
cea398a Integrate TF at tensorflow/tensorflow@de10689
0a32dad Synchronize submodules
21bdab3 Integrate LLVM at llvm/llvm-project@f402e68
06daf26 Add folder for mhlo::pad
05c8e7c Synchronize submodules
8f24911 Integrate LLVM at llvm/llvm-project@b740899
diff --git a/SUBMODULE_VERSIONS b/SUBMODULE_VERSIONS
index 2aac894..e9e0de9 100644
--- a/SUBMODULE_VERSIONS
+++ b/SUBMODULE_VERSIONS
@@ -5,7 +5,7 @@
 a5d9d0f7d368054fd1691aedf1db4116efcc233e third_party/flatbuffers
 4fb0ff7069bd88ee85902f4d0bb62794e5f6d021 third_party/flatcc
 f2fb48c3b3d79a75a88a99fba6576b25d42ec528 third_party/googletest
-51ff04567b2f8d06b2062bd3ed72eab2e93e4466 third_party/llvm-project
+f402e682d0ef5598eeffc9a21a691b03e602ff58 third_party/llvm-project
 17b12a4481daa150e2d1ea3ada086b551b856707 third_party/marl
 d2cdb70e038370b5e28f353fe98ccd70af1cbc25 third_party/mlir-emitc
 d8c7ee00a687ac369e62e2032514a93a9b413502 third_party/pybind11
@@ -14,7 +14,7 @@
 685f86471e9d26b3eb7676695a2e2cefb4551ae9 third_party/spirv_cross
 f8bf11a0253a32375c32cad92c841237b96696c0 third_party/spirv_headers
 57eb48aed36160c4876bc8310d9ca84d42ee9e2a third_party/swiftshader
-74747f0c6b017df8fe87d1912f8eb4e2e287fbda third_party/tensorflow
+2d6bdab3adb0b8949763d5c63426338f938c9efe third_party/tensorflow
 a9a09ab0940408898fccfdcfe2bb8dc19b50f13c 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/mlir/BUILD.bazel b/build_tools/bazel/third_party_import/llvm-project/overlay/mlir/BUILD.bazel
index 4aeb2b8..d129c47 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
@@ -458,6 +458,7 @@
     srcs = [
         "include/mlir/Dialect/StandardOps/IR/Ops.td",
         "include/mlir/IR/OpAsmInterface.td",
+        "include/mlir/IR/SymbolInterfaces.td",
         "include/mlir/Interfaces/CallInterfaces.td",
         "include/mlir/Interfaces/ControlFlowInterfaces.td",
         "include/mlir/Interfaces/SideEffectInterfaces.td",
diff --git a/iree/compiler/Conversion/HLOToLinalg/test/pad.mlir b/iree/compiler/Conversion/HLOToLinalg/test/pad.mlir
index a42a079..29c700b 100644
--- a/iree/compiler/Conversion/HLOToLinalg/test/pad.mlir
+++ b/iree/compiler/Conversion/HLOToLinalg/test/pad.mlir
@@ -76,14 +76,10 @@
     hal.interface.binding @ret0, set=0, binding=1, type="StorageBuffer", access="Write"
   }
 }
-// TODO(hanchung): Make it just a copy op.
 // CHECK_LABEL: @pad_no_op
-//   CHECK-DAG: %[[CST:.+]] = constant 0.000000e+00 : f32
 //   CHECK-DAG: %[[OUT:.+]] = iree.placeholder for "interface buffer" {binding = @legacy_io::@ret0} : memref<12x4xf32>
 //   CHECK-DAG: %[[IN:.+]] = iree.placeholder for "interface buffer" {binding = @legacy_io::@arg0} : memref<12x4xf32>
-//       CHECK: linalg.fill(%[[OUT]], %[[CST]])
-//       CHECK: %[[SUBVIEW:.+]] = subview %[[OUT]][0, 0] [12, 4] [1, 1]
-//       CHECK: linalg.copy(%[[IN]], %[[SUBVIEW]])
+//   CHECK: linalg.copy(%[[IN]], %[[OUT]])
 
 // -----
 
diff --git a/third_party/llvm-project b/third_party/llvm-project
index 51ff045..f402e68 160000
--- a/third_party/llvm-project
+++ b/third_party/llvm-project
@@ -1 +1 @@
-Subproject commit 51ff04567b2f8d06b2062bd3ed72eab2e93e4466
+Subproject commit f402e682d0ef5598eeffc9a21a691b03e602ff58
diff --git a/third_party/tensorflow b/third_party/tensorflow
index 74747f0..2d6bdab 160000
--- a/third_party/tensorflow
+++ b/third_party/tensorflow
@@ -1 +1 @@
-Subproject commit 74747f0c6b017df8fe87d1912f8eb4e2e287fbda
+Subproject commit 2d6bdab3adb0b8949763d5c63426338f938c9efe