| /llvm-project-15.0.7/mlir/lib/Dialect/Vector/Transforms/ |
| H A D | VectorUnrollDistribute.cpp | 418 getTargetShape(options, reductionOp); in matchAndRewrite() 429 Location loc = reductionOp.getLoc(); in matchAndRewrite() 442 if (!reductionOp.isReducedDim(i)) { in matchAndRewrite() 467 loc, reductionOp.getDestType(), in matchAndRewrite() 468 rewriter.getZeroAttr(reductionOp.getDestType())); in matchAndRewrite() 474 rewriter.replaceOp(reductionOp, result); in matchAndRewrite() 733 LogicalResult matchAndRewrite(vector::ReductionOp reductionOp, in matchAndRewrite() 736 getTargetShape(options, reductionOp); in matchAndRewrite() 743 Location loc = reductionOp.getLoc(); in matchAndRewrite() 752 rewriter, loc, reductionOp, slicedOperand, reductionOp.getType()); in matchAndRewrite() [all …]
|
| H A D | VectorDistribute.cpp | 875 auto reductionOp = in matchAndRewrite() local 887 if (!reductionOp.getType().isF32() && in matchAndRewrite() 888 !reductionOp.getType().isSignlessInteger(32)) in matchAndRewrite() 896 SmallVector<Value> yieldValues = {reductionOp.getVector()}; in matchAndRewrite() 898 VectorType::get({numElements}, reductionOp.getType())}; in matchAndRewrite() 899 if (reductionOp.getAcc()) { in matchAndRewrite() 900 yieldValues.push_back(reductionOp.getAcc()); in matchAndRewrite() 901 retTypes.push_back(reductionOp.getAcc().getType()); in matchAndRewrite() 911 reductionOp.getLoc(), reductionOp.getKind(), laneValVec); in matchAndRewrite() 916 if (reductionOp.getAcc()) { in matchAndRewrite() [all …]
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Linalg/Transforms/ |
| H A D | SplitReduction.cpp | 110 Operation *reductionOp = combinerOps[0]; in splitReduction() local 111 Attribute identity = getNeutralElement(reductionOp); in splitReduction() 228 [reductionOp](OpBuilder &b, Location loc, ValueRange inputs) { in splitReduction() 229 Operation *clonedReductionOp = b.clone(*reductionOp); in splitReduction() 303 llvm::map_range(combinerOps, [&](Operation *reductionOp) { in splitReductionByScaling() argument 304 return getNeutralElement(reductionOp); in splitReductionByScaling() 423 auto reductionOp = b.create<GenericOp>( in splitReductionByScaling() local 438 results.push_back(reductionOp); in splitReductionByScaling()
|
| /llvm-project-15.0.7/mlir/lib/Conversion/AffineToStandard/ |
| H A D | AffineToStandard.cpp | 223 Optional<arith::AtomicRMWKind> reductionOp = in matchAndRewrite() local 226 assert(reductionOp && "Reduction operation cannot be of None Type"); in matchAndRewrite() 227 arith::AtomicRMWKind reductionOpValue = *reductionOp; in matchAndRewrite() 243 Optional<arith::AtomicRMWKind> reductionOp = in matchAndRewrite() local 246 assert(reductionOp && "Reduction Operation cannot be of None Type"); in matchAndRewrite() 247 arith::AtomicRMWKind reductionOpValue = *reductionOp; in matchAndRewrite()
|
| /llvm-project-15.0.7/mlir/lib/Conversion/VectorToLLVM/ |
| H A D | ConvertVectorToLLVM.cpp | 428 matchAndRewrite(vector::ReductionOp reductionOp, OpAdaptor adaptor, in matchAndRewrite() argument 430 auto kind = reductionOp.getKind(); in matchAndRewrite() 431 Type eltType = reductionOp.getDest().getType(); in matchAndRewrite() 435 Location loc = reductionOp.getLoc(); in matchAndRewrite() 493 rewriter.replaceOp(reductionOp, result); in matchAndRewrite() 507 reductionOp->getLoc(), llvmType, in matchAndRewrite() 510 reductionOp, llvmType, acc, operand, in matchAndRewrite() 517 reductionOp->getLoc(), llvmType, in matchAndRewrite() 520 reductionOp, llvmType, acc, operand, in matchAndRewrite() 529 rewriter.replaceOp(reductionOp, result); in matchAndRewrite() [all …]
|
| /llvm-project-15.0.7/mlir/lib/Target/LLVMIR/Dialect/OpenMP/ |
| H A D | OpenMPToLLVMIRTranslation.cpp | 1228 convertOmpReductionOp(omp::ReductionOp reductionOp, in convertOmpReductionOp() argument 1232 auto reductionContainer = reductionOp->getParentOfType<omp::WsLoopOp>(); in convertOmpReductionOp() 1234 findReductionDecl(reductionContainer, reductionOp); in convertOmpReductionOp() 1251 reductionVariableMap->lookup(reductionOp.accumulator()); in convertOmpReductionOp() 1253 moduleTranslation.convertType(reductionOp.operand().getType()), in convertOmpReductionOp() 1260 moduleTranslation.lookupValue(reductionOp.operand())); in convertOmpReductionOp() 1360 .Case([&](omp::ReductionOp reductionOp) { in convertOperation() argument 1361 return convertOmpReductionOp(reductionOp, builder, moduleTranslation); in convertOperation()
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Affine/Utils/ |
| H A D | Utils.cpp | 385 Operation *reductionOp = yieldOp->getOperand(i).getDefiningOp(); in affineParallelize() local 386 assert(reductionOp && "yielded value is expected to be produced by an op"); in affineParallelize() 389 reductionOp); in affineParallelize() 390 reductionOp->setOperands({init, newPloop->getResult(i)}); in affineParallelize() 391 forOp->getResult(i).replaceAllUsesWith(reductionOp->getResult(0)); in affineParallelize()
|
| /llvm-project-15.0.7/mlir/include/mlir/Dialect/OpenACC/ |
| H A D | OpenACCOps.td | 103 OptionalAttr<OpenACC_ReductionOpAttr>:$reductionOp, 384 OptionalAttr<OpenACC_ReductionOpAttr>:$reductionOp,
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Vector/IR/ |
| H A D | VectorOps.cpp | 494 LogicalResult matchAndRewrite(ReductionOp reductionOp, in matchAndRewrite() 496 if (reductionOp.getVectorType().getDimSize(0) != 1) in matchAndRewrite() 499 Location loc = reductionOp.getLoc(); in matchAndRewrite() 500 Value result = rewriter.create<ExtractOp>(loc, reductionOp.getType(), in matchAndRewrite() 501 reductionOp.getVector(), in matchAndRewrite() 504 if (Value acc = reductionOp.getAcc()) in matchAndRewrite() 505 result = vector::makeArithReduction(rewriter, loc, reductionOp.getKind(), in matchAndRewrite() 508 rewriter.replaceOp(reductionOp, result); in matchAndRewrite()
|
| /llvm-project-15.0.7/flang/lib/Lower/ |
| H A D | OpenMP.cpp | 1614 if (auto reductionOp = in genOpenMPReduction() local 1618 reductionOp->u)}; in genOpenMPReduction()
|