16 #define GEN_PASS_DEF_RECONCILEUNREALIZEDCASTS
17 #include "mlir/Conversion/Passes.h.inc"
38 struct ReconcileUnrealizedCasts
39 :
public impl::ReconcileUnrealizedCastsBase<ReconcileUnrealizedCasts> {
40 ReconcileUnrealizedCasts() =
default;
42 void runOnOperation()
override {
45 [&](UnrealizedConversionCastOp castOp) { ops.push_back(castOp); });
53 return std::make_unique<ReconcileUnrealizedCasts>();
Include the generated interface declarations.
std::unique_ptr< Pass > createReconcileUnrealizedCastsPass()
Creates a pass that eliminates noop unrealized_conversion_cast operation sequences.
void reconcileUnrealizedCasts(ArrayRef< UnrealizedConversionCastOp > castOps, SmallVectorImpl< UnrealizedConversionCastOp > *remainingCastOps=nullptr)
Try to reconcile all given UnrealizedConversionCastOps and store the left-over ops in remainingCastOp...