#llvm #wrapper #bindings #tablegen

tblgen-alt

Safe Rust bindings for TableGen. Alternative updated version.

5 releases

new 0.3.6 Jun 6, 2024
0.3.5 Jun 6, 2024
0.3.3 May 2, 2024
0.3.2 Apr 29, 2024
0.3.1 Apr 29, 2024

#80 in FFI

Download history 161/week @ 2024-04-24 354/week @ 2024-05-01 79/week @ 2024-05-08 209/week @ 2024-05-15 652/week @ 2024-05-22 1033/week @ 2024-05-29 794/week @ 2024-06-05

2,691 downloads per month
Used in 2 crates (via melior-macro)

MIT/Apache

86KB
2K SLoC

Rust 1.5K SLoC // 0.0% comments C++ 459 SLoC // 0.1% comments Shell 8 SLoC

tblgen

GitHub Action Crate Crates.io Total Downloads Crates.io License

This is a updated (LLVM 18) fork of https://gitlab.com/Danacus/tblgen-rs. Original author: Daan Vanoverloop.

This crate provides raw bindings and a safe wrapper for TableGen, a domain-specific language used by the LLVM project.

The goal of this crate is to enable users to develop custom TableGen backends in Rust. Hence the primary use case of this crate are procedural macros that generate Rust code from TableGen description files.

Documentation

Read the documentation at https://danacus.gitlab.io/tblgen-rs/tblgen/.

Supported LLVM Versions

An installation of LLVM is required to use this crate. Both LLVM 16, 17 and 18 are supported and can be selected using feature flags.

The TABLEGEN_<version>_PREFIX environment variable can be used to specify a custom directory of the LLVM installation.

Dependencies

~0.3–2.7MB
~56K SLoC