Merge main -> google

* 30c0be59 Add IREE–JAX compiler/runtime frontend (#4619)
* c14198c6 Updated pffft submodule to most recent version (#4623)
* d5abe152 Be more verbose about removing CMakeCache.txt.

COPYBARA_INTEGRATE_REVIEW=https://github.com/google/iree/pull/4625 from rsuderman:main-to-google 30c0be59bd9aa912681d04df2976b54e00466888
PiperOrigin-RevId: 354174480

diff --git a/SUBMODULE_VERSIONS.txt b/SUBMODULE_VERSIONS.txt
index c6836a5..b3d42b1 100644
--- a/SUBMODULE_VERSIONS.txt
+++ b/SUBMODULE_VERSIONS.txt
@@ -5,7 +5,7 @@
 b1fbd33c06cdb0024c67733c6fdec2009d17b384 third_party/googletest
 88b845dee001723c4a0db1fe5477de735b6d3bb0 third_party/liburing
 39e3ba5be1a67c1e1ed900a5bc8134d0c8374d73 third_party/llvm-bazel
-f3f3c9c2549a268e602be8730990b552e30cc932 third_party/llvm-project
+c85b6bf33c473633c9873b600f8a31fa55464e1e third_party/llvm-project
 4e501d8c6e2d834999301a2492adefe5ddbdc0cb third_party/mlir-emitc
 471fc63c11205639dab25345aea1f85831ef4cb9 third_party/mlir-hlo
 2b2bd45bbf9be04fd22ece5cc1f54679202e9257 third_party/pffft
diff --git a/build_tools/github_actions/build_dist.py b/build_tools/github_actions/build_dist.py
index c8f335e..924acfc 100644
--- a/build_tools/github_actions/build_dist.py
+++ b/build_tools/github_actions/build_dist.py
@@ -47,9 +47,12 @@
 
   python ./main_checkout/build_tools/github_actions/build_dist.py main-dist
   python ./main_checkout/build_tools/github_actions/build_dist.py py-runtime-pkg
-  python ./main_checkout/build_tools/github_actions/build_dist.py py-xla-compiler-tools-pkg
-  python ./main_checkout/build_tools/github_actions/build_dist.py py-tflite-compiler-tools-pkg
-  python ./main_checkout/build_tools/github_actions/build_dist.py py-tf-compiler-tools-pkg
+  python ./main_checkout/build_tools/github_actions/build_dist.py
+  py-xla-compiler-tools-pkg
+  python ./main_checkout/build_tools/github_actions/build_dist.py
+  py-tflite-compiler-tools-pkg
+  python ./main_checkout/build_tools/github_actions/build_dist.py
+  py-tf-compiler-tools-pkg
 
 
 That is not a perfect approximation but is close.
@@ -81,14 +84,14 @@
 
 # Load version info.
 def load_version_info():
-  with open(os.path.join(IREESRC_DIR, 'version_info.json'), 'rt') as f:
+  with open(os.path.join(IREESRC_DIR, "version_info.json"), "rt") as f:
     return json.load(f)
 
 
 try:
   version_info = load_version_info()
 except FileNotFoundError:
-  print('version_info.json found. Using defaults')
+  print("version_info.json found. Using defaults")
   version_info = {
       "package-version": "0.1dev1",
       "package-suffix": "-dev",
diff --git a/iree/compiler/Conversion/LinalgToLLVM/LinalgBufferizePass.cpp b/iree/compiler/Conversion/LinalgToLLVM/LinalgBufferizePass.cpp
index b8c02ce..59c272e 100644
--- a/iree/compiler/Conversion/LinalgToLLVM/LinalgBufferizePass.cpp
+++ b/iree/compiler/Conversion/LinalgToLLVM/LinalgBufferizePass.cpp
@@ -343,11 +343,8 @@
                                   loadOp.queryBindingOp(), /*typeErase=*/true);
   Value buffer = phOp.getResult();
   Value subview =
-      b.create<SubViewOp>(loadOp->getLoc(), buffer,
-                          extractFromI64ArrayAttr(loadOp.static_offsets()),
-                          extractFromI64ArrayAttr(loadOp.static_sizes()),
-                          extractFromI64ArrayAttr(loadOp.static_strides()),
-                          loadOp.offsets(), loadOp.sizes(), loadOp.strides());
+      b.create<SubViewOp>(loadOp->getLoc(), buffer, loadOp.getMixedOffsets(),
+                          loadOp.getMixedSizes(), loadOp.getMixedStrides());
   bvm.map(loadOp.result(), subview);
   // TODO(nicolasvasilache): kill tie_shape with fire.
   mapAllTieShapeUsesAndReplaceDimUsesOf(loadOp.result(), subview, bvm);
@@ -417,12 +414,9 @@
       createPlaceholderOp(b, storeOp.getLoc(), storeOp, storeOp.operand(),
                           storeOp.queryBindingOp(), /*typeErase=*/true);
   Value buffer = phOp.getResult();
-  Value subview = b.create<SubViewOp>(
-      storeOp->getLoc(), buffer,
-      extractFromI64ArrayAttr(storeOp.static_offsets()),
-      extractFromI64ArrayAttr(storeOp.static_sizes()),
-      extractFromI64ArrayAttr(storeOp.static_strides()), storeOp.offsets(),
-      storeOp.sizes(), storeOp.strides());
+  Value subview =
+      b.create<SubViewOp>(storeOp->getLoc(), buffer, storeOp.getMixedOffsets(),
+                          storeOp.getMixedSizes(), storeOp.getMixedStrides());
   b.create<linalg::CopyOp>(storeOp->getLoc(),
                            iterativeLookup(bvm, storeOp.operand()), subview);
   storeOp->erase();
diff --git a/third_party/llvm-project b/third_party/llvm-project
index f3f3c9c..c85b6bf 160000
--- a/third_party/llvm-project
+++ b/third_party/llvm-project
@@ -1 +1 @@
-Subproject commit f3f3c9c2549a268e602be8730990b552e30cc932
+Subproject commit c85b6bf33c473633c9873b600f8a31fa55464e1e