Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[flang] Support linking to MLIR dylib #120966

Merged
merged 1 commit into from
Jan 16, 2025
Merged

Conversation

mgorny
Copy link
Member

@mgorny mgorny commented Dec 23, 2024

Introduce a new MLIR_LIBS argument to add_flang_library, that uses mlir_target_link_libraries to link the MLIR dylib alterantively to the component libraries. Use it, along with a few inline mlir_target_link_libraries in tools, to support linking Flang to MLIR dylib rather than the static libraries.

With these changes, the vast majority of Flang can be linked dynamically. The only parts still using static libraries are these requiring MLIR test libraries, that are not included in the dylib.

@llvmbot
Copy link
Member

llvmbot commented Dec 23, 2024

@llvm/pr-subscribers-openacc
@llvm/pr-subscribers-flang-driver

@llvm/pr-subscribers-flang-codegen

Author: Michał Górny (mgorny)

Changes

Introduce a new MLIR_LIBS argument to add_flang_library, that uses mlir_target_link_libraries to link the MLIR dylib alterantively to the component libraries. Use it, along with a few inline mlir_target_link_libraries in tools, to support linking Flang to MLIR dylib rather than the static libraries.

With these changes, the vast majority of Flang can be linked dynamically. The only parts still using static libraries are these requiring MLIR test libraries, that are not included in the dylib.


Full diff: https://github.com/llvm/llvm-project/pull/120966.diff

24 Files Affected:

  • (modified) flang/cmake/modules/AddFlang.cmake (+2-1)
  • (modified) flang/lib/Common/CMakeLists.txt (+1-1)
  • (modified) flang/lib/Frontend/CMakeLists.txt (+2)
  • (modified) flang/lib/FrontendTool/CMakeLists.txt (+2)
  • (modified) flang/lib/Lower/CMakeLists.txt (+4-2)
  • (modified) flang/lib/Optimizer/Analysis/CMakeLists.txt (+2)
  • (modified) flang/lib/Optimizer/Builder/CMakeLists.txt (+2)
  • (modified) flang/lib/Optimizer/CodeGen/CMakeLists.txt (+2)
  • (modified) flang/lib/Optimizer/Dialect/CMakeLists.txt (+2)
  • (modified) flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt (+1-1)
  • (modified) flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt (+2)
  • (modified) flang/lib/Optimizer/Dialect/Support/CMakeLists.txt (+1-1)
  • (modified) flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt (+2)
  • (modified) flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt (+2)
  • (modified) flang/lib/Optimizer/OpenMP/CMakeLists.txt (+3-1)
  • (modified) flang/lib/Optimizer/Passes/CMakeLists.txt (+4-2)
  • (modified) flang/lib/Optimizer/Support/CMakeLists.txt (+2)
  • (modified) flang/lib/Optimizer/Transforms/CMakeLists.txt (+2)
  • (modified) flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt (+4-2)
  • (modified) flang/tools/bbc/CMakeLists.txt (+3)
  • (modified) flang/tools/fir-lsp-server/CMakeLists.txt (+3-1)
  • (modified) flang/tools/fir-opt/CMakeLists.txt (+3)
  • (modified) flang/tools/tco/CMakeLists.txt (+3)
  • (modified) flang/unittests/Frontend/CMakeLists.txt (+4)
diff --git a/flang/cmake/modules/AddFlang.cmake b/flang/cmake/modules/AddFlang.cmake
index 9ed1a3050b7e86..b2fcc5e13cf74f 100644
--- a/flang/cmake/modules/AddFlang.cmake
+++ b/flang/cmake/modules/AddFlang.cmake
@@ -18,7 +18,7 @@ endmacro()
 
 function(add_flang_library name)
   set(options SHARED STATIC INSTALL_WITH_TOOLCHAIN)
-  set(multiValueArgs ADDITIONAL_HEADERS CLANG_LIBS)
+  set(multiValueArgs ADDITIONAL_HEADERS CLANG_LIBS MLIR_LIBS)
   cmake_parse_arguments(ARG
     "${options}"
     ""
@@ -66,6 +66,7 @@ function(add_flang_library name)
   llvm_add_library(${name} ${LIBTYPE} ${ARG_UNPARSED_ARGUMENTS} ${srcs})
 
   clang_target_link_libraries(${name} PRIVATE ${ARG_CLANG_LIBS})
+  mlir_target_link_libraries(${name} PRIVATE ${ARG_MLIR_LIBS})
 
   if (TARGET ${name})
 
diff --git a/flang/lib/Common/CMakeLists.txt b/flang/lib/Common/CMakeLists.txt
index de6bea396f3cbe..4b5df0a49f4031 100644
--- a/flang/lib/Common/CMakeLists.txt
+++ b/flang/lib/Common/CMakeLists.txt
@@ -47,6 +47,6 @@ add_flang_library(FortranCommon
   LINK_COMPONENTS
   Support
 
-  LINK_LIBS
+  MLIR_LIBS
   MLIRIR
 )
diff --git a/flang/lib/Frontend/CMakeLists.txt b/flang/lib/Frontend/CMakeLists.txt
index e954800c3b88b0..f4452fc8895caf 100644
--- a/flang/lib/Frontend/CMakeLists.txt
+++ b/flang/lib/Frontend/CMakeLists.txt
@@ -39,6 +39,8 @@ add_flang_library(flangFrontend
   HLFIRTransforms
   flangPasses
   FlangOpenMPTransforms
+
+  MLIR_LIBS
   MLIRTransforms
   MLIRBuiltinToLLVMIRTranslation
   MLIRLLVMToLLVMIRTranslation
diff --git a/flang/lib/FrontendTool/CMakeLists.txt b/flang/lib/FrontendTool/CMakeLists.txt
index 2acaffbe50380a..d37d2a2677df36 100644
--- a/flang/lib/FrontendTool/CMakeLists.txt
+++ b/flang/lib/FrontendTool/CMakeLists.txt
@@ -8,6 +8,8 @@ add_flang_library(flangFrontendTool
 
   LINK_LIBS
   flangFrontend
+
+  MLIR_LIBS
   MLIRPass
 
   LINK_COMPONENTS
diff --git a/flang/lib/Lower/CMakeLists.txt b/flang/lib/Lower/CMakeLists.txt
index ba6622d8504a4f..ae4f2bd91025d6 100644
--- a/flang/lib/Lower/CMakeLists.txt
+++ b/flang/lib/Lower/CMakeLists.txt
@@ -54,12 +54,14 @@ add_flang_library(FortranLower
   FIRSupport
   FIRTransforms
   HLFIRDialect
-  ${dialect_libs}
-  ${extension_libs}
   FortranCommon
   FortranParser
   FortranEvaluate
   FortranSemantics
+
+  MLIR_LIBS
+  ${dialect_libs}
+  ${extension_libs}
   MLIRAffineToStandard
   MLIRFuncDialect
   MLIRLLVMDialect
diff --git a/flang/lib/Optimizer/Analysis/CMakeLists.txt b/flang/lib/Optimizer/Analysis/CMakeLists.txt
index 1358219fd98d52..6fe9c70f83765f 100644
--- a/flang/lib/Optimizer/Analysis/CMakeLists.txt
+++ b/flang/lib/Optimizer/Analysis/CMakeLists.txt
@@ -13,6 +13,8 @@ add_flang_library(FIRAnalysis
   FIRBuilder
   FIRDialect
   HLFIRDialect
+
+  MLIR_LIBS
   MLIRFuncDialect
   MLIRLLVMDialect
   MLIRMathTransforms
diff --git a/flang/lib/Optimizer/Builder/CMakeLists.txt b/flang/lib/Optimizer/Builder/CMakeLists.txt
index 05164d41a4cb55..edfc483055e540 100644
--- a/flang/lib/Optimizer/Builder/CMakeLists.txt
+++ b/flang/lib/Optimizer/Builder/CMakeLists.txt
@@ -49,6 +49,8 @@ add_flang_library(FIRBuilder
   FIRDialectSupport
   FIRSupport
   HLFIRDialect
+
+  MLIR_LIBS
   ${dialect_libs}
   ${extension_libs}
 )
diff --git a/flang/lib/Optimizer/CodeGen/CMakeLists.txt b/flang/lib/Optimizer/CodeGen/CMakeLists.txt
index f47d11875f04db..5e8ff0983cb3c9 100644
--- a/flang/lib/Optimizer/CodeGen/CMakeLists.txt
+++ b/flang/lib/Optimizer/CodeGen/CMakeLists.txt
@@ -21,6 +21,8 @@ add_flang_library(FIRCodeGen
   FIRDialect
   FIRDialectSupport
   FIRSupport
+
+  MLIR_LIBS
   MLIRComplexToLLVM
   MLIRComplexToStandard
   MLIRGPUDialect
diff --git a/flang/lib/Optimizer/Dialect/CMakeLists.txt b/flang/lib/Optimizer/Dialect/CMakeLists.txt
index a8235f841b879d..a7adb09fcba9bb 100644
--- a/flang/lib/Optimizer/Dialect/CMakeLists.txt
+++ b/flang/lib/Optimizer/Dialect/CMakeLists.txt
@@ -20,6 +20,8 @@ add_flang_library(FIRDialect
   LINK_LIBS
   CUFAttrs
   FIRDialectSupport
+
+  MLIR_LIBS
   MLIRArithDialect
   MLIRBuiltinToLLVMIRTranslation
   MLIROpenMPToLLVM
diff --git a/flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt b/flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
index ec5484c1d61080..559aa09073494a 100644
--- a/flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
+++ b/flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
@@ -7,7 +7,7 @@ add_flang_library(CUFAttrs
   CUFAttrsIncGen
   CUFOpsIncGen
 
-  LINK_LIBS
+  MLIR_LIBS
   MLIRTargetLLVMIRExport
 
   LINK_COMPONENTS
diff --git a/flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt b/flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
index 5d4bd0785971f7..c7d4857644b2fa 100644
--- a/flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
+++ b/flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
@@ -14,6 +14,8 @@ add_flang_library(CUFDialect
   CUFAttrs
   FIRDialect
   FIRDialectSupport
+
+  MLIR_LIBS
   MLIRIR
   MLIRGPUDialect
   MLIRTargetLLVMIRExport
diff --git a/flang/lib/Optimizer/Dialect/Support/CMakeLists.txt b/flang/lib/Optimizer/Dialect/Support/CMakeLists.txt
index c37b0549f7fc18..bfdd5279b6f293 100644
--- a/flang/lib/Optimizer/Dialect/Support/CMakeLists.txt
+++ b/flang/lib/Optimizer/Dialect/Support/CMakeLists.txt
@@ -8,6 +8,6 @@ add_flang_library(FIRDialectSupport
   MLIRIR
   intrinsics_gen
 
-  LINK_LIBS
+  MLIR_LIBS
   ${dialect_libs}
 )
diff --git a/flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt b/flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
index 267d6469ee7abb..acda2478ecf069 100644
--- a/flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
+++ b/flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
@@ -13,6 +13,8 @@ add_flang_library(HLFIRDialect
   LINK_LIBS
   CUFAttrs
   FIRDialect
+
+  MLIR_LIBS
   MLIRIR
   ${dialect_libs}
 
diff --git a/flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt b/flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
index d18df2ef49f10e..d8ea200e8c6a64 100644
--- a/flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
+++ b/flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
@@ -26,6 +26,8 @@ add_flang_library(HLFIRTransforms
   FIRTransforms
   FlangOpenMPTransforms
   HLFIRDialect
+
+  MLIR_LIBS
   MLIRIR
   ${dialect_libs}
 
diff --git a/flang/lib/Optimizer/OpenMP/CMakeLists.txt b/flang/lib/Optimizer/OpenMP/CMakeLists.txt
index 4f23b2b970fa44..c8509ccc7fea5a 100644
--- a/flang/lib/Optimizer/OpenMP/CMakeLists.txt
+++ b/flang/lib/Optimizer/OpenMP/CMakeLists.txt
@@ -22,9 +22,11 @@ add_flang_library(FlangOpenMPTransforms
   FIRDialectSupport
   FIRSupport
   FortranCommon
+  HLFIRDialect
+
+  MLIR_LIBS
   MLIRFuncDialect
   MLIROpenMPDialect
-  HLFIRDialect
   MLIRIR
   MLIRPass
   MLIRTransformUtils
diff --git a/flang/lib/Optimizer/Passes/CMakeLists.txt b/flang/lib/Optimizer/Passes/CMakeLists.txt
index 40abbdfbdd6511..9fb67ef16b0ccb 100644
--- a/flang/lib/Optimizer/Passes/CMakeLists.txt
+++ b/flang/lib/Optimizer/Passes/CMakeLists.txt
@@ -12,10 +12,12 @@ add_flang_library(flangPasses
   FIRCodeGen
   FIRTransforms
   FlangOpenMPTransforms
-  ${dialect_libs}
-  ${extension_libs}
   FortranCommon
   HLFIRTransforms
+
+  MLIR_LIBS
+  ${dialect_libs}
+  ${extension_libs}
   MLIRPass
   MLIRReconcileUnrealizedCasts
   MLIRSCFToControlFlow
diff --git a/flang/lib/Optimizer/Support/CMakeLists.txt b/flang/lib/Optimizer/Support/CMakeLists.txt
index 8794c247124173..e1b57583e82af0 100644
--- a/flang/lib/Optimizer/Support/CMakeLists.txt
+++ b/flang/lib/Optimizer/Support/CMakeLists.txt
@@ -16,6 +16,8 @@ add_flang_library(FIRSupport
 
   LINK_LIBS
   FIRDialect
+
+  MLIR_LIBS
   ${dialect_libs}
   ${extension_libs}
   MLIRBuiltinToLLVMIRTranslation
diff --git a/flang/lib/Optimizer/Transforms/CMakeLists.txt b/flang/lib/Optimizer/Transforms/CMakeLists.txt
index 9eafa4ec234bdd..c6ba19fda4120a 100644
--- a/flang/lib/Optimizer/Transforms/CMakeLists.txt
+++ b/flang/lib/Optimizer/Transforms/CMakeLists.txt
@@ -49,6 +49,8 @@ add_flang_library(FIRTransforms
   FIRSupport
   FortranCommon
   HLFIRDialect
+
+  MLIR_LIBS
   MLIRAffineUtils
   MLIRFuncDialect
   MLIRGPUDialect
diff --git a/flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt b/flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt
index c4b3838c9a23e0..cba47a41145171 100644
--- a/flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt
+++ b/flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt
@@ -16,14 +16,16 @@ add_flang_library(FIRTestAnalysis
   FIRSupport
   FIRTransforms
   FIRAnalysis
+  MLIRTestAnalysis
+
+  MLIR_LIBS
   ${dialect_libs}
   MLIRFuncDialect
   MLIRLLVMDialect
   MLIRAnalysis
-  MLIRTestAnalysis
   )
 
 target_include_directories(FIRTestAnalysis
   PRIVATE
   ${MLIR_MAIN_SRC_DIR}/..
-  )
\ No newline at end of file
+  )
diff --git a/flang/tools/bbc/CMakeLists.txt b/flang/tools/bbc/CMakeLists.txt
index 9abdcf17b6ebfd..aa4b7e055eeeeb 100644
--- a/flang/tools/bbc/CMakeLists.txt
+++ b/flang/tools/bbc/CMakeLists.txt
@@ -28,6 +28,9 @@ target_link_libraries(bbc PRIVATE
   flangFrontend
   flangPasses
   FlangOpenMPTransforms
+)
+
+mlir_target_link_libraries(bbc PRIVATE
   ${dialect_libs}
   ${extension_libs}
   MLIRAffineToStandard
diff --git a/flang/tools/fir-lsp-server/CMakeLists.txt b/flang/tools/fir-lsp-server/CMakeLists.txt
index ff0ced6693b97f..5a082e13a2826b 100644
--- a/flang/tools/fir-lsp-server/CMakeLists.txt
+++ b/flang/tools/fir-lsp-server/CMakeLists.txt
@@ -11,7 +11,9 @@ get_property(extension_libs GLOBAL PROPERTY MLIR_EXTENSION_LIBS)
 target_link_libraries(fir-lsp-server PRIVATE
   CUFDialect
   FIRDialect
-  HLFIRDialect
+  HLFIRDialect)
+
+mlir_target_link_libraries(fir-lsp-server PRIVATE
   MLIRLspServerLib
   ${dialect_libs}
   ${extension_libs})
diff --git a/flang/tools/fir-opt/CMakeLists.txt b/flang/tools/fir-opt/CMakeLists.txt
index 4c6dbf7d9c8c37..9a7ce946495826 100644
--- a/flang/tools/fir-opt/CMakeLists.txt
+++ b/flang/tools/fir-opt/CMakeLists.txt
@@ -22,6 +22,9 @@ target_link_libraries(fir-opt PRIVATE
   FlangOpenMPTransforms
   FIRAnalysis
   ${test_libs}
+)
+
+mlir_target_link_libraries(fir-opt PRIVATE
   ${dialect_libs}
   ${extension_libs}
 
diff --git a/flang/tools/tco/CMakeLists.txt b/flang/tools/tco/CMakeLists.txt
index aac80437ee11d9..ae36dbe5ca3b89 100644
--- a/flang/tools/tco/CMakeLists.txt
+++ b/flang/tools/tco/CMakeLists.txt
@@ -20,6 +20,9 @@ target_link_libraries(tco PRIVATE
   flangPasses
   FlangOpenMPTransforms
   FortranCommon
+)
+
+mlir_target_link_libraries(tco PRIVATE
   ${dialect_libs}
   ${extension_libs}
   MLIRIR
diff --git a/flang/unittests/Frontend/CMakeLists.txt b/flang/unittests/Frontend/CMakeLists.txt
index 22c568af3d121a..9177997f41f53a 100644
--- a/flang/unittests/Frontend/CMakeLists.txt
+++ b/flang/unittests/Frontend/CMakeLists.txt
@@ -20,5 +20,9 @@ target_link_libraries(FlangFrontendTests
   FortranSemantics
   FortranCommon
   FortranEvaluate
+)
+
+mlir_target_link_libraries(FlangFrontendTests
+  PRIVATE
   MLIRIR
 )

@llvmbot
Copy link
Member

llvmbot commented Dec 23, 2024

@llvm/pr-subscribers-flang-fir-hlfir

Author: Michał Górny (mgorny)

Changes

Introduce a new MLIR_LIBS argument to add_flang_library, that uses mlir_target_link_libraries to link the MLIR dylib alterantively to the component libraries. Use it, along with a few inline mlir_target_link_libraries in tools, to support linking Flang to MLIR dylib rather than the static libraries.

With these changes, the vast majority of Flang can be linked dynamically. The only parts still using static libraries are these requiring MLIR test libraries, that are not included in the dylib.


Full diff: https://github.com/llvm/llvm-project/pull/120966.diff

24 Files Affected:

  • (modified) flang/cmake/modules/AddFlang.cmake (+2-1)
  • (modified) flang/lib/Common/CMakeLists.txt (+1-1)
  • (modified) flang/lib/Frontend/CMakeLists.txt (+2)
  • (modified) flang/lib/FrontendTool/CMakeLists.txt (+2)
  • (modified) flang/lib/Lower/CMakeLists.txt (+4-2)
  • (modified) flang/lib/Optimizer/Analysis/CMakeLists.txt (+2)
  • (modified) flang/lib/Optimizer/Builder/CMakeLists.txt (+2)
  • (modified) flang/lib/Optimizer/CodeGen/CMakeLists.txt (+2)
  • (modified) flang/lib/Optimizer/Dialect/CMakeLists.txt (+2)
  • (modified) flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt (+1-1)
  • (modified) flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt (+2)
  • (modified) flang/lib/Optimizer/Dialect/Support/CMakeLists.txt (+1-1)
  • (modified) flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt (+2)
  • (modified) flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt (+2)
  • (modified) flang/lib/Optimizer/OpenMP/CMakeLists.txt (+3-1)
  • (modified) flang/lib/Optimizer/Passes/CMakeLists.txt (+4-2)
  • (modified) flang/lib/Optimizer/Support/CMakeLists.txt (+2)
  • (modified) flang/lib/Optimizer/Transforms/CMakeLists.txt (+2)
  • (modified) flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt (+4-2)
  • (modified) flang/tools/bbc/CMakeLists.txt (+3)
  • (modified) flang/tools/fir-lsp-server/CMakeLists.txt (+3-1)
  • (modified) flang/tools/fir-opt/CMakeLists.txt (+3)
  • (modified) flang/tools/tco/CMakeLists.txt (+3)
  • (modified) flang/unittests/Frontend/CMakeLists.txt (+4)
diff --git a/flang/cmake/modules/AddFlang.cmake b/flang/cmake/modules/AddFlang.cmake
index 9ed1a3050b7e86..b2fcc5e13cf74f 100644
--- a/flang/cmake/modules/AddFlang.cmake
+++ b/flang/cmake/modules/AddFlang.cmake
@@ -18,7 +18,7 @@ endmacro()
 
 function(add_flang_library name)
   set(options SHARED STATIC INSTALL_WITH_TOOLCHAIN)
-  set(multiValueArgs ADDITIONAL_HEADERS CLANG_LIBS)
+  set(multiValueArgs ADDITIONAL_HEADERS CLANG_LIBS MLIR_LIBS)
   cmake_parse_arguments(ARG
     "${options}"
     ""
@@ -66,6 +66,7 @@ function(add_flang_library name)
   llvm_add_library(${name} ${LIBTYPE} ${ARG_UNPARSED_ARGUMENTS} ${srcs})
 
   clang_target_link_libraries(${name} PRIVATE ${ARG_CLANG_LIBS})
+  mlir_target_link_libraries(${name} PRIVATE ${ARG_MLIR_LIBS})
 
   if (TARGET ${name})
 
diff --git a/flang/lib/Common/CMakeLists.txt b/flang/lib/Common/CMakeLists.txt
index de6bea396f3cbe..4b5df0a49f4031 100644
--- a/flang/lib/Common/CMakeLists.txt
+++ b/flang/lib/Common/CMakeLists.txt
@@ -47,6 +47,6 @@ add_flang_library(FortranCommon
   LINK_COMPONENTS
   Support
 
-  LINK_LIBS
+  MLIR_LIBS
   MLIRIR
 )
diff --git a/flang/lib/Frontend/CMakeLists.txt b/flang/lib/Frontend/CMakeLists.txt
index e954800c3b88b0..f4452fc8895caf 100644
--- a/flang/lib/Frontend/CMakeLists.txt
+++ b/flang/lib/Frontend/CMakeLists.txt
@@ -39,6 +39,8 @@ add_flang_library(flangFrontend
   HLFIRTransforms
   flangPasses
   FlangOpenMPTransforms
+
+  MLIR_LIBS
   MLIRTransforms
   MLIRBuiltinToLLVMIRTranslation
   MLIRLLVMToLLVMIRTranslation
diff --git a/flang/lib/FrontendTool/CMakeLists.txt b/flang/lib/FrontendTool/CMakeLists.txt
index 2acaffbe50380a..d37d2a2677df36 100644
--- a/flang/lib/FrontendTool/CMakeLists.txt
+++ b/flang/lib/FrontendTool/CMakeLists.txt
@@ -8,6 +8,8 @@ add_flang_library(flangFrontendTool
 
   LINK_LIBS
   flangFrontend
+
+  MLIR_LIBS
   MLIRPass
 
   LINK_COMPONENTS
diff --git a/flang/lib/Lower/CMakeLists.txt b/flang/lib/Lower/CMakeLists.txt
index ba6622d8504a4f..ae4f2bd91025d6 100644
--- a/flang/lib/Lower/CMakeLists.txt
+++ b/flang/lib/Lower/CMakeLists.txt
@@ -54,12 +54,14 @@ add_flang_library(FortranLower
   FIRSupport
   FIRTransforms
   HLFIRDialect
-  ${dialect_libs}
-  ${extension_libs}
   FortranCommon
   FortranParser
   FortranEvaluate
   FortranSemantics
+
+  MLIR_LIBS
+  ${dialect_libs}
+  ${extension_libs}
   MLIRAffineToStandard
   MLIRFuncDialect
   MLIRLLVMDialect
diff --git a/flang/lib/Optimizer/Analysis/CMakeLists.txt b/flang/lib/Optimizer/Analysis/CMakeLists.txt
index 1358219fd98d52..6fe9c70f83765f 100644
--- a/flang/lib/Optimizer/Analysis/CMakeLists.txt
+++ b/flang/lib/Optimizer/Analysis/CMakeLists.txt
@@ -13,6 +13,8 @@ add_flang_library(FIRAnalysis
   FIRBuilder
   FIRDialect
   HLFIRDialect
+
+  MLIR_LIBS
   MLIRFuncDialect
   MLIRLLVMDialect
   MLIRMathTransforms
diff --git a/flang/lib/Optimizer/Builder/CMakeLists.txt b/flang/lib/Optimizer/Builder/CMakeLists.txt
index 05164d41a4cb55..edfc483055e540 100644
--- a/flang/lib/Optimizer/Builder/CMakeLists.txt
+++ b/flang/lib/Optimizer/Builder/CMakeLists.txt
@@ -49,6 +49,8 @@ add_flang_library(FIRBuilder
   FIRDialectSupport
   FIRSupport
   HLFIRDialect
+
+  MLIR_LIBS
   ${dialect_libs}
   ${extension_libs}
 )
diff --git a/flang/lib/Optimizer/CodeGen/CMakeLists.txt b/flang/lib/Optimizer/CodeGen/CMakeLists.txt
index f47d11875f04db..5e8ff0983cb3c9 100644
--- a/flang/lib/Optimizer/CodeGen/CMakeLists.txt
+++ b/flang/lib/Optimizer/CodeGen/CMakeLists.txt
@@ -21,6 +21,8 @@ add_flang_library(FIRCodeGen
   FIRDialect
   FIRDialectSupport
   FIRSupport
+
+  MLIR_LIBS
   MLIRComplexToLLVM
   MLIRComplexToStandard
   MLIRGPUDialect
diff --git a/flang/lib/Optimizer/Dialect/CMakeLists.txt b/flang/lib/Optimizer/Dialect/CMakeLists.txt
index a8235f841b879d..a7adb09fcba9bb 100644
--- a/flang/lib/Optimizer/Dialect/CMakeLists.txt
+++ b/flang/lib/Optimizer/Dialect/CMakeLists.txt
@@ -20,6 +20,8 @@ add_flang_library(FIRDialect
   LINK_LIBS
   CUFAttrs
   FIRDialectSupport
+
+  MLIR_LIBS
   MLIRArithDialect
   MLIRBuiltinToLLVMIRTranslation
   MLIROpenMPToLLVM
diff --git a/flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt b/flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
index ec5484c1d61080..559aa09073494a 100644
--- a/flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
+++ b/flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
@@ -7,7 +7,7 @@ add_flang_library(CUFAttrs
   CUFAttrsIncGen
   CUFOpsIncGen
 
-  LINK_LIBS
+  MLIR_LIBS
   MLIRTargetLLVMIRExport
 
   LINK_COMPONENTS
diff --git a/flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt b/flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
index 5d4bd0785971f7..c7d4857644b2fa 100644
--- a/flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
+++ b/flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
@@ -14,6 +14,8 @@ add_flang_library(CUFDialect
   CUFAttrs
   FIRDialect
   FIRDialectSupport
+
+  MLIR_LIBS
   MLIRIR
   MLIRGPUDialect
   MLIRTargetLLVMIRExport
diff --git a/flang/lib/Optimizer/Dialect/Support/CMakeLists.txt b/flang/lib/Optimizer/Dialect/Support/CMakeLists.txt
index c37b0549f7fc18..bfdd5279b6f293 100644
--- a/flang/lib/Optimizer/Dialect/Support/CMakeLists.txt
+++ b/flang/lib/Optimizer/Dialect/Support/CMakeLists.txt
@@ -8,6 +8,6 @@ add_flang_library(FIRDialectSupport
   MLIRIR
   intrinsics_gen
 
-  LINK_LIBS
+  MLIR_LIBS
   ${dialect_libs}
 )
diff --git a/flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt b/flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
index 267d6469ee7abb..acda2478ecf069 100644
--- a/flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
+++ b/flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
@@ -13,6 +13,8 @@ add_flang_library(HLFIRDialect
   LINK_LIBS
   CUFAttrs
   FIRDialect
+
+  MLIR_LIBS
   MLIRIR
   ${dialect_libs}
 
diff --git a/flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt b/flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
index d18df2ef49f10e..d8ea200e8c6a64 100644
--- a/flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
+++ b/flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
@@ -26,6 +26,8 @@ add_flang_library(HLFIRTransforms
   FIRTransforms
   FlangOpenMPTransforms
   HLFIRDialect
+
+  MLIR_LIBS
   MLIRIR
   ${dialect_libs}
 
diff --git a/flang/lib/Optimizer/OpenMP/CMakeLists.txt b/flang/lib/Optimizer/OpenMP/CMakeLists.txt
index 4f23b2b970fa44..c8509ccc7fea5a 100644
--- a/flang/lib/Optimizer/OpenMP/CMakeLists.txt
+++ b/flang/lib/Optimizer/OpenMP/CMakeLists.txt
@@ -22,9 +22,11 @@ add_flang_library(FlangOpenMPTransforms
   FIRDialectSupport
   FIRSupport
   FortranCommon
+  HLFIRDialect
+
+  MLIR_LIBS
   MLIRFuncDialect
   MLIROpenMPDialect
-  HLFIRDialect
   MLIRIR
   MLIRPass
   MLIRTransformUtils
diff --git a/flang/lib/Optimizer/Passes/CMakeLists.txt b/flang/lib/Optimizer/Passes/CMakeLists.txt
index 40abbdfbdd6511..9fb67ef16b0ccb 100644
--- a/flang/lib/Optimizer/Passes/CMakeLists.txt
+++ b/flang/lib/Optimizer/Passes/CMakeLists.txt
@@ -12,10 +12,12 @@ add_flang_library(flangPasses
   FIRCodeGen
   FIRTransforms
   FlangOpenMPTransforms
-  ${dialect_libs}
-  ${extension_libs}
   FortranCommon
   HLFIRTransforms
+
+  MLIR_LIBS
+  ${dialect_libs}
+  ${extension_libs}
   MLIRPass
   MLIRReconcileUnrealizedCasts
   MLIRSCFToControlFlow
diff --git a/flang/lib/Optimizer/Support/CMakeLists.txt b/flang/lib/Optimizer/Support/CMakeLists.txt
index 8794c247124173..e1b57583e82af0 100644
--- a/flang/lib/Optimizer/Support/CMakeLists.txt
+++ b/flang/lib/Optimizer/Support/CMakeLists.txt
@@ -16,6 +16,8 @@ add_flang_library(FIRSupport
 
   LINK_LIBS
   FIRDialect
+
+  MLIR_LIBS
   ${dialect_libs}
   ${extension_libs}
   MLIRBuiltinToLLVMIRTranslation
diff --git a/flang/lib/Optimizer/Transforms/CMakeLists.txt b/flang/lib/Optimizer/Transforms/CMakeLists.txt
index 9eafa4ec234bdd..c6ba19fda4120a 100644
--- a/flang/lib/Optimizer/Transforms/CMakeLists.txt
+++ b/flang/lib/Optimizer/Transforms/CMakeLists.txt
@@ -49,6 +49,8 @@ add_flang_library(FIRTransforms
   FIRSupport
   FortranCommon
   HLFIRDialect
+
+  MLIR_LIBS
   MLIRAffineUtils
   MLIRFuncDialect
   MLIRGPUDialect
diff --git a/flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt b/flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt
index c4b3838c9a23e0..cba47a41145171 100644
--- a/flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt
+++ b/flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt
@@ -16,14 +16,16 @@ add_flang_library(FIRTestAnalysis
   FIRSupport
   FIRTransforms
   FIRAnalysis
+  MLIRTestAnalysis
+
+  MLIR_LIBS
   ${dialect_libs}
   MLIRFuncDialect
   MLIRLLVMDialect
   MLIRAnalysis
-  MLIRTestAnalysis
   )
 
 target_include_directories(FIRTestAnalysis
   PRIVATE
   ${MLIR_MAIN_SRC_DIR}/..
-  )
\ No newline at end of file
+  )
diff --git a/flang/tools/bbc/CMakeLists.txt b/flang/tools/bbc/CMakeLists.txt
index 9abdcf17b6ebfd..aa4b7e055eeeeb 100644
--- a/flang/tools/bbc/CMakeLists.txt
+++ b/flang/tools/bbc/CMakeLists.txt
@@ -28,6 +28,9 @@ target_link_libraries(bbc PRIVATE
   flangFrontend
   flangPasses
   FlangOpenMPTransforms
+)
+
+mlir_target_link_libraries(bbc PRIVATE
   ${dialect_libs}
   ${extension_libs}
   MLIRAffineToStandard
diff --git a/flang/tools/fir-lsp-server/CMakeLists.txt b/flang/tools/fir-lsp-server/CMakeLists.txt
index ff0ced6693b97f..5a082e13a2826b 100644
--- a/flang/tools/fir-lsp-server/CMakeLists.txt
+++ b/flang/tools/fir-lsp-server/CMakeLists.txt
@@ -11,7 +11,9 @@ get_property(extension_libs GLOBAL PROPERTY MLIR_EXTENSION_LIBS)
 target_link_libraries(fir-lsp-server PRIVATE
   CUFDialect
   FIRDialect
-  HLFIRDialect
+  HLFIRDialect)
+
+mlir_target_link_libraries(fir-lsp-server PRIVATE
   MLIRLspServerLib
   ${dialect_libs}
   ${extension_libs})
diff --git a/flang/tools/fir-opt/CMakeLists.txt b/flang/tools/fir-opt/CMakeLists.txt
index 4c6dbf7d9c8c37..9a7ce946495826 100644
--- a/flang/tools/fir-opt/CMakeLists.txt
+++ b/flang/tools/fir-opt/CMakeLists.txt
@@ -22,6 +22,9 @@ target_link_libraries(fir-opt PRIVATE
   FlangOpenMPTransforms
   FIRAnalysis
   ${test_libs}
+)
+
+mlir_target_link_libraries(fir-opt PRIVATE
   ${dialect_libs}
   ${extension_libs}
 
diff --git a/flang/tools/tco/CMakeLists.txt b/flang/tools/tco/CMakeLists.txt
index aac80437ee11d9..ae36dbe5ca3b89 100644
--- a/flang/tools/tco/CMakeLists.txt
+++ b/flang/tools/tco/CMakeLists.txt
@@ -20,6 +20,9 @@ target_link_libraries(tco PRIVATE
   flangPasses
   FlangOpenMPTransforms
   FortranCommon
+)
+
+mlir_target_link_libraries(tco PRIVATE
   ${dialect_libs}
   ${extension_libs}
   MLIRIR
diff --git a/flang/unittests/Frontend/CMakeLists.txt b/flang/unittests/Frontend/CMakeLists.txt
index 22c568af3d121a..9177997f41f53a 100644
--- a/flang/unittests/Frontend/CMakeLists.txt
+++ b/flang/unittests/Frontend/CMakeLists.txt
@@ -20,5 +20,9 @@ target_link_libraries(FlangFrontendTests
   FortranSemantics
   FortranCommon
   FortranEvaluate
+)
+
+mlir_target_link_libraries(FlangFrontendTests
+  PRIVATE
   MLIRIR
 )

@klausler klausler removed their request for review December 23, 2024 13:51
@mgorny
Copy link
Member Author

mgorny commented Dec 25, 2024

That builder failure is weird. It looks like LINK_COMPONENTS weren't processed correctly somewhere? Oo

@mgorny
Copy link
Member Author

mgorny commented Dec 25, 2024

Ok, I can reproduce locally. Will investigate.

@mgorny
Copy link
Member Author

mgorny commented Dec 25, 2024

Oh, I see. Due to the CMake function design, MLIR_LIBS and CLANG_LIBS need to go after any LLVM-specific arguments.

@tblah tblah requested a review from DavidTruby January 2, 2025 17:53
@mgorny
Copy link
Member Author

mgorny commented Jan 9, 2025

Gentle ping.

Copy link
Member

@DavidTruby DavidTruby left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for this!

Introduce a new `MLIR_LIBS` argument to `add_flang_library`, that uses
`mlir_target_link_libraries` to link the MLIR dylib alterantively
to the component libraries.  Use it, along with a few inline
`mlir_target_link_libraries` in tools, to support linking Flang to MLIR
dylib rather than the static libraries.

With these changes, the vast majority of Flang can be linked
dynamically.  The only parts still using static libraries are these
requiring MLIR test libraries, that are not included in the dylib.
@mgorny
Copy link
Member Author

mgorny commented Jan 16, 2025

I've rebased it and updated following changes in CMakeLists.txt. I'll merge when CI passes.

@mgorny mgorny merged commit 6a2cc12 into llvm:main Jan 16, 2025
9 checks passed
@mgorny mgorny deleted the flang-mlir-dylib branch January 16, 2025 13:35
@llvm-ci
Copy link
Collaborator

llvm-ci commented Jan 16, 2025

LLVM Buildbot has detected a new failure on builder flang-runtime-cuda-gcc running on as-builder-7 while building flang at step 4 "cmake-configure".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/152/builds/932

Here is the relevant piece of the build log for the reference
Step 4 (cmake-configure) failure: cmake (failure)
...
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Linker detection: GNU ld
-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG
-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG - Success
-- Performing Test CXX_SUPPORTS_SUGGEST_OVERRIDE_FLAG
-- Performing Test CXX_SUPPORTS_SUGGEST_OVERRIDE_FLAG - Success
-- Performing Test CXX_WSUGGEST_OVERRIDE_ALLOWS_ONLY_FINAL
-- Performing Test CXX_WSUGGEST_OVERRIDE_ALLOWS_ONLY_FINAL - Success
-- Performing Test C_WCOMMENT_ALLOWS_LINE_WRAP
-- Performing Test C_WCOMMENT_ALLOWS_LINE_WRAP - Failed
-- Performing Test C_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG
-- Performing Test C_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG - Failed
-- Performing Test CXX_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG
-- Performing Test CXX_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG - Success
-- Performing Test LINKER_SUPPORTS_COLOR_DIAGNOSTICS
-- Performing Test LINKER_SUPPORTS_COLOR_DIAGNOSTICS - Failed
-- Looking for os_signpost_interval_begin
-- Looking for os_signpost_interval_begin - not found
-- Looking for backtrace
-- Looking for backtrace - found
-- backtrace facility detected in default set of libraries
-- Found Backtrace: /usr/include  
-- Looking for strerror_r
-- Looking for strerror_r - found
-- Performing Test HAVE_DECL_STRERROR_S
-- Performing Test HAVE_DECL_STRERROR_S - Failed
-- Performing Test HAVE_LDBL_MANT_DIG_113
-- Performing Test HAVE_LDBL_MANT_DIG_113 - Failed
-- Performing Test FLANG_RUNTIME_HAS_FNO_LTO_FLAG
-- Performing Test FLANG_RUNTIME_HAS_FNO_LTO_FLAG - Success
-- Looking for sinf128 in m
-- Looking for sinf128 in m - found
-- The CUDA compiler identification is NVIDIA 12.3.103
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Check for working CUDA compiler: /usr/local/cuda/bin/nvcc - skipped
-- Detecting CUDA compile features
-- Detecting CUDA compile features - done
CMake Error at /home/buildbot/worker/as-builder-7/ramdisk/flang-runtime-cuda-gcc/llvm-project/flang/cmake/modules/AddFlang.cmake:69 (mlir_target_link_libraries):
  Unknown CMake command "mlir_target_link_libraries".
Call Stack (most recent call first):
  CMakeLists.txt:271 (add_flang_library)


-- Configuring incomplete, errors occurred!
See also "/home/buildbot/worker/as-builder-7/ramdisk/flang-runtime-cuda-gcc/build/CMakeFiles/CMakeOutput.log".
See also "/home/buildbot/worker/as-builder-7/ramdisk/flang-runtime-cuda-gcc/build/CMakeFiles/CMakeError.log".

@mgorny
Copy link
Member Author

mgorny commented Jan 16, 2025

LLVM Buildbot has detected a new failure on builder flang-runtime-cuda-gcc running on as-builder-7 while building flang at step 4 "cmake-configure".

Fixing…

@mgorny
Copy link
Member Author

mgorny commented Jan 16, 2025

Should be fixed by 532e639.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Jan 16, 2025

LLVM Buildbot has detected a new failure on builder flang-runtime-cuda-clang running on as-builder-7 while building flang at step 9 "cmake-configure-flang-runtime".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/7/builds/9797

Here is the relevant piece of the build log for the reference
Step 9 (cmake-configure-flang-runtime) failure: cmake (failure)
...
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Linker detection: LLD
-- Performing Test LLVM_LIBSTDCXX_MIN
-- Performing Test LLVM_LIBSTDCXX_MIN - Success
-- Performing Test LLVM_LIBSTDCXX_SOFT_ERROR
-- Performing Test LLVM_LIBSTDCXX_SOFT_ERROR - Success
-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG
-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG - Success
-- Performing Test CXX_SUPPORTS_SUGGEST_OVERRIDE_FLAG
-- Performing Test CXX_SUPPORTS_SUGGEST_OVERRIDE_FLAG - Success
-- Performing Test CXX_WSUGGEST_OVERRIDE_ALLOWS_ONLY_FINAL
-- Performing Test CXX_WSUGGEST_OVERRIDE_ALLOWS_ONLY_FINAL - Success
-- Performing Test C_WCOMMENT_ALLOWS_LINE_WRAP
-- Performing Test C_WCOMMENT_ALLOWS_LINE_WRAP - Success
-- Performing Test C_SUPPORTS_MISLEADING_INDENTATION_FLAG
-- Performing Test C_SUPPORTS_MISLEADING_INDENTATION_FLAG - Success
-- Performing Test CXX_SUPPORTS_MISLEADING_INDENTATION_FLAG
-- Performing Test CXX_SUPPORTS_MISLEADING_INDENTATION_FLAG - Success
-- Performing Test C_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG
-- Performing Test C_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG - Success
-- Performing Test CXX_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG
-- Performing Test CXX_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG - Success
-- Performing Test LINKER_SUPPORTS_COLOR_DIAGNOSTICS
-- Performing Test LINKER_SUPPORTS_COLOR_DIAGNOSTICS - Success
-- Looking for os_signpost_interval_begin
-- Looking for os_signpost_interval_begin - not found
-- Looking for backtrace
-- Looking for backtrace - found
-- backtrace facility detected in default set of libraries
-- Found Backtrace: /usr/include  
-- Looking for strerror_r
-- Looking for strerror_r - found
-- Performing Test HAVE_DECL_STRERROR_S
-- Performing Test HAVE_DECL_STRERROR_S - Failed
-- Performing Test HAVE_LDBL_MANT_DIG_113
-- Performing Test HAVE_LDBL_MANT_DIG_113 - Failed
-- Performing Test FLANG_RUNTIME_HAS_FNO_LTO_FLAG
-- Performing Test FLANG_RUNTIME_HAS_FNO_LTO_FLAG - Success
-- Looking for sinf128 in m
-- Looking for sinf128 in m - found
CMake Error at /home/buildbot/worker/as-builder-7/ramdisk/flang-runtime-cuda-clang/llvm-project/flang/cmake/modules/AddFlang.cmake:69 (mlir_target_link_libraries):
  Unknown CMake command "mlir_target_link_libraries".
Call Stack (most recent call first):
  CMakeLists.txt:271 (add_flang_library)


-- Configuring incomplete, errors occurred!
See also "/home/buildbot/worker/as-builder-7/ramdisk/flang-runtime-cuda-clang/build/flang-runtime/CMakeFiles/CMakeOutput.log".
See also "/home/buildbot/worker/as-builder-7/ramdisk/flang-runtime-cuda-clang/build/flang-runtime/CMakeFiles/CMakeError.log".

DKLoehr pushed a commit to DKLoehr/llvm-project that referenced this pull request Jan 17, 2025
Introduce a new `MLIR_LIBS` argument to `add_flang_library`, that uses
`mlir_target_link_libraries` to link the MLIR dylib alterantively to the
component libraries. Use it, along with a few inline
`mlir_target_link_libraries` in tools, to support linking Flang to MLIR
dylib rather than the static libraries.

With these changes, the vast majority of Flang can be linked
dynamically. The only parts still using static libraries are these
requiring MLIR test libraries, that are not included in the dylib.
@pawosm-arm
Copy link
Contributor

Somehow I can't build flang anymore... see #123377

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
flang:codegen flang:driver flang:fir-hlfir flang Flang issues not falling into any other category openacc
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants