Home
last modified time | relevance | path

Searched refs:DoLoopOp (Results 1 – 25 of 25) sorted by relevance

/llvm-project/flang/lib/Optimizer/Transforms/
H A DAffinePromotion.cpp52 for (fir::DoLoopOp op : funcOp.getOps<fir::DoLoopOp>()) in AffineFunctionAnalysis()
56 AffineLoopAnalysis getChildLoopAnalysis(fir::DoLoopOp op) const;
67 if (isa<fir::DoLoopOp>(blockArg.getOwner()->getParentOp())) in analyzeCoordinate()
85 explicit AffineLoopAnalysis(fir::DoLoopOp op, AffineFunctionAnalysis &afa) in AffineLoopAnalysis()
91 bool analyzeBody(fir::DoLoopOp loopOperation, in analyzeBody()
93 for (auto loopOp : loopOperation.getOps<fir::DoLoopOp>()) { in analyzeBody()
105 bool analyzeLoop(fir::DoLoopOp loopOperation, in analyzeLoop()
140 bool analyzeMemoryAccess(fir::DoLoopOp loopOperation) { in analyzeMemoryAccess()
155 AffineFunctionAnalysis::getChildLoopAnalysis(fir::DoLoopOp op) const { in getChildLoopAnalysis()
229 if (isa<fir::DoLoopOp>(blockArg.getOwner()->getParentOp()) || in toAffineExpr()
[all …]
H A DLoopVersioning.cpp108 void dump(fir::DoLoopOp loop) const { in dump()
343 mlir::SmallVector<fir::DoLoopOp> originalLoops; in runOnOperation()
346 llvm::DenseMap<fir::DoLoopOp, ArgsUsageInLoop> argsInLoops; in runOnOperation()
352 func.walk([&](fir::DoLoopOp loop) { in runOnOperation()
361 if (op->getParentOfType<fir::DoLoopOp>() != loop) in runOnOperation()
408 for (fir::DoLoopOp loop : originalLoops) { in runOnOperation()
416 for (fir::DoLoopOp loop : originalLoops) { in runOnOperation()
421 fir::DoLoopOp parent = loop; in runOnOperation()
422 while ((parent = parent->getParentOfType<fir::DoLoopOp>())) in runOnOperation()
432 for (fir::DoLoopOp loo in runOnOperation()
[all...]
H A DControlFlowConverter.cpp42 class CfgLoopConv : public mlir::OpRewritePattern<fir::DoLoopOp> {
47 : mlir::OpRewritePattern<fir::DoLoopOp>(ctx), in CfgLoopConv()
51 matchAndRewrite(DoLoopOp loop, in matchAndRewrite()
60 // Create the start and end blocks that will wrap the DoLoopOp with an in matchAndRewrite()
66 // Split the first DoLoopOp block in two parts. The part before will be the in matchAndRewrite()
75 // Move the blocks from the DoLoopOp between initBlock and endBlock in matchAndRewrite()
78 // Get loop values from the DoLoopOp in matchAndRewrite()
346 target.addIllegalOp<ResultOp, DoLoopOp, IfOp, IterWhileOp>(); in runOnOperation()
H A DStackReclaim.cpp39 op->walk([&](fir::DoLoopOp loopOp) { in getAllocaAddressSpace()
H A DCharacterConversion.cpp56 auto loop = rewriter.create<fir::DoLoopOp>(loc, zero, countm1, one); in matchAndRewrite()
H A DArrayValueCopy.cpp196 if (auto rop = mlir::dyn_cast<DoLoopOp>(op)) { in collectArrayMentionFrom()
276 if (auto rop = mlir::dyn_cast<DoLoopOp>(parent)) { in collectArrayMentionFrom()
319 if (auto doLoop = mlir::dyn_cast_or_null<DoLoopOp>(seq.getDefiningOp())) in reachingValues()
417 if (auto ro = mlir::dyn_cast<DoLoopOp>(owner)) { in arrayMentions()
1010 auto loop = rewriter.create<DoLoopOp>(loc, zero, ub, one); in genArrayCopy()
H A DSimplifyIntrinsics.cpp340 // DoLoopOp loops. in genReductionLoop()
408 genReductionLoop<fir::DoLoopOp, bool, 0>(builder, funcOp, zero, nopLoopCond, in genRuntimeSumBody()
453 genReductionLoop<fir::DoLoopOp, bool, 0>(builder, funcOp, init, nopLoopCond, in genRuntimeMaxvalBody()
487 genReductionLoop<fir::DoLoopOp, bool, 0>(builder, funcOp, zero, nopLoopCond, in genRuntimeCountBody()
618 builder.create<fir::DoLoopOp>(loc, zeroIdx, loopCount, step, false, in genMinMaxlocReductionLoop()
639 auto loop = mlir::cast<fir::DoLoopOp>(result->getParentOp()); in genMinMaxlocReductionLoop()
958 auto loop = builder.create<fir::DoLoopOp>(loc, zeroIdx, loopCount, step, in genRuntimeDotBody()
/llvm-project/flang/lib/Optimizer/Builder/
H A DDoLoopHelper.cpp15 fir::DoLoopOp
23 auto loop = builder.create<fir::DoLoopOp>(loc, lbi, ubi, inc); in createLoop()
32 fir::DoLoopOp
40 fir::DoLoopOp
H A DFIRBuilder.cpp1350 std::optional<fir::DoLoopOp> outerLoop; in recordTypeCanBeMemCopied()
1363 auto loop = builder.create<fir::DoLoopOp>(loc, zero, ub, one); in genRecordAssignment()
H A DHLFIRTools.cpp901 builder.create<fir::DoLoopOp>(loc, one, ub, one, isUnordered); in translateVariableToExtendedValue()
922 fir::DoLoopOp outerLoop = nullptr; in translateVariableToExtendedValue()
923 fir::DoLoopOp parentLoop = nullptr; in translateVariableToExtendedValue()
933 fir::DoLoopOp doLoop; in translateVariableToExtendedValue()
935 doLoop = builder.create<fir::DoLoopOp>(loc, one, ub, one, isUnordered, in translateVariableToExtendedValue()
939 doLoop = builder.create<fir::DoLoopOp>(loc, one, ub, one, isUnordered, in translateVariableToExtendedValue()
/llvm-project/flang/include/flang/Optimizer/Builder/
H A DDoLoopHelper.h32 fir::DoLoopOp createLoop(mlir::Value lb, mlir::Value ub, mlir::Value step,
36 fir::DoLoopOp createLoop(mlir::Value lb, mlir::Value ub,
40 fir::DoLoopOp createLoop(mlir::Value count,
H A DFactory.h73 auto loop = builder.template create<fir::DoLoopOp>(loc, zero, upper, one); in genCharacterCopy()
105 auto loop = builder.template create<fir::DoLoopOp>(loc, zero, len, one); in genCharacterCopy()
H A DHLFIRTools.h
/llvm-project/flang/include/flang/Optimizer/Dialect/
H A DFIROps.h26 class DoLoopOp; variable
34 DoLoopOp getForInductionVarOwner(mlir::Value val);
H A DFIROps.td2119 ParentOneOf<["IfOp", "DoLoopOp", "IterWhileOp"]>]> {
2321 It is very similar to `fir::DoLoopOp` with the addition that it requires
/llvm-project/flang/include/flang/Lower/
H A DIterationSpace.h397 void setOuterLoop(fir::DoLoopOp loop) {
456 fir::DoLoopOp getOuterLoop() {
506 void appendLoops(const llvm::SmallVector<fir::DoLoopOp> &loops) {
512 llvm::SmallVector<llvm::SmallVector<fir::DoLoopOp>> getLoopStack() const {
535 std::optional<fir::DoLoopOp> outerLoop;
536 llvm::SmallVector<llvm::SmallVector<fir::DoLoopOp>> loopStack;
/llvm-project/flang/lib/Optimizer/HLFIR/Transforms/
H A DLowerHLFIROrderedAssignments.cpp251 llvm::SmallVectorImpl<fir::DoLoopOp> &loopNest);
360 auto doLoop = builder.create<fir::DoLoopOp>(loc, lb, ub, step); in pre()
561 if (mlir::isa<fir::DoLoopOp>(constructStack.back())) { in post()
1079 llvm::SmallVectorImpl<fir::DoLoopOp> &loopNest) { in getAssignIfLeftHandSideRegion()
1087 if (auto doLoop = mlir::dyn_cast<fir::DoLoopOp>(currentConstruct)) { in currentLoopNestIterationNumberCanBeComputed()
1105 llvm::ArrayRef<fir::DoLoopOp> loopNest) { in currentLoopNestIterationNumberCanBeComputed()
1107 for (fir::DoLoopOp doLoop : loopNest) {
1162 llvm::SmallVector<fir::DoLoopOp> loopNest; in generateSaveEntity()
H A DOptimizedBufferization.cpp791 auto loop = builder.create<fir::DoLoopOp>( in matchAndRewrite()
807 auto loop = mlir::cast<fir::DoLoopOp>(result->getParentOp()); in matchAndRewrite()
/llvm-project/flang/lib/Lower/
H A DVectorSubscripts.cpp281 builder.create<fir::DoLoopOp>(loc, lb, ub, step, /*unordered=*/false); in loopOverElementsBase()
310 loopOverElementsBase<fir::DoLoopOp, ElementalGenerator>( in loopOverElements()
H A DConvertArrayConstructor.cpp140 auto loop = builder.create<fir::DoLoopOp>(loc, lower, upper, stride, in startImpliedDo()
392 auto loop = builder.create<fir::DoLoopOp>(loc, lower, upper, stride, in startImpliedDo()
H A DOpenACC.cpp1070 llvm::SmallVector<fir::DoLoopOp> loops; in genReductionInitRegion()
1081 auto loop = builder.create<fir::DoLoopOp>(loc, lb, ub, step, in genReductionInitRegion()
1211 llvm::SmallVector<fir::DoLoopOp> loops; in genCombiner()
1273 builder.create<fir::DoLoopOp>(loc, values[0], values[1], values[2], in genCombiner()
1290 auto loop = builder.create<fir::DoLoopOp>(loc, lb, ub, step, in genCombiner()
H A DBridge.cpp132 fir::DoLoopOp doLoop = nullptr;
2276 info.doLoop = builder->create<fir::DoLoopOp>( in genFIRIncrementLoopEnd()
2285 info.doLoop = builder->create<fir::DoLoopOp>( in genFIRIncrementLoopEnd()
2602 llvm::SmallVector<fir::DoLoopOp> loops; in genFIR()
2639 auto lp = builder->create<fir::DoLoopOp>( in genForallNest()
H A DConvertExpr.cpp4224 llvm::SmallVector<llvm::SmallVector<fir::DoLoopOp>> loopStack = in prepareRaggedArrays()
4382 llvm::SmallVector<fir::DoLoopOp> loops;
4392 fir::DoLoopOp loop; in genIterSpace()
4394 loop = builder.create<fir::DoLoopOp>( in genIterSpace()
4401 loop = builder.create<fir::DoLoopOp>(loc, zero, i.value(), one, in genIterSpace()
6405 builder.create<fir::DoLoopOp>(loc, lo, up, step, /*unordered=*/false, in genarr()
H A DIO.cpp970 auto doLoopOp = builder.create<fir::DoLoopOp>( in genIoLoop()
/llvm-project/flang/lib/Optimizer/Dialect/
H A DFIROps.cpp2465 // DoLoopOp in build()
2468 void fir::DoLoopOp::build(mlir::OpBuilder &builder, in build()
2492 fir::DoLoopOp::ensureTerminator(*bodyRegion, builder, result.location);
2506 mlir::ParseResult fir::DoLoopOp::parse(mlir::OpAsmParser &parser, in parse()
2594 result.addAttribute(DoLoopOp::getFinalValueAttrName(result.name), in parse()
2612 DoLoopOp::ensureTerminator(*body, builder, result.location);
2617 fir::DoLoopOp fir::getForInductionVarOwner(mlir::Value val) { in verify()
2623 return mlir::dyn_cast_or_null<fir::DoLoopOp>(containingInst); in verify()
2627 llvm::LogicalResult fir::DoLoopOp::verify() { in verify()
2672 void fir::DoLoopOp in print()
[all...]