[Mlir-commits] [mlir] 740f674 - [mlir][acc] Fix extraneous space when printing acc.loop (#137839)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Tue Apr 29 14:46:35 PDT 2025
Author: Razvan Lupusoru
Date: 2025-04-29T14:46:31-07:00
New Revision: 740f674917a41bbaea88877db9beb4b2d6b52878
URL: https://github.com/llvm/llvm-project/commit/740f674917a41bbaea88877db9beb4b2d6b52878
DIFF: https://github.com/llvm/llvm-project/commit/740f674917a41bbaea88877db9beb4b2d6b52878.diff
LOG: [mlir][acc] Fix extraneous space when printing acc.loop (#137839)
The acc.loop printer inserted two spaces after the operation. This
occurred because the custom combined loop attribute printer was not
conditional - and thus the tablegen inserted an automatic space before
invoking the custom printer. Then for each additional attribute it also
inserted a space in beginning.
Since lit tests were not sensitive to this, no tests need updated. But
the issue with the extraneous space is resolved.
Added:
Modified:
mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Removed:
################################################################################
diff --git a/mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td b/mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
index 41cec89fdf598..df7ff28ca5926 100644
--- a/mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
+++ b/mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
@@ -2197,7 +2197,7 @@ def OpenACC_LoopOp : OpenACC_Op<"loop",
let hasCustomAssemblyFormat = 1;
let assemblyFormat = [{
- custom<CombinedConstructsLoop>($combined)
+ ( `combined` `(` custom<CombinedConstructsLoop>($combined)^ `)` )?
oilist(
`gang` `` custom<GangClause>($gangOperands, type($gangOperands),
$gangOperandsArgType, $gangOperandsDeviceType,
diff --git a/mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp b/mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
index c4cc560e42f6a..91025e90b8e76 100644
--- a/mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
+++ b/mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
@@ -1686,25 +1686,19 @@ static void printDeviceTypeOperandsWithKeywordOnly(
static ParseResult
parseCombinedConstructsLoop(mlir::OpAsmParser &parser,
mlir::acc::CombinedConstructsTypeAttr &attr) {
- if (succeeded(parser.parseOptionalKeyword("combined"))) {
- if (parser.parseLParen())
- return failure();
- if (succeeded(parser.parseOptionalKeyword("kernels"))) {
- attr = mlir::acc::CombinedConstructsTypeAttr::get(
- parser.getContext(), mlir::acc::CombinedConstructsType::KernelsLoop);
- } else if (succeeded(parser.parseOptionalKeyword("parallel"))) {
- attr = mlir::acc::CombinedConstructsTypeAttr::get(
- parser.getContext(), mlir::acc::CombinedConstructsType::ParallelLoop);
- } else if (succeeded(parser.parseOptionalKeyword("serial"))) {
- attr = mlir::acc::CombinedConstructsTypeAttr::get(
- parser.getContext(), mlir::acc::CombinedConstructsType::SerialLoop);
- } else {
- parser.emitError(parser.getCurrentLocation(),
- "expected compute construct name");
- return failure();
- }
- if (parser.parseRParen())
- return failure();
+ if (succeeded(parser.parseOptionalKeyword("kernels"))) {
+ attr = mlir::acc::CombinedConstructsTypeAttr::get(
+ parser.getContext(), mlir::acc::CombinedConstructsType::KernelsLoop);
+ } else if (succeeded(parser.parseOptionalKeyword("parallel"))) {
+ attr = mlir::acc::CombinedConstructsTypeAttr::get(
+ parser.getContext(), mlir::acc::CombinedConstructsType::ParallelLoop);
+ } else if (succeeded(parser.parseOptionalKeyword("serial"))) {
+ attr = mlir::acc::CombinedConstructsTypeAttr::get(
+ parser.getContext(), mlir::acc::CombinedConstructsType::SerialLoop);
+ } else {
+ parser.emitError(parser.getCurrentLocation(),
+ "expected compute construct name");
+ return failure();
}
return success();
}
@@ -1715,13 +1709,13 @@ printCombinedConstructsLoop(mlir::OpAsmPrinter &p, mlir::Operation *op,
if (attr) {
switch (attr.getValue()) {
case mlir::acc::CombinedConstructsType::KernelsLoop:
- p << "combined(kernels)";
+ p << "kernels";
break;
case mlir::acc::CombinedConstructsType::ParallelLoop:
- p << "combined(parallel)";
+ p << "parallel";
break;
case mlir::acc::CombinedConstructsType::SerialLoop:
- p << "combined(serial)";
+ p << "serial";
break;
};
}
More information about the Mlir-commits
mailing list