Skip to content

Commit 02ab6f3

Browse files
committed
[flang][fir][NFC] unify flang's code style with the rest.
1 parent 8f3254a commit 02ab6f3

File tree

1 file changed

+41
-39
lines changed

1 file changed

+41
-39
lines changed

flang/lib/Optimizer/Transforms/FIRToSCF.cpp

Lines changed: 41 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -16,29 +16,27 @@ namespace fir {
1616
#include "flang/Optimizer/Transforms/Passes.h.inc"
1717
} // namespace fir
1818

19-
using namespace fir;
20-
using namespace mlir;
21-
2219
namespace {
2320
class FIRToSCFPass : public fir::impl::FIRToSCFPassBase<FIRToSCFPass> {
2421
public:
2522
void runOnOperation() override;
2623
};
2724

28-
struct DoLoopConversion : public OpRewritePattern<fir::DoLoopOp> {
25+
struct DoLoopConversion : public mlir::OpRewritePattern<fir::DoLoopOp> {
2926
using OpRewritePattern<fir::DoLoopOp>::OpRewritePattern;
3027

31-
LogicalResult matchAndRewrite(fir::DoLoopOp doLoopOp,
32-
PatternRewriter &rewriter) const override {
33-
auto loc = doLoopOp.getLoc();
28+
mlir::LogicalResult
29+
matchAndRewrite(fir::DoLoopOp doLoopOp,
30+
mlir::PatternRewriter &rewriter) const override {
31+
mlir::Location loc = doLoopOp.getLoc();
3432
bool hasFinalValue = doLoopOp.getFinalValue().has_value();
3533

3634
// Get loop values from the DoLoopOp
37-
auto low = doLoopOp.getLowerBound();
38-
auto high = doLoopOp.getUpperBound();
35+
mlir::Value low = doLoopOp.getLowerBound();
36+
mlir::Value high = doLoopOp.getUpperBound();
3937
assert(low && high && "must be a Value");
40-
auto step = doLoopOp.getStep();
41-
llvm::SmallVector<Value> iterArgs;
38+
mlir::Value step = doLoopOp.getStep();
39+
llvm::SmallVector<mlir::Value> iterArgs;
4240
if (hasFinalValue)
4341
iterArgs.push_back(low);
4442
iterArgs.append(doLoopOp.getIterOperands().begin(),
@@ -49,31 +47,33 @@ struct DoLoopConversion : public OpRewritePattern<fir::DoLoopOp> {
4947
// must be a positive value.
5048
// For easier conversion, we calculate the trip count and use a canonical
5149
// induction variable.
52-
auto diff = arith::SubIOp::create(rewriter, loc, high, low);
53-
auto distance = arith::AddIOp::create(rewriter, loc, diff, step);
54-
auto tripCount = arith::DivSIOp::create(rewriter, loc, distance, step);
55-
auto zero = arith::ConstantIndexOp::create(rewriter, loc, 0);
56-
auto one = arith::ConstantIndexOp::create(rewriter, loc, 1);
50+
auto diff = mlir::arith::SubIOp::create(rewriter, loc, high, low);
51+
auto distance = mlir::arith::AddIOp::create(rewriter, loc, diff, step);
52+
auto tripCount =
53+
mlir::arith::DivSIOp::create(rewriter, loc, distance, step);
54+
auto zero = mlir::arith::ConstantIndexOp::create(rewriter, loc, 0);
55+
auto one = mlir::arith::ConstantIndexOp::create(rewriter, loc, 1);
5756
auto scfForOp =
58-
scf::ForOp::create(rewriter, loc, zero, tripCount, one, iterArgs);
57+
mlir::scf::ForOp::create(rewriter, loc, zero, tripCount, one, iterArgs);
5958

6059
auto &loopOps = doLoopOp.getBody()->getOperations();
61-
auto resultOp = cast<fir::ResultOp>(doLoopOp.getBody()->getTerminator());
60+
auto resultOp =
61+
mlir::cast<fir::ResultOp>(doLoopOp.getBody()->getTerminator());
6262
auto results = resultOp.getOperands();
63-
Block *loweredBody = scfForOp.getBody();
63+
mlir::Block *loweredBody = scfForOp.getBody();
6464

6565
loweredBody->getOperations().splice(loweredBody->begin(), loopOps,
6666
loopOps.begin(),
6767
std::prev(loopOps.end()));
6868

6969
rewriter.setInsertionPointToStart(loweredBody);
70-
Value iv =
71-
arith::MulIOp::create(rewriter, loc, scfForOp.getInductionVar(), step);
72-
iv = arith::AddIOp::create(rewriter, loc, low, iv);
70+
mlir::Value iv = mlir::arith::MulIOp::create(
71+
rewriter, loc, scfForOp.getInductionVar(), step);
72+
iv = mlir::arith::AddIOp::create(rewriter, loc, low, iv);
7373

7474
if (!results.empty()) {
7575
rewriter.setInsertionPointToEnd(loweredBody);
76-
scf::YieldOp::create(rewriter, resultOp->getLoc(), results);
76+
mlir::scf::YieldOp::create(rewriter, resultOp->getLoc(), results);
7777
}
7878
doLoopOp.getInductionVar().replaceAllUsesWith(iv);
7979
rewriter.replaceAllUsesWith(doLoopOp.getRegionIterArgs(),
@@ -84,34 +84,36 @@ struct DoLoopConversion : public OpRewritePattern<fir::DoLoopOp> {
8484
// Copy all the attributes from the old to new op.
8585
scfForOp->setAttrs(doLoopOp->getAttrs());
8686
rewriter.replaceOp(doLoopOp, scfForOp);
87-
return success();
87+
return mlir::success();
8888
}
8989
};
9090

91-
void copyBlockAndTransformResult(PatternRewriter &rewriter, Block &srcBlock,
92-
Block &dstBlock) {
93-
Operation *srcTerminator = srcBlock.getTerminator();
94-
auto resultOp = cast<fir::ResultOp>(srcTerminator);
91+
void copyBlockAndTransformResult(mlir::PatternRewriter &rewriter,
92+
mlir::Block &srcBlock, mlir::Block &dstBlock) {
93+
mlir::Operation *srcTerminator = srcBlock.getTerminator();
94+
auto resultOp = mlir::cast<fir::ResultOp>(srcTerminator);
9595

9696
dstBlock.getOperations().splice(dstBlock.begin(), srcBlock.getOperations(),
9797
srcBlock.begin(), std::prev(srcBlock.end()));
9898

9999
if (!resultOp->getOperands().empty()) {
100100
rewriter.setInsertionPointToEnd(&dstBlock);
101-
scf::YieldOp::create(rewriter, resultOp->getLoc(), resultOp->getOperands());
101+
mlir::scf::YieldOp::create(rewriter, resultOp->getLoc(),
102+
resultOp->getOperands());
102103
}
103104

104105
rewriter.eraseOp(srcTerminator);
105106
}
106107

107-
struct IfConversion : public OpRewritePattern<fir::IfOp> {
108+
struct IfConversion : public mlir::OpRewritePattern<fir::IfOp> {
108109
using OpRewritePattern<fir::IfOp>::OpRewritePattern;
109-
LogicalResult matchAndRewrite(fir::IfOp ifOp,
110-
PatternRewriter &rewriter) const override {
110+
mlir::LogicalResult
111+
matchAndRewrite(fir::IfOp ifOp,
112+
mlir::PatternRewriter &rewriter) const override {
111113
bool hasElse = !ifOp.getElseRegion().empty();
112114
auto scfIfOp =
113-
scf::IfOp::create(rewriter, ifOp.getLoc(), ifOp.getResultTypes(),
114-
ifOp.getCondition(), hasElse);
115+
mlir::scf::IfOp::create(rewriter, ifOp.getLoc(), ifOp.getResultTypes(),
116+
ifOp.getCondition(), hasElse);
115117

116118
copyBlockAndTransformResult(rewriter, ifOp.getThenRegion().front(),
117119
scfIfOp.getThenRegion().front());
@@ -123,22 +125,22 @@ struct IfConversion : public OpRewritePattern<fir::IfOp> {
123125

124126
scfIfOp->setAttrs(ifOp->getAttrs());
125127
rewriter.replaceOp(ifOp, scfIfOp);
126-
return success();
128+
return mlir::success();
127129
}
128130
};
129131
} // namespace
130132

131133
void FIRToSCFPass::runOnOperation() {
132-
RewritePatternSet patterns(&getContext());
134+
mlir::RewritePatternSet patterns(&getContext());
133135
patterns.add<DoLoopConversion, IfConversion>(patterns.getContext());
134-
ConversionTarget target(getContext());
136+
mlir::ConversionTarget target(getContext());
135137
target.addIllegalOp<fir::DoLoopOp, fir::IfOp>();
136-
target.markUnknownOpDynamicallyLegal([](Operation *) { return true; });
138+
target.markUnknownOpDynamicallyLegal([](mlir::Operation *) { return true; });
137139
if (failed(
138140
applyPartialConversion(getOperation(), target, std::move(patterns))))
139141
signalPassFailure();
140142
}
141143

142-
std::unique_ptr<Pass> fir::createFIRToSCFPass() {
144+
std::unique_ptr<mlir::Pass> fir::createFIRToSCFPass() {
143145
return std::make_unique<FIRToSCFPass>();
144146
}

0 commit comments

Comments
 (0)