Skip to content

Commit 8f11649

Browse files
authored
[flang][Transforms][NFC] Remove boilerplate from vscale range pass (#94598)
Use tablegen to generate the pass constructor. This pass is supposed to add function attributes so it does not need to operate on other top level operations.
1 parent 5f1adf0 commit 8f11649

File tree

4 files changed

+2
-14
lines changed

4 files changed

+2
-14
lines changed

flang/include/flang/Optimizer/Transforms/Passes.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ namespace fir {
5454
#define GEN_PASS_DECL_OMPMAPINFOFINALIZATIONPASS
5555
#define GEN_PASS_DECL_OMPMARKDECLARETARGETPASS
5656
#define GEN_PASS_DECL_OMPFUNCTIONFILTERING
57+
#define GEN_PASS_DECL_VSCALEATTR
5758
#include "flang/Optimizer/Transforms/Passes.h.inc"
5859

5960
std::unique_ptr<mlir::Pass> createAffineDemotionPass();

flang/include/flang/Optimizer/Transforms/Passes.td

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,6 @@ def VScaleAttr : Pass<"vscale-attr", "mlir::func::FuncOp"> {
359359
"std::pair<unsigned, unsigned>", /*default=*/"std::pair<unsigned, unsigned>{}",
360360
"vector scale range">,
361361
];
362-
let constructor = "::fir::createVScaleAttrPass()";
363362
}
364363

365364
def FunctionAttr : Pass<"function-attr", "mlir::func::FuncOp"> {

flang/include/flang/Tools/CLOptions.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,7 @@ inline void createDefaultFIRCodeGenPassPipeline(mlir::PassManager &pm,
369369
fir::createDebugPasses(pm, config.DebugInfo, config.OptLevel, inputFilename);
370370

371371
if (config.VScaleMin != 0)
372-
pm.addPass(fir::createVScaleAttrPass({config.VScaleMin, config.VScaleMax}));
372+
pm.addPass(fir::createVScaleAttr({{config.VScaleMin, config.VScaleMax}}));
373373

374374
// Add function attributes
375375
fir::FunctionAttrTypes functionAttrs;

flang/lib/Optimizer/Transforms/VScaleAttr.cpp

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
#include <algorithm>
3939

4040
namespace fir {
41-
#define GEN_PASS_DECL_VSCALEATTR
4241
#define GEN_PASS_DEF_VSCALEATTR
4342
#include "flang/Optimizer/Transforms/Passes.h.inc"
4443
} // namespace fir
@@ -77,14 +76,3 @@ void VScaleAttrPass::runOnOperation() {
7776

7877
LLVM_DEBUG(llvm::dbgs() << "=== End " DEBUG_TYPE " ===\n");
7978
}
80-
81-
std::unique_ptr<mlir::Pass>
82-
fir::createVScaleAttrPass(std::pair<unsigned, unsigned> vscaleAttr) {
83-
VScaleAttrOptions opts;
84-
opts.vscaleRange = vscaleAttr;
85-
return std::make_unique<VScaleAttrPass>(opts);
86-
}
87-
88-
std::unique_ptr<mlir::Pass> fir::createVScaleAttrPass() {
89-
return std::make_unique<VScaleAttrPass>();
90-
}

0 commit comments

Comments
 (0)