Skip to content

Commit ee9e48a

Browse files
authored
fix readme links (#150)
1 parent 40c8c44 commit ee9e48a

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ The few main features/affordances:
7777
1. `region_op`s (like `@func` above)
7878
\
7979
 
80-
1. These are decorators around ops (bindings for MLIR operations) that have regions (e.g., [in_parallel](https://github.com/makslevental/mlir-python-extras/blob/a9885db18096a610d29a26293396d860d40ad213/mlir_extras/dialects/ext/scf.py#L185)).
80+
1. These are decorators around ops (bindings for MLIR operations) that have regions (e.g., [in_parallel](https://github.com/makslevental/mlir-python-extras/blob/40c8c44e767fd9ee8fec35a3c3342b3c8623ef1c/mlir/extras/dialects/ext/scf.py#L205)).
8181
They turn decorated functions, by executing them "eagerly", into an instance of such an op, e.g.,
8282
```python
8383
@func
@@ -87,7 +87,7 @@ The few main features/affordances:
8787
becomes `func.func @foo(%arg0: i32) { }`; if the region carrying op produces a result, the identifier for the python function (`foo`) becomes the corresponding `ir.Value` of the result (if the op doesn't produce a result then the identifier becomes the corresponding `ir.OpView`).
8888
\
8989
\
90-
See [mlir_extras.util.op_region_builder](https://github.com/makslevental/mlir-python-extras/blob/a9885db18096a610d29a26293396d860d40ad213/mlir_extras/util.py#L123) for details.
90+
This has been upstreamed to [mlir/python/mlir/extras/meta.py](https://github.com/llvm/llvm-project/blob/24038650d9ca5d66b07d3075afdebe81012ab1f2/mlir/python/mlir/extras/meta.py#L12)
9191
\
9292
 
9393
2. `@canonicalize` (like `@canonicalize(using=scf)` above)
@@ -96,16 +96,16 @@ The few main features/affordances:
9696
1. These are decorators that **rewrite the python AST**. They transform a select few forms (basically only `if`s) into a more "canonical" form, in order to more easily map to MLIR. If that scares you, fear not; they are not essential and all target MLIR can still be mapped to without using them (by using the slightly more verbose `region_op`).
9797
\
9898
\
99-
See [mlir_extras.ast.canonicalize](https://github.com/makslevental/mlir-python-extras/blob/a9885db18096a610d29a26293396d860d40ad213/mlir_extras/ast/canonicalize.py) for details.
99+
See [mlir/extras.ast.canonicalize](https://github.com/makslevental/mlir-python-extras/blob/40c8c44e767fd9ee8fec35a3c3342b3c8623ef1c/mlir/extras/ast/canonicalize.py) for details.
100100
\
101101
 
102-
3. `mlir_extras.types` (like `T.memref(K, K, T.i64)` above)
102+
3. `mlir/extras.types` (like `T.memref(K, K, T.i64)` above)
103103
\
104104
 
105-
1. These are just convenient wrappers around upstream type constructors. Note, because MLIR types are uniqued to a `ir.Context`, these are all actually functions that return the type (yes, even `T.i64`, which uses [`__getattr__` on the module](https://github.com/makslevental/mlir-python-extras/blob/2ca62e9c1540b1624c302bc9efb4666ff5d1c133/mlir_extras/types.py#L98)).
105+
1. These are just convenient wrappers around upstream type constructors. Note, because MLIR types are uniqued to a `ir.Context`, these are all actually functions that return the type.
106106
\
107107
\
108-
See [mlir_extras.types](https://github.com/makslevental/mlir-python-extras/blob/a9885db18096a610d29a26293396d860d40ad213/mlir_extras/types.py) for details.
108+
These have been upstreamed to [mlir/python/mlir/extras/types.py](https://github.com/llvm/llvm-project/blob/52b18b4e82d412a7d755e89591c6ebcc41c257a1/mlir/python/mlir/extras/types.py)
109109
\
110110
 
111111
4. `Pipeline()`
@@ -114,8 +114,8 @@ The few main features/affordances:
114114
1. This is just a (generated) wrapper around available **upstream** passes; it can be used to build pass pipelines (by `str(Pipeline())`). It is mainly convenient with IDEs/editors that will tab-complete the available methods on the `Pipeline` class (which correspond to passes), Note, if your host bindings don't register some upstream passes, then this will generate "illegal" pass pipelines.
115115
\
116116
\
117-
See [mlir_extras._configuration.generate_pass_pipeline.py](https://github.com/makslevental/mlir-python-extras/blob/a9885db18096a610d29a26293396d860d40ad213/mlir_extras/_configuration/generate_pass_pipeline.py) for details on generation
118-
[mlir_extras.runtime.passes.py](https://github.com/makslevental/mlir-python-extras/blob/a9885db18096a610d29a26293396d860d40ad213/mlir_extras/runtime/passes.py#L80) for the passes themselves.
117+
See [scripts/generate_pass_pipeline.py](https://github.com/makslevental/mlir-python-extras/blob/40c8c44e767fd9ee8fec35a3c3342b3c8623ef1c/scripts/generate_pass_pipeline.py) for details on generation
118+
[mlir/extras.runtime.passes.py](https://github.com/makslevental/mlir-python-extras/blob/40c8c44e767fd9ee8fec35a3c3342b3c8623ef1c/mlir/extras/runtime/passes.py#L80) for the passes themselves.
119119
\
120120
 
121121

@@ -153,4 +153,4 @@ $ pip install git+https://github.com/makslevental/mlir-python-extras
153153

154154
## Examples/Demo
155155

156-
Check [tests](tests) for a plethora of example code.
156+
Check [examples](examples) and [tests](tests) for a plethora of example code.

0 commit comments

Comments
 (0)