Merge pull request #3560 from cfallin/isle-docs

Add ISLE reference documentation.
This commit is contained in:
Chris Fallin
2021-11-30 14:10:04 -08:00
committed by GitHub
4 changed files with 1374 additions and 13 deletions

View File

@@ -13,7 +13,7 @@
- [Cranelift's register allocator](regalloc.md)
This page document Cranelift's current register allocator.
## Cranelift crate documentation:
- [cranelift](https://docs.rs/cranelift)

View File

@@ -9,7 +9,8 @@ ISLE is a domain-specific language for authoring instruction selection and
rewrite rules. ISLE source text is [compiled down into Rust
code](https://github.com/bytecodealliance/wasmtime/tree/main/cranelift/isle#implementation).
TODO: link to @cfallin's language reference/tutorial
Documentation on the ISLE language itself can be found
[here](../isle/docs/language-reference.md).
## How does ISLE integrate with the build system?

View File

@@ -1,12 +1,13 @@
# ISLE: Instruction Selection/Lowering Expressions DSL
See also: [Language Reference](../docs/isle.md)
## Table of Contents
* [Introduction](#introduction)
* [Example Usage](#example-usage)
* [Tutorial](#tutorial)
* [Implementation](#implementation)
* [Sketch of Instruction Selector](#sketch-of-instruction-selector)
## Introduction
@@ -29,10 +30,10 @@ level, the rules can be seen as simple equivalences between values in two
languages, and so should be translatable to formal constraints or other logical
specification languages.
Some more details and motivation are in [BA RFC
#15](https://github.com/bytecodealliance/rfcs/pull/15); additional
documentation will eventually be added to carefully specify the language
semantics.
Some more details and motivation are in [BA RFC #15](https://github.com/bytecodealliance/rfcs/pull/15).
Reference documentation can be found [here](docs/language-reference.md).
Details on ISLE's integration into Cranelift can be found
[here](../docs/isle-integration.md).
## Example Usage
@@ -522,9 +523,3 @@ implements it.
Relevant source files:
* `isle/src/codegen.rs`
## Sketch of Instruction Selector
Please see [this Cranelift
branch](https://github.com/cfallin/wasmtime/tree/isle) for an ongoing sketch of
an instruction selector backend in Cranelift that uses ISLE.

File diff suppressed because it is too large Load Diff