[mlir][ods] resolve the wrong indent issue (#189277)

The `emitSummaryAndDescComments` is used to generate summary and
description for tablegen generated classes and structs such as Dialects
and Interfaces. The generated summary and description is indented
incorrectly in the output generated file. For example
`NVGPUDialect.h.inc ` looks like the following:

```cpp
namespace mlir::nvgpu {

/// The `NVGPU` dialect provides a bridge between higher-level target-agnostic
///     dialects (GPU and Vector) and the lower-level target-specific dialect
///     (LLVM IR based NVVM dialect) for NVIDIA GPUs. This allow representing PTX
///     specific operations while using MLIR high level dialects such as Memref
///     and Vector for memory and target-specific register operands, respectively.
class NVGPUDialect : public ::mlir::Dialect {
    ...
  };

} // namespace mlir::nvgpu
```

This is because the `emitSummaryAndDescComments` trims the summary and
description from both sides, rendering the re-indentation useless. This
PR resolves this bug.
This commit is contained in:
AidinT 2026-04-01 15:20:54 +02:00 committed by GitHub
parent 9a33125e42
commit 461a1c51bf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -18,8 +18,8 @@ void mlir::tblgen::emitSummaryAndDescComments(llvm::raw_ostream &os,
llvm::StringRef summary,
llvm::StringRef description,
bool terminateComment) {
StringRef trimmedSummary = summary.trim();
StringRef trimmedDesc = description.trim();
StringRef trimmedSummary = summary.rtrim();
StringRef trimmedDesc = description.rtrim();
raw_indented_ostream ros(os);
bool empty = true;