mirror of https://github.com/llvm/torch-mlir
01290d134a
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. |
||
---|---|---|
.. | ||
GlobalizeObjectGraph | ||
adjust-calling-conventions.mlir | ||
canonicalize.mlir | ||
decompose-complex-ops-legal.mlir | ||
decompose-complex-ops.mlir | ||
drop-shape-calculations.mlir | ||
erase-module-initializer.mlir | ||
inline-global-slots-analysis.mlir | ||
inline-global-slots-transform.mlir | ||
invalid.mlir | ||
lower-to-backend-contract-error.mlir | ||
maximize-value-semantics.mlir | ||
ops.mlir | ||
prepare-for-globalize-object-graph.mlir | ||
promote-types.mlir | ||
reduce-op-variants-error.mlir | ||
reduce-op-variants.mlir | ||
refine-public-return.mlir | ||
refine-types-branch.mlir | ||
refine-types-ops.mlir | ||
refine-types.mlir | ||
reify-shape-calculations.mlir | ||
simplify-shape-calculations.mlir | ||
torch-function-to-torch-backend-pipeline.mlir |