Integrate llvm-project at be81df25178f4e301df9e4de75c5cbbd6f773891 (#19338)

Still carrying a revert for 1004865f1ca41a9581da8747f34b29862d3ebc3d and
a cherry pick for https://github.com/llvm/llvm-project/pull/116650.

Signed-off-by: Jakub Kuderski <jakub@nod-labs.com>
diff --git a/compiler/src/iree/compiler/Codegen/Common/GPU/test/gpu_vector_distribution.mlir b/compiler/src/iree/compiler/Codegen/Common/GPU/test/gpu_vector_distribution.mlir
index 972c8c3..1f0833f 100644
--- a/compiler/src/iree/compiler/Codegen/Common/GPU/test/gpu_vector_distribution.mlir
+++ b/compiler/src/iree/compiler/Codegen/Common/GPU/test/gpu_vector_distribution.mlir
@@ -85,10 +85,10 @@
   // CHECK: iter_args(%[[ARG0:.*]] = %[[ROOT]]) -> (vector<i32>)
   %out = scf.for %i = %c0 to %c128 step %c1 iter_args(%arg0 = %rootl) -> (vector<i32>) {
     // CHECK-DAG: %[[B:.*]] = iree_vector_ext.to_simt %{{.*}} : vector<i32> -> vector<i32>
-    // CHECK-DAG: %[[C:.*]] = arith.muli %[[ARG0]], %[[B]] {{.*}} : vector<i32>
+    // CHECK-DAG: %[[C:.*]] = arith.muli %[[ARG0]], %[[B]] : vector<i32>
     %c = arith.muli %arg0, %b : vector<i32>
     // CHECK-DAG: %[[A:.*]] = iree_vector_ext.to_simt %{{.*}} : vector<i32> -> vector<i32>
-    // CHECK-DAG: %[[D:.*]] = arith.addi %[[C]], %[[A]] {{.*}} : vector<i32>
+    // CHECK-DAG: %[[D:.*]] = arith.addi %[[C]], %[[A]] : vector<i32>
     %d = arith.addi %c, %a : vector<i32>
     // CHECK: scf.yield %[[D]] : vector<i32>
     scf.yield %d : vector<i32>
diff --git a/compiler/src/iree/compiler/Dialect/Flow/Conversion/MeshToFlow/test/channel_creation.mlir b/compiler/src/iree/compiler/Dialect/Flow/Conversion/MeshToFlow/test/channel_creation.mlir
index a0f52b2..1680f3e 100644
--- a/compiler/src/iree/compiler/Dialect/Flow/Conversion/MeshToFlow/test/channel_creation.mlir
+++ b/compiler/src/iree/compiler/Dialect/Flow/Conversion/MeshToFlow/test/channel_creation.mlir
@@ -17,12 +17,9 @@
 module @static_2d_mesh_grouping_along_axis_1 {
   //      CHECK: util.global private @_mesh_mesh_2d_axes_1 {inlining_policy = #util.inline.never} : !flow.channel
   //      CHECK: util.initializer {
-  //  CHECK-DAG:   %[[AXIS_1_SIZE:.+]] = arith.constant 4 : index
-  //  CHECK-DAG:   %[[AXIS_0_SIZE:.+]] = arith.constant 3 : index
   //  CHECK-DAG:   %[[DEFAULT_CHANNEL:.+]] = flow.channel.default : !flow.channel
   //      CHECK:   %[[CHANNEL_RANK:.+]] = flow.channel.rank %[[DEFAULT_CHANNEL]] : index
-  //      CHECK:   %[[COLOR_AND_KEY:.+]]:2 = affine.delinearize_index %[[CHANNEL_RANK]] into
-  // CHECK-SAME:   (%[[AXIS_0_SIZE]], %[[AXIS_1_SIZE]]) : index, index
+  //      CHECK:   %[[COLOR_AND_KEY:.+]]:2 = affine.delinearize_index %[[CHANNEL_RANK]] into (3, 4) : index, index
   //      CHECK:   %[[CHANNEL:.+]] = flow.channel.split
   // CHECK-SAME:   %[[DEFAULT_CHANNEL]], %[[COLOR_AND_KEY]]#0, %[[COLOR_AND_KEY]]#1 : !flow.channel -> !flow.channel
   //      CHECK:   util.global.store %[[CHANNEL]], @_mesh_mesh_2d_axes_1 : !flow.channel
@@ -42,13 +39,10 @@
   //      CHECK: util.global private @_mesh_mesh_4d_axes_2_1 {inlining_policy = #util.inline.never} : !flow.channel
   //      CHECK: util.initializer {
   //  CHECK-DAG:   %[[AXIS_3_SIZE:.+]] = arith.constant 6 : index
-  //  CHECK-DAG:   %[[AXIS_2_SIZE:.+]] = arith.constant 5 : index
   //  CHECK-DAG:   %[[AXIS_1_SIZE:.+]] = arith.constant 4 : index
-  //  CHECK-DAG:   %[[AXIS_0_SIZE:.+]] = arith.constant 3 : index
   //  CHECK-DAG:   %[[DEFAULT_CHANNEL:.+]] = flow.channel.default : !flow.channel
-  //      CHECK:   %[[CHANNEL_RANK:.+]] = flow.channel.rank %[[DEFAULT_CHANNEL]] : index
-  //      CHECK:   %[[DEVICE_MULTI_IDX:.+]]:4 = affine.delinearize_index %[[CHANNEL_RANK]] into
-  // CHECK-SAME:       (%[[AXIS_0_SIZE]], %[[AXIS_1_SIZE]], %[[AXIS_2_SIZE]], %[[AXIS_3_SIZE]]) : index, index, index, index
+  //      CHECK:   %[[CHANNEL_RANK:.+]] = flow.channel.rank %[[DEFAULT_CHANNEL]]
+  //      CHECK:   %[[DEVICE_MULTI_IDX:.+]]:4 = affine.delinearize_index %[[CHANNEL_RANK]] into (3, 4, 5, 6) : index
   //      CHECK:   %[[IN_GROUP_IDX:.+]] = affine.apply
   // CHECK-SAME:       #map()[%[[DEVICE_MULTI_IDX]]#2, %[[AXIS_1_SIZE]], %[[DEVICE_MULTI_IDX]]#1]
   //      CHECK:   %[[GROUP_IDX:.+]] = affine.apply
diff --git a/third_party/llvm-project b/third_party/llvm-project
index dfbfc05..be81df2 160000
--- a/third_party/llvm-project
+++ b/third_party/llvm-project
@@ -1 +1 @@
-Subproject commit dfbfc059488770ac1b96a8074739c605475166f9
+Subproject commit be81df25178f4e301df9e4de75c5cbbd6f773891