Compare commits
No commits in common. "c9-beta" and "c8-stream-rhel8" have entirely different histories.
c9-beta
...
c8-stream-
@ -1,187 +0,0 @@
|
||||
From ee0f56cff40b324bb06e034e247ec85ae9a846bf Mon Sep 17 00:00:00 2001
|
||||
From: Nikita Popov <npopov@redhat.com>
|
||||
Date: Wed, 8 Jan 2025 08:28:18 +0100
|
||||
Subject: [PATCH] [PATCH] [Bolt][CMake] Don't export bolt libraries in
|
||||
LLVMExports.cmake
|
||||
|
||||
Bolt makes use of add_llvm_library and as such ends up exporting
|
||||
its libraries from LLVMExports.cmake, which is not correct.
|
||||
|
||||
Bolt doesn't have its own exports file, and I assume that there
|
||||
is no desire to have one either -- Bolt libraries are not intended
|
||||
to be consumed as a cmake module, right?
|
||||
|
||||
As such, this PR adds a NO_EXPORT option to simplify exclude these
|
||||
libraries from the exports file.
|
||||
|
||||
---
|
||||
This patch originates from this PR:
|
||||
|
||||
https://patch-diff.githubusercontent.com/raw/llvm/llvm-project/pull/121936.
|
||||
|
||||
The commit was:
|
||||
|
||||
https://github.com/nikic/llvm-project/commit/4333a4dd270b5c046c5469b97846e3dae58fb221.patch
|
||||
|
||||
And then it was rebased onto llvmorg-19.1.6.
|
||||
---
|
||||
bolt/lib/Core/CMakeLists.txt | 1 +
|
||||
bolt/lib/Passes/CMakeLists.txt | 1 +
|
||||
bolt/lib/Profile/CMakeLists.txt | 1 +
|
||||
bolt/lib/Rewrite/CMakeLists.txt | 1 +
|
||||
bolt/lib/RuntimeLibs/CMakeLists.txt | 1 +
|
||||
bolt/lib/Target/AArch64/CMakeLists.txt | 1 +
|
||||
bolt/lib/Target/RISCV/CMakeLists.txt | 1 +
|
||||
bolt/lib/Target/X86/CMakeLists.txt | 1 +
|
||||
bolt/lib/Utils/CMakeLists.txt | 1 +
|
||||
llvm/cmake/modules/AddLLVM.cmake | 12 +++++++++---
|
||||
10 files changed, 18 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/bolt/lib/Core/CMakeLists.txt b/bolt/lib/Core/CMakeLists.txt
|
||||
index bb58667066fd..8c1f5d0bb37b 100644
|
||||
--- a/bolt/lib/Core/CMakeLists.txt
|
||||
+++ b/bolt/lib/Core/CMakeLists.txt
|
||||
@@ -35,6 +35,7 @@ add_llvm_library(LLVMBOLTCore
|
||||
ParallelUtilities.cpp
|
||||
Relocation.cpp
|
||||
|
||||
+ NO_EXPORT
|
||||
DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||
LINK_LIBS
|
||||
${LLVM_PTHREAD_LIB}
|
||||
diff --git a/bolt/lib/Passes/CMakeLists.txt b/bolt/lib/Passes/CMakeLists.txt
|
||||
index 407d8b03f739..7367b541545d 100644
|
||||
--- a/bolt/lib/Passes/CMakeLists.txt
|
||||
+++ b/bolt/lib/Passes/CMakeLists.txt
|
||||
@@ -45,6 +45,7 @@ add_llvm_library(LLVMBOLTPasses
|
||||
VeneerElimination.cpp
|
||||
RetpolineInsertion.cpp
|
||||
|
||||
+ NO_EXPORT
|
||||
DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||
|
||||
LINK_LIBS
|
||||
diff --git a/bolt/lib/Profile/CMakeLists.txt b/bolt/lib/Profile/CMakeLists.txt
|
||||
index 9aa4ba0490b0..a2bb4aa074c7 100644
|
||||
--- a/bolt/lib/Profile/CMakeLists.txt
|
||||
+++ b/bolt/lib/Profile/CMakeLists.txt
|
||||
@@ -7,6 +7,7 @@ add_llvm_library(LLVMBOLTProfile
|
||||
YAMLProfileReader.cpp
|
||||
YAMLProfileWriter.cpp
|
||||
|
||||
+ NO_EXPORT
|
||||
DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||
|
||||
LINK_COMPONENTS
|
||||
diff --git a/bolt/lib/Rewrite/CMakeLists.txt b/bolt/lib/Rewrite/CMakeLists.txt
|
||||
index 34993af2623b..6737e89b8451 100644
|
||||
--- a/bolt/lib/Rewrite/CMakeLists.txt
|
||||
+++ b/bolt/lib/Rewrite/CMakeLists.txt
|
||||
@@ -26,6 +26,7 @@ add_llvm_library(LLVMBOLTRewrite
|
||||
RewriteInstance.cpp
|
||||
SDTRewriter.cpp
|
||||
|
||||
+ NO_EXPORT
|
||||
DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||
|
||||
LINK_LIBS
|
||||
diff --git a/bolt/lib/RuntimeLibs/CMakeLists.txt b/bolt/lib/RuntimeLibs/CMakeLists.txt
|
||||
index d3ac71d3e797..b8db7e4a1553 100644
|
||||
--- a/bolt/lib/RuntimeLibs/CMakeLists.txt
|
||||
+++ b/bolt/lib/RuntimeLibs/CMakeLists.txt
|
||||
@@ -11,6 +11,7 @@ add_llvm_library(LLVMBOLTRuntimeLibs
|
||||
HugifyRuntimeLibrary.cpp
|
||||
InstrumentationRuntimeLibrary.cpp
|
||||
|
||||
+ NO_EXPORT
|
||||
DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||
)
|
||||
|
||||
diff --git a/bolt/lib/Target/AArch64/CMakeLists.txt b/bolt/lib/Target/AArch64/CMakeLists.txt
|
||||
index be03e247aa96..526a9645cb54 100644
|
||||
--- a/bolt/lib/Target/AArch64/CMakeLists.txt
|
||||
+++ b/bolt/lib/Target/AArch64/CMakeLists.txt
|
||||
@@ -7,6 +7,7 @@ set(LLVM_LINK_COMPONENTS
|
||||
add_llvm_library(LLVMBOLTTargetAArch64
|
||||
AArch64MCPlusBuilder.cpp
|
||||
|
||||
+ NO_EXPORT
|
||||
DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||
|
||||
DEPENDS
|
||||
diff --git a/bolt/lib/Target/RISCV/CMakeLists.txt b/bolt/lib/Target/RISCV/CMakeLists.txt
|
||||
index 7f9557606320..3955cfc0f089 100644
|
||||
--- a/bolt/lib/Target/RISCV/CMakeLists.txt
|
||||
+++ b/bolt/lib/Target/RISCV/CMakeLists.txt
|
||||
@@ -7,6 +7,7 @@ set(LLVM_LINK_COMPONENTS
|
||||
add_llvm_library(LLVMBOLTTargetRISCV
|
||||
RISCVMCPlusBuilder.cpp
|
||||
|
||||
+ NO_EXPORT
|
||||
DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||
|
||||
DEPENDS
|
||||
diff --git a/bolt/lib/Target/X86/CMakeLists.txt b/bolt/lib/Target/X86/CMakeLists.txt
|
||||
index 2b769bc7e7f5..00100e9b84c9 100644
|
||||
--- a/bolt/lib/Target/X86/CMakeLists.txt
|
||||
+++ b/bolt/lib/Target/X86/CMakeLists.txt
|
||||
@@ -9,6 +9,7 @@ add_llvm_library(LLVMBOLTTargetX86
|
||||
X86MCPlusBuilder.cpp
|
||||
X86MCSymbolizer.cpp
|
||||
|
||||
+ NO_EXPORT
|
||||
DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||
|
||||
DEPENDS
|
||||
diff --git a/bolt/lib/Utils/CMakeLists.txt b/bolt/lib/Utils/CMakeLists.txt
|
||||
index d1403314274b..ceddcfc8f57a 100644
|
||||
--- a/bolt/lib/Utils/CMakeLists.txt
|
||||
+++ b/bolt/lib/Utils/CMakeLists.txt
|
||||
@@ -2,6 +2,7 @@ add_llvm_library(LLVMBOLTUtils
|
||||
CommandLineOpts.cpp
|
||||
Utils.cpp
|
||||
|
||||
+ NO_EXPORT
|
||||
DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||
|
||||
LINK_LIBS
|
||||
diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
|
||||
index 03f4e1f190fd..addf083b7c71 100644
|
||||
--- a/llvm/cmake/modules/AddLLVM.cmake
|
||||
+++ b/llvm/cmake/modules/AddLLVM.cmake
|
||||
@@ -897,7 +897,7 @@ endfunction()
|
||||
|
||||
macro(add_llvm_library name)
|
||||
cmake_parse_arguments(ARG
|
||||
- "SHARED;BUILDTREE_ONLY;MODULE;INSTALL_WITH_TOOLCHAIN"
|
||||
+ "SHARED;BUILDTREE_ONLY;MODULE;INSTALL_WITH_TOOLCHAIN;NO_EXPORT"
|
||||
""
|
||||
""
|
||||
${ARGN})
|
||||
@@ -932,7 +932,11 @@ macro(add_llvm_library name)
|
||||
set(umbrella)
|
||||
endif()
|
||||
|
||||
- get_target_export_arg(${name} LLVM export_to_llvmexports ${umbrella})
|
||||
+ if(ARG_NO_EXPORT)
|
||||
+ set(export_to_llvmexports)
|
||||
+ else()
|
||||
+ get_target_export_arg(${name} LLVM export_to_llvmexports ${umbrella})
|
||||
+ endif()
|
||||
install(TARGETS ${name}
|
||||
${export_to_llvmexports}
|
||||
LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
|
||||
@@ -945,7 +949,9 @@ macro(add_llvm_library name)
|
||||
COMPONENT ${name})
|
||||
endif()
|
||||
endif()
|
||||
- set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
|
||||
+ if(NOT ARG_NO_EXPORT)
|
||||
+ set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
|
||||
+ endif()
|
||||
endif()
|
||||
|
||||
get_subproject_title(subproject_title)
|
||||
--
|
||||
2.47.1
|
||||
|
@ -1,129 +0,0 @@
|
||||
From 17ff6161b83e6a5e86fcb6a13c5551bba1438405 Mon Sep 17 00:00:00 2001
|
||||
From: Erick Ochoa <github@ceci-nest-pas.me>
|
||||
Date: Thu, 12 Sep 2024 21:16:58 -0400
|
||||
Subject: [PATCH 1/9] [CMake] Add missing dependency (#108461)
|
||||
|
||||
The [`mlir-capi-execution-engine-test` test
|
||||
executable](https://github.com/llvm/llvm-project/blob/main/mlir/test/CAPI/CMakeLists.txt#L26-L34)
|
||||
|
||||
```cmake
|
||||
if(MLIR_ENABLE_EXECUTION_ENGINE)
|
||||
_add_capi_test_executable(mlir-capi-execution-engine-test
|
||||
execution_engine.c
|
||||
LINK_LIBS PRIVATE
|
||||
MLIRCAPIConversion
|
||||
MLIRCAPIExecutionEngine
|
||||
MLIRCAPIRegisterEverything
|
||||
)
|
||||
endif()
|
||||
```
|
||||
|
||||
|
||||
is run by lit tests, but it is not properly listed as a dependency. It
|
||||
is added in places conditionally across the file
|
||||
[`tests/CMakeLists.txt`](https://github.com/llvm/llvm-project/blob/main/mlir/test/CMakeLists.txt#L130-L143)
|
||||
|
||||
```cmake
|
||||
# The native target may not be enabled, in this case we won't
|
||||
# run tests that involves executing on the host: do not build
|
||||
# useless binaries.
|
||||
if(LLVM_ENABLE_PIC AND TARGET ${LLVM_NATIVE_ARCH})
|
||||
list(APPEND MLIR_TEST_DEPENDS
|
||||
mlir-cpu-runner
|
||||
llc
|
||||
mlir_async_runtime
|
||||
mlir-capi-execution-engine-test
|
||||
mlir_c_runner_utils
|
||||
mlir_runner_utils
|
||||
mlir_float16_utils
|
||||
)
|
||||
endif()
|
||||
```
|
||||
|
||||
But this condition is not the same as the one where the test executable
|
||||
is added. [It has been reported on discord that the following error
|
||||
occurred:](https://discord.com/channels/636084430946959380/642426447167881246/1283811636725022730)
|
||||
|
||||
```
|
||||
FAIL: MLIR :: CAPI/execution_engine.c (2 of 2121)
|
||||
******************** TEST 'MLIR :: CAPI/execution_engine.c' FAILED ********************
|
||||
Exit Code: 127
|
||||
Command Output (stdout):
|
||||
--
|
||||
# RUN: at line 10
|
||||
/usr/bin/mlir-capi-execution-engine-test 2>&1 | /usr/bin/FileCheck /builddir/build/BUILD/mlir-19.1.0_rc4-build/mlir-19.1.0-rc4.src/test/CAPI/execution_engine.c
|
||||
# executed command: /usr/bin/mlir-capi-execution-engine-test
|
||||
# .---command stderr------------
|
||||
# | '/usr/bin/mlir-capi-execution-engine-test': command not found
|
||||
# `-----------------------------
|
||||
```
|
||||
|
||||
This error will not be deterministic and is dependent on the order in
|
||||
which tools are built. If by any chance,
|
||||
`mlir-capi-execution-engine-test` is built before the lit tests run,
|
||||
then nothing will happen. But lit tests can be run before
|
||||
`mlir-capi-execution-engine-test` is built.
|
||||
|
||||
This patch adds the `mlir-capi-execution-engine` to the
|
||||
`MLIR_TEST_DEPENDS` list when the `MLIR_ENABLE_EXECUTION_ENGINE` flag is
|
||||
present.
|
||||
|
||||
Happy to make changes like:
|
||||
* removing `mlir-capi-execution-engine-test` from the other place where
|
||||
it is included in the tests
|
||||
* and merge and sort alphabetically these two commands
|
||||
|
||||
```cmake
|
||||
set(MLIR_TEST_DEPENDS
|
||||
FileCheck count not split-file
|
||||
mlir-capi-ir-test
|
||||
mlir-capi-irdl-test
|
||||
mlir-capi-llvm-test
|
||||
mlir-capi-pass-test
|
||||
mlir-capi-quant-test
|
||||
mlir-capi-rewrite-test
|
||||
mlir-capi-sparse-tensor-test
|
||||
mlir-capi-transform-test
|
||||
mlir-capi-transform-interpreter-test
|
||||
mlir-capi-translation-test
|
||||
mlir-linalg-ods-yaml-gen
|
||||
mlir-lsp-server
|
||||
mlir-opt
|
||||
mlir-query
|
||||
mlir-reduce
|
||||
mlir-tblgen
|
||||
mlir-translate
|
||||
tblgen-lsp-server
|
||||
tblgen-to-irdl
|
||||
)
|
||||
|
||||
set(MLIR_TEST_DEPENDS ${MLIR_TEST_DEPENDS}
|
||||
mlir-capi-pdl-test
|
||||
mlir-pdll-lsp-server
|
||||
mlir-pdll
|
||||
)
|
||||
```
|
||||
|
||||
Co-authored-by: Erick Ochoa <erick@ceci-nest-pas.me>
|
||||
---
|
||||
mlir/test/CMakeLists.txt | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/mlir/test/CMakeLists.txt b/mlir/test/CMakeLists.txt
|
||||
index df95e5db11f1..4d2d738b734e 100644
|
||||
--- a/mlir/test/CMakeLists.txt
|
||||
+++ b/mlir/test/CMakeLists.txt
|
||||
@@ -150,6 +150,10 @@ if(MLIR_ENABLE_CUDA_RUNNER)
|
||||
list(APPEND MLIR_TEST_DEPENDS mlir_cuda_runtime)
|
||||
endif()
|
||||
|
||||
+if(MLIR_ENABLE_EXECUTION_ENGINE)
|
||||
+ list(APPEND MLIR_TEST_DEPENDS mlir-capi-execution-engine-test)
|
||||
+endif()
|
||||
+
|
||||
if(MLIR_ENABLE_ROCM_RUNNER)
|
||||
list(APPEND MLIR_TEST_DEPENDS mlir_rocm_runtime)
|
||||
endif()
|
||||
--
|
||||
2.46.0
|
||||
|
@ -1,38 +0,0 @@
|
||||
From b443e55162861125a50048ae9bc521e98058b273 Mon Sep 17 00:00:00 2001
|
||||
From: Nikita Popov <npopov@redhat.com>
|
||||
Date: Mon, 16 Dec 2024 14:44:43 +0100
|
||||
Subject: [PATCH] [CMake] Use correct exports file for MLIR tools
|
||||
|
||||
llvm_add_tool() currently does not respect the passed project and
|
||||
puts all tools into LLVMExports.cmake. This means that we end up
|
||||
with binaries like mlir-opt in LLVMExports.cmake instead of
|
||||
MLIRTargets.cmake, where they should be.
|
||||
|
||||
Adjust llvm_add_tool() to take the project into account.
|
||||
---
|
||||
llvm/cmake/modules/AddLLVM.cmake | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
|
||||
index 006dfb6de3a199..6cf0ee1a54dbdb 100644
|
||||
--- a/llvm/cmake/modules/AddLLVM.cmake
|
||||
+++ b/llvm/cmake/modules/AddLLVM.cmake
|
||||
@@ -1483,7 +1483,7 @@ macro(llvm_add_tool project name)
|
||||
|
||||
if ( ${name} IN_LIST LLVM_TOOLCHAIN_TOOLS OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
||||
if( LLVM_BUILD_TOOLS )
|
||||
- get_target_export_arg(${name} LLVM export_to_llvmexports)
|
||||
+ get_target_export_arg(${name} ${project} export_to_llvmexports)
|
||||
install(TARGETS ${name}
|
||||
${export_to_llvmexports}
|
||||
RUNTIME DESTINATION ${${project}_TOOLS_INSTALL_DIR}
|
||||
@@ -1497,7 +1497,8 @@ macro(llvm_add_tool project name)
|
||||
endif()
|
||||
endif()
|
||||
if( LLVM_BUILD_TOOLS )
|
||||
- set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
|
||||
+ string(TOUPPER "${project}" project_upper)
|
||||
+ set_property(GLOBAL APPEND PROPERTY ${project_upper}_EXPORTS ${name})
|
||||
endif()
|
||||
endif()
|
||||
get_subproject_title(subproject_title)
|
@ -1,80 +0,0 @@
|
||||
From c8f93f1958de1f59222a89dd64a573f91105e135 Mon Sep 17 00:00:00 2001
|
||||
From: Konrad Kleine <kkleine@redhat.com>
|
||||
Date: Tue, 3 Dec 2024 20:53:29 +0100
|
||||
Subject: [PATCH] [mlir] Specify deps via `LLVM_LINK_COMPONENTS`
|
||||
|
||||
This specifies the dependencies to link against with
|
||||
`LLVM_LINK_COMPONENTS` for the
|
||||
`mlir/test/Target/LLVM/MLIRTargetLLVMTests` binary.
|
||||
|
||||
Before, the dependencies where directly added to the
|
||||
`target_link_libraries()` call which caused the problems I describe
|
||||
next:
|
||||
|
||||
When doing a build of LLVM with MLIR I want to link against
|
||||
`libLLVM.so` instead of statically linking `libLLVMSupport.a`.
|
||||
MLIR on the other side seems to statically link against
|
||||
`libLLVMSupport.a` because when I link to the shared library `libLLVM.so` I get:
|
||||
|
||||
```
|
||||
CommandLine Error: Option 'aarch64-ptrauth-auth-checks' registered more than once!
|
||||
```
|
||||
|
||||
This error indicates that the `Support` library is linked twice in the `MLIRTargetLLVMTest` binary.
|
||||
|
||||
Here's the creation of the `MLIRTargetLLVMTest` binary before (Notice the
|
||||
`libLLVMSupport.a`):
|
||||
|
||||
```
|
||||
[6535/6847] : && /usr/bin/clang++ -O2 -flto=thin -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS --config=/usr/lib/rpm/redhat/redhat-hardened-clang.cfg -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -D_DEFAULT_SOURCE -Dasm=__asm__ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wundef -Werror=mismatched-tags -O2 -g -DNDEBUG -Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now --config=/usr/lib/rpm/redhat/redhat-hardened-clang-ld.cfg -flto=thin -ffat-lto-objects -Wl,--build-id=sha1 -Wl,--gc-sections -fno-lto tools/mlir/unittests/Target/LLVM/CMakeFiles/MLIRTargetLLVMTests.dir/SerializeNVVMTarget.cpp.o tools/mlir/unittests/Target/LLVM/CMakeFiles/MLIRTargetLLVMTests.dir/SerializeROCDLTarget.cpp.o tools/mlir/unittests/Target/LLVM/CMakeFiles/MLIRTargetLLVMTests.dir/SerializeToLLVMBitcode.cpp.o -o tools/mlir/unittests/Target/LLVM/MLIRTargetLLVMTests -Wl,-rpath,/builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/lib64 lib64/libllvm_gtest_main.a lib64/libllvm_gtest.a lib64/libMLIRTargetLLVM.a lib64/libMLIRNVVMTarget.a lib64/libMLIRROCDLTarget.a lib64/libMLIRGPUDialect.a lib64/libMLIRNVVMDialect.a lib64/libMLIRLLVMDialect.a lib64/libMLIRLLVMToLLVMIRTranslation.a lib64/libMLIRBuiltinToLLVMIRTranslation.a lib64/libMLIRNVVMToLLVMIRTranslation.a lib64/libMLIRROCDLToLLVMIRTranslation.a lib64/libMLIRGPUToLLVMIRTranslation.a lib64/libLLVMAArch64CodeGen.a lib64/libLLVMAArch64Desc.a lib64/libLLVMAArch64Info.a -lpthread lib64/libMLIRTargetLLVM.a lib64/libMLIRROCDLDialect.a lib64/libMLIRExecutionEngineUtils.a lib64/libMLIRGPUDialect.a lib64/libMLIRMemRefDialect.a lib64/libMLIRArithUtils.a lib64/libMLIRDialectUtils.a lib64/libMLIRComplexDialect.a lib64/libMLIRArithAttrToLLVMConversion.a lib64/libMLIRArithDialect.a lib64/libMLIRCastInterfaces.a lib64/libMLIRDialect.a lib64/libMLIRInferIntRangeCommon.a lib64/libMLIRUBDialect.a lib64/libMLIRShapedOpInterfaces.a lib64/libMLIRTargetLLVMIRExport.a lib64/libMLIRDLTIDialect.a lib64/libMLIRLLVMIRTransforms.a lib64/libMLIRNVVMDialect.a lib64/libMLIRLLVMDialect.a lib64/libMLIRFuncDialect.a lib64/libMLIRTransforms.a lib64/libMLIRMemorySlotInterfaces.a lib64/libMLIRCopyOpInterface.a lib64/libMLIRRuntimeVerifiableOpInterface.a lib64/libMLIRTranslateLib.a lib64/libMLIRParser.a lib64/libMLIRBytecodeReader.a lib64/libMLIRAsmParser.a lib64/libMLIRTransformUtils.a lib64/libMLIRSubsetOpInterface.a lib64/libMLIRValueBoundsOpInterface.a lib64/libMLIRDestinationStyleOpInterface.a lib64/libMLIRRewrite.a lib64/libMLIRRewritePDL.a lib64/libMLIRPDLToPDLInterp.a lib64/libMLIRPass.a lib64/libMLIRAnalysis.a lib64/libMLIRControlFlowInterfaces.a lib64/libMLIRInferIntRangeInterface.a lib64/libMLIRCallInterfaces.a lib64/libMLIRDataLayoutInterfaces.a lib64/libMLIRViewLikeInterface.a lib64/libMLIRLoopLikeInterface.a lib64/libMLIRPresburger.a lib64/libMLIRPDLInterpDialect.a lib64/libMLIRFunctionInterfaces.a lib64/libMLIRPDLDialect.a lib64/libMLIRSideEffectInterfaces.a lib64/libMLIRInferTypeOpInterface.a lib64/libMLIRIR.a lib64/libMLIRSupport.a lib64/libLLVM.so.19.1 lib64/libLLVMAArch64Utils.a lib64/libLLVMAsmPrinter.a lib64/libLLVMCFGuard.a lib64/libLLVMGlobalISel.a lib64/libLLVMSelectionDAG.a lib64/libLLVMCodeGen.a lib64/libLLVMScalarOpts.a lib64/libLLVMAggressiveInstCombine.a lib64/libLLVMInstCombine.a lib64/libLLVMBitWriter.a lib64/libLLVMObjCARCOpts.a lib64/libLLVMCodeGenTypes.a lib64/libLLVMTarget.a lib64/libLLVMVectorize.a lib64/libLLVMTransformUtils.a lib64/libLLVMAnalysis.a lib64/libLLVMProfileData.a lib64/libLLVMSymbolize.a lib64/libLLVMDebugInfoDWARF.a lib64/libLLVMDebugInfoPDB.a lib64/libLLVMObject.a lib64/libLLVMMCParser.a lib64/libLLVMMC.a lib64/libLLVMIRReader.a lib64/libLLVMBitReader.a lib64/libLLVMAsmParser.a lib64/libLLVMTextAPI.a lib64/libLLVMDebugInfoCodeView.a lib64/libLLVMDebugInfoMSF.a lib64/libLLVMDebugInfoBTF.a lib64/libLLVMCore.a lib64/libLLVMBinaryFormat.a lib64/libLLVMRemarks.a lib64/libLLVMBitstreamReader.a lib64/libLLVMTargetParser.a lib64/libLLVMSupport.a lib64/libLLVMDemangle.a -lrt -ldl -lm /usr/lib64/libz.so /usr/lib64/libzstd.so && :
|
||||
```
|
||||
|
||||
Here's the full error:
|
||||
|
||||
```
|
||||
[24/25] cd /builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/tools/mlir/test && /usr/bin/python3 /builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/./bin/llvm-lit -vv /builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/tools/mlir/test
|
||||
: CommandLine Error: Option 'aarch64-ptrauth-auth-checks' registered more than once!
|
||||
LLVM ERROR: inconsistency in registered CommandLine options
|
||||
llvm-lit: /builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/utils/lit/lit/formats/googletest.py:38: warning: unable to discover google-tests in '/builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/tools/mlir/unittests/Target/LLVM/./MLIRTargetLLVMTests': Command '['/builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/tools/mlir/unittests/Target/LLVM/./MLIRTargetLLVMTests', '--gtest_list_tests', '--gtest_filter=-*DISABLED_*']' died with <Signals.SIGABRT: 6>.. Process output: b''
|
||||
error: filter did not match any tests (of 2704 discovered). Use '--allow-empty-runs' to suppress this error.
|
||||
FAILED: tools/mlir/test/CMakeFiles/check-mlir /builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/tools/mlir/test/CMakeFiles/check-mlir
|
||||
```
|
||||
|
||||
Here's the CMake invocation:
|
||||
|
||||
```
|
||||
/usr/bin/cmake -S . -B redhat-linux-build -DCMAKE_C_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_Fortran_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF -DCMAKE_INSTALL_PREFIX:PATH=/usr -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib64 -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DLIB_SUFFIX=64 -DBUILD_SHARED_LIBS:BOOL=ON -G Ninja '' -DCLANG_BUILD_EXAMPLES:BOOL=OFF -DCLANG_CONFIG_FILE_SYSTEM_DIR=/etc/clang/ -DCLANG_DEFAULT_PIE_ON_LINUX=OFF -DCLANG_DEFAULT_UNWINDLIB=libgcc -DCLANG_ENABLE_ARCMT:BOOL=ON -DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON -DCLANG_INCLUDE_DOCS:BOOL=ON -DCLANG_INCLUDE_TESTS:BOOL=ON -DCLANG_LINK_CLANG_DYLIB=ON -DCLANG_PLUGIN_SUPPORT:BOOL=ON '-DCLANG_REPOSITORY_STRING=Fedora 19.1.3-5.fc42' -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR=../clang-tools-extra -DCLANG_RESOURCE_DIR=../lib/clang/19 -DCOMPILER_RT_INCLUDE_TESTS:BOOL=OFF -DCOMPILER_RT_INSTALL_PATH=/usr/lib/clang/19 -DLLVM_ENABLE_DOXYGEN:BOOL=OFF -DLLVM_ENABLE_SPHINX:BOOL=ON -DLLVM_BUILD_DOCS:BOOL=ON -DSPHINX_EXECUTABLE=/usr/bin/sphinx-build-3 -DSPHINX_OUTPUT_HTML:BOOL=OFF -DSPHINX_OUTPUT_MAN:BOOL=ON -DSPHINX_WARNINGS_AS_ERRORS=OFF -DLLDB_DISABLE_CURSES:BOOL=OFF -DLLDB_DISABLE_LIBEDIT:BOOL=OFF -DLLDB_DISABLE_PYTHON:BOOL=OFF -DLLDB_ENFORCE_STRICT_TEST_REQUIREMENTS:BOOL=ON -DLLVM_APPEND_VC_REV:BOOL=OFF -DLLVM_BUILD_EXAMPLES:BOOL=OFF -DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=ON -DLLVM_BUILD_LLVM_DYLIB:BOOL=ON -DLLVM_BUILD_RUNTIME:BOOL=ON -DLLVM_BUILD_TOOLS:BOOL=ON -DLLVM_BUILD_UTILS:BOOL=ON -DLLVM_COMMON_CMAKE_UTILS=/usr/share/llvm/cmake -DLLVM_DEFAULT_TARGET_TRIPLE=aarch64-redhat-linux-gnu -DLLVM_DYLIB_COMPONENTS=all -DLLVM_ENABLE_EH=ON -DLLVM_ENABLE_FFI:BOOL=ON -DLLVM_ENABLE_LIBCXX:BOOL=OFF -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON '-DLLVM_ENABLE_PROJECTS=clang;clang-tools-extra;lld;lldb;mlir' -DLLVM_ENABLE_RTTI:BOOL=ON '-DLLVM_ENABLE_RUNTIMES=compiler-rt;openmp;offload' -DLLVM_ENABLE_ZLIB:BOOL=ON -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=AVR -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_EXAMPLES:BOOL=ON -DLLVM_INCLUDE_TOOLS:BOOL=ON -DLLVM_INCLUDE_UTILS:BOOL=ON -DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF -DLLVM_INSTALL_UTILS:BOOL=ON -DLLVM_LINK_LLVM_DYLIB:BOOL=ON -DLLVM_PARALLEL_LINK_JOBS=1 -DLLVM_TARGETS_TO_BUILD=all -DLLVM_TOOLS_INSTALL_DIR:PATH=bin -DLLVM_UNREACHABLE_OPTIMIZE:BOOL=OFF -DLLVM_USE_PERF:BOOL=ON -DLLVM_UTILS_INSTALL_DIR:PATH=bin -DMLIR_INCLUDE_DOCS:BOOL=ON -DMLIR_INCLUDE_TESTS:BOOL=ON -DMLIR_INCLUDE_INTEGRATION_TESTS:BOOL=OFF -DMLIR_INSTALL_AGGREGATE_OBJECTS=OFF -DMLIR_BUILD_MLIR_C_DYLIB=ON -DMLIR_ENABLE_BINDINGS_PYTHON:BOOL=ON -DOPENMP_INSTALL_LIBDIR=lib64 -DLIBOMP_INSTALL_ALIASES=OFF -DLLVM_BUILD_TESTS:BOOL=ON -DLLVM_INCLUDE_TESTS:BOOL=ON -DLLVM_INSTALL_GTEST:BOOL=ON -DLLVM_LIT_ARGS=-vv -DLLVM_UNITTEST_LINK_FLAGS=-fno-lto -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_LINKER_BUILD_ID:BOOL=ON -DOFFLOAD_INSTALL_LIBDIR=lib64 -DPython3_EXECUTABLE=/usr/bin/python3 -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON -DPPC_LINUX_DEFAULT_IEEELONGDOUBLE=ON -DLLVM_LIBDIR_SUFFIX=64 -DLLVM_BINUTILS_INCDIR=/usr/include -DLLVM_VERSION_SUFFIX=
|
||||
```
|
||||
---
|
||||
mlir/unittests/Target/LLVM/CMakeLists.txt | 5 ++---
|
||||
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/mlir/unittests/Target/LLVM/CMakeLists.txt b/mlir/unittests/Target/LLVM/CMakeLists.txt
|
||||
index 6d612548a94c..0c61d222dedf 100644
|
||||
--- a/mlir/unittests/Target/LLVM/CMakeLists.txt
|
||||
+++ b/mlir/unittests/Target/LLVM/CMakeLists.txt
|
||||
@@ -1,11 +1,11 @@
|
||||
+set(LLVM_LINK_COMPONENTS nativecodegen)
|
||||
+
|
||||
add_mlir_unittest(MLIRTargetLLVMTests
|
||||
SerializeNVVMTarget.cpp
|
||||
SerializeROCDLTarget.cpp
|
||||
SerializeToLLVMBitcode.cpp
|
||||
)
|
||||
|
||||
-llvm_map_components_to_libnames(llvm_libs nativecodegen)
|
||||
-
|
||||
target_link_libraries(MLIRTargetLLVMTests
|
||||
PRIVATE
|
||||
MLIRTargetLLVM
|
||||
@@ -19,7 +19,6 @@ target_link_libraries(MLIRTargetLLVMTests
|
||||
MLIRNVVMToLLVMIRTranslation
|
||||
MLIRROCDLToLLVMIRTranslation
|
||||
MLIRGPUToLLVMIRTranslation
|
||||
- ${llvm_libs}
|
||||
)
|
||||
|
||||
if (DEFINED LLVM_NATIVE_TARGET)
|
||||
--
|
||||
2.46.0
|
||||
|
@ -1,77 +0,0 @@
|
||||
From 1d043550c7601ca776b0318b9b913e5ecf325baf Mon Sep 17 00:00:00 2001
|
||||
From: Tulio Magno Quites Machado Filho <tuliom@redhat.com>
|
||||
Date: Tue, 5 Sep 2023 10:35:37 -0300
|
||||
Subject: [PATCH] Reuse the library directory
|
||||
|
||||
Prefer to get the path to the shared libraries from config.llvm_shlib_dir.
|
||||
Fallback to the previous path only if config.llvm_shlib_dir is not
|
||||
defined.
|
||||
|
||||
This ensures the test will pass regardless of the build configuration
|
||||
used downstream.
|
||||
---
|
||||
mlir/test/lit.cfg.py | 1 +
|
||||
mlir/test/python/execution_engine.py | 12 +++++++-----
|
||||
2 files changed, 8 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/mlir/test/lit.cfg.py b/mlir/test/lit.cfg.py
|
||||
--- a/mlir/test/lit.cfg.py 2024-08-05 10:40:33.000000000 +0200
|
||||
+++ b/mlir/test/lit.cfg.py 2024-08-14 19:17:55.160470316 +0200
|
||||
@@ -164,6 +164,7 @@
|
||||
ToolSubst("transform-opt-ch2", unresolved="ignore"),
|
||||
ToolSubst("transform-opt-ch3", unresolved="ignore"),
|
||||
ToolSubst("transform-opt-ch4", unresolved="ignore"),
|
||||
+ ToolSubst("%llvm_shlib_dir", config.llvm_shlib_dir, unresolved="ignore"),
|
||||
ToolSubst("mlir-transform-opt", unresolved="ignore"),
|
||||
ToolSubst("%mlir_lib_dir", config.mlir_lib_dir, unresolved="ignore"),
|
||||
ToolSubst("%mlir_src_dir", config.mlir_src_root, unresolved="ignore"),
|
||||
diff -ruN mlir-19.1.0-rc2.src.orig/test/python/execution_engine.py mlir-19.1.0-rc2.src/test/python/execution_engine.py
|
||||
--- a/mlir/test/python/execution_engine.py 2024-08-05 10:40:33.000000000 +0200
|
||||
+++ b/mlir/test/python/execution_engine.py 2024-08-14 19:17:20.822219824 +0200
|
||||
@@ -1,4 +1,4 @@
|
||||
-# RUN: %PYTHON %s 2>&1 | FileCheck %s
|
||||
+# RUN: env LLVM_SHLIB_DIR=%llvm_shlib_dir %PYTHON %s 2>&1 | FileCheck %s
|
||||
# REQUIRES: host-supports-jit
|
||||
import gc, sys, os, tempfile
|
||||
from mlir.ir import *
|
||||
@@ -6,6 +6,9 @@
|
||||
from mlir.execution_engine import *
|
||||
from mlir.runtime import *
|
||||
|
||||
+_DEFAULT_LIB_DIR = "../../../../lib"
|
||||
+LIB_DIR = os.getenv("LLVM_SHLIB_DIR", _DEFAULT_LIB_DIR)
|
||||
+
|
||||
|
||||
# Log everything to stderr and flush so that we have a unified stream to match
|
||||
# errors/info emitted by MLIR to stderr.
|
||||
@@ -613,6 +616,7 @@
|
||||
shared_libs = [
|
||||
"../../../../bin/mlir_runner_utils.dll",
|
||||
"../../../../bin/mlir_c_runner_utils.dll",
|
||||
+
|
||||
]
|
||||
elif sys.platform == "darwin":
|
||||
shared_libs = [
|
||||
@@ -621,8 +625,9 @@
|
||||
]
|
||||
else:
|
||||
shared_libs = [
|
||||
- "../../../../lib/libmlir_runner_utils.so",
|
||||
- "../../../../lib/libmlir_c_runner_utils.so",
|
||||
+ LIB_DIR + "/libmlir_runner_utils.so",
|
||||
+ LIB_DIR + "/libmlir_c_runner_utils.so",
|
||||
+
|
||||
]
|
||||
|
||||
execution_engine = ExecutionEngine(
|
||||
@@ -664,8 +669,8 @@
|
||||
]
|
||||
else:
|
||||
shared_libs = [
|
||||
- "../../../../lib/libmlir_runner_utils.so",
|
||||
- "../../../../lib/libmlir_c_runner_utils.so",
|
||||
+ LIB_DIR + "/libmlir_runner_utils.so",
|
||||
+ LIB_DIR + "/libmlir_c_runner_utils.so",
|
||||
]
|
||||
|
||||
execution_engine = ExecutionEngine(
|
@ -1,51 +0,0 @@
|
||||
From 90a05f32166c4a45224a5eedbec9c5c7e21d2dbf Mon Sep 17 00:00:00 2001
|
||||
From: Nikita Popov <npopov@redhat.com>
|
||||
Date: Fri, 17 Jan 2025 09:26:49 +0100
|
||||
Subject: [PATCH] [openmp] Support CET in z_Linux_asm.S (#123213)
|
||||
|
||||
When libomp is built with -cf-protection, add endbr instructions to the
|
||||
start of functions for Intel CET support.
|
||||
---
|
||||
openmp/runtime/src/z_Linux_asm.S | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/openmp/runtime/src/z_Linux_asm.S b/openmp/runtime/src/z_Linux_asm.S
|
||||
index cc5344cdd124..0bf9f07a13f1 100644
|
||||
--- a/openmp/runtime/src/z_Linux_asm.S
|
||||
+++ b/openmp/runtime/src/z_Linux_asm.S
|
||||
@@ -19,6 +19,16 @@
|
||||
|
||||
#if KMP_ARCH_X86 || KMP_ARCH_X86_64
|
||||
|
||||
+# if defined(__ELF__) && defined(__CET__) && defined(__has_include)
|
||||
+# if __has_include(<cet.h>)
|
||||
+# include <cet.h>
|
||||
+# endif
|
||||
+# endif
|
||||
+
|
||||
+# if !defined(_CET_ENDBR)
|
||||
+# define _CET_ENDBR
|
||||
+# endif
|
||||
+
|
||||
# if KMP_MIC
|
||||
// the 'delay r16/r32/r64' should be used instead of the 'pause'.
|
||||
// The delay operation has the effect of removing the current thread from
|
||||
@@ -66,6 +76,7 @@
|
||||
ALIGN 4
|
||||
.globl KMP_PREFIX_UNDERSCORE($0)
|
||||
KMP_PREFIX_UNDERSCORE($0):
|
||||
+ _CET_ENDBR
|
||||
.endmacro
|
||||
# else // KMP_OS_DARWIN
|
||||
# define KMP_PREFIX_UNDERSCORE(x) x //no extra underscore for Linux* OS symbols
|
||||
@@ -92,6 +103,7 @@ KMP_PREFIX_UNDERSCORE($0):
|
||||
.globl KMP_PREFIX_UNDERSCORE(\proc)
|
||||
KMP_PREFIX_UNDERSCORE(\proc):
|
||||
.cfi_startproc
|
||||
+ _CET_ENDBR
|
||||
.endm
|
||||
.macro KMP_CFI_DEF_OFFSET sz
|
||||
.cfi_def_cfa_offset \sz
|
||||
--
|
||||
2.47.1
|
||||
|
@ -1,24 +0,0 @@
|
||||
diff -ruN llvm-19.1.7-build.orig/llvm-project-19.1.7.src/mlir/include/mlir/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.h llvm-19.1.7-build/llvm-project-19.1.7.src/mlir/include/mlir/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.h
|
||||
--- a/mlir/include/mlir/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.h 2025-01-14 10:41:02.000000000 +0100
|
||||
+++ b/mlir/include/mlir/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.h 2025-01-17 08:31:49.581864809 +0100
|
||||
@@ -9,6 +9,7 @@
|
||||
#ifndef MLIR_DIALECT_AFFINE_IR_VALUEBOUNDSOPINTERFACEIMPL_H
|
||||
#define MLIR_DIALECT_AFFINE_IR_VALUEBOUNDSOPINTERFACEIMPL_H
|
||||
|
||||
+#include <cstdint>
|
||||
#include "mlir/Support/LLVM.h"
|
||||
|
||||
namespace mlir {
|
||||
diff -ruN llvm-19.1.7-build.orig/llvm-project-19.1.7.src/mlir/include/mlir/Support/LLVM.h llvm-19.1.7-build/llvm-project-19.1.7.src/mlir/include/mlir/Support/LLVM.h
|
||||
--- a/mlir/include/mlir/Support/LLVM.h 2025-01-14 10:41:02.000000000 +0100
|
||||
+++ b/mlir/include/mlir/Support/LLVM.h 2025-01-17 10:20:19.356337873 +0100
|
||||
@@ -18,6 +18,9 @@
|
||||
#ifndef MLIR_SUPPORT_LLVM_H
|
||||
#define MLIR_SUPPORT_LLVM_H
|
||||
|
||||
+
|
||||
+
|
||||
+#include <cstdint>
|
||||
// We include this header because it cannot be practically forward
|
||||
// declared, and are effectively language features.
|
||||
#include "llvm/Support/Casting.h"
|
1246
SPECS/llvm.spec
1246
SPECS/llvm.spec
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user