[mlir] Make ConversionTarget dynamic legality callbacks composable
authorCaitlyn Cano <caitlyncano@google.com>
Thu, 1 Jul 2021 20:41:51 +0000 (20:41 +0000)
committerButygin <ivan.butygin@intel.com>
Tue, 12 Oct 2021 10:05:54 +0000 (13:05 +0300)
commitc6828e0cea73f89a79db008da0e902c790cdee88
tree226fb8959fc175052890dad8181fc1a809ab4f5c
parent649cc160e38b55ca931860416f549b2a355ad814
[mlir] Make ConversionTarget dynamic legality callbacks composable

* Change callback signature `bool(Operation *)` -> `Optional<bool>(Operation *)`
* addDynamicallyLegalOp add callback to the chain
* If callback returned empty `Optional` next callback in chain will be called

Differential Revision: https://reviews.llvm.org/D110487
mlir/include/mlir/Transforms/DialectConversion.h
mlir/lib/Transforms/Utils/DialectConversion.cpp
mlir/unittests/CMakeLists.txt
mlir/unittests/Transforms/CMakeLists.txt [new file with mode: 0644]
mlir/unittests/Transforms/DialectConversion.cpp [new file with mode: 0644]