Lines Matching defs:arith
26 namespace mlir::arith {
32 } // namespace mlir::arith
35 using namespace mlir::arith;
85 // Fall back to arith.constant if the dialect materializer doesn't know what
300 return builder.create<arith::IndexCastOp>(loc, dstType, src);
301 return builder.create<arith::IndexCastUIOp>(loc, dstType, src);
307 return builder.create<arith::TruncIOp>(loc, dstType, src);
310 return builder.create<arith::ExtSIOp>(loc, dstType, src);
311 return builder.create<arith::ExtUIOp>(loc, dstType, src);
391 struct NarrowCmpI final : OpRewritePattern<arith::CmpIOp> {
395 LogicalResult matchAndRewrite(arith::CmpIOp op,
473 : arith::impl::ArithIntRangeOptsBase<IntRangeOptimizationsPass> {
498 : arith::impl::ArithIntRangeNarrowingBase<IntRangeNarrowingPass> {
527 void mlir::arith::populateIntRangeOptimizationsPatterns(
533 void mlir::arith::populateIntRangeNarrowingPatterns(
538 patterns.add<FoldIndexCastChain<arith::IndexCastUIOp>,
539 FoldIndexCastChain<arith::IndexCastOp>>(patterns.getContext(),
543 std::unique_ptr<Pass> mlir::arith::createIntRangeOptimizationsPass() {