Bump LLVM to llvm/llvm-project@6b65d79 and deps (2023-12-29) (#16012)
- Bump llvm-projects to
https://github.com/llvm/llvm-project/commit/6b65d79fbb4682468333cea42b62f15c2dffd8f3
- Bump torch-mlir to
https://github.com/llvm/torch-mlir/commit/6096fcb347691982d721d74d96794ac0d17af0d9
---------
Co-authored-by: Jakub Kuderski <jakub@nod-labs.com>
Co-authored-by: hanhanW <hanhan0912@gmail.com>
diff --git a/compiler/src/iree/compiler/Codegen/Common/ReplaceSlowMinMaxOps.cpp b/compiler/src/iree/compiler/Codegen/Common/ReplaceSlowMinMaxOps.cpp
index cbbddfa..7ec3f27 100644
--- a/compiler/src/iree/compiler/Codegen/Common/ReplaceSlowMinMaxOps.cpp
+++ b/compiler/src/iree/compiler/Codegen/Common/ReplaceSlowMinMaxOps.cpp
@@ -41,13 +41,13 @@
PatternRewriter &rewriter) const override {
if (slowReductionOp.getKind() == vector::CombiningKind::MINIMUMF) {
rewriter.updateRootInPlace(slowReductionOp, [&]() {
- slowReductionOp.setKind(vector::CombiningKind::MINF);
+ slowReductionOp.setKind(vector::CombiningKind::MINNUMF);
});
return success();
}
if (slowReductionOp.getKind() == vector::CombiningKind::MAXIMUMF) {
rewriter.updateRootInPlace(slowReductionOp, [&]() {
- slowReductionOp.setKind(vector::CombiningKind::MAXF);
+ slowReductionOp.setKind(vector::CombiningKind::MAXNUMF);
});
return success();
}
diff --git a/compiler/src/iree/compiler/Codegen/Common/VectorLayoutAnalysis.cpp b/compiler/src/iree/compiler/Codegen/Common/VectorLayoutAnalysis.cpp
index 8c98f52..22ec064 100644
--- a/compiler/src/iree/compiler/Codegen/Common/VectorLayoutAnalysis.cpp
+++ b/compiler/src/iree/compiler/Codegen/Common/VectorLayoutAnalysis.cpp
@@ -224,7 +224,7 @@
resolvedLayout->subscribeEnforcement(enforcement);
// We can now resolve this resolved value to the required layout.
- resolvedLayout->resolve(rhs);
+ (void)resolvedLayout->resolve(rhs);
// No change actually needs to be propagated after a conflict resolution.
// TODO: Ideally, there should be another state in the lattice which says
diff --git a/compiler/src/iree/compiler/Codegen/Common/test/replace_slow_min_max_ops.mlir b/compiler/src/iree/compiler/Codegen/Common/test/replace_slow_min_max_ops.mlir
index 2ad2f13..fb5df72 100644
--- a/compiler/src/iree/compiler/Codegen/Common/test/replace_slow_min_max_ops.mlir
+++ b/compiler/src/iree/compiler/Codegen/Common/test/replace_slow_min_max_ops.mlir
@@ -26,7 +26,7 @@
return %reduction_min : f32
}
-// CHECK: vector.reduction <minf>
+// CHECK: vector.reduction <minnumf>
// -----
@@ -36,7 +36,7 @@
return %reduction_max : f32
}
-// CHECK: vector.reduction <maxf>
+// CHECK: vector.reduction <maxnumf>
// -----
@@ -46,7 +46,7 @@
return %multi_reduction_min : f32
}
-// CHECK: vector.multi_reduction <minf>
+// CHECK: vector.multi_reduction <minnumf>
// -----
@@ -56,4 +56,4 @@
return %multi_reduction_max : f32
}
-// CHECK: vector.multi_reduction <maxf>
+// CHECK: vector.multi_reduction <maxnumf>
diff --git a/compiler/src/iree/compiler/Codegen/Utils/GPUUtils.cpp b/compiler/src/iree/compiler/Codegen/Utils/GPUUtils.cpp
index 1e4ffd4..2ddd654 100644
--- a/compiler/src/iree/compiler/Codegen/Utils/GPUUtils.cpp
+++ b/compiler/src/iree/compiler/Codegen/Utils/GPUUtils.cpp
@@ -451,13 +451,13 @@
case vector::CombiningKind::XOR:
return builder.getZeroAttr(type);
case vector::CombiningKind::MINIMUMF:
- case vector::CombiningKind::MINF: {
+ case vector::CombiningKind::MINNUMF: {
auto posInfApFloat = APFloat::getInf(
llvm::cast<FloatType>(type).getFloatSemantics(), /*Negative=*/false);
return builder.getFloatAttr(type, posInfApFloat);
}
case vector::CombiningKind::MAXIMUMF:
- case vector::CombiningKind::MAXF: {
+ case vector::CombiningKind::MAXNUMF: {
auto negInfApFloat = APFloat::getInf(
llvm::cast<FloatType>(type).getFloatSemantics(), /*Negative=*/true);
return builder.getFloatAttr(type, negInfApFloat);
diff --git a/compiler/src/iree/compiler/Dialect/Stream/IR/StreamOpFolders.cpp b/compiler/src/iree/compiler/Dialect/Stream/IR/StreamOpFolders.cpp
index 0fad112..ab8a9f2 100644
--- a/compiler/src/iree/compiler/Dialect/Stream/IR/StreamOpFolders.cpp
+++ b/compiler/src/iree/compiler/Dialect/Stream/IR/StreamOpFolders.cpp
@@ -1796,7 +1796,8 @@
//===----------------------------------------------------------------------===//
OpFoldResult AsyncUpdateOp::fold(FoldAdaptor operands) {
- if (getUpdateSize() == getTargetSize()) {
+ if (getUpdateSize() == getTargetSize() &&
+ getUpdate().getType() == getType()) {
// If updating the entire target then just replace with the update.
// Note that this breaks copy-on-write semantics but will be fixed up during
// canonicalization if needed.
diff --git a/third_party/llvm-project b/third_party/llvm-project
index 99045b6..6b65d79 160000
--- a/third_party/llvm-project
+++ b/third_party/llvm-project
@@ -1 +1 @@
-Subproject commit 99045b60b57571079f9cb4aea57870692523fbe8
+Subproject commit 6b65d79fbb4682468333cea42b62f15c2dffd8f3
diff --git a/third_party/torch-mlir b/third_party/torch-mlir
index d560698..6096fcb 160000
--- a/third_party/torch-mlir
+++ b/third_party/torch-mlir
@@ -1 +1 @@
-Subproject commit d560698e3d610ecdc56667c713e2338c47bf4f44
+Subproject commit 6096fcb347691982d721d74d96794ac0d17af0d9