@@ -284,19 +284,6 @@ void GenerateLoopNest<TiledLoopOp>::doit(
284
284
SmallVector<Value, 4 > lbs, ubs, steps;
285
285
unpackRanges (loopRanges, lbs, ubs, steps);
286
286
287
- auto dropNonShapedValues =
288
- [](ArrayRef<OpOperand *> operands) -> SmallVector<Value, 2 > {
289
- SmallVector<Value, 2 > filteredOperands;
290
- for (OpOperand *operand : operands) {
291
- Type type = operand->get ().getType ();
292
- if (type.isa <ShapedType>())
293
- filteredOperands.push_back (operand->get ());
294
- }
295
- return filteredOperands;
296
- };
297
- auto inputOperands = dropNonShapedValues (linalgOp.getInputOperands ());
298
- auto outputOperands = dropNonShapedValues (linalgOp.getOutputOperands ());
299
-
300
287
auto wrappedBuilderFn = [&](OpBuilder &nestedBuilder, Location nestedLoc,
301
288
ValueRange ivs, ValueRange inputs,
302
289
ValueRange outputs) {
@@ -305,6 +292,9 @@ void GenerateLoopNest<TiledLoopOp>::doit(
305
292
bodyBuilderFn (nestedBuilder, nestedLoc, ivs, outputTensors);
306
293
nestedBuilder.create <linalg::YieldOp>(nestedLoc, results);
307
294
};
295
+
296
+ SmallVector<Value> inputOperands = linalgOp.getInputOperands ();
297
+ SmallVector<Value> outputOperands = linalgOp.getOutputOperands ();
308
298
auto tiledLoop =
309
299
b.create <TiledLoopOp>(loc, lbs, ubs, steps, inputOperands, outputOperands,
310
300
b.getArrayAttr (iteratorTypes), wrappedBuilderFn);
0 commit comments