9 #ifndef MLIR_DIALECT_MATH_TRANSFORMS_PASSES_H_
10 #define MLIR_DIALECT_MATH_TRANSFORMS_PASSES_H_
18 #define GEN_PASS_REGISTRATION
19 #include "mlir/Dialect/Math/Transforms/Passes.h.inc"
22 class ConversionTarget;
23 class RewritePatternSet;
33 ArrayRef<StringRef> opMnemonics = {});
76 TypeConverter &typeConverter,
const SetVector<Type> &sourceTypes,
79 ConversionTarget &target, TypeConverter &typeConverter);
81 const TypeConverter &typeConverter);
static llvm::ManagedStatic< PassManagerOptions > options
This class represents the benefit of a pattern match in a unitless scheme that ranges from 0 (very li...
void populateExtendToSupportedTypesPatterns(RewritePatternSet &patterns, const TypeConverter &typeConverter)
void populateExtendToSupportedTypesConversionTarget(ConversionTarget &target, TypeConverter &typeConverter)
void populateExpansionPatterns(RewritePatternSet &patterns, ArrayRef< StringRef > opMnemonics={})
Adds patterns to expand math operations into other more fundamental operations.
void populateExtendToSupportedTypesTypeConverter(TypeConverter &typeConverter, const SetVector< Type > &sourceTypes, Type targetType)
Include the generated interface declarations.
void populatePolynomialApproximateErfcPattern(RewritePatternSet &patterns)
void populateMathF32ExpansionPatterns(RewritePatternSet &patterns, llvm::function_ref< bool(StringRef)> predicate, PatternBenefit=1)
void populatePolynomialApproximateErfPattern(RewritePatternSet &patterns)
void populatePolynomialApproximateTanhPattern(RewritePatternSet &patterns)
void populateUpliftToFMAPatterns(RewritePatternSet &patterns)
void populateMathAlgebraicSimplificationPatterns(RewritePatternSet &patterns)
const FrozenRewritePatternSet & patterns
void populateMathPolynomialApproximationPatterns(RewritePatternSet &patterns, llvm::function_ref< bool(StringRef)> predicate, PatternBenefit=1)