torch-mlir/lib/RefBackend
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
..
JITHelpers Remove TCF and TCP. 2021-08-02 12:08:39 -07:00
Runtime Misc fixes for MacOS. (#255) 2021-07-27 17:48:47 -07:00
CMakeLists.txt Add a few missing deps exposed by stricter linking with BFD. 2021-08-22 11:56:48 -07:00
LowerToLLVM.cpp Update llvm-project to 830c0b9023cd0cf91955900e0d96283e7a8c3711 2021-09-03 14:16:38 -07:00
LowerToRefbackrtABI.cpp Update llvm-project to 830c0b9023cd0cf91955900e0d96283e7a8c3711 2021-09-03 14:16:38 -07:00
PassDetail.h Bump llvm-project to 484b6648fdd4b104eaf7a2504dd07b60af2c9f8d 2021-04-22 18:12:55 -07:00
RefBackend.cpp Add basic support for lists. 2021-09-09 20:48:55 -07:00