Merge google -> main #7107
5baeb76 Merge pull request Merge main -> google #7106 from GMNGeoffrey:main-to-google
128ce7a Synchronize submodules with LLVM at llvm/llvm-project@f5b8f12
9905c6b Integrate LLVM at llvm/llvm-project@f5b8f12
6757214 Integrate LLVM at llvm/llvm-project@3b14d80
9fc4675 Fix tile_pad_and_vectorize.mlir test.
507e46a Integrate LLVM at llvm/llvm-project@08f0cb7
dd6c59a Synchronize submodules with LLVM at llvm/llvm-project@750d5fc
a97e8ff Integrate LLVM at llvm/llvm-project@750d5fc
f92733e Integrate LLVM at llvm/llvm-project@fc08cfb
29b5450 Integrate LLVM at llvm/llvm-project@4c1023b
c8d018a Integrate LLVM at llvm/llvm-project@1613ab8
27dca8f Integrate LLVM at llvm/llvm-project@7acf929
c33f238 Integrate LLVM at llvm/llvm-project@c90cbb2
21a764d Integrate LLVM at llvm/llvm-project@9111635
2c679e4 Integrate LLVM at llvm/llvm-project@ed2f0ad
diff --git a/SUBMODULE_VERSIONS.txt b/SUBMODULE_VERSIONS.txt
index 5d87569..0b5c84a 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
-d9e46beace3120fbc4810dda5c3ed88f93e862a4 third_party/llvm-project
-ae826ee3820548f9656ccc670d7ab9a881273dd6 third_party/mlir-hlo
+f5b8f1247cd9d1b18b7b95f6f197d4d654597529 third_party/llvm-project
+b6f1d6b3755588d73d63a7becdda1b7e95b33d50 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
-fb78490345436e2a01f7055cf85dcc56d033f7fa third_party/tensorflow
+c69a9eedf40926f2e359c43fdfe4dfcb72efdcc3 third_party/tensorflow
058e89011fceca912d43638ebb6b85992147fcfe third_party/tracy
9d10a96f2d57c3c37e167f2e73c9a31ac2e51fa5 third_party/vulkan_headers
8d4a9e9174a9c6ad6a3a3ae981b915ef13fc12c4 third_party/vulkan_memory_allocator
diff --git a/iree/compiler/Codegen/LLVMCPU/test/matmul_vectorization.mlir b/iree/compiler/Codegen/LLVMCPU/test/matmul_vectorization.mlir
index ffd662e..7e18219 100644
--- a/iree/compiler/Codegen/LLVMCPU/test/matmul_vectorization.mlir
+++ b/iree/compiler/Codegen/LLVMCPU/test/matmul_vectorization.mlir
@@ -88,16 +88,16 @@
// CHECK-PROMOTED-DAG: %[[ARG0:.+]] = hal.interface.binding.subspan @io::@arg0
// CHECK-PROMOTED-DAG: %[[ARG1:.+]] = hal.interface.binding.subspan @io::@arg1
// CHECK-PROMOTED-DAG: %[[RET0:.+]] = hal.interface.binding.subspan @io::@ret0
+// CHECK-PROMOTED-DAG: %[[A_PROMOTED_TILE_VIEW:.+]] = memref.subview %[[A_PROMOTED_TILE]][0, 0] [64, 128]
+// CHECK-PROMOTED-DAG: %[[B_PROMOTED_TILE_VIEW:.+]] = memref.subview %[[B_PROMOTED_TILE]][0, 0] [128, 64]
+// CHECK-PROMOTED-DAG: %[[C_PROMOTED_TILE_VIEW:.+]] = memref.subview %[[C_PROMOTED_TILE]][0, 0] [64, 64]
// CHECK-PROMOTED: scf.for %[[IV0:.+]] =
+// CHECK-PROMOTED: %[[A_TILE:.+]] = memref.subview %[[ARG0]][%[[IV0]], 0] [64, 128]
// CHECK-PROMOTED: scf.for %[[IV1:.+]] =
-// CHECK-PROMOTED-DAG: %[[A_TILE:.+]] = memref.subview %[[ARG0]][%[[IV0]], 0] [64, 128]
// CHECK-PROMOTED-DAG: %[[B_TILE:.+]] = memref.subview %[[ARG1]][0, %[[IV1]]] [128, 64]
// CHECK-PROMOTED-DAG: %[[C_TILE:.+]] = memref.subview %[[RET0]][%[[IV0]], %[[IV1]]] [64, 64]
-// CHECK-PROMOTED-DAG: %[[A_PROMOTED_TILE_VIEW:.+]] = memref.subview %[[A_PROMOTED_TILE]][0, 0] [64, 128]
// CHECK-PROMOTED_DAG: linalg.fill(%{{.+}}, %[[A_PROMOTED_TILE]])
-// CHECK-PROMOTED-DAG: %[[B_PROMOTED_TILE_VIEW:.+]] = memref.subview %[[B_PROMOTED_TILE]][0, 0] [128, 64]
// CHECK-PROMOTED_DAG: linalg.fill(%{{.+}}, %[[B_PROMOTED_TILE]])
-// CHECK-PROMOTED-DAG: %[[C_PROMOTED_TILE_VIEW:.+]] = memref.subview %[[C_PROMOTED_TILE]][0, 0] [64, 64]
// CHECK-PROMOTED_DAG: linalg.fill(%{{.+}}, %[[C_PROMOTED_TILE]])
// CHECK-PROMOTED: linalg.copy(%[[A_TILE]], %[[A_PROMOTED_TILE_VIEW]])
// CHECK-PROMOTED: linalg.copy(%[[B_TILE]], %[[B_PROMOTED_TILE_VIEW]])
diff --git a/iree/compiler/Codegen/LLVMGPU/LLVMGPUTileAndDistribute.cpp b/iree/compiler/Codegen/LLVMGPU/LLVMGPUTileAndDistribute.cpp
index a8b78ec..3945bc3 100644
--- a/iree/compiler/Codegen/LLVMGPU/LLVMGPUTileAndDistribute.cpp
+++ b/iree/compiler/Codegen/LLVMGPU/LLVMGPUTileAndDistribute.cpp
@@ -153,7 +153,7 @@
return -1;
}));
if (llvm::any_of(shape, [](int64_t v) { return v == -1; })) return {};
- Type allocType =
+ MemRefType allocType =
MemRefType::get(shape, subview.getType().getElementType(), {},
gpu::GPUDialect::getWorkgroupAddressSpace());
b.setInsertionPoint(&moduleOp.front());
diff --git a/iree/compiler/Codegen/SPIRV/test/tile_and_vectorize.mlir b/iree/compiler/Codegen/SPIRV/test/tile_and_vectorize.mlir
index 39c8c4c..cbfa57f 100644
--- a/iree/compiler/Codegen/SPIRV/test/tile_and_vectorize.mlir
+++ b/iree/compiler/Codegen/SPIRV/test/tile_and_vectorize.mlir
@@ -70,11 +70,11 @@
// CHECK-LABEL: func @matmul
// CHECK-DAG: %[[C0:.+]] = constant 0 : index
// CHECK-DAG: %[[C1:.+]] = constant 1 : index
+// CHECK-DAG: %[[TIDX:.+]] = "gpu.thread_id"() {dimension = "x"}
+// CHECK-DAG: %[[TIDY:.+]] = "gpu.thread_id"() {dimension = "y"}
+// CHECK-DAG: %[[BDIMX:.+]] = "gpu.block_dim"() {dimension = "x"}
+// CHECK-DAG: %[[BDIMY:.+]] = "gpu.block_dim"() {dimension = "y"}
// CHECK: scf.for
-// CHECK-DAG: %[[TIDX:.+]] = "gpu.thread_id"() {dimension = "x"}
-// CHECK-DAG: %[[TIDY:.+]] = "gpu.thread_id"() {dimension = "y"}
-// CHECK-DAG: %[[BDIMX:.+]] = "gpu.block_dim"() {dimension = "x"}
-// CHECK-DAG: %[[BDIMY:.+]] = "gpu.block_dim"() {dimension = "y"}
// CHECK: scf.for %{{.+}} = %[[TIDY]] to %{{.*}} step %[[BDIMY]]
// CHECK: scf.for %{{.+}} = %[[TIDX]] to %{{.*}} step %[[BDIMX]]
// CHECK: scf.for %{{.+}} = %[[C0]] to %{{.*}} step %[[C1]]
@@ -144,8 +144,8 @@
// CHECK: %[[BDIMY:.+]] = "gpu.block_dim"() {dimension = "y"}
// CHECK: %[[TIDZ:.+]] = "gpu.thread_id"() {dimension = "z"}
// CHECK: scf.for %[[IV0:.+]] = %[[TIDY]] to %{{.*}} step %[[BDIMY]]
+// CHECK: %[[ARG0SV2:.+]] = memref.subview %[[ARG0SV1]][%[[TIDZ]], %[[IV0]], 0] [1, %{{.+}}, 1]
// CHECK: scf.for %[[IV1:.+]] = %[[TIDX]] to %{{.*}} step %[[BDIMX]]
-// CHECK: %[[ARG0SV2:.+]] = memref.subview %[[ARG0SV1]][%[[TIDZ]], %[[IV0]], 0] [1, %{{.+}}, 1]
// CHECK: %[[ARG1SV2:.+]] = memref.subview %[[ARG1SV1]][0, 0, %[[IV1]]] [3, 1, 1]
// CHECK: %[[RETSV2:.+]] = memref.subview %[[RETSV1]][%[[TIDZ]], %[[IV0]], %[[IV1]]] [1, 1, 1]
// CHECK: linalg.conv_1d_nwc_wcf
@@ -271,17 +271,17 @@
// CHECK: %[[BSTEPY:.+]] = affine.apply #[[MAP0]]()[%[[NBLOCKSY]]]
// CHECK: %[[BOFFSETX:.+]] = affine.apply #[[MAP1]]()[%[[BIDX]]]
// CHECK: %[[BSTEPX:.+]] = affine.apply #[[MAP1]]()[%[[NBLOCKSX]]]
+// CHECK-DAG: %[[TIDX:.+]] = "gpu.thread_id"() {dimension = "x"}
+// CHECK-DAG: %[[TIDY:.+]] = "gpu.thread_id"() {dimension = "y"}
+// CHECK-DAG: %[[TIDZ:.+]] = "gpu.thread_id"() {dimension = "z"}
+// CHECK-DAG: %[[BDIMX:.+]] = "gpu.block_dim"() {dimension = "x"}
+// CHECK-DAG: %[[BDIMY:.+]] = "gpu.block_dim"() {dimension = "y"}
+// CHECK-DAG: %[[BDIMZ:.+]] = "gpu.block_dim"() {dimension = "z"}
// CHECK: scf.for %[[IV0:.+]] = %[[BIDZ]] to %[[N]] step %[[NBLOCKSZ]]
// CHECK: scf.for %[[IV1:.+]] = %[[BOFFSETY]] to %[[P]] step %[[BSTEPY]]
// CHECK: scf.for %[[IV2:.+]] = %[[BOFFSETX]] to %[[Q]] step %[[BSTEPX]]
// CHECK: %[[SV1:.+]] = memref.subview %[[ARG1]][%[[IV0]], %[[IV1]], %[[IV2]], 0]
// CHECK: %[[SV2:.+]] = memref.subview %[[RET0]][%[[IV0]], %[[IV1]], %[[IV2]], 0]
-// CHECK-DAG: %[[TIDX:.+]] = "gpu.thread_id"() {dimension = "x"}
-// CHECK-DAG: %[[TIDY:.+]] = "gpu.thread_id"() {dimension = "y"}
-// CHECK-DAG: %[[TIDZ:.+]] = "gpu.thread_id"() {dimension = "z"}
-// CHECK-DAG: %[[BDIMX:.+]] = "gpu.block_dim"() {dimension = "x"}
-// CHECK-DAG: %[[BDIMY:.+]] = "gpu.block_dim"() {dimension = "y"}
-// CHECK-DAG: %[[BDIMZ:.+]] = "gpu.block_dim"() {dimension = "z"}
// CHECK: scf.for %[[IV3:.+]] = %[[TIDZ]] to %{{.*}} step %[[BDIMZ]]
// CHECK: scf.for %[[IV4:.+]] = %[[TIDY]] to %{{.*}} step %[[BDIMY]]
// CHECK: scf.for %[[IV5:.+]] = %[[TIDX]] to %{{.*}} step %[[BDIMX]]
diff --git a/iree/compiler/Codegen/SPIRV/test/tile_and_vectorize_batch_matmul.mlir b/iree/compiler/Codegen/SPIRV/test/tile_and_vectorize_batch_matmul.mlir
index d8d2017..6f145d3 100644
--- a/iree/compiler/Codegen/SPIRV/test/tile_and_vectorize_batch_matmul.mlir
+++ b/iree/compiler/Codegen/SPIRV/test/tile_and_vectorize_batch_matmul.mlir
@@ -84,19 +84,19 @@
// CHECK: %[[BCNTY:.+]] = hal.interface.workgroup.count[1]
// CHECK: %[[BIDZ:.+]] = hal.interface.workgroup.id[2]
// CHECK: %[[BCNTZ:.+]] = hal.interface.workgroup.count[2]
-// CHECK: scf.for %[[IVZ:.+]] = %[[BIDZ]] to %{{.+}} step %[[BCNTZ]]
// CHECK: %[[BOFFSET_Y:.+]] = affine.apply #[[MAP0]]()[%[[BIDY]]]
// CHECK: %[[UBY:.+]] = affine.apply #[[MAP0]]()[%[[BCNTY]]]
-// CHECK: scf.for %[[IVY:.+]] = %[[BOFFSET_Y]] to %{{.+}} step %[[UBY]]
// CHECK: %[[BOFFSET_X:.+]] = affine.apply #[[MAP1]]()[%[[BIDX]]]
// CHECK: %[[UBX:.+]] = affine.apply #[[MAP1]]()[%[[BCNTX]]]
-// CHECK: %[[SUBVIEW_ARG0:.+]] = memref.subview %[[ARG0]]
-// CHECK-SAME: [%[[IVZ]], %[[IVY]], 0] [1, 8, 1024]
// CHECK: %[[IIDX:.+]] = "gpu.thread_id"() {dimension = "x"}
// CHECK: %[[IIDY:.+]] = "gpu.thread_id"() {dimension = "y"}
// CHECK: %[[IIDZ:.+]] = "gpu.thread_id"() {dimension = "z"}
// CHECK-DAG: %[[IOFFSET_Y:.+]] = affine.apply #[[MAP0]]()[%[[IIDY]]]
// CHECK-DAG: %[[IOFFSET_X:.+]] = affine.apply #[[MAP2]]()[%[[IIDX]]]
+// CHECK: scf.for %[[IVZ:.+]] = %[[BIDZ]] to %{{.+}} step %[[BCNTZ]]
+// CHECK: scf.for %[[IVY:.+]] = %[[BOFFSET_Y]] to %{{.+}} step %[[UBY]]
+// CHECK: %[[SUBVIEW_ARG0:.+]] = memref.subview %[[ARG0]]
+// CHECK-SAME: [%[[IVZ]], %[[IVY]], 0] [1, 8, 1024]
// CHECK: scf.for %[[IVX:.+]] = %[[BOFFSET_X]] to %{{.+}} step %[[UBX]]
// CHECK: %[[SUBVIEW_ARG1:.+]] = memref.subview %[[ARG1]]
// CHECK-SAME: [%[[IVZ]], 0, %[[IVX]]] [1, 1024, 64]
diff --git a/third_party/llvm-project b/third_party/llvm-project
index d9e46be..f5b8f12 160000
--- a/third_party/llvm-project
+++ b/third_party/llvm-project
@@ -1 +1 @@
-Subproject commit d9e46beace3120fbc4810dda5c3ed88f93e862a4
+Subproject commit f5b8f1247cd9d1b18b7b95f6f197d4d654597529
diff --git a/third_party/mlir-hlo b/third_party/mlir-hlo
index ae826ee..b6f1d6b 160000
--- a/third_party/mlir-hlo
+++ b/third_party/mlir-hlo
@@ -1 +1 @@
-Subproject commit ae826ee3820548f9656ccc670d7ab9a881273dd6
+Subproject commit b6f1d6b3755588d73d63a7becdda1b7e95b33d50
diff --git a/third_party/tensorflow b/third_party/tensorflow
index fb78490..c69a9ee 160000
--- a/third_party/tensorflow
+++ b/third_party/tensorflow
@@ -1 +1 @@
-Subproject commit fb78490345436e2a01f7055cf85dcc56d033f7fa
+Subproject commit c69a9eedf40926f2e359c43fdfe4dfcb72efdcc3