MLIR: lib/Dialect/Math/Transforms/ExpandPatterns.cpp File Reference (original) (raw)

Go to the source code of this file.

Functions
static Value createFloatConst (Location loc, Type type, APFloat value, OpBuilder &b)
Create a float constant. More...
static Value createFloatConst (Location loc, Type type, double value, OpBuilder &b)
static Value createIntConst (Location loc, Type type, int64_t value, OpBuilder &b)
Create an integer constant. More...
static Value createTruncatedFPValue (Value operand, ImplicitLocOpBuilder &b)
static LogicalResult convertSinhOp (math::SinhOp op, PatternRewriter &rewriter)
static LogicalResult convertCoshOp (math::CoshOp op, PatternRewriter &rewriter)
static LogicalResult convertTanhOp (math::TanhOp op, PatternRewriter &rewriter)
Expands tanh op into 1-exp^{-2x} / 1+exp^{-2x} To avoid overflow we exploit the reflection symmetry tanh(-x) = -tanh(x). More...
static LogicalResult convertTanOp (math::TanOp op, PatternRewriter &rewriter)
static LogicalResult convertAsinhOp (math::AsinhOp op, PatternRewriter &rewriter)
static LogicalResult convertAcoshOp (math::AcoshOp op, PatternRewriter &rewriter)
static LogicalResult convertAtanhOp (math::AtanhOp op, PatternRewriter &rewriter)
static LogicalResult convertFmaFOp (math::FmaOp op, PatternRewriter &rewriter)
static LogicalResult convertCeilOp (math::CeilOp op, PatternRewriter &rewriter)
static LogicalResult convertFPowIOp (math::FPowIOp op, PatternRewriter &rewriter)
static LogicalResult convertPowfOp (math::PowFOp op, PatternRewriter &rewriter)
static LogicalResult convertExp2fOp (math::Exp2Op op, PatternRewriter &rewriter)
static LogicalResult convertRoundOp (math::RoundOp op, PatternRewriter &rewriter)
static LogicalResult convertCtlzOp (math::CountLeadingZerosOp op, PatternRewriter &rewriter)
static LogicalResult convertRoundEvenOp (math::RoundEvenOp op, PatternRewriter &rewriter)
static LogicalResult convertRsqrtOp (math::RsqrtOp op, PatternRewriter &rewriter)

convertAcoshOp()

static LogicalResult convertAcoshOp ( math::AcoshOp op, PatternRewriter & rewriter ) static

convertAsinhOp()

static LogicalResult convertAsinhOp ( math::AsinhOp op, PatternRewriter & rewriter ) static

convertAtanhOp()

static LogicalResult convertAtanhOp ( math::AtanhOp op, PatternRewriter & rewriter ) static

convertCeilOp()

static LogicalResult convertCeilOp ( math::CeilOp op, PatternRewriter & rewriter ) static

convertCoshOp()

static LogicalResult convertCoshOp ( math::CoshOp op, PatternRewriter & rewriter ) static

convertCtlzOp()

static LogicalResult convertCtlzOp ( math::CountLeadingZerosOp op, PatternRewriter & rewriter ) static

convertExp2fOp()

static LogicalResult convertExp2fOp ( math::Exp2Op op, PatternRewriter & rewriter ) static

convertFmaFOp()

static LogicalResult convertFmaFOp ( math::FmaOp op, PatternRewriter & rewriter ) static

convertFPowIOp()

static LogicalResult convertFPowIOp ( math::FPowIOp op, PatternRewriter & rewriter ) static

Definition at line 252 of file ExpandPatterns.cpp.

References mlir::presburger::abs(), mlir::ImplicitLocOpBuilder::create(), mlir::OpBuilder::create(), createFloatConst(), mlir::getElementTypeOrSelf(), mlir::Value::getType(), getZero(), mlir::m_Constant(), mlir::m_ConstantInt(), mlir::matchPattern(), and mlir::RewriterBase::replaceOp().

Referenced by mlir::populateExpandFPowIPattern().

convertPowfOp()

static LogicalResult convertPowfOp ( math::PowFOp op, PatternRewriter & rewriter ) static

convertRoundEvenOp()

static LogicalResult convertRoundEvenOp ( math::RoundEvenOp op, PatternRewriter & rewriter ) static

convertRoundOp()

static LogicalResult convertRoundOp ( math::RoundOp op, PatternRewriter & rewriter ) static

convertRsqrtOp()

static LogicalResult convertRsqrtOp ( math::RsqrtOp op, PatternRewriter & rewriter ) static

convertSinhOp()

static LogicalResult convertSinhOp ( math::SinhOp op, PatternRewriter & rewriter ) static

convertTanhOp()

static LogicalResult convertTanhOp ( math::TanhOp op, PatternRewriter & rewriter ) static

convertTanOp()

static LogicalResult convertTanOp ( math::TanOp op, PatternRewriter & rewriter ) static

createFloatConst() [1/2]

Create a float constant.

Definition at line 27 of file ExpandPatterns.cpp.

References mlir::OpBuilder::create(), mlir::DenseElementsAttr::get(), mlir::getElementTypeOrSelf(), and mlir::Builder::getFloatAttr().

Referenced by convertAcoshOp(), convertAsinhOp(), convertAtanhOp(), convertCeilOp(), convertCoshOp(), convertExp2fOp(), convertFPowIOp(), convertPowfOp(), convertRoundEvenOp(), convertRoundOp(), convertRsqrtOp(), convertSinhOp(), convertTanhOp(), and createFloatConst().

createFloatConst() [2/2]

createIntConst()

createTruncatedFPValue()