Lines Matching defs:ReductionKind
45 using ReductionKind = mesh::ReductionKind;
51 static ReductionKind getReductionKind(Operation *op) {
52 return llvm::TypeSwitch<Operation *, ReductionKind>(op)
54 .Case([](arith::AddFOp op) { return ReductionKind::Sum; })
55 .Case([](arith::MulFOp op) { return ReductionKind::Product; })
57 .Case([](arith::MaximumFOp op) { return ReductionKind::Max; })
58 .Case([](arith::MinimumFOp op) { return ReductionKind::Min; })
60 .Case([](arith::AddIOp op) { return ReductionKind::Sum; })
61 .Case([](arith::OrIOp op) { return ReductionKind::BitwiseOr; })
62 .Case([](arith::XOrIOp op) { return ReductionKind::BitwiseXor; })
63 .Case([](arith::AndIOp op) { return ReductionKind::Sum; })
73 .Case([](arith::MaxUIOp op) { return ReductionKind::Max; })
74 .Case([](arith::MinUIOp op) { return ReductionKind::Min; })
75 .Case([](arith::MaxSIOp op) { return ReductionKind::Max; })
76 .Case([](arith::MinSIOp op) { return ReductionKind::Min; })
77 .Case([](arith::MulIOp op) { return ReductionKind::Product; })
78 .Default([](Operation *op) { return ReductionKind::Generic; });
91 static ReductionKind getReductionKindOfLinalgOp(LinalgOp op) {
94 return ReductionKind::Generic;
195 MeshSharding resultSharding, ReductionKind reductionKind,
218 ReductionKind reductionKind = getReductionKindOfLinalgOp(unshardedOp);
288 SmallVector<ReductionKind>
298 mesh::ReductionKind reductionKind = getReductionKindOfLinalgOp(linalgOp);
299 return SmallVector<ReductionKind>(reductionItersCount, reductionKind);