Merge pull request #3560 from cfallin/isle-docs
Add ISLE reference documentation.
This commit is contained in:
@@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
- [Cranelift's register allocator](regalloc.md)
|
- [Cranelift's register allocator](regalloc.md)
|
||||||
This page document Cranelift's current register allocator.
|
This page document Cranelift's current register allocator.
|
||||||
|
|
||||||
## Cranelift crate documentation:
|
## Cranelift crate documentation:
|
||||||
|
|
||||||
- [cranelift](https://docs.rs/cranelift)
|
- [cranelift](https://docs.rs/cranelift)
|
||||||
|
|||||||
@@ -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
|
rewrite rules. ISLE source text is [compiled down into Rust
|
||||||
code](https://github.com/bytecodealliance/wasmtime/tree/main/cranelift/isle#implementation).
|
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?
|
## How does ISLE integrate with the build system?
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
# ISLE: Instruction Selection/Lowering Expressions DSL
|
# ISLE: Instruction Selection/Lowering Expressions DSL
|
||||||
|
|
||||||
|
See also: [Language Reference](../docs/isle.md)
|
||||||
|
|
||||||
## Table of Contents
|
## Table of Contents
|
||||||
|
|
||||||
* [Introduction](#introduction)
|
* [Introduction](#introduction)
|
||||||
* [Example Usage](#example-usage)
|
* [Example Usage](#example-usage)
|
||||||
* [Tutorial](#tutorial)
|
* [Tutorial](#tutorial)
|
||||||
* [Implementation](#implementation)
|
* [Implementation](#implementation)
|
||||||
* [Sketch of Instruction Selector](#sketch-of-instruction-selector)
|
|
||||||
|
|
||||||
## Introduction
|
## 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
|
languages, and so should be translatable to formal constraints or other logical
|
||||||
specification languages.
|
specification languages.
|
||||||
|
|
||||||
Some more details and motivation are in [BA RFC
|
Some more details and motivation are in [BA RFC #15](https://github.com/bytecodealliance/rfcs/pull/15).
|
||||||
#15](https://github.com/bytecodealliance/rfcs/pull/15); additional
|
Reference documentation can be found [here](docs/language-reference.md).
|
||||||
documentation will eventually be added to carefully specify the language
|
Details on ISLE's integration into Cranelift can be found
|
||||||
semantics.
|
[here](../docs/isle-integration.md).
|
||||||
|
|
||||||
## Example Usage
|
## Example Usage
|
||||||
|
|
||||||
@@ -522,9 +523,3 @@ implements it.
|
|||||||
Relevant source files:
|
Relevant source files:
|
||||||
|
|
||||||
* `isle/src/codegen.rs`
|
* `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.
|
|
||||||
|
|||||||
1365
cranelift/isle/docs/language-reference.md
Normal file
1365
cranelift/isle/docs/language-reference.md
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user