diff --git a/compiler/src/iree/compiler/Codegen/Common/CPU/CPUPrepareUkernels.cpp b/compiler/src/iree/compiler/Codegen/Common/CPU/CPUPrepareUkernels.cpp index 3c3865e26b00..bc81200af604 100644 --- a/compiler/src/iree/compiler/Codegen/Common/CPU/CPUPrepareUkernels.cpp +++ b/compiler/src/iree/compiler/Codegen/Common/CPU/CPUPrepareUkernels.cpp @@ -58,7 +58,7 @@ static void tileNonPackedDimsFor3DPackOps(RewriterBase &rewriter, } // Skip the tiling if the size is already 1. - RankedTensorType srcType = packOp.getSourceType(); + ShapedType srcType = packOp.getSourceType(); for (auto [idx, val] : llvm::enumerate(tileSizes)) { if (val && srcType.getDimSize(idx) == 1) { return; @@ -95,7 +95,7 @@ static void tileNonPackedDimsFor5DPUnpackOps(RewriterBase &rewriter, } // Skip the tiling if the size is already 1. - RankedTensorType destType = unpackOp.getDestType(); + ShapedType destType = unpackOp.getDestType(); for (auto [idx, val] : llvm::enumerate(tileSizes)) { if (val && destType.getDimSize(idx) == 1) { return; @@ -304,13 +304,14 @@ struct Convert3DPackto2DPackPattern : public OpRewritePattern { } Location loc = packOp.getLoc(); - auto reducedSrcType = - RankedTensorType::Builder(packOp.getSourceType()).dropDim(srcPos); + RankedTensorType sourceType = + cast(packOp.getSourceType()); + auto reducedSrcType = RankedTensorType::Builder(sourceType).dropDim(srcPos); auto reducedSrc = tensor::createCanonicalRankReducingExtractSliceOp( rewriter, loc, packOp.getSource(), reducedSrcType); - auto reducedDestType = - RankedTensorType::Builder(packOp.getDestType()).dropDim(destPos); + RankedTensorType destType = cast(packOp.getDestType()); + auto reducedDestType = RankedTensorType::Builder(destType).dropDim(destPos); auto reducedDest = tensor::createCanonicalRankReducingExtractSliceOp( rewriter, loc, packOp.getDest(), reducedDestType); @@ -385,13 +386,14 @@ struct Convert5DUnPackto4DUnPackPattern } Location loc = unpackOp.getLoc(); - auto reducedSrcType = - RankedTensorType::Builder(unpackOp.getSourceType()).dropDim(srcPos); + RankedTensorType sourceType = + cast(unpackOp.getSourceType()); + auto reducedSrcType = RankedTensorType::Builder(sourceType).dropDim(srcPos); auto reducedSrc = tensor::createCanonicalRankReducingExtractSliceOp( rewriter, loc, unpackOp.getSource(), reducedSrcType); - auto reducedDestType = - RankedTensorType::Builder(unpackOp.getDestType()).dropDim(destPos); + RankedTensorType destType = cast(unpackOp.getDestType()); + auto reducedDestType = RankedTensorType::Builder(destType).dropDim(destPos); auto reducedDest = tensor::createCanonicalRankReducingExtractSliceOp( rewriter, loc, unpackOp.getDest(), reducedDestType); diff --git a/compiler/src/iree/compiler/Codegen/ExternalInterfaces/Utils.h b/compiler/src/iree/compiler/Codegen/ExternalInterfaces/Utils.h index b4256d2248d5..f25420ade664 100644 --- a/compiler/src/iree/compiler/Codegen/ExternalInterfaces/Utils.h +++ b/compiler/src/iree/compiler/Codegen/ExternalInterfaces/Utils.h @@ -195,7 +195,7 @@ struct EncodingLayoutMaterializerAttrExternalModelBase } } auto packedType = - cast(linalg::PackOp::inferPackedType( + cast(linalg::PackOp::inferPackedTensorType( type, innerTileSizesVector, encodingInfo.innerDimsPos, encodingInfo.outerDimsPerm)); diff --git a/compiler/src/iree/compiler/Preprocessing/Common/ConvertConvToChannelsLast.cpp b/compiler/src/iree/compiler/Preprocessing/Common/ConvertConvToChannelsLast.cpp index de71cfd01c34..5f57ca9ed78d 100644 --- a/compiler/src/iree/compiler/Preprocessing/Common/ConvertConvToChannelsLast.cpp +++ b/compiler/src/iree/compiler/Preprocessing/Common/ConvertConvToChannelsLast.cpp @@ -216,7 +216,10 @@ createTransposeAsTensorPack( SmallVector mapResults(inputMap.getResults()); AffineMap transposedMap; - Value packedOperand = packedInput; + Value packedOperand; + if (!packedInput.getResults().empty()) { + packedOperand = packedInput.getResult(); + } // Collapse the unit dims created by linalg.pack if the pack is just a // transpose. if (tilingFactor <= 0) { diff --git a/third_party/llvm-project b/third_party/llvm-project index 209bbd538e90..34bc56e363ac 160000 --- a/third_party/llvm-project +++ b/third_party/llvm-project @@ -1 +1 @@ -Subproject commit 209bbd538e90095b0bfe6f15206674493d3ca8e7 +Subproject commit 34bc56e363acf50deba46141335abe28ced25159