diff --git a/mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp b/mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp --- a/mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp +++ b/mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp @@ -278,6 +278,10 @@ LLVM_DEBUG(dbgs() << "\n***Consider producer:\t" << *dependence.dependentOpView.op << "\n"); auto producer = cast(dependence.dependentOpView.op); + if (isa(dependence.dependentOpView.op)) { + LLVM_DEBUG(dbgs() << "Not fusing indexed_generic producer"); + continue; + } // Check that the dependence is indeed on the input `consumerIdx` view. auto consumedView = dependence.indexingView;