Files
wasmtime/cranelift/docs/index.md
Alex Crichton 3179dcf6f1 Update Cranelift's documentation after the merger. (#1238)
Update the documentation for the merger, and also for various changes in
Cranelift. Remove some old obsolete documentation, and convert the remaining
Sphinx files to Markdown. Some of the remaining content is still out of
date, but this is a step forward.
2020-03-05 15:51:12 -06:00

63 lines
2.4 KiB
Markdown

# Cranelift Documentation
## Miscellaneous documentation pages:
- [Cranelift IR](ir.md)
Cranelift IR is the data structure that most of the compiler operates on.
- [Testing Cranelift](testing.md)
This page documents Cranelift's testing frameworks.
- [Cranelift compared to LLVM](compare-llvm.md)
LLVM and Cranelift have similarities and differences.
- [Cranelift's register allocator](regalloc.md)
This page document Cranelift's current register allocator.
## Cranelift crate documentation:
- [cranelift](https://docs.rs/cranelift-codegen)
This is an umbrella crate that re-exports the codegen and frontend crates,
to make them easier to use.
- [cranelift-codegen](https://docs.rs/cranelift-codegen)
This is the core code generator crate. It takes Cranelift IR as input
and emits encoded machine instructions, along with symbolic relocations,
as output.
- [cranelift-codegen-meta](https://docs.rs/cranelift-codegen-meta)
This crate contains the meta-language utilities and descriptions used by the
code generator.
- [cranelift-wasm](https://docs.rs/cranelift-wasm)
This crate translates WebAssembly code into Cranelift IR.
- [cranelift-frontend](https://docs.rs/cranelift-frontend)
This crate provides utilities for translating code into Cranelift IR.
- [cranelift-native](https://docs.rs/cranelift-native)
This crate performs auto-detection of the host, allowing Cranelift to
generate code optimized for the machine it's running on.
- [cranelift-reader](https://docs.rs/cranelift-reader)
This crate translates from Cranelift IR's text format into Cranelift IR
in in-memory data structures.
- [cranelift-module](https://docs.rs/cranelift-module)
This crate manages compiling multiple functions and data objects
together.
- [cranelift-object](https://docs.rs/cranelift-object)
This crate provides a object-based backend for `cranelift-module`, which
emits native object files using the
`object <https://github.com/gimli-rs/object>`_ library.
- [cranelift-faerie](https://docs.rs/cranelift-faerie)
This crate provides a faerie-based backend for `cranelift-module`, which
emits native object files using the
`faerie <https://github.com/m4b/faerie>`_ library.
- [cranelift-simplejit](https://docs.rs/cranelift-simplejit)
This crate provides a simple JIT backend for `cranelift-module`, which
emits code and data into memory.