[Mlir-commits] [mlir] [MLIR] Fix LLVMIRTransforms build failure (PR #125485)
Thomas Preud'homme
llvmlistbot at llvm.org
Mon Feb 3 03:43:24 PST 2025
https://github.com/RoboTux created https://github.com/llvm/llvm-project/pull/125485
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.
>From d993344104d51139666898652108633bd6ee82ec Mon Sep 17 00:00:00 2001
From: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: Fri, 31 Jan 2025 23:10:52 +0000
Subject: [PATCH] [MLIR] Fix LLVMIRTransforms build failure
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.
---
mlir/lib/Dialect/LLVMIR/CMakeLists.txt | 1 +
.../Dialect/LLVMIR/Transforms/CMakeLists.txt | 26 ++++++++++++++++++-
mlir/lib/Target/LLVMIR/CMakeLists.txt | 2 +-
3 files changed, 27 insertions(+), 2 deletions(-)
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
)
More information about the Mlir-commits
mailing list