torch-mlir/test/Dialect/Torch
Sean Silva 01290d134a Add a way for backends to control which ops are legal for them.
We were already hitting many cases where backends different in terms of
the legal ops that they wanted. This caused unnecessary coupling between
the backends. Examples:
- https://github.com/llvm/torch-mlir/pull/1161
- https://github.com/llvm/torch-mlir/pull/862

This PR centralizes all compilation to go through `torch_mlir.compile`
so that we can keep the logic centralized there. We should move these
lists closer to each backend. Especially cases like
https://github.com/llvm/torch-mlir/pull/862 where blocking a
decomposition is necessary to avoid a crash emphasize that the set of
decompositions is tightly coupled to the backend, and should be
"controlled by the backend" and not something arbitrarily tweakable.

Also:
- Fix a small bug in the way we passed through the backendLegalOps
  option.
- Add better error messages in `torch_mlir.compile` for import errors.
2022-08-22 14:16:13 -07:00
..
GlobalizeObjectGraph Rework how global slot initializers work. 2022-08-08 18:12:06 -07:00
adjust-calling-conventions.mlir mlir: bump llvm tag to 5380e3 (#856) 2022-05-16 12:54:35 -07:00
canonicalize.mlir Generalize canonicalization pattern for more aten.sub/div/mul/add op (#1209) 2022-08-16 13:24:08 +08:00
decompose-complex-ops-legal.mlir Add a concept of "backend legal ops". 2022-08-18 11:46:50 -07:00
decompose-complex-ops.mlir [MHLO] fix tensor mode aten.div op pattern (#1160) 2022-08-06 23:38:06 +08:00
drop-shape-calculations.mlir torch: allow torch dialect ops after running drop-shape pass (#979) 2022-06-25 07:27:47 -07:00
erase-module-initializer.mlir Iteratively run the main simplification pipeline. 2022-08-17 14:54:33 -07:00
inline-global-slots-analysis.mlir Rework how global slot initializers work. 2022-08-08 18:12:06 -07:00
inline-global-slots-transform.mlir Rework how global slot initializers work. 2022-08-08 18:12:06 -07:00
invalid.mlir Rework how global slot initializers work. 2022-08-08 18:12:06 -07:00
lower-to-backend-contract-error.mlir Iteratively run the main simplification pipeline. 2022-08-17 14:54:33 -07:00
maximize-value-semantics.mlir mlir: bump llvm tag to 5380e3 (#856) 2022-05-16 12:54:35 -07:00
ops.mlir Add support for ScalarType::QUInt8 2022-06-29 15:33:28 -07:00
prepare-for-globalize-object-graph.mlir mlir: bump llvm tag to 5380e3 (#856) 2022-05-16 12:54:35 -07:00
promote-types.mlir llvm: bump tag to e1318078 (#781) 2022-04-26 12:27:51 -07:00
reduce-op-variants-error.mlir mlir: bump llvm tag to 5380e3 (#856) 2022-05-16 12:54:35 -07:00
reduce-op-variants.mlir Add basic support for list of optional tensors in reduce-op-variants (#971) 2022-07-08 11:12:15 -07:00
refine-public-return.mlir Add support for returning more than one copy of the same tensor (#1228) 2022-08-18 22:41:45 +00:00
refine-types-branch.mlir mlir: bump llvm tag to 5380e3 (#856) 2022-05-16 12:54:35 -07:00
refine-types-ops.mlir mlir: bump llvm tag to 5380e3 (#856) 2022-05-16 12:54:35 -07:00
refine-types.mlir Iteratively run the main simplification pipeline. 2022-08-17 14:54:33 -07:00
reify-shape-calculations.mlir mlir: bump llvm tag to 5380e3 (#856) 2022-05-16 12:54:35 -07:00
simplify-shape-calculations.mlir canonicalizer: [nfc] update LIT variable names for consistency (#1051) 2022-07-13 12:28:25 -07:00
torch-function-to-torch-backend-pipeline.mlir Add a way for backends to control which ops are legal for them. 2022-08-22 14:16:13 -07:00