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:
@@ -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