I want to compose my ConversionTarget
setup from calls to multiple populateSmthLegality(ConversionTarget &target)
. It work fine for trivial addLegalOp
/addIllegalOp
but for any non-trivial logic where markUnknownOpDynamicallyLegal
is used this approach won’t work, as ConversionTarget
can have only one (latest) markUnknownOpDynamicallyLegal
callback.
My proposal is to change markUnknownOpDynamicallyLegal
callback signature from bool(Operation*)
to Optional<bool>(Operation*)
. Each markUnknownOpDynamicallyLegal
will add callback to the list and when checking for legality this list will be traversed in reverse order until some callback return non-empty optional.