Merge branch 'google' into main-to-google
diff --git a/SUBMODULE_VERSIONS b/SUBMODULE_VERSIONS
index dd0799a..c92bb72 100644
--- a/SUBMODULE_VERSIONS
+++ b/SUBMODULE_VERSIONS
@@ -6,7 +6,7 @@
4fb0ff7069bd88ee85902f4d0bb62794e5f6d021 third_party/flatcc
f2fb48c3b3d79a75a88a99fba6576b25d42ec528 third_party/googletest
a4efbe40a33e506000a5378b106d24c7eb798227 third_party/llvm-bazel
-a48d480e1f7ebc5d5f93507fe1f519496621e259 third_party/llvm-project
+5e4409f30817798377689ef6c229f1c82815e6e8 third_party/llvm-project
17b12a4481daa150e2d1ea3ada086b551b856707 third_party/marl
d2cdb70e038370b5e28f353fe98ccd70af1cbc25 third_party/mlir-emitc
d8c7ee00a687ac369e62e2032514a93a9b413502 third_party/pybind11
@@ -15,7 +15,7 @@
685f86471e9d26b3eb7676695a2e2cefb4551ae9 third_party/spirv_cross
f8bf11a0253a32375c32cad92c841237b96696c0 third_party/spirv_headers
57eb48aed36160c4876bc8310d9ca84d42ee9e2a third_party/swiftshader
-e665554b90a45e93b1444506ae9ee359cdb800e0 third_party/tensorflow
+68a6fe0d984377b625b421d34f8c607d6ed73597 third_party/tensorflow
a9a09ab0940408898fccfdcfe2bb8dc19b50f13c third_party/tracy
9bd3f561bcee3f01d22912de10bb07ce4e23d378 third_party/vulkan_headers
909f36b714c9239ee0b112a321220213a474ba53 third_party/vulkan_memory_allocator
diff --git a/iree/compiler/Conversion/LinalgToSPIRV/LinalgTileAndFusePass.cpp b/iree/compiler/Conversion/LinalgToSPIRV/LinalgTileAndFusePass.cpp
index 219104e..e0cd21f 100644
--- a/iree/compiler/Conversion/LinalgToSPIRV/LinalgTileAndFusePass.cpp
+++ b/iree/compiler/Conversion/LinalgToSPIRV/LinalgTileAndFusePass.cpp
@@ -137,12 +137,15 @@
benefit),
launchConfig(launchConfig) {}
- virtual LogicalResult matchAndRewrite(Operation *op,
- PatternRewriter &rewriter) const {
+ LogicalResult matchAndRewrite(Operation *op,
+ PatternRewriter &rewriter) const override {
// Find the parent FuncOp before tiling. If tiling succeeds, the op will be
// erased.
FuncOp funcOp = op->getParentOfType<FuncOp>();
- if (!funcOp || failed(Base::matchAndRewrite(op, rewriter)) ||
+ SmallVector<Value, 4> tensorResults;
+ if (!funcOp ||
+ failed(Base::matchAndRewriteBase(op, rewriter, tensorResults)) ||
+ !tensorResults.empty() ||
failed(updateWorkGroupSize(funcOp, launchConfig.getWorkgroupSize())) ||
(funcOp.getAttr(getNumWorkgroupsFnAttrName()) &&
failed(createNumWorkgroupsFromResultShape(
@@ -349,14 +352,13 @@
return tileSizesVal;
};
- auto getSubgroupProcInfoFn =
- [&launchConfig](OpBuilder &builder, Location loc,
- ArrayRef<Range> parallelLoopRanges) {
- ArrayRef<int64_t> numSubgroups =
- launchConfig.getNumSubgroups().take_front(
- parallelLoopRanges.size());
- return getSubgroupIdsAndCounts(builder, loc, numSubgroups);
- };
+ auto getSubgroupProcInfoFn = [&launchConfig](
+ OpBuilder &builder, Location loc,
+ ArrayRef<Range> parallelLoopRanges) {
+ ArrayRef<int64_t> numSubgroups =
+ launchConfig.getNumSubgroups().take_front(parallelLoopRanges.size());
+ return getSubgroupIdsAndCounts(builder, loc, numSubgroups);
+ };
linalg::LinalgLoopDistributionOptions subgroupDistributionOptions = {
getSubgroupProcInfoFn,
{linalg::DistributionMethod::CyclicNumProcsEqNumIters,
diff --git a/third_party/llvm-project b/third_party/llvm-project
index a48d480..5e4409f 160000
--- a/third_party/llvm-project
+++ b/third_party/llvm-project
@@ -1 +1 @@
-Subproject commit a48d480e1f7ebc5d5f93507fe1f519496621e259
+Subproject commit 5e4409f30817798377689ef6c229f1c82815e6e8
diff --git a/third_party/tensorflow b/third_party/tensorflow
index e665554..68a6fe0 160000
--- a/third_party/tensorflow
+++ b/third_party/tensorflow
@@ -1 +1 @@
-Subproject commit e665554b90a45e93b1444506ae9ee359cdb800e0
+Subproject commit 68a6fe0d984377b625b421d34f8c607d6ed73597