MLIR 22.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.

Classes

struct  mlir::arith::ArithEmulateUnsupportedFloatsOptions
struct  mlir::arith::ArithEmulateWideIntOptions
struct  mlir::arith::ArithExpandOpsPassOptions
struct  mlir::arith::ArithIntRangeNarrowingOptions

Namespaces

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

Macros

#define GEN_PASS_DECL
#define GEN_PASS_DECL_ARITHEMULATEUNSUPPORTEDFLOATS
#define GEN_PASS_DECL_ARITHEMULATEWIDEINT
#define GEN_PASS_DECL_ARITHEXPANDOPSPASS
#define GEN_PASS_DECL_ARITHINTRANGENARROWING
#define GEN_PASS_DECL_ARITHINTRANGEOPTS
#define GEN_PASS_DECL_ARITHUNSIGNEDWHENEQUIVALENTPASS
#define GEN_PASS_REGISTRATION
 Generate the code for registering passes.
#define GEN_PASS_REGISTRATION_ARITHEMULATEUNSUPPORTEDFLOATS
#define GEN_PASS_REGISTRATION_ARITHEMULATEWIDEINT
#define GEN_PASS_REGISTRATION_ARITHEXPANDOPSPASS
#define GEN_PASS_REGISTRATION_ARITHINTRANGENARROWING
#define GEN_PASS_REGISTRATION_ARITHINTRANGEOPTS
#define GEN_PASS_REGISTRATION_ARITHUNSIGNEDWHENEQUIVALENTPASS

Functions

std::unique_ptr<::mlir::Passmlir::arith::createArithEmulateUnsupportedFloats ()
std::unique_ptr<::mlir::Passmlir::arith::createArithEmulateUnsupportedFloats (ArithEmulateUnsupportedFloatsOptions options)
std::unique_ptr<::mlir::Passmlir::arith::createArithEmulateWideInt ()
std::unique_ptr<::mlir::Passmlir::arith::createArithEmulateWideInt (ArithEmulateWideIntOptions options)
std::unique_ptr<::mlir::Passmlir::arith::createArithExpandOpsPass ()
std::unique_ptr<::mlir::Passmlir::arith::createArithExpandOpsPass (ArithExpandOpsPassOptions options)
std::unique_ptr<::mlir::Passmlir::arith::createArithIntRangeNarrowing ()
std::unique_ptr<::mlir::Passmlir::arith::createArithIntRangeNarrowing (ArithIntRangeNarrowingOptions options)
std::unique_ptr<::mlir::Passmlir::arith::createArithIntRangeOpts ()
std::unique_ptr<::mlir::Passmlir::arith::createArithUnsignedWhenEquivalentPass ()
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::registerArithEmulateUnsupportedFloats ()
void mlir::arith::registerArithEmulateUnsupportedFloatsPass ()
void mlir::arith::registerArithEmulateWideInt ()
void mlir::arith::registerArithEmulateWideIntPass ()
void mlir::arith::registerArithExpandOpsPass ()
void mlir::arith::registerArithExpandOpsPassPass ()
void mlir::arith::registerArithIntRangeNarrowing ()
void mlir::arith::registerArithIntRangeNarrowingPass ()
void mlir::arith::registerArithIntRangeOpts ()
void mlir::arith::registerArithIntRangeOptsPass ()
void mlir::arith::registerArithUnsignedWhenEquivalentPass ()
void mlir::arith::registerArithUnsignedWhenEquivalentPassPass ()
void mlir::arith::registerArithPasses ()

Macro Definition Documentation

◆ GEN_PASS_DECL

#define GEN_PASS_DECL

Definition at line 21 of file Passes.h.

◆ GEN_PASS_DECL_ARITHEMULATEUNSUPPORTEDFLOATS

#define GEN_PASS_DECL_ARITHEMULATEUNSUPPORTEDFLOATS

Definition at line 6 of file Passes.h.

◆ GEN_PASS_DECL_ARITHEMULATEWIDEINT

#define GEN_PASS_DECL_ARITHEMULATEWIDEINT

Definition at line 7 of file Passes.h.

◆ GEN_PASS_DECL_ARITHEXPANDOPSPASS

#define GEN_PASS_DECL_ARITHEXPANDOPSPASS

Definition at line 8 of file Passes.h.

◆ GEN_PASS_DECL_ARITHINTRANGENARROWING

#define GEN_PASS_DECL_ARITHINTRANGENARROWING

Definition at line 9 of file Passes.h.

◆ GEN_PASS_DECL_ARITHINTRANGEOPTS

#define GEN_PASS_DECL_ARITHINTRANGEOPTS

Definition at line 10 of file Passes.h.

◆ GEN_PASS_DECL_ARITHUNSIGNEDWHENEQUIVALENTPASS

#define GEN_PASS_DECL_ARITHUNSIGNEDWHENEQUIVALENTPASS

Definition at line 11 of file Passes.h.

◆ GEN_PASS_REGISTRATION

#define GEN_PASS_REGISTRATION

Generate the code for registering passes.

Definition at line 95 of file Passes.h.

◆ GEN_PASS_REGISTRATION_ARITHEMULATEUNSUPPORTEDFLOATS

#define GEN_PASS_REGISTRATION_ARITHEMULATEUNSUPPORTEDFLOATS

Definition at line 555 of file Passes.h.

◆ GEN_PASS_REGISTRATION_ARITHEMULATEWIDEINT

#define GEN_PASS_REGISTRATION_ARITHEMULATEWIDEINT

Definition at line 556 of file Passes.h.

◆ GEN_PASS_REGISTRATION_ARITHEXPANDOPSPASS

#define GEN_PASS_REGISTRATION_ARITHEXPANDOPSPASS

Definition at line 557 of file Passes.h.

◆ GEN_PASS_REGISTRATION_ARITHINTRANGENARROWING

#define GEN_PASS_REGISTRATION_ARITHINTRANGENARROWING

Definition at line 558 of file Passes.h.

◆ GEN_PASS_REGISTRATION_ARITHINTRANGEOPTS

#define GEN_PASS_REGISTRATION_ARITHINTRANGEOPTS

Definition at line 559 of file Passes.h.

◆ GEN_PASS_REGISTRATION_ARITHUNSIGNEDWHENEQUIVALENTPASS

#define GEN_PASS_REGISTRATION_ARITHUNSIGNEDWHENEQUIVALENTPASS

Definition at line 560 of file Passes.h.