torch-mlir/frontends/pytorch/csrc/builder
Sean Silva a375ccf9da Add ability to annotate TorchScript classes.
The first use case is to annotate certain program constructs as either
exported or private. In this commit we plumb it down to
GlobalizeObjectGraph which makes use of this information.

Recommended review order:
1. class_annotator.h/.cpp + `test/module_import/annotations/*`
    - New abstractions to communicate with Python code and annotate.
2. IR changes in TorchOps.td
    - Adding "private" attribute to various things.
3. ivalue_import.cpp changes
    - Module + ClassAnnotator = annotated IR
4. GlobalizeObjectGraph.cpp + tests
    - use new "private" attributes to create "private" IR.
    - also, tweak some of the op deleting mechanics, which was triggering
      some memory errors / assertions

With this, we can run the classifier through and inline it as follows:
```
frontends/pytorch/utils/pt_util.py --import --exported-name forward ~/tmp/classifier.pt \
| npcomp-opt -torch-globalize-object-graph -inline
```
IR: https://gist.github.com/silvasean/32dcad9f6270557f412094a77cecdd69
2021-02-25 11:28:34 -08:00
..
acap_dispatch.cpp adapt acap_dispatch to latest pytorch nightly ("1.9.0.dev20210215+cpu") 2021-02-18 11:13:29 -08:00
acap_dispatch.h Make torch_mlir compatible with binary PyTorch installations. 2020-12-14 09:51:00 -08:00
class_annotator.cpp Add ability to annotate TorchScript classes. 2021-02-25 11:28:34 -08:00
class_annotator.h Add ability to annotate TorchScript classes. 2021-02-25 11:28:34 -08:00
debug.cpp Delete old PyTorch 1.3 type dispatch oriented code paths. 2020-11-12 22:27:05 -08:00
debug.h Delete old PyTorch 1.3 type dispatch oriented code paths. 2020-11-12 22:27:05 -08:00
func_builder.cpp Add support for prim::GetAttr/SetAttr/CallMethod/If 2021-02-04 17:01:47 -08:00
func_builder.h Add initial TorchScript module importer 2021-01-28 11:55:17 -08:00
graph_importer.cpp Add support for prim::GetAttr/SetAttr/CallMethod/If 2021-02-04 17:01:47 -08:00
graph_importer.h Add support for prim::GetAttr/SetAttr/CallMethod/If 2021-02-04 17:01:47 -08:00
ivalue_importer.cpp Add ability to annotate TorchScript classes. 2021-02-25 11:28:34 -08:00
ivalue_importer.h Add ability to annotate TorchScript classes. 2021-02-25 11:28:34 -08:00
mlir_utils.h Add ability to annotate TorchScript classes. 2021-02-25 11:28:34 -08:00
module_builder.cpp Add ability to annotate TorchScript classes. 2021-02-25 11:28:34 -08:00
module_builder.h Add ability to annotate TorchScript classes. 2021-02-25 11:28:34 -08:00
node_importer.cpp Extend GlobalizeObjectGraph to handle torch.prim.GetAttr returning NnModuleType 2021-02-19 10:23:25 -08:00
node_importer.h Add support for prim::GetAttr/SetAttr/CallMethod/If 2021-02-04 17:01:47 -08:00
op_builder.cpp Add prim::Print and fix prim::CallMethod 2021-02-10 15:15:56 -08:00
op_builder.h Add prim::Print and fix prim::CallMethod 2021-02-10 15:15:56 -08:00
python_bindings.cpp Add ability to annotate TorchScript classes. 2021-02-25 11:28:34 -08:00
torch_to_mlir_utils.cpp Extend GlobalizeObjectGraph to handle torch.prim.GetAttr returning NnModuleType 2021-02-19 10:23:25 -08:00
torch_to_mlir_utils.h Add support for prim::GetAttr/SetAttr/CallMethod/If 2021-02-04 17:01:47 -08:00