Skip to content

Commit eeb9fcd

Browse files
authored
[flang][HLFIR][NFC] Use tablegen to reduce assignment pass boilerplate (#93030)
This pass is module-level and then runs on all operations implementing the ordered assignment interface. It should not matter which top-level operation the assignment is inside of. This commit removes some unnecessary boilerplate that we can generate automatically with tablegen.
1 parent 919df9d commit eeb9fcd

File tree

4 files changed

+4
-7
lines changed

4 files changed

+4
-7
lines changed

flang/include/flang/Optimizer/HLFIR/Passes.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ namespace hlfir {
2525
std::unique_ptr<mlir::Pass> createConvertHLFIRtoFIRPass();
2626
std::unique_ptr<mlir::Pass> createBufferizeHLFIRPass();
2727
std::unique_ptr<mlir::Pass> createLowerHLFIRIntrinsicsPass();
28-
std::unique_ptr<mlir::Pass> createLowerHLFIROrderedAssignmentsPass();
2928

3029
#define GEN_PASS_REGISTRATION
3130
#include "flang/Optimizer/HLFIR/Passes.h.inc"

flang/include/flang/Optimizer/HLFIR/Passes.td

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ def LowerHLFIRIntrinsics : Pass<"lower-hlfir-intrinsics", "::mlir::ModuleOp"> {
3434

3535
def LowerHLFIROrderedAssignments : Pass<"lower-hlfir-ordered-assignments", "::mlir::ModuleOp"> {
3636
let summary = "Lower HLFIR ordered assignments like forall and where operations";
37-
let constructor = "hlfir::createLowerHLFIROrderedAssignmentsPass()";
3837
let options = [
3938
Option<"tryFusingAssignments", "fuse-assignments",
4039
"bool", /*default=*/"false",

flang/include/flang/Tools/CLOptions.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ inline void createHLFIRToFIRPassPipeline(
327327
addNestedPassToAllTopLevelOperations(
328328
pm, hlfir::createOptimizedBufferization);
329329
}
330-
pm.addPass(hlfir::createLowerHLFIROrderedAssignmentsPass());
330+
pm.addPass(hlfir::createLowerHLFIROrderedAssignments());
331331
pm.addPass(hlfir::createLowerHLFIRIntrinsicsPass());
332332
pm.addPass(hlfir::createBufferizeHLFIRPass());
333333
pm.addPass(hlfir::createConvertHLFIRtoFIRPass());

flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1383,6 +1383,9 @@ class LowerHLFIROrderedAssignments
13831383
: public hlfir::impl::LowerHLFIROrderedAssignmentsBase<
13841384
LowerHLFIROrderedAssignments> {
13851385
public:
1386+
using LowerHLFIROrderedAssignmentsBase<
1387+
LowerHLFIROrderedAssignments>::LowerHLFIROrderedAssignmentsBase;
1388+
13861389
void runOnOperation() override {
13871390
// Running on a ModuleOp because this pass may generate FuncOp declaration
13881391
// for runtime calls. This could be a FuncOp pass otherwise.
@@ -1409,7 +1412,3 @@ class LowerHLFIROrderedAssignments
14091412
}
14101413
};
14111414
} // namespace
1412-
1413-
std::unique_ptr<mlir::Pass> hlfir::createLowerHLFIROrderedAssignmentsPass() {
1414-
return std::make_unique<LowerHLFIROrderedAssignments>();
1415-
}

0 commit comments

Comments
 (0)