torch-mlir/frontends/pytorch/python
Sean Silva a7252f9a06 Add basic support for lists.
This plumbs through a vertical slice of support for lists.

The main chunk of new code here is AnnotateABIPass which captures the
program signature at the Torch backend contract layer, right before we
start `TorchConversion`. The `TorchConversion` lowering process is lossy
w.r.t. types, so it's necessary to do this for all targets in general.
Like using `!iree.list` directly, we use IREE's ABI annotation
representation for this, although there is nothing very IREE-specific
about it (see
https://github.com/google/iree/blob/main/docs/developers/design_docs/function_abi.md)

We change `ListLiteralModule_basic` to use `!torch.int` because IREE
doesn't support f64 yet (and we don't yet have a way for users to say
that they want `!torch.float` to lower as f32).

Recommended review order:
- AnnotateABIPass and tests
- Arg marshaling in npcomp_backend.py and `iree.py`
- Updates to `list_programs.py` / `xfail_sets.py`
- Moving DeleteDeadIREEListsPass to Backend/Common, so that backends
  that don't support lists can use it. RefBackend uses that pass, for
  example.
2021-09-09 20:48:55 -07:00
..
torch_mlir Merge npcomp and mlir python namespaces. 2021-08-22 21:00:42 -07:00
torch_mlir_torchscript Fix lowering of reduce ops 2021-09-08 15:30:15 -07:00
torch_mlir_torchscript_e2e_test_configs Add basic support for lists. 2021-09-09 20:48:55 -07:00
torch_mlir_utils/codegen MT model compilation minor changes 2021-09-09 19:02:48 -04:00
CMakeLists.txt Rework the python build to a static assembly of MLIR+NPCOMP (#251) 2021-07-27 16:10:10 -07:00