Add ISLE reference documentation.
This documentation provides details for all of the ISLE language features, and detailed rationale for why many of them are designed in the way that they are. It is hopefully both a reasonable tutorial and reference for someone looking to understand the DSL. Note that this documentation is separate from and orthogonal to the work to document the Cranelift bindings and integration work that @fitzgen has covered well in #3556. This document can link to that one and vice-versa once they are both in-tree.
This commit is contained in:
@@ -14,6 +14,10 @@
|
||||
- [Cranelift's register allocator](regalloc.md)
|
||||
This page document Cranelift's current register allocator.
|
||||
|
||||
- [ISLE](isle.md)
|
||||
This page documents the domain-specific language (DSL), ISLE, that
|
||||
we use to define instruction-lowering patterns.
|
||||
|
||||
## Cranelift crate documentation:
|
||||
|
||||
- [cranelift](https://docs.rs/cranelift)
|
||||
|
||||
1306
cranelift/docs/isle.md
Normal file
1306
cranelift/docs/isle.md
Normal file
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
@@ -30,9 +31,7 @@ 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.
|
||||
#15](https://github.com/bytecodealliance/rfcs/pull/15). Reference documentation can be found [here](../docs/isle.md).
|
||||
|
||||
## Example Usage
|
||||
|
||||
@@ -522,9 +521,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.
|
||||
|
||||
Reference in New Issue
Block a user