9 releases

new 0.2.0 May 31, 2024
0.1.7 Oct 21, 2023
0.1.5 Jun 4, 2023
0.1.4 Apr 29, 2023
0.1.1 Sep 5, 2022

#96 in Programming languages

Download history 23/week @ 2024-02-17 216/week @ 2024-02-24 6/week @ 2024-03-09 7/week @ 2024-03-30 100/week @ 2024-05-25

101 downloads per month
Used in pliron-llvm

Apache-2.0

285KB
6.5K SLoC

Programming Languages Intermediate RepresentatiON

Status

pliron is an extensible compiler IR framework, inspired by MLIR and written in safe Rust.

Build and Test

  • Install the rust toolchain.

  • cargo build and cargo 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
        }
    }
    

Using the Library

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.

Documentation

Dependencies

~4.5–6.5MB
~116K SLoC