[MLIR][KernelGen] Add `tf.Log1p` kernel and tests
PiperOrigin-RevId: 351566460
This commit is contained in:
parent
300a7c11ce
commit
181d2cad31
|
@ -60,6 +60,7 @@ MAP_HLO_TO_LHLO(ImagOp);
|
||||||
MAP_HLO_TO_LHLO(IotaOp);
|
MAP_HLO_TO_LHLO(IotaOp);
|
||||||
MAP_HLO_TO_LHLO(IsFiniteOp);
|
MAP_HLO_TO_LHLO(IsFiniteOp);
|
||||||
MAP_HLO_TO_LHLO(LogOp);
|
MAP_HLO_TO_LHLO(LogOp);
|
||||||
|
MAP_HLO_TO_LHLO(Log1pOp);
|
||||||
MAP_HLO_TO_LHLO(MaxOp);
|
MAP_HLO_TO_LHLO(MaxOp);
|
||||||
MAP_HLO_TO_LHLO(MinOp);
|
MAP_HLO_TO_LHLO(MinOp);
|
||||||
MAP_HLO_TO_LHLO(MulOp);
|
MAP_HLO_TO_LHLO(MulOp);
|
||||||
|
|
|
@ -429,6 +429,18 @@ inline Value MapLhloOpToStdScalarOp<lmhlo::LogOp>(Location loc,
|
||||||
loc, result_types, args, b);
|
loc, result_types, args, b);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <>
|
||||||
|
inline Value MapLhloOpToStdScalarOp<lmhlo::Log1pOp>(Location loc,
|
||||||
|
ArrayRef<Type> result_types,
|
||||||
|
ArrayRef<Value> args,
|
||||||
|
OpBuilder* b) {
|
||||||
|
auto ty = result_types.front().cast<FloatType>();
|
||||||
|
Value x = args.front();
|
||||||
|
Value one = b->create<ConstantOp>(loc, b->getFloatAttr(ty, 1.0));
|
||||||
|
Value x_plus_one = b->create<AddFOp>(loc, x, one);
|
||||||
|
return b->create<::mlir::LogOp>(loc, x_plus_one);
|
||||||
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
inline Value MapLhloOpToStdScalarOp<lmhlo::MaxOp>(Location loc,
|
inline Value MapLhloOpToStdScalarOp<lmhlo::MaxOp>(Location loc,
|
||||||
ArrayRef<Type> result_types,
|
ArrayRef<Type> result_types,
|
||||||
|
|
|
@ -1239,6 +1239,7 @@ void populateLHLOToLinalgConversionPattern(MLIRContext* context,
|
||||||
PointwiseToLinalgConverter<lmhlo::ImagOp>,
|
PointwiseToLinalgConverter<lmhlo::ImagOp>,
|
||||||
PointwiseToLinalgConverter<lmhlo::IsFiniteOp>,
|
PointwiseToLinalgConverter<lmhlo::IsFiniteOp>,
|
||||||
PointwiseToLinalgConverter<lmhlo::LogOp>,
|
PointwiseToLinalgConverter<lmhlo::LogOp>,
|
||||||
|
PointwiseToLinalgConverter<lmhlo::Log1pOp>,
|
||||||
PointwiseToLinalgConverter<lmhlo::MaxOp>,
|
PointwiseToLinalgConverter<lmhlo::MaxOp>,
|
||||||
PointwiseToLinalgConverter<lmhlo::MinOp>,
|
PointwiseToLinalgConverter<lmhlo::MinOp>,
|
||||||
PointwiseToLinalgConverter<lmhlo::MulOp>,
|
PointwiseToLinalgConverter<lmhlo::MulOp>,
|
||||||
|
@ -1359,6 +1360,7 @@ void populateHLOToLinalgConversionPattern(MLIRContext* context,
|
||||||
PointwiseToLinalgConverter<mhlo::ImagOp, false>,
|
PointwiseToLinalgConverter<mhlo::ImagOp, false>,
|
||||||
PointwiseToLinalgConverter<mhlo::IsFiniteOp, false>,
|
PointwiseToLinalgConverter<mhlo::IsFiniteOp, false>,
|
||||||
PointwiseToLinalgConverter<mhlo::LogOp, false>,
|
PointwiseToLinalgConverter<mhlo::LogOp, false>,
|
||||||
|
PointwiseToLinalgConverter<mhlo::Log1pOp, false>,
|
||||||
PointwiseToLinalgConverter<mhlo::MaxOp, false>,
|
PointwiseToLinalgConverter<mhlo::MaxOp, false>,
|
||||||
PointwiseToLinalgConverter<mhlo::MinOp, false>,
|
PointwiseToLinalgConverter<mhlo::MinOp, false>,
|
||||||
PointwiseToLinalgConverter<mhlo::MulOp, false>,
|
PointwiseToLinalgConverter<mhlo::MulOp, false>,
|
||||||
|
|
Loading…
Reference in New Issue