Integrates/llvm@91339fd (#24153)

- Add missing BufferizableOpInterface methods to DispatchTensorLoadOp.
Due to https://github.com/llvm/llvm-project/pull/189073 changed One-Shot
Analysis, module bufferize, and SCF bufferization to use TensorLikeType
instead of TensorType.
- Upgrade to Bazel 8.6.0 to align with LLVM. As
https://github.com/llvm/llvm-project/pull/192518 bumped rules_python
from 1.6.3 to 1.9.0

Assisted-by: Cursor (Claude)

---------

Signed-off-by: Yu-Zhewen <zhewenyu@amd.com>
diff --git a/.bazelversion b/.bazelversion
index 643916c..acd405b 100644
--- a/.bazelversion
+++ b/.bazelversion
@@ -1 +1 @@
-7.3.1
+8.6.0
diff --git a/MODULE.bazel b/MODULE.bazel
index eb3defe..eae64af 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -16,7 +16,7 @@
 bazel_dep(name = "bazel_skylib", version = "1.8.2")
 bazel_dep(name = "platforms", version = "1.0.0")
 bazel_dep(name = "rules_cc", version = "0.2.11")
-bazel_dep(name = "rules_python", version = "1.6.3")
+bazel_dep(name = "rules_python", version = "1.9.0")
 
 # Python pip dependencies
 pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
diff --git a/build_tools/bazel/iree.bazelrc b/build_tools/bazel/iree.bazelrc
index 787021d..d6bead4 100644
--- a/build_tools/bazel/iree.bazelrc
+++ b/build_tools/bazel/iree.bazelrc
@@ -12,13 +12,15 @@
 # Enable bzlmod (required for LLVM integration as of Nov 2025)
 common --enable_bzlmod
 
+# Bazel 8 disallows empty globs by default; IREE has test directories that
+# may legitimately contain no files yet.
+common --noincompatible_disallow_empty_glob
+
 # Prevent invalid caching if input files are modified during a build.
-build --experimental_guard_against_concurrent_changes
+build --guard_against_concurrent_changes
 # Default to optimized builds
 # Override via: "-c dbg" or --compilation_mode=dbg
 build --compilation_mode=opt
-# Legacy from when we depended on TensorFlow, might not be needed in IREE.
-common --experimental_repo_remote_exec
 # Actually printing output on errors is... a useful default
 test --test_output=errors
 
diff --git a/build_tools/bazel/iree_amdgpu_binary.bzl b/build_tools/bazel/iree_amdgpu_binary.bzl
index 8504fb6..ab7a034 100644
--- a/build_tools/bazel/iree_amdgpu_binary.bzl
+++ b/build_tools/bazel/iree_amdgpu_binary.bzl
@@ -37,7 +37,7 @@
     link_tool = "@llvm-project//llvm:llvm-link"
     lld_tool = "@llvm-project//lld:lld"
     builtin_headers_dep = "@llvm-project//clang:builtin_headers_gen"
-    builtin_headers_path = "external/_main~_repo_rules~llvm-project/clang/staging/include/"
+    builtin_headers_path = "external/+_repo_rules+llvm-project/clang/staging/include/"
 
     base_copts = [
         # C configuration.
diff --git a/build_tools/bazel/iree_bitcode_library.bzl b/build_tools/bazel/iree_bitcode_library.bzl
index 03a3274..dd9a41d 100644
--- a/build_tools/bazel/iree_bitcode_library.bzl
+++ b/build_tools/bazel/iree_bitcode_library.bzl
@@ -67,7 +67,7 @@
     clang_tool = "@llvm-project//clang:clang"
     link_tool = "@llvm-project//llvm:llvm-link"
     builtin_headers_dep = "@llvm-project//clang:builtin_headers_gen"
-    builtin_headers_path = "external/_main~_repo_rules~llvm-project/clang/staging/include/"
+    builtin_headers_path = "external/+_repo_rules+llvm-project/clang/staging/include/"
 
     base_copts = [
         # Target architecture
@@ -189,7 +189,7 @@
     clang_tool = "@llvm-project//clang:clang"
     link_tool = "@llvm-project//llvm:llvm-link"
     builtin_headers_dep = "@llvm-project//clang:builtin_headers_gen"
-    builtin_headers_path = "external/_main~_repo_rules~llvm-project/clang/staging/include/"
+    builtin_headers_path = "external/+_repo_rules+llvm-project/clang/staging/include/"
 
     base_copts = [
         "-x",
diff --git a/compiler/src/iree/compiler/Codegen/Interfaces/BufferizationInterfaces.cpp b/compiler/src/iree/compiler/Codegen/Interfaces/BufferizationInterfaces.cpp
index 013a1f7..9fe37d6 100644
--- a/compiler/src/iree/compiler/Codegen/Interfaces/BufferizationInterfaces.cpp
+++ b/compiler/src/iree/compiler/Codegen/Interfaces/BufferizationInterfaces.cpp
@@ -57,6 +57,22 @@
     : BufferizableOpInterface::ExternalModel<
           DispatchTensorLoadOpInterface,
           IREE::TensorExt::DispatchTensorLoadOp> {
+  bool bufferizesToMemoryRead(Operation *op, OpOperand &opOperand,
+                              const AnalysisState &state) const {
+    return true;
+  }
+
+  bool bufferizesToMemoryWrite(Operation *op, OpOperand &opOperand,
+                               const AnalysisState &state) const {
+    return false;
+  }
+
+  bufferization::AliasingValueList
+  getAliasingValues(Operation *op, OpOperand &opOperand,
+                    const AnalysisState &state) const {
+    return {};
+  }
+
   bool isWritable(Operation *op, Value value,
                   const AnalysisState &state) const {
     auto loadOp = cast<IREE::TensorExt::DispatchTensorLoadOp>(op);
diff --git a/third_party/llvm-project b/third_party/llvm-project
index c463b75..91339fd 160000
--- a/third_party/llvm-project
+++ b/third_party/llvm-project
@@ -1 +1 @@
-Subproject commit c463b75509500e3e8151673fa247766af6cd33e2
+Subproject commit 91339fd737c67771fd944f17ea9c3e0908e9d418
diff --git a/tools/test/iree-tblgen-json.td b/tools/test/iree-tblgen-json.td
index 7f7f8bc..1ff95c3 100644
--- a/tools/test/iree-tblgen-json.td
+++ b/tools/test/iree-tblgen-json.td
@@ -7,7 +7,7 @@
 // RUN: iree-tblgen --gen-dialect-json %s \
 // RUN:   -I %S/../../compiler/src \
 // RUN:   -I %S/../../third_party/llvm-project/mlir/include \
-// RUN:   -I %S/../../external/_main~_repo_rules~llvm-project/mlir/include \
+// RUN:   -I %S/../../../+_repo_rules+llvm-project/mlir/include \
 // RUN:   | FileCheck %s
 
 include "mlir/IR/OpBase.td"