pliron
is an extensible compiler IR framework, inspired by MLIR
and written in safe Rust.
-
Install the rust toolchain.
-
cargo build
andcargo test
should build the compiler and run the testsuite. -
To see a simple IR constructed (by the print_simple test), use the following command:
cargo test print_simple -- --show-output
It should print something like:
builtin.module @bar { block_0_0(): builtin.func @foo: builtin.function <() -> (builtin.integer <si64>)> { entry(): c0_op_2_0_res0 = builtin.constant 0x0: builtin.integer <si64>; llvm.return c0_op_2_0_res0 } }
pliron
is currently in a nascent stage and not yet useful for
real-world use. In the future it can be used by just adding
a dependence to the crate
in your Rust project.
- Some key design decisions are explained in the introductory blog article.
- Code documentation can be found on docs.rs.