[flang-commits] [flang] c02a8cd - [fir] Split FIROptimizer lib into several smaller libraries

Valentin Clement via flang-commits flang-commits at lists.llvm.org
Tue Oct 5 02:08:59 PDT 2021


Author: Valentin Clement
Date: 2021-10-05T11:08:51+02:00
New Revision: c02a8cdda8733aac26481b6819a4eef000ee91c8

URL: https://github.com/llvm/llvm-project/commit/c02a8cdda8733aac26481b6819a4eef000ee91c8
DIFF: https://github.com/llvm/llvm-project/commit/c02a8cdda8733aac26481b6819a4eef000ee91c8.diff

LOG: [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.

Reviewed By: schweitz

Differential Revision: https://reviews.llvm.org/D111055

Co-authored-by: Eric Schweitz <eschweitz at nvidia.com>

Added: 
    flang/lib/Optimizer/CodeGen/CMakeLists.txt
    flang/lib/Optimizer/Dialect/CMakeLists.txt
    flang/lib/Optimizer/Support/CMakeLists.txt
    flang/lib/Optimizer/Transforms/CMakeLists.txt
    flang/unittests/Optimizer/RTBuilder.cpp

Modified: 
    flang/lib/Lower/CMakeLists.txt
    flang/lib/Optimizer/CMakeLists.txt
    flang/tools/fir-opt/CMakeLists.txt
    flang/tools/tco/CMakeLists.txt
    flang/unittests/CMakeLists.txt
    flang/unittests/Optimizer/CMakeLists.txt

Removed: 
    flang/unittests/Lower/CMakeLists.txt
    flang/unittests/Lower/RTBuilder.cpp


################################################################################
diff  --git a/flang/lib/Lower/CMakeLists.txt b/flang/lib/Lower/CMakeLists.txt
index 07b87ef22ce92..27e54d44893bc 100644
--- a/flang/lib/Lower/CMakeLists.txt
+++ b/flang/lib/Lower/CMakeLists.txt
@@ -17,11 +17,15 @@ add_flang_library(FortranLower
   PFTBuilder.cpp
 
   DEPENDS
-  FIROptimizer
+  FIRDialect
+  FIRSupport
+  FIRTransforms
   ${dialect_libs}
 
   LINK_LIBS
-  FIROptimizer
+  FIRDialect
+  FIRSupport
+  FIRTransforms
   ${dialect_libs}
   FortranCommon
   FortranParser

diff  --git a/flang/lib/Optimizer/CMakeLists.txt b/flang/lib/Optimizer/CMakeLists.txt
index b83d6a079db63..4b37a18340cfa 100644
--- a/flang/lib/Optimizer/CMakeLists.txt
+++ b/flang/lib/Optimizer/CMakeLists.txt
@@ -1,34 +1,4 @@
-get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
-
-add_flang_library(FIROptimizer
-  Dialect/FIRAttr.cpp
-  Dialect/FIRDialect.cpp
-  Dialect/FIROps.cpp
-  Dialect/FIRType.cpp
-
-  Support/FIRContext.cpp
-  Support/InternalNames.cpp
-  Support/KindMapping.cpp
-
-  CodeGen/CGOps.cpp
-  CodeGen/PreCGRewrite.cpp
-
-  Transforms/Inliner.cpp
-
-  DEPENDS
-  FIROpsIncGen
-  FIROptCodeGenPassIncGen
-  FIROptTransformsPassIncGen
-  CGOpsIncGen
-  ${dialect_libs}
-
-  LINK_LIBS
-  ${dialect_libs}
-  MLIRLLVMToLLVMIRTranslation
-  MLIRTargetLLVMIRExport
-
-  LINK_COMPONENTS
-  AsmParser
-  AsmPrinter
-  Remarks
-)
+add_subdirectory(CodeGen)
+add_subdirectory(Dialect)
+add_subdirectory(Support)
+add_subdirectory(Transforms)

diff  --git a/flang/lib/Optimizer/CodeGen/CMakeLists.txt b/flang/lib/Optimizer/CodeGen/CMakeLists.txt
new file mode 100644
index 0000000000000..6a8d82cb1f671
--- /dev/null
+++ b/flang/lib/Optimizer/CodeGen/CMakeLists.txt
@@ -0,0 +1,22 @@
+add_flang_library(FIRCodeGen
+  CGOps.cpp
+  PreCGRewrite.cpp
+
+  DEPENDS
+  FIRDialect
+  FIRSupport
+  FIROptCodeGenPassIncGen
+  CGOpsIncGen
+
+  LINK_LIBS
+  FIRDialect
+  FIRSupport
+  MLIROpenMPToLLVM
+  MLIRLLVMToLLVMIRTranslation
+  MLIRTargetLLVMIRExport
+
+  LINK_COMPONENTS
+  AsmParser
+  AsmPrinter
+  Remarks
+)

diff  --git a/flang/lib/Optimizer/Dialect/CMakeLists.txt b/flang/lib/Optimizer/Dialect/CMakeLists.txt
new file mode 100644
index 0000000000000..7116dab90b6f0
--- /dev/null
+++ b/flang/lib/Optimizer/Dialect/CMakeLists.txt
@@ -0,0 +1,21 @@
+add_flang_library(FIRDialect
+  FIRAttr.cpp
+  FIRDialect.cpp
+  FIROps.cpp
+  FIRType.cpp
+
+  DEPENDS
+  FIRSupport
+  FIROpsIncGen
+
+  LINK_LIBS
+  FIRSupport
+  MLIROpenMPToLLVM
+  MLIRLLVMToLLVMIRTranslation
+  MLIRTargetLLVMIRExport
+
+  LINK_COMPONENTS
+  AsmParser
+  AsmPrinter
+  Remarks
+)

diff  --git a/flang/lib/Optimizer/Support/CMakeLists.txt b/flang/lib/Optimizer/Support/CMakeLists.txt
new file mode 100644
index 0000000000000..46fe7aa24aa7a
--- /dev/null
+++ b/flang/lib/Optimizer/Support/CMakeLists.txt
@@ -0,0 +1,15 @@
+add_flang_library(FIRSupport
+  FIRContext.cpp
+  InternalNames.cpp
+  KindMapping.cpp
+
+  DEPENDS
+  ${dialect_libs}
+  MLIRIR
+
+  LINK_LIBS
+  ${dialect_libs}
+  MLIROpenMPToLLVMIRTranslation
+  MLIRLLVMToLLVMIRTranslation
+  MLIRTargetLLVMIRExport
+)

diff  --git a/flang/lib/Optimizer/Transforms/CMakeLists.txt b/flang/lib/Optimizer/Transforms/CMakeLists.txt
new file mode 100644
index 0000000000000..462ae40354d62
--- /dev/null
+++ b/flang/lib/Optimizer/Transforms/CMakeLists.txt
@@ -0,0 +1,16 @@
+add_flang_library(FIRTransforms
+  Inliner.cpp
+
+  DEPENDS
+  FIRDialect
+  FIRSupport
+  FIROptTransformsPassIncGen
+
+  LINK_LIBS
+  FIRDialect
+  MLIRAffineToStandard
+  MLIRLLVMIR
+  MLIROpenACC
+  MLIROpenMP
+  FIRSupport
+)

diff  --git a/flang/tools/fir-opt/CMakeLists.txt b/flang/tools/fir-opt/CMakeLists.txt
index efd33f9826b98..566aa787e7c35 100644
--- a/flang/tools/fir-opt/CMakeLists.txt
+++ b/flang/tools/fir-opt/CMakeLists.txt
@@ -3,7 +3,10 @@ llvm_update_compile_flags(fir-opt)
 get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
 
 target_link_libraries(fir-opt PRIVATE
-  FIROptimizer
+  FIRDialect
+  FIRSupport
+  FIRTransforms
+  FIRCodeGen
   ${dialect_libs}
 
   # TODO: these should be transitive dependencies from a target providing

diff  --git a/flang/tools/tco/CMakeLists.txt b/flang/tools/tco/CMakeLists.txt
index 4a22427486d71..1a9c5ac72f153 100644
--- a/flang/tools/tco/CMakeLists.txt
+++ b/flang/tools/tco/CMakeLists.txt
@@ -1,7 +1,10 @@
 get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
 
 set(LIBS
-  FIROptimizer
+  FIRCodeGen
+  FIRDialect
+  FIRSupport
+  FIRTransforms
   ${dialect_libs}
   MLIRIR
   MLIRLLVMIR

diff  --git a/flang/unittests/CMakeLists.txt b/flang/unittests/CMakeLists.txt
index 95e3f6d611dd6..5acebce7192af 100644
--- a/flang/unittests/CMakeLists.txt
+++ b/flang/unittests/CMakeLists.txt
@@ -39,6 +39,5 @@ endfunction()
 add_subdirectory(Optimizer)
 add_subdirectory(Decimal)
 add_subdirectory(Evaluate)
-add_subdirectory(Lower)
 add_subdirectory(Runtime)
 add_subdirectory(Frontend)

diff  --git a/flang/unittests/Lower/CMakeLists.txt b/flang/unittests/Lower/CMakeLists.txt
deleted file mode 100644
index a3f61f0be5ed9..0000000000000
--- a/flang/unittests/Lower/CMakeLists.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
-
-set(LIBS
-  FIROptimizer
-  MLIRLLVMIR
-  ${dialect_libs}
-)
-
-add_flang_unittest(FlangLoweringTests
-  RTBuilder.cpp
-)
-
-target_link_libraries(FlangLoweringTests
-  PRIVATE
-  ${LIBS})

diff  --git a/flang/unittests/Optimizer/CMakeLists.txt b/flang/unittests/Optimizer/CMakeLists.txt
index 3996c69b1a982..8bfb8604b4127 100644
--- a/flang/unittests/Optimizer/CMakeLists.txt
+++ b/flang/unittests/Optimizer/CMakeLists.txt
@@ -1,7 +1,9 @@
 get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
 
 set(LIBS
-  FIROptimizer
+  FIRCodeGen
+  FIRDialect
+  FIRSupport
   ${dialect_libs}
 )
 
@@ -9,6 +11,7 @@ add_flang_unittest(FlangOptimizerTests
   FIRContextTest.cpp
   InternalNamesTest.cpp
   KindMappingTest.cpp
+  RTBuilder.cpp
 )
 target_link_libraries(FlangOptimizerTests
   PRIVATE

diff  --git a/flang/unittests/Lower/RTBuilder.cpp b/flang/unittests/Optimizer/RTBuilder.cpp
similarity index 100%
rename from flang/unittests/Lower/RTBuilder.cpp
rename to flang/unittests/Optimizer/RTBuilder.cpp


        


More information about the flang-commits mailing list