/llvm-project/flang/lib/Optimizer/Transforms/ |
H A D | AffinePromotion.cpp | 52 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 D | LoopVersioning.cpp | 108 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 D | ControlFlowConverter.cpp | 42 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 D | StackReclaim.cpp | 39 op->walk([&](fir::DoLoopOp loopOp) { in getAllocaAddressSpace()
|
H A D | CharacterConversion.cpp | 56 auto loop = rewriter.create<fir::DoLoopOp>(loc, zero, countm1, one); in matchAndRewrite()
|
H A D | ArrayValueCopy.cpp | 196 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 D | SimplifyIntrinsics.cpp | 340 // 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 D | DoLoopHelper.cpp | 15 fir::DoLoopOp 23 auto loop = builder.create<fir::DoLoopOp>(loc, lbi, ubi, inc); in createLoop() 32 fir::DoLoopOp 40 fir::DoLoopOp
|
H A D | FIRBuilder.cpp | 1350 std::optional<fir::DoLoopOp> outerLoop; in recordTypeCanBeMemCopied() 1363 auto loop = builder.create<fir::DoLoopOp>(loc, zero, ub, one); in genRecordAssignment()
|
H A D | HLFIRTools.cpp | 901 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 D | DoLoopHelper.h | 32 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 D | Factory.h | 73 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 D | HLFIRTools.h |
|
/llvm-project/flang/include/flang/Optimizer/Dialect/ |
H A D | FIROps.h | 26 class DoLoopOp; variable 34 DoLoopOp getForInductionVarOwner(mlir::Value val);
|
H A D | FIROps.td | 2119 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 D | IterationSpace.h | 397 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 D | LowerHLFIROrderedAssignments.cpp | 251 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 D | OptimizedBufferization.cpp | 791 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 D | VectorSubscripts.cpp | 281 builder.create<fir::DoLoopOp>(loc, lb, ub, step, /*unordered=*/false); in loopOverElementsBase() 310 loopOverElementsBase<fir::DoLoopOp, ElementalGenerator>( in loopOverElements()
|
H A D | ConvertArrayConstructor.cpp | 140 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 D | OpenACC.cpp | 1070 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 D | Bridge.cpp | 132 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 D | ConvertExpr.cpp | 4224 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 D | IO.cpp | 970 auto doLoopOp = builder.create<fir::DoLoopOp>( in genIoLoop()
|
/llvm-project/flang/lib/Optimizer/Dialect/ |
H A D | FIROps.cpp | 2465 // 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...] |