MLIR 23.0.0git
Passes.h File Reference
#include "mlir/Pass/Pass.h"
#include "mlir/Dialect/Arith/Transforms/Passes.h.inc"

Go to the source code of this file.

Namespaces

namespace  mlir
 Include the generated interface declarations.
namespace  mlir::arith

Macros

#define GEN_PASS_DECL
#define GEN_PASS_REGISTRATION
 Generate the code for registering passes.

Functions

void mlir::arith::populateArithWideIntEmulationPatterns (const WideIntEmulationConverter &typeConverter, RewritePatternSet &patterns)
 Adds patterns to emulate wide Arith and Function ops over integer types into supported ones.
void mlir::arith::populateArithNarrowTypeEmulationPatterns (const NarrowTypeEmulationConverter &typeConverter, RewritePatternSet &patterns)
 Adds patterns to emulate narrow Arith and Function ops into wide supported types.
void mlir::arith::populateEmulateUnsupportedFloatsConversions (TypeConverter &converter, ArrayRef< Type > sourceTypes, Type targetType)
 Populate the type conversions needed to emulate the unsupported sourceTypes with destType
void mlir::arith::populateEmulateUnsupportedFloatsPatterns (RewritePatternSet &patterns, const TypeConverter &converter)
 Add rewrite patterns for converting operations that use illegal float types to ones that use legal ones.
void mlir::arith::populateEmulateUnsupportedFloatsLegality (ConversionTarget &target, const TypeConverter &converter)
 Set up a dialect conversion to reject arithmetic operations on unsupported float types.
void mlir::arith::populateCeilFloorDivExpandOpsPatterns (RewritePatternSet &patterns)
 Add patterns to expand Arith ceil/floor division ops.
void mlir::arith::populateExpandBFloat16Patterns (RewritePatternSet &patterns)
 Add patterns to expand Arith bf16 patterns to lower level bitcasts/shifts.
void mlir::arith::populateExpandF4E2M1Patterns (RewritePatternSet &patterns)
 Add patterns to expand Arith f4e2m1 patterns to lower level bitcasts/shifts.
void mlir::arith::populateExpandF8E8M0Patterns (RewritePatternSet &patterns)
 Add patterns to expand Arith f8e8m0 patterns to lower level bitcasts/shifts.
void mlir::arith::populateExpandScalingExtTruncPatterns (RewritePatternSet &patterns)
 Add patterns to expand scaling ExtF/TruncF ops to equivalent arith ops.
void mlir::arith::populateArithExpandOpsPatterns (RewritePatternSet &patterns)
 Add patterns to expand Arith ops.
void mlir::arith::populateIntRangeOptimizationsPatterns (RewritePatternSet &patterns, DataFlowSolver &solver)
 Add patterns for int range based optimizations.
void mlir::arith::populateUnsignedWhenEquivalentPatterns (RewritePatternSet &patterns, DataFlowSolver &solver)
 Replace signed ops with unsigned ones where they are proven equivalent.
std::unique_ptr< Passmlir::arith::createIntRangeOptimizationsPass ()
 Create a pass which do optimizations based on integer range analysis.
void mlir::arith::populateIntRangeNarrowingPatterns (RewritePatternSet &patterns, DataFlowSolver &solver, ArrayRef< unsigned > bitwidthsSupported)
 Add patterns for int range based narrowing.
void mlir::arith::populateControlFlowValuesNarrowingPatterns (RewritePatternSet &patterns, DataFlowSolver &solver, ArrayRef< unsigned > bitwidthsSupported)
 Add patterns for narrowing control flow values (loop bounds, steps, etc.) based on int range analysis.

Macro Definition Documentation

◆ GEN_PASS_DECL

#define GEN_PASS_DECL

Definition at line 21 of file Passes.h.

◆ GEN_PASS_REGISTRATION

#define GEN_PASS_REGISTRATION

Generate the code for registering passes.

Definition at line 101 of file Passes.h.