[Mlir-commits] [mlir] [mlir-tblgen] Fix bug in emitEnumDoc (PR #118131)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Fri Nov 29 12:40:38 PST 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlir-core
@llvm/pr-subscribers-mlir
Author: Malte Dehling (mdehling)
<details>
<summary>Changes</summary>
Fixes a crash (assertion failure) in `mlir-tblgen -emit-enum-doc` caused by calling `EnumAttr()` for the wrong type of `Record *`: `EnumAttr` rather than `EnumAttrInfo` as asserted.
Compare the corresponding line in `emitDialectDoc()`:
https://github.com/llvm/llvm-project/blob/0ad6be1927f89cef09aa5d0fb244873f687997c9/mlir/tools/mlir-tblgen/OpDocGen.cpp#L532
---
Full diff: https://github.com/llvm/llvm-project/pull/118131.diff
1 Files Affected:
- (modified) mlir/tools/mlir-tblgen/OpDocGen.cpp (+1-1)
``````````diff
diff --git a/mlir/tools/mlir-tblgen/OpDocGen.cpp b/mlir/tools/mlir-tblgen/OpDocGen.cpp
index d499c78a5cf44d..1c394f5680a5c9 100644
--- a/mlir/tools/mlir-tblgen/OpDocGen.cpp
+++ b/mlir/tools/mlir-tblgen/OpDocGen.cpp
@@ -409,7 +409,7 @@ static void emitEnumDoc(const EnumAttr &def, raw_ostream &os) {
static void emitEnumDoc(const RecordKeeper &records, raw_ostream &os) {
os << "<!-- Autogenerated by mlir-tblgen; don't manually edit -->\n";
- for (const Record *def : records.getAllDerivedDefinitions("EnumAttr"))
+ for (const Record *def : records.getAllDerivedDefinitions("EnumAttrInfo"))
emitEnumDoc(EnumAttr(def), os);
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/118131
More information about the Mlir-commits
mailing list