Integrate LLVM at llvm/llvm-project@db226cdf4cf9

Updates LLVM usage to match
[db226cdf4cf9](https://github.com/llvm/llvm-project/commit/db226cdf4cf9)

PiperOrigin-RevId: 346045832
diff --git a/SUBMODULE_VERSIONS b/SUBMODULE_VERSIONS
index fc6f42d..c278d89 100644
--- a/SUBMODULE_VERSIONS
+++ b/SUBMODULE_VERSIONS
@@ -5,7 +5,7 @@
 4fb0ff7069bd88ee85902f4d0bb62794e5f6d021 third_party/flatcc
 b1fbd33c06cdb0024c67733c6fdec2009d17b384 third_party/googletest
 1536b141d636e95f2cc3c02c5891b23e322fb0c8 third_party/llvm-bazel
-7f6f9f4cf966c78a315d15d6e913c43cfa45c47c third_party/llvm-project
+db226cdf4cf91f350267da1a5b95dda42dd23413 third_party/llvm-project
 55801f03f9cc69abfcf8b508a873f702c11b3b5f third_party/mlir-emitc
 74d7261be17cf659d5930d4830609406bd7553e3 third_party/pffft
 d8c7ee00a687ac369e62e2032514a93a9b413502 third_party/pybind11
diff --git a/iree/compiler/Conversion/CodegenUtils/MatmulCodegenStrategy.h b/iree/compiler/Conversion/CodegenUtils/MatmulCodegenStrategy.h
index 554289c..e93f50b 100644
--- a/iree/compiler/Conversion/CodegenUtils/MatmulCodegenStrategy.h
+++ b/iree/compiler/Conversion/CodegenUtils/MatmulCodegenStrategy.h
@@ -46,8 +46,12 @@
   OwningRewritePatternList buildRewritePatterns(
       MLIRContext *ctx, linalg::LinalgMarker m) override {
     OwningRewritePatternList vectorUnrollPatterns;
-    vectorUnrollPatterns.insert<vector::UnrollVectorPattern<VectorOpType>>(
-        ctx, vector::UnrollVectorOptions().setNativeShape(targetShape));
+    vectorUnrollPatterns.insert<vector::UnrollVectorPattern>(
+        ctx, vector::UnrollVectorOptions()
+                 .setNativeShape(targetShape)
+                 .setFilterConstraint([](Operation *op) {
+                   return success(isa<VectorOpType>(op));
+                 }));
     vector::populateVectorToVectorCanonicalizationPatterns(vectorUnrollPatterns,
                                                            ctx);
     vector::populateVectorToVectorTransformationPatterns(vectorUnrollPatterns,
diff --git a/iree/compiler/Conversion/LinalgToSPIRV/LinalgTileAndFusePass.cpp b/iree/compiler/Conversion/LinalgToSPIRV/LinalgTileAndFusePass.cpp
index 5fde297..864f2d4 100644
--- a/iree/compiler/Conversion/LinalgToSPIRV/LinalgTileAndFusePass.cpp
+++ b/iree/compiler/Conversion/LinalgToSPIRV/LinalgTileAndFusePass.cpp
@@ -337,13 +337,9 @@
 
 static void populateVectorUnrollPatterns(MLIRContext *context,
                                          OwningRewritePatternList &patterns) {
-  patterns.insert<vector::UnrollVectorPattern<vector::TransferReadOp>,
-                  vector::UnrollVectorPattern<vector::ContractionOp>,
-                  vector::UnrollVectorPattern<vector::TransferWriteOp>>(
+  patterns.insert<vector::UnrollVectorPattern>(
       context,
       vector::UnrollVectorOptions().setNativeShapeFn(getNativeVectorSize));
-  vector::populateVectorToVectorCanonicalizationPatterns(patterns, context);
-  vector::populateVectorToVectorTransformationPatterns(patterns, context);
 }
 
 //====---------------------------------------------------------------------===//
@@ -356,10 +352,17 @@
     populateVectorUnrollPatterns(funcOp.getContext(), vectorUnrollPatterns);
     applyPatternsAndFoldGreedily(funcOp, std::move(vectorUnrollPatterns));
 
-    OwningRewritePatternList canonicalizationPatterns;
-    vector::populateVectorSlicesLoweringPatterns(canonicalizationPatterns,
+    OwningRewritePatternList canonicalizationPatterns1;
+    vector::populateVectorToVectorCanonicalizationPatterns(
+        canonicalizationPatterns1, funcOp.getContext());
+    vector::populateVectorToVectorTransformationPatterns(
+        canonicalizationPatterns1, funcOp.getContext());
+    applyPatternsAndFoldGreedily(funcOp, std::move(canonicalizationPatterns1));
+
+    OwningRewritePatternList canonicalizationPatterns2;
+    vector::populateVectorSlicesLoweringPatterns(canonicalizationPatterns2,
                                                  funcOp.getContext());
-    applyPatternsAndFoldGreedily(funcOp, std::move(canonicalizationPatterns));
+    applyPatternsAndFoldGreedily(funcOp, std::move(canonicalizationPatterns2));
     LLVM_DEBUG({
       llvm::dbgs() << "--- After Vector Unroll ---\n";
       funcOp.print(llvm::dbgs(), OpPrintingFlags().useLocalScope());
diff --git a/iree/compiler/Dialect/HAL/IR/HALOps.cpp b/iree/compiler/Dialect/HAL/IR/HALOps.cpp
index bd04041..463b49e 100644
--- a/iree/compiler/Dialect/HAL/IR/HALOps.cpp
+++ b/iree/compiler/Dialect/HAL/IR/HALOps.cpp
@@ -1351,11 +1351,14 @@
       failed(parser.parseAttribute(targetBackendFilterAttr,
                                    "target_backend_filter",
                                    result->attributes)) ||
-      failed(parser.parseOptionalAttrDictWithKeyword(result->attributes)) ||
-      failed(parser.parseOptionalRegion(*body, llvm::None, llvm::None))) {
+      failed(parser.parseOptionalAttrDictWithKeyword(result->attributes))) {
     return failure();
   }
 
+  OptionalParseResult parseResult = parser.parseOptionalRegion(*body);
+  if (parseResult.hasValue() && failed(*parseResult))
+    return failure();
+
   // Ensure that this module has a valid terminator.
   ExecutableTargetOp::ensureTerminator(*body, parser.getBuilder(),
                                        result->location);
@@ -1403,10 +1406,12 @@
 static ParseResult parseExecutableBinaryOp(OpAsmParser &parser,
                                            OperationState *result) {
   auto *body = result->addRegion();
-  if (failed(parser.parseOptionalAttrDictWithKeyword(result->attributes)) ||
-      failed(parser.parseOptionalRegion(*body, llvm::None, llvm::None))) {
+  if (failed(parser.parseOptionalAttrDictWithKeyword(result->attributes))) {
     return failure();
   }
+  OptionalParseResult parseResult = parser.parseOptionalRegion(*body);
+  if (parseResult.hasValue() && failed(*parseResult))
+    return failure();
 
   // Ensure that this module has a valid terminator.
   ExecutableBinaryOp::ensureTerminator(*body, parser.getBuilder(),