mirror of https://github.com/llvm/torch-mlir
57681f7947
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. |
||
---|---|---|
.. | ||
BackendTypeConversion.cpp | ||
BackendTypeConversionPasses.cpp | ||
CMakeLists.txt | ||
PassDetail.h | ||
Passes.cpp | ||
VerifyInvariantsBeforeBackendLowering.cpp | ||
VerifyLinalgOnTensorsBackendContract.cpp | ||
VerifyTosaBackendContract.cpp |