Skip to content

Commit c2eff3d

Browse files
committed
[fir] Split FIROptimizer lib into several smaller libraries
Partition libFIROptimizer into smaller libraries that reflect the structure. Adapt potential problems. This patch is part of the upstreaming effort from fir-dev branch. It's a building stone to upstreaming transformations. Co-authored-by: Eric Schweitz <[email protected]> Reviewed By: schweitz Differential Revision: https://reviews.llvm.org/D111055
1 parent 3fe4753 commit c2eff3d

File tree

12 files changed

+95
-55
lines changed

12 files changed

+95
-55
lines changed

flang/lib/Lower/CMakeLists.txt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,15 @@ add_flang_library(FortranLower
1717
PFTBuilder.cpp
1818

1919
DEPENDS
20-
FIROptimizer
20+
FIRDialect
21+
FIRSupport
22+
FIRTransforms
2123
${dialect_libs}
2224

2325
LINK_LIBS
24-
FIROptimizer
26+
FIRDialect
27+
FIRSupport
28+
FIRTransforms
2529
${dialect_libs}
2630
FortranCommon
2731
FortranParser

flang/lib/Optimizer/CMakeLists.txt

Lines changed: 4 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,4 @@
1-
get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
2-
3-
add_flang_library(FIROptimizer
4-
Dialect/FIRAttr.cpp
5-
Dialect/FIRDialect.cpp
6-
Dialect/FIROps.cpp
7-
Dialect/FIRType.cpp
8-
9-
Support/FIRContext.cpp
10-
Support/InternalNames.cpp
11-
Support/KindMapping.cpp
12-
13-
CodeGen/CGOps.cpp
14-
CodeGen/PreCGRewrite.cpp
15-
16-
Transforms/Inliner.cpp
17-
18-
DEPENDS
19-
FIROpsIncGen
20-
FIROptCodeGenPassIncGen
21-
FIROptTransformsPassIncGen
22-
CGOpsIncGen
23-
${dialect_libs}
24-
25-
LINK_LIBS
26-
${dialect_libs}
27-
MLIRLLVMToLLVMIRTranslation
28-
MLIRTargetLLVMIRExport
29-
30-
LINK_COMPONENTS
31-
AsmParser
32-
AsmPrinter
33-
Remarks
34-
)
1+
add_subdirectory(CodeGen)
2+
add_subdirectory(Dialect)
3+
add_subdirectory(Support)
4+
add_subdirectory(Transforms)
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
add_flang_library(FIRCodeGen
2+
CGOps.cpp
3+
PreCGRewrite.cpp
4+
5+
DEPENDS
6+
FIRDialect
7+
FIRSupport
8+
FIROptCodeGenPassIncGen
9+
CGOpsIncGen
10+
11+
LINK_LIBS
12+
FIRDialect
13+
FIRSupport
14+
MLIROpenMPToLLVM
15+
MLIRLLVMToLLVMIRTranslation
16+
MLIRTargetLLVMIRExport
17+
18+
LINK_COMPONENTS
19+
AsmParser
20+
AsmPrinter
21+
Remarks
22+
)
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
add_flang_library(FIRDialect
2+
FIRAttr.cpp
3+
FIRDialect.cpp
4+
FIROps.cpp
5+
FIRType.cpp
6+
7+
DEPENDS
8+
FIRSupport
9+
FIROpsIncGen
10+
11+
LINK_LIBS
12+
FIRSupport
13+
MLIROpenMPToLLVM
14+
MLIRLLVMToLLVMIRTranslation
15+
MLIRTargetLLVMIRExport
16+
17+
LINK_COMPONENTS
18+
AsmParser
19+
AsmPrinter
20+
Remarks
21+
)
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
add_flang_library(FIRSupport
2+
FIRContext.cpp
3+
InternalNames.cpp
4+
KindMapping.cpp
5+
6+
DEPENDS
7+
${dialect_libs}
8+
9+
LINK_LIBS
10+
${dialect_libs}
11+
MLIROpenMPToLLVMIRTranslation
12+
MLIRLLVMToLLVMIRTranslation
13+
MLIRTargetLLVMIRExport
14+
)
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
add_flang_library(FIRTransforms
2+
Inliner.cpp
3+
4+
DEPENDS
5+
FIRDialect
6+
FIRSupport
7+
FIROptTransformsPassIncGen
8+
9+
LINK_LIBS
10+
FIRDialect
11+
MLIRAffineToStandard
12+
MLIRLLVMIR
13+
MLIROpenACC
14+
MLIROpenMP
15+
FIRSupport
16+
)

flang/tools/fir-opt/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@ llvm_update_compile_flags(fir-opt)
33
get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
44

55
target_link_libraries(fir-opt PRIVATE
6-
FIROptimizer
6+
FIRDialect
7+
FIRSupport
8+
FIRTransforms
9+
FIRCodeGen
710
${dialect_libs}
811

912
# TODO: these should be transitive dependencies from a target providing

flang/tools/tco/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
22

33
set(LIBS
4-
FIROptimizer
4+
FIRCodeGen
5+
FIRDialect
6+
FIRSupport
7+
FIRTransforms
58
${dialect_libs}
69
MLIRIR
710
MLIRLLVMIR

flang/unittests/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,5 @@ endfunction()
3939
add_subdirectory(Optimizer)
4040
add_subdirectory(Decimal)
4141
add_subdirectory(Evaluate)
42-
add_subdirectory(Lower)
4342
add_subdirectory(Runtime)
4443
add_subdirectory(Frontend)

flang/unittests/Lower/CMakeLists.txt

Lines changed: 0 additions & 15 deletions
This file was deleted.

flang/unittests/Optimizer/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
22

33
set(LIBS
4-
FIROptimizer
4+
FIRCodeGen
5+
FIRDialect
6+
FIRSupport
57
${dialect_libs}
68
)
79

810
add_flang_unittest(FlangOptimizerTests
911
FIRContextTest.cpp
1012
InternalNamesTest.cpp
1113
KindMappingTest.cpp
14+
RTBuilder.cpp
1215
)
1316
target_link_libraries(FlangOptimizerTests
1417
PRIVATE

0 commit comments

Comments
 (0)