Skip to content

Commit

Permalink
[flang][NFC] Use tablegen to create SimplifyIntrinsics constructor (#…
Browse files Browse the repository at this point in the history
…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.
  • Loading branch information
tblah committed Apr 25, 2024
1 parent 92f4f0b commit 81442f8
Show file tree
Hide file tree
Showing 4 changed files with 4 additions and 6 deletions.
1 change: 0 additions & 1 deletion flang/include/flang/Optimizer/Transforms/Passes.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@ std::unique_ptr<mlir::Pass> createPromoteToAffinePass();
std::unique_ptr<mlir::Pass> createMemoryAllocationPass();
std::unique_ptr<mlir::Pass> createStackArraysPass();
std::unique_ptr<mlir::Pass> createAliasTagsPass();
std::unique_ptr<mlir::Pass> createSimplifyIntrinsicsPass();
std::unique_ptr<mlir::Pass>
createAddDebugInfoPass(fir::AddDebugInfoOptions options = {});
std::unique_ptr<mlir::Pass> createLoopVersioningPass();
Expand Down
1 change: 0 additions & 1 deletion flang/include/flang/Optimizer/Transforms/Passes.td
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,6 @@ def SimplifyIntrinsics : Pass<"simplify-intrinsics", "mlir::ModuleOp"> {
simplified function. The simplified function is added to the current module.
This function can be inlined by a general purpose inlining pass.
}];
let constructor = "::fir::createSimplifyIntrinsicsPass()";

let options = [
Option<"enableExperimental", "enable-experimental", "bool",
Expand Down
2 changes: 1 addition & 1 deletion flang/include/flang/Tools/CLOptions.inc
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ inline void createDefaultFIROptimizerPassPipeline(
pm.addPass(fir::createSimplifyRegionLite());
if (pc.OptLevel.isOptimizingForSpeed()) {
// These passes may increase code size.
pm.addPass(fir::createSimplifyIntrinsicsPass());
pm.addPass(fir::createSimplifyIntrinsics());
pm.addPass(fir::createAlgebraicSimplificationPass(config));
}

Expand Down
6 changes: 3 additions & 3 deletions flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,9 @@ class SimplifyIntrinsicsPass
mlir::Type elementType)>;

public:
using fir::impl::SimplifyIntrinsicsBase<
SimplifyIntrinsicsPass>::SimplifyIntrinsicsBase;

/// Generate a new function implementing a simplified version
/// of a Fortran runtime function defined by \p basename name.
/// \p typeGenerator is a callback that generates the new function's type.
Expand Down Expand Up @@ -1387,6 +1390,3 @@ void SimplifyIntrinsicsPass::getDependentDialects(
// LLVM::LinkageAttr creation requires that LLVM dialect is loaded.
registry.insert<mlir::LLVM::LLVMDialect>();
}
std::unique_ptr<mlir::Pass> fir::createSimplifyIntrinsicsPass() {
return std::make_unique<SimplifyIntrinsicsPass>();
}

0 comments on commit 81442f8

Please sign in to comment.