[Mlir-commits] [mlir] [MLIR] Fix LLVMIRTransforms build failure (PR #125485)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Mon Feb 3 03:44:45 PST 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-mlir-llvm

Author: Thomas Preud'homme (RoboTux)

<details>
<summary>Changes</summary>

lib/libMLIRLLVMIRTransforms.a fails to build from scratch with the
following error:
In file included from llvm/include/llvm/Frontend/OpenMP/OMPConstants.h:19,
                 from llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h:19,
                 from mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h:26,
                 from mlir/include/mlir/Dialect/LLVMIR/NVVMDialect.h:24,
                 from mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp:17:
llvm/include/llvm/Frontend/OpenMP/OMP.h:16:10:
fatal error: llvm/Frontend/OpenMP/OMP.h.inc: No such file or directory

Solve issue by adding missing dependency on MLIRTargetLLVMIRExport and
splitting MLIRLLVMIRTransforms to make MLIRTargetLLVMIRExport depend on
a new MLIRLLVMIRTransformsLegalizeForExport instead of
MLIRLLVMIRTransforms and thus avoid a dependency cycle.


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


3 Files Affected:

- (modified) mlir/lib/Dialect/LLVMIR/CMakeLists.txt (+1) 
- (modified) mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt (+25-1) 
- (modified) mlir/lib/Target/LLVMIR/CMakeLists.txt (+1-1) 


``````````diff
diff --git a/mlir/lib/Dialect/LLVMIR/CMakeLists.txt b/mlir/lib/Dialect/LLVMIR/CMakeLists.txt
index c9a3b97294562a1..eba52ed54729b05 100644
--- a/mlir/lib/Dialect/LLVMIR/CMakeLists.txt
+++ b/mlir/lib/Dialect/LLVMIR/CMakeLists.txt
@@ -62,6 +62,7 @@ add_mlir_dialect_library(MLIRNVVMDialect
   MLIRLLVMDialect
   MLIRSideEffectInterfaces
   MLIRInferIntRangeInterface
+  MLIRTargetLLVMIRExport
   )
 
 add_mlir_dialect_library(MLIRROCDLDialect
diff --git a/mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt b/mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt
index d4ff0955c5d0e2f..ff7e09e7c3c8c6a 100644
--- a/mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt
+++ b/mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_mlir_dialect_library(MLIRLLVMIRTransforms
+set(LLVM_OPTIONAL_SOURCES
   AddComdats.cpp
   DIExpressionLegalization.cpp
   DIExpressionRewriter.cpp
@@ -7,6 +7,29 @@ add_mlir_dialect_library(MLIRLLVMIRTransforms
   LegalizeForExport.cpp
   OptimizeForNVVM.cpp
   RequestCWrappers.cpp
+)
+
+add_mlir_dialect_library(MLIRLLVMIRTransformsLegalizeForExport
+  LegalizeForExport.cpp
+
+  DEPENDS
+  MLIRLLVMPassIncGen
+
+  LINK_LIBS PUBLIC
+  MLIRIR
+  MLIRLLVMDialect
+  MLIRPass
+  MLIRTransforms
+)
+
+add_mlir_dialect_library(MLIRLLVMIRTransforms
+  AddComdats.cpp
+  DIExpressionLegalization.cpp
+  DIExpressionRewriter.cpp
+  DIScopeForLLVMFuncOp.cpp
+  InlinerInterfaceImpl.cpp
+  OptimizeForNVVM.cpp
+  RequestCWrappers.cpp
 
   DEPENDS
   MLIRLLVMPassIncGen
@@ -15,6 +38,7 @@ add_mlir_dialect_library(MLIRLLVMIRTransforms
   MLIRIR
   MLIRFuncDialect
   MLIRLLVMDialect
+  MLIRLLVMIRTransformsLegalizeForExport
   MLIRPass
   MLIRTransforms
   MLIRNVVMDialect
diff --git a/mlir/lib/Target/LLVMIR/CMakeLists.txt b/mlir/lib/Target/LLVMIR/CMakeLists.txt
index 93032c3ce103875..764c030f5bd5bf4 100644
--- a/mlir/lib/Target/LLVMIR/CMakeLists.txt
+++ b/mlir/lib/Target/LLVMIR/CMakeLists.txt
@@ -37,7 +37,7 @@ add_mlir_translation_library(MLIRTargetLLVMIRExport
   LINK_LIBS PUBLIC
   MLIRDLTIDialect
   MLIRLLVMDialect
-  MLIRLLVMIRTransforms
+  MLIRLLVMIRTransformsLegalizeForExport
   MLIRTranslateLib
   MLIRTransformUtils
   )

``````````

</details>


https://github.com/llvm/llvm-project/pull/125485


More information about the Mlir-commits mailing list