Skip to content

Commit c8715a1

Browse files
committed
Change ConverComplexPow from func to module pass.
1 parent bcf4b5a commit c8715a1

File tree

6 files changed

+8
-13
lines changed

6 files changed

+8
-13
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -551,7 +551,7 @@ def SimplifyFIROperations : Pass<"simplify-fir-operations", "mlir::ModuleOp"> {
551551
"Prefer expanding without using Fortran runtime calls.">];
552552
}
553553

554-
def ConvertComplexPow : Pass<"convert-complex-pow", "mlir::func::FuncOp"> {
554+
def ConvertComplexPow : Pass<"convert-complex-pow", "mlir::ModuleOp"> {
555555
let summary = "Convert complex.pow operations to library calls";
556556
let description = [{
557557
Replace `complex.pow` operations with calls to the appropriate

flang/lib/Optimizer/Transforms/ConvertComplexPow.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,14 +55,13 @@ static bool isZero(Value v) {
5555
}
5656

5757
void ConvertComplexPowPass::runOnOperation() {
58-
auto func = getOperation();
59-
auto mod = func->getParentOfType<ModuleOp>();
58+
ModuleOp mod = getOperation();
6059
if (fir::getTargetTriple(mod).isAMDGCN())
6160
return;
6261

63-
fir::FirOpBuilder builder(func, fir::getKindMapping(mod));
62+
fir::FirOpBuilder builder(mod, fir::getKindMapping(mod));
6463

65-
func.walk([&](complex::PowOp op) {
64+
mod.walk([&](complex::PowOp op) {
6665
builder.setInsertionPoint(op);
6766
Location loc = op.getLoc();
6867
auto complexTy = cast<ComplexType>(op.getType());

flang/test/Driver/bbc-mlir-pass-pipeline.f90

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,7 @@
6969
! CHECK-NEXT: SCFToControlFlow
7070
! CHECK-NEXT: Canonicalizer
7171
! CHECK-NEXT: SimplifyRegionLite
72-
! CHECK-NEXT: 'func.func' Pipeline
73-
! CHECK-NEXT: ConvertComplexPow
72+
! CHECK-NEXT: ConvertComplexPow
7473
! CHECK-NEXT: CSE
7574
! CHECK-NEXT: (S) 0 num-cse'd - Number of operations CSE'd
7675
! CHECK-NEXT: (S) 0 num-dce'd - Number of operations DCE'd

flang/test/Driver/mlir-debug-pass-pipeline.f90

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,7 @@
9696
! ALL-NEXT: SCFToControlFlow
9797
! ALL-NEXT: Canonicalizer
9898
! ALL-NEXT: SimplifyRegionLite
99-
! ALL-NEXT: 'func.func' Pipeline
100-
! ALL-NEXT: ConvertComplexPow
99+
! ALL-NEXT: ConvertComplexPow
101100
! ALL-NEXT: CSE
102101
! ALL-NEXT: (S) 0 num-cse'd - Number of operations CSE'd
103102
! ALL-NEXT: (S) 0 num-dce'd - Number of operations DCE'd

flang/test/Driver/mlir-pass-pipeline.f90

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,7 @@
127127
! ALL-NEXT: SCFToControlFlow
128128
! ALL-NEXT: Canonicalizer
129129
! ALL-NEXT: SimplifyRegionLite
130-
! ALL-NEXT: 'func.func' Pipeline
131-
! ALL-NEXT: ConvertComplexPow
130+
! ALL-NEXT: ConvertComplexPow
132131
! ALL-NEXT: CSE
133132
! ALL-NEXT: (S) 0 num-cse'd - Number of operations CSE'd
134133
! ALL-NEXT: (S) 0 num-dce'd - Number of operations DCE'd

flang/test/Fir/basic-program.fir

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,7 @@ func.func @_QQmain() {
125125
// PASSES-NEXT: SCFToControlFlow
126126
// PASSES-NEXT: Canonicalizer
127127
// PASSES-NEXT: SimplifyRegionLite
128-
// PASSES-NEXT: 'func.func' Pipeline
129-
// PASSES-NEXT: ConvertComplexPow
128+
// PASSES-NEXT: ConvertComplexPow
130129
// PASSES-NEXT: CSE
131130
// PASSES-NEXT: (S) 0 num-cse'd - Number of operations CSE'd
132131
// PASSES-NEXT: (S) 0 num-dce'd - Number of operations DCE'd

0 commit comments

Comments
 (0)