torch-mlir/lib
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
..
Backend Rewrite error reporting of e2e tests. 2021-05-20 11:28:20 -07:00
CAPI Add a !torch.float type. 2021-06-17 09:24:18 -07:00
Conversion Add torch.aten.batch_norm Linalg lowering support 2021-06-22 16:45:21 -07:00
Dialect Make MaximizeValueSemantics a bit smarter. 2021-06-22 16:48:57 -07:00
Interfaces Add AllowsTypeRefinement trait and use it to improve RefineTypes 2021-04-30 10:57:02 -07:00
RefBackend Bump llvm-project to 484b6648fdd4b104eaf7a2504dd07b60af2c9f8d 2021-04-22 18:12:55 -07:00
Typing Bump llvm-project to c68d2895a1f4019b387c69d1e5eec31b0eb5e7b0 2021-02-22 12:23:24 -08:00
CMakeLists.txt Significantly restructure torch/aten import design. 2021-05-19 13:37:39 -07:00
InitAll.cpp Significantly restructure torch/aten import design. 2021-05-19 13:37:39 -07:00