diff --git a/mlir/include/mlir/Dialect/Transform/Utils/Utils.h b/mlir/include/mlir/Dialect/Transform/Utils/Utils.h --- a/mlir/include/mlir/Dialect/Transform/Utils/Utils.h +++ b/mlir/include/mlir/Dialect/Transform/Utils/Utils.h @@ -36,7 +36,7 @@ void printPackedOrDynamicIndexList(OpAsmPrinter &printer, Operation *op, Value packed, Type packedType, OperandRange values, TypeRange valueTypes, - ArrayRef integers); + DenseI64ArrayAttr integers); /// Parser hook for custom directive in assemblyFormat. /// diff --git a/mlir/lib/Dialect/Transform/Utils/Utils.cpp b/mlir/lib/Dialect/Transform/Utils/Utils.cpp --- a/mlir/lib/Dialect/Transform/Utils/Utils.cpp +++ b/mlir/lib/Dialect/Transform/Utils/Utils.cpp @@ -16,9 +16,10 @@ void mlir::transform::printPackedOrDynamicIndexList( OpAsmPrinter &printer, Operation *op, Value packed, Type packedType, - OperandRange values, TypeRange valueTypes, ArrayRef integers) { + OperandRange values, TypeRange valueTypes, DenseI64ArrayAttr integers) { if (packed) { - assert(values.empty() && integers.empty() && "expected no values/integers"); + assert(values.empty() && (!integers || integers.empty()) && + "expected no values/integers"); printer << "*(" << packed << " : " << packedType << ")"; return; }