torch-mlir/lib/Dialect/TorchConversion/Transforms
Sean Silva 57681f7947 Iteratively run the main simplification pipeline.
This introduces a new pass LowerToBackendContract (better name very
welcome) which performs the bulk of the simplifications that we do,
such as
- shape refinement
- dtype refinement
- maximizing value semantics
- inlining global slots
- decomposing complex ops

The key difference from before is that it iterates the set of
transformations, which can help to break a number of "catch-22" issues
where one simplification depends on another, the latest example being
here:
https://github.com/llvm/torch-mlir/issues/1131

This also exposed that RefineTypes was sometimes crashing/asserting for
certain inputs. This commit hardens it a bit.
2022-08-17 14:54:33 -07:00
..
BackendTypeConversion.cpp [NFC] Split BackendTypeConversion -> (BackendTypeConversion, BackendTypeConversionPasses) 2022-03-22 13:56:18 -07:00
BackendTypeConversionPasses.cpp llvm: bump tag to e1318078 (#781) 2022-04-26 12:27:51 -07:00
CMakeLists.txt Rename TorchToStd pass as TorchToArith (#1163) 2022-08-10 20:12:51 +01:00
PassDetail.h llvm: bump tag to e1318078 (#781) 2022-04-26 12:27:51 -07:00
Passes.cpp Iteratively run the main simplification pipeline. 2022-08-17 14:54:33 -07:00
VerifyInvariantsBeforeBackendLowering.cpp Rework how global slot initializers work. 2022-08-08 18:12:06 -07:00
VerifyLinalgOnTensorsBackendContract.cpp Bump LLVM (#958) 2022-06-22 22:23:46 -05:00
VerifyTosaBackendContract.cpp llvm: bump tag to e1318078 (#781) 2022-04-26 12:27:51 -07:00