Expand description
Program analysis and optimization for clojurust.
This crate provides:
- IR — intermediate representation (ANF/SSA) for analysis
- ANF lowering — convert
FormAST to IR instructions (Rust + Clojure front-ends) - Escape analysis — track value flow and identify non-escaping allocations
- IR conversion — Clojure Value data → Rust IR types
The Clojure front-end (cljrs.compiler.anf, cljrs.compiler.escape) produces
IR as plain Clojure data. The ir_convert module translates this back to the
Rust IrFunction structs that codegen.rs consumes.
Modules§
- aot
- AOT compilation driver.
- codegen
- Cranelift code generation: translate
IrFunctionto native machine code. - ir
- Re-export IR types from the
cljrs-ircrate. - rt_abi
- C-ABI runtime bridge for AOT-compiled clojurust code.
Functions§
- register_
compiler_ sources - Register all compiler Clojure source files as builtin sources in the
given
GlobalEnv, so thatrequirecan load them without filesystem access.