-
Notifications
You must be signed in to change notification settings - Fork 78
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'xdslproject:main' into main
- Loading branch information
Showing
55 changed files
with
1,987 additions
and
456 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Api Reference | ||
|
||
| Module | Name | | ||
|----------------------|--------------------------| | ||
| [`ir`](ir/index.md) | IR Data Structures | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
# Attribute | ||
|
||
## ::: xdsl.ir.Attribute | ||
|
||
options: | ||
members: | ||
- name | ||
- verify | ||
show_root_heading: true | ||
|
||
## ::: xdsl.ir.Data | ||
|
||
options: | ||
members: | ||
- data | ||
- print_parameter | ||
- parse_parameter | ||
show_root_heading: true | ||
|
||
## ::: xdsl.ir.ParametrizedAttribute | ||
|
||
options: | ||
members: | ||
- parameters | ||
- print_parameters | ||
- parse_parameters | ||
- get_irdl_definition | ||
show_root_heading: true | ||
|
||
## ::: xdsl.ir.TypedAttribute | ||
|
||
options: | ||
members: | ||
- parameters | ||
- print_parameters | ||
- parse_parameters | ||
- get_irdl_definition | ||
show_root_heading: true |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
|
||
# ::: xdsl.ir.Dialect | ||
|
||
options: | ||
members: | ||
- attributes | ||
- operations | ||
show_root_heading: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# IR Data Structures | ||
|
||
## [Attribute](attribute.md) | ||
|
||
Attributes represent compile-time information in xDSL. | ||
All attributes are immutable, equatable, and hashable. | ||
|
||
## [SSAValue](ssa_value.md) | ||
|
||
Run-time information is represented as SSAValue. | ||
SSA stands for [static single-assignment](https://en.wikipedia.org/wiki/Static_single-assignment_form), meaning that each value is only ever assigned once, and never reassigned. | ||
This property is useful when performing transformations such as dead-code elimination, constant folding, and other compiler transformations. | ||
|
||
## [IRNode](ir_node.md) | ||
|
||
Code is represented as a recursive data structure, where [operations](operation.md) contain a doubly-linked list of [regions](region.md), which contain a doubly linked list of [blocks](block.md), which contain operations. | ||
|
||
## [Operation](operation.md) | ||
|
||
Operations are rich objects that carry some meaning in their IR. | ||
They can be used to represent integer addition (`arith.addi`), a module of code (`builtin.module`), a function declaration or definition (`func.func`), and many more. | ||
|
||
## [Block](block.md) | ||
|
||
Blocks are a list of operations. | ||
They have a (possibly empty) list of operands, that can be used to model function arguments for use in the function body, or loop arguments. | ||
|
||
## [Region](region.md) | ||
|
||
Regions are a list of blocks. | ||
|
||
## [Dialect](dialect.md) | ||
|
||
A dialect is a grouping of [attributes](attribute.md) and [operations](operation.md). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# IRNode | ||
|
||
## ::: xdsl.ir.IRNode | ||
|
||
options: | ||
show_root_heading: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# Operation | ||
|
||
## ::: xdsl.ir.Operation | ||
|
||
options: | ||
members: | ||
- name | ||
- operands | ||
- results | ||
- successors | ||
- properties | ||
- attributes | ||
- regions | ||
- parent | ||
- next_op | ||
- prev_op | ||
- traits | ||
show_root_heading: true | ||
|
||
## ::: xdsl.ir.OpOperands | ||
|
||
options: | ||
show_root_heading: true | ||
|
||
## ::: xdsl.ir.OpTraits | ||
|
||
options: | ||
show_root_heading: true |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
|
||
# SSAValue | ||
|
||
## ::: xdsl.ir.SSAValue | ||
|
||
options: | ||
show_root_heading: true | ||
|
||
## ::: xdsl.ir.Use | ||
|
||
options: | ||
show_root_heading: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# xDSL | ||
|
||
[xDSL](https://xdsl.dev/) is a compiler framework designed to be approachable, productive, and fun to use. | ||
|
||
[API Reference](api/index.md) |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
site_name: xDSL | ||
|
||
theme: | ||
name: "material" | ||
|
||
plugins: | ||
- search | ||
- mkdocstrings | ||
|
||
|
||
# nav: | ||
# - xDSL: index.md | ||
# - API Reference: | ||
# - API Reference: api/index.md | ||
# - Core IR Data Structures: api/ir/index.md |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.