Skip to content

Releases: mlir-rs/tblgen-rs

v0.9.0

20 Mar 09:40
0104818

Choose a tag to compare

Added

  • LLVM 22 support (#59)
  • BitsInit::known_bits_to_int() (LLVM 22 only)
  • Direct typed value accessors on Record: int_value, str_value, bit_value, def_value, dag_value, bits_init_value, list_init_value, list_of_defs_value, list_of_ints_value, list_of_strings_value, optional_str_value, optional_def_value, is_value_unset
  • Record identity/metadata: is_class, def_init, id, name_init, has_direct_super_class
  • RecordRecTy accessors: num_type_classes, type_class, type_is_subclass_of
  • RecordValue metadata: is_template_arg, is_nonconcrete_ok, bits_width, list_element_type
  • DagInit::arg_no for named argument lookup
  • RecordKeeper::input_filename and RecordKeeper::global
  • LLVM 21 test matrix in CI

Full Changelog: v0.8.1...v0.9.0

v0.8.1

08 Mar 19:12
06a3c33

Choose a tag to compare

What's Changed

  • Add usage examples covering core API surface by @edg-l in #52
  • Add double-ended iteration, Hash, and debug helpers across init/record types by @edg-l in #53
  • Fix header-hygiene in TableGen.hpp by @dtolnay in #54
  • Fix soundness bugs and extend API coverage for 0.8.1 by @edg-l in #55
  • Bump version to 0.8.1 by @edg-l in #56

New Contributors

Full Changelog: v0.8.0...v0.8.1

v0.8.0

06 Mar 16:43
080deab

Choose a tag to compare

Fixed

  • Fix soundness bugs and iterator memory leaks (#50)
    • tableGenRecordGetFirstValue now returns nullptr for empty records, preventing UB when iterating a record with no fields
    • RecordValueIter::next() no longer calls tableGenRecordValNext with a null pointer after the iterator is exhausted
    • NamedRecordIter::clone() no longer segfaults when called on an exhausted iterator
    • GetNextClass/GetNextDef now correctly free the heap-allocated iterator object when the end is reached
    • Memory leak in TableGenParser::parse() on failed file inclusion fixed via std::unique_ptr
    • Replace panicking From<BitInit> for bool, From<BitsInit> for Vec<bool>, and From<IntInit> for i64 with TryFrom impls that return errors instead of panicking on variable references or C API failures
  • Strip -D_FORTIFY_SOURCE from llvm-config flags in build.rs (#49)
  • Fix DagIter stopping early on unnamed dag arguments (#48)
  • Add From<BitsInit> for Vec<Option<bool>> (#47)
  • Fix UB in BitsInit::bit() when bit is a VarBitInit (#46)
  • Fix llvm-config static link detection and exit status handling (#45)

Added

  • RecordIter now implements ExactSizeIterator and size_hint() (#50)

v0.5.1

16 Jan 11:34
fa356d3

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: https://github.com/mlir-rs/tblgen-rs/commits/v0.5.1