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(),