torch-mlir/include/npcomp/Dialect/Torch/IR
Sean Silva 79aade33da Make MaximizeValueSemantics a bit smarter.
This adds a pattern to MaximizeValueSemantics which does a simple
abstract interpretation within a block, which handles simple cases of
`torch.overwrite_tensor`, enough to remove all the unnecessary uses of
non-value tensors in ResNet right now.

Before/after IR:
[gist](https://gist.github.com/silvasean/a3e1ef625b19dfc63579f73cd3b543b6)

Also,
- Split `torch.copy.tensor` into `torch.copy.to_tensor` and
  `torch.copy.to_vtensor` which convert between value and non-value
  semantic tensors. This is a much cleaner factorization as they have
  very separate use cases and properties (e.g. different side effects)
- Remove the various canonicalization patterns they had, which were
  confusing because they resulted in limited forms of maximizing value
  semantics throughout the pipeline. We should structure our compilation
  pipeline such that only MaximizeValueSemantics should be maximizing
  value semantics.
- Adjust pass pipeline to only run MaximizeValueSemantics once.
- Make OverwriteTensorOp `$value` always be a value tensor and
  `$overwritten` be a non-value tensor.
2021-06-22 16:48:57 -07:00
..
.gitignore Significantly restructure torch/aten import design. 2021-05-19 13:37:39 -07:00
CMakeLists.txt Significantly restructure torch/aten import design. 2021-05-19 13:37:39 -07:00
GeneratedAtenOps.td Add a !torch.float type. 2021-06-17 09:24:18 -07:00
GeneratedPrimOps.td Add a !torch.float type. 2021-06-17 09:24:18 -07:00
GeneratedQuantizedOps.td Add a !torch.float type. 2021-06-17 09:24:18 -07:00
TorchBase.td Add `!torch.bool` type. 2021-06-16 13:22:00 -07:00
TorchDialect.h Expose signature metadata to ops and implement ATenRecognizeKernelsPass pass. 2020-10-26 20:31:45 -07:00
TorchOps.h Add `!torch.int` type. 2021-06-17 07:28:23 -07:00
TorchOps.td Make MaximizeValueSemantics a bit smarter. 2021-06-22 16:48:57 -07:00
TorchTraits.h Significantly restructure torch/aten import design. 2021-05-19 13:37:39 -07:00
TorchTypes.h Move Torch type implementation code into TorchTypes.cpp 2021-06-10 16:46:47 -07:00
TorchTypes.td Add a !torch.float type. 2021-06-17 09:24:18 -07:00