torch-mlir/include/npcomp/Dialect/Torch/IR
Sean Silva 703428eff4 Add support for "trailing_" and "out" variants of various ops.
We already had the `promoteTrailingOutTensor` flag, but weren't using
it. A inplaceVariantKernelName flag needed to be added.

This change is a little dissatisfying, as the conversions done by the
RecognizeKernelsPass are currently non-orthogonal. In particular,
`kDropResultAndAliasArg0` probably won't work as intended if mixed with
these (we probably need to promote kDropResultAndAliasArg0 to not be an
arg-level thing anyway, as we have done with promoteTrailingOutTensor).

This involved adding a new op `numpy.overwrite_array`.

```
numpy.overwrite_array %arg2 overwrites %arg0 : tensor<2x3xf32>, !numpy.ndarray<[2,3]:f32>
```

This models the destructive update behavior. Note that in the above op,
we cannot simply RAUW %arg0 with a suitably conveted %arg2 (for example,
%arg0 might have uses that are not dominated by %arg2, or might have an
alias relation with some other array in the program). In general, we
need a pass analogous to "SSA-formation" which knows how to see through
these to uncover an underlying tensor program.

Also, add tanh_out_e2e.py/div_inplace_e2e.py and fix some bitrot in
refjit.py which is my running example I'm trying to get working.
2021-03-19 10:34:50 -07:00
..
CMakeLists.txt Add initial TorchScript module importer 2021-01-28 11:55:17 -08:00
OpInterfaces.h Add support for "trailing_" and "out" variants of various ops. 2021-03-19 10:34:50 -07:00
OpInterfaces.td Expose signature metadata to ops and implement ATenRecognizeKernelsPass pass. 2020-10-26 20:31:45 -07:00
TorchBase.td Add initial TorchScript module importer 2021-01-28 11:55:17 -08:00
TorchDialect.h Expose signature metadata to ops and implement ATenRecognizeKernelsPass pass. 2020-10-26 20:31:45 -07:00
TorchOps.h Support multiple instances of a class in GlobalizeObjectGraph. 2021-03-11 19:21:07 -08:00
TorchOps.td Support multiple instances of a class in GlobalizeObjectGraph. 2021-03-11 19:21:07 -08:00
TorchTypes.h Add initial TorchScript module importer 2021-01-28 11:55:17 -08:00
TorchTypes.td Add prim::device and handle derefining for prim::CallMethod 2021-03-11 14:10:09 -08:00