Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
LLVM Dialect for pliron
This crate provides the following functionality:
- Dialect definitions of LLVM ops, types and attributes.
- A wrapper around llvm-sys converting to and from our LLVM dialect. This necessitates that LLVM be installed locally.
We currently support LLVM-17, and hence LLVM-17 needs to be on your computer.
On Ubuntu, this means, you require the libllvm17 and libpolly-17-dev
packages.
llvm-opt tool
The llvm-opt binary is provided to enable parsing LLVM bitcode binaries
into pliron's LLVM dialect and to emit LLVM bitcode back from the dialect.
Example usage:
-
Compile fib.c into LLVM-IR:
$clang-17 -c -emit-llvm -o /tmp/fib.bc tests/resources/fib.c -
Convert the LLVM bitcode to LLVM dialect in
plironand back to LLVM bitcode (the binaryllvm-opt, produced in your cargo's target directory must be in $PATH):$llvm-opt -S -i /tmp/fib.bc -o /tmp/fib.opt.ll -
Compile the output fibonacci LLVM-IR, along with a main function into a binary:
$clang-17 -o /tmp/fib /tmp/fib.out.ll tests/resources/fib-main.c -
Run the fibonacci binary to see the first few fibonacci numbers printed.
$/tmp/fibfib(0): 0 fib(1): 0 fib(2): 1 fib(3): 1 fib(4): 2
Note: Implementation of the LLVM dialect is not complete, and the above is just a proof-of-concept.