Skip to content

Commit 81442f8

Browse files
authored
[flang][NFC] Use tablegen to create SimplifyIntrinsics constructor (#89963)
This pass runs on ModuleOp, internally walking all func::CallOps so it shouldn't need anything special to work on other top level operations.
1 parent 92f4f0b commit 81442f8

File tree

4 files changed

+4
-6
lines changed

4 files changed

+4
-6
lines changed

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ std::unique_ptr<mlir::Pass> createPromoteToAffinePass();
6060
std::unique_ptr<mlir::Pass> createMemoryAllocationPass();
6161
std::unique_ptr<mlir::Pass> createStackArraysPass();
6262
std::unique_ptr<mlir::Pass> createAliasTagsPass();
63-
std::unique_ptr<mlir::Pass> createSimplifyIntrinsicsPass();
6463
std::unique_ptr<mlir::Pass>
6564
createAddDebugInfoPass(fir::AddDebugInfoOptions options = {});
6665
std::unique_ptr<mlir::Pass> createLoopVersioningPass();

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,6 @@ def SimplifyIntrinsics : Pass<"simplify-intrinsics", "mlir::ModuleOp"> {
224224
simplified function. The simplified function is added to the current module.
225225
This function can be inlined by a general purpose inlining pass.
226226
}];
227-
let constructor = "::fir::createSimplifyIntrinsicsPass()";
228227

229228
let options = [
230229
Option<"enableExperimental", "enable-experimental", "bool",

flang/include/flang/Tools/CLOptions.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ inline void createDefaultFIROptimizerPassPipeline(
248248
pm.addPass(fir::createSimplifyRegionLite());
249249
if (pc.OptLevel.isOptimizingForSpeed()) {
250250
// These passes may increase code size.
251-
pm.addPass(fir::createSimplifyIntrinsicsPass());
251+
pm.addPass(fir::createSimplifyIntrinsics());
252252
pm.addPass(fir::createAlgebraicSimplificationPass(config));
253253
}
254254

flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,9 @@ class SimplifyIntrinsicsPass
7272
mlir::Type elementType)>;
7373

7474
public:
75+
using fir::impl::SimplifyIntrinsicsBase<
76+
SimplifyIntrinsicsPass>::SimplifyIntrinsicsBase;
77+
7578
/// Generate a new function implementing a simplified version
7679
/// of a Fortran runtime function defined by \p basename name.
7780
/// \p typeGenerator is a callback that generates the new function's type.
@@ -1387,6 +1390,3 @@ void SimplifyIntrinsicsPass::getDependentDialects(
13871390
// LLVM::LinkageAttr creation requires that LLVM dialect is loaded.
13881391
registry.insert<mlir::LLVM::LLVMDialect>();
13891392
}
1390-
std::unique_ptr<mlir::Pass> fir::createSimplifyIntrinsicsPass() {
1391-
return std::make_unique<SimplifyIntrinsicsPass>();
1392-
}

0 commit comments

Comments
 (0)