File tree Expand file tree Collapse file tree 1 file changed +6
-7
lines changed
mlir/lib/Dialect/Affine/IR Expand file tree Collapse file tree 1 file changed +6
-7
lines changed Original file line number Diff line number Diff line change @@ -294,12 +294,10 @@ bool mlir::affine::isValidDim(Value value) {
294294 return isValidDim (value, getAffineScope (defOp));
295295
296296 // This value has to be a block argument for an op that has the
297- // `AffineScope` trait or an induction var of an affine.for or
298- // affine.parallel.
299- if (isAffineInductionVar (value))
300- return true ;
297+ // `AffineScope` trait or for an affine.for or affine.parallel.
301298 auto *parentOp = llvm::cast<BlockArgument>(value).getOwner ()->getParentOp ();
302- return parentOp && parentOp->hasTrait <OpTrait::AffineScope>();
299+ return parentOp && (parentOp->hasTrait <OpTrait::AffineScope>() ||
300+ isa<AffineForOp, AffineParallelOp>(parentOp));
303301}
304302
305303// Value can be used as a dimension id iff it meets one of the following
@@ -318,9 +316,10 @@ bool mlir::affine::isValidDim(Value value, Region *region) {
318316
319317 auto *op = value.getDefiningOp ();
320318 if (!op) {
321- // This value has to be an induction var for an affine.for or an
319+ // This value has to be a block argument for an affine.for or an
322320 // affine.parallel.
323- return isAffineInductionVar (value);
321+ auto *parentOp = llvm::cast<BlockArgument>(value).getOwner ()->getParentOp ();
322+ return isa<AffineForOp, AffineParallelOp>(parentOp);
324323 }
325324
326325 // Affine apply operation is ok if all of its operands are ok.
You can’t perform that action at this time.
0 commit comments