1
- // ===----------------------------------------------------------------------===//
2
- // ===- AnyTilableFusion.cpp - the Fusion for any tilable MLIR operation --*- C++
3
- // -*-=//
4
- // -*-===//
1
+ // ===-- AnyTilableFusion.cpp - Fusion For Any Tilable Op --------*- C++ -*-===//
5
2
//
6
3
// This file is licensed under the Apache License v2.0 with LLVM Exceptions.
7
4
// See https://llvm.org/LICENSE.txt for license information.
@@ -198,7 +195,7 @@ class ProducerFusionAnchor : public FusionAnchorBase<tensor::ExtractSliceOp> {
198
195
public:
199
196
ProducerFusionAnchor (
200
197
RewriterBase &rewriter, Operation *producerOp, OpResult producerValue,
201
- SmallVector <tensor::ExtractSliceOp> candidateExtractSliceOpList)
198
+ ArrayRef <tensor::ExtractSliceOp> candidateExtractSliceOpList)
202
199
: FusionAnchorBase<tensor::ExtractSliceOp>(producerOp) {
203
200
auto candidateList = llvm::map_to_vector (
204
201
candidateExtractSliceOpList,
@@ -222,7 +219,7 @@ class ConsumerFusionAnchor
222
219
public:
223
220
ConsumerFusionAnchor (
224
221
RewriterBase &rewriter, Operation *consumerOp, OpOperand &consumerValue,
225
- SmallVector <OffsetSizeAndStrideOpInterface> candidateInsertSliceOpList)
222
+ ArrayRef <OffsetSizeAndStrideOpInterface> candidateInsertSliceOpList)
226
223
: FusionAnchorBase<OffsetSizeAndStrideOpInterface>(consumerOp) {
227
224
if (auto linalgOp = dyn_cast<linalg::LinalgOp>(consumerOp)) {
228
225
appendCandidateWithVerifyTileSizes (
@@ -439,7 +436,7 @@ static SmallVector<Operation *> postOpFuseConsumerOfOpResult(
439
436
if (failed (consAnchorList))
440
437
return tiledConsumerList;
441
438
442
- // sorted by userList and position in parentBlock
439
+ // TODO: sorted by userList and position in parentBlock
443
440
for (auto &consAnchor : *consAnchorList) {
444
441
if (alreadyTiledOps.count (consAnchor.getFusableOp ()))
445
442
continue ;
0 commit comments