diff --git a/llvm/tools/llvm-exegesis/CMakeLists.txt b/llvm/tools/llvm-exegesis/CMakeLists.txt --- a/llvm/tools/llvm-exegesis/CMakeLists.txt +++ b/llvm/tools/llvm-exegesis/CMakeLists.txt @@ -1,4 +1,5 @@ set(LLVM_LINK_COMPONENTS + MC MCParser Support native @@ -7,6 +8,9 @@ add_llvm_tool(llvm-exegesis DISABLE_LLVM_LINK_LLVM_DYLIB llvm-exegesis.cpp + + DEPENDS + intrinsics_gen ) add_subdirectory(lib) diff --git a/llvm/tools/llvm-exegesis/lib/AArch64/CMakeLists.txt b/llvm/tools/llvm-exegesis/lib/AArch64/CMakeLists.txt --- a/llvm/tools/llvm-exegesis/lib/AArch64/CMakeLists.txt +++ b/llvm/tools/llvm-exegesis/lib/AArch64/CMakeLists.txt @@ -3,16 +3,19 @@ ${LLVM_BINARY_DIR}/lib/Target/AArch64 ) -add_library(LLVMExegesisAArch64 - STATIC - Target.cpp - ) - -llvm_update_compile_flags(LLVMExegesisAArch64) -llvm_map_components_to_libnames(libs +set(LLVM_LINK_COMPONENTS AArch64 Exegesis + Core + Support ) -target_link_libraries(LLVMExegesisAArch64 ${libs}) -set_target_properties(LLVMExegesisAArch64 PROPERTIES FOLDER "Libraries") +add_llvm_library(LLVMExegesisAArch64 + DISABLE_LLVM_LINK_LLVM_DYLIB + STATIC + Target.cpp + + DEPENDS + intrinsics_gen + AArch64CommonTableGen + ) diff --git a/llvm/tools/llvm-exegesis/lib/CMakeLists.txt b/llvm/tools/llvm-exegesis/lib/CMakeLists.txt --- a/llvm/tools/llvm-exegesis/lib/CMakeLists.txt +++ b/llvm/tools/llvm-exegesis/lib/CMakeLists.txt @@ -19,7 +19,29 @@ set(LLVM_EXEGESIS_TARGETS "${LLVM_EXEGESIS_TARGETS} ${TARGETS_TO_APPEND}" PARENT_SCOPE) -add_library(LLVMExegesis +set(LLVM_LINK_COMPONENTS + Analysis + CodeGen + Core + ExecutionEngine + GlobalISel + MC + MCDisassembler + MCJIT + MCParser + Object + ObjectYAML + RuntimeDyld + Support + ) + +set(libs) +if(LLVM_ENABLE_LIBPFM AND HAVE_LIBPFM) + list(APPEND libs pfm) +endif() + +add_llvm_library(LLVMExegesis + DISABLE_LLVM_LINK_LLVM_DYLIB STATIC Analysis.cpp Assembler.cpp @@ -42,28 +64,9 @@ SnippetRepetitor.cpp Target.cpp UopsBenchmarkRunner.cpp - ) -llvm_update_compile_flags(LLVMExegesis) -llvm_map_components_to_libnames(libs - Analysis - CodeGen - Core - ExecutionEngine - GlobalISel - MC - MCDisassembler - MCJIT - MCParser - Object - ObjectYAML - RuntimeDyld - Support - ) + LINK_LIBS ${libs} -if(LLVM_ENABLE_LIBPFM AND HAVE_LIBPFM) - list(APPEND libs pfm) -endif() - -target_link_libraries(LLVMExegesis ${libs}) -set_target_properties(LLVMExegesis PROPERTIES FOLDER "Libraries") + DEPENDS + intrinsics_gen + ) diff --git a/llvm/tools/llvm-exegesis/lib/Mips/CMakeLists.txt b/llvm/tools/llvm-exegesis/lib/Mips/CMakeLists.txt --- a/llvm/tools/llvm-exegesis/lib/Mips/CMakeLists.txt +++ b/llvm/tools/llvm-exegesis/lib/Mips/CMakeLists.txt @@ -3,16 +3,19 @@ ${LLVM_BINARY_DIR}/lib/Target/Mips ) -add_library(LLVMExegesisMips - STATIC - Target.cpp - ) - -llvm_update_compile_flags(LLVMExegesisMips) -llvm_map_components_to_libnames(libs +set(LLVM_LINK_COMPONENTS Mips Exegesis + Core + Support ) -target_link_libraries(LLVMExegesisMips ${libs}) -set_target_properties(LLVMExegesisMips PROPERTIES FOLDER "Libraries") +add_llvm_library(LLVMExegesisMips + DISABLE_LLVM_LINK_LLVM_DYLIB + STATIC + Target.cpp + + DEPENDS + intrinsics_gen + MipsCommonTableGen + ) diff --git a/llvm/tools/llvm-exegesis/lib/PowerPC/CMakeLists.txt b/llvm/tools/llvm-exegesis/lib/PowerPC/CMakeLists.txt --- a/llvm/tools/llvm-exegesis/lib/PowerPC/CMakeLists.txt +++ b/llvm/tools/llvm-exegesis/lib/PowerPC/CMakeLists.txt @@ -3,16 +3,19 @@ ${LLVM_BINARY_DIR}/lib/Target/PowerPC ) -add_library(LLVMExegesisPowerPC - STATIC - Target.cpp - ) - -llvm_update_compile_flags(LLVMExegesisPowerPC) -llvm_map_components_to_libnames(libs +set(LLVM_LINK_COMPONENTS PowerPC Exegesis + Core + Support ) -target_link_libraries(LLVMExegesisPowerPC ${libs}) -set_target_properties(LLVMExegesisPowerPC PROPERTIES FOLDER "Libraries") +add_llvm_library(LLVMExegesisPowerPC + DISABLE_LLVM_LINK_LLVM_DYLIB + STATIC + Target.cpp + + DEPENDS + intrinsics_gen + PowerPCCommonTableGen + ) diff --git a/llvm/tools/llvm-exegesis/lib/X86/CMakeLists.txt b/llvm/tools/llvm-exegesis/lib/X86/CMakeLists.txt --- a/llvm/tools/llvm-exegesis/lib/X86/CMakeLists.txt +++ b/llvm/tools/llvm-exegesis/lib/X86/CMakeLists.txt @@ -3,17 +3,21 @@ ${LLVM_BINARY_DIR}/lib/Target/X86 ) -add_library(LLVMExegesisX86 +set(LLVM_LINK_COMPONENTS + X86 + Exegesis + Core + Support + CodeGen + ) + +add_llvm_library(LLVMExegesisX86 + DISABLE_LLVM_LINK_LLVM_DYLIB STATIC Target.cpp X86Counter.cpp - ) -llvm_update_compile_flags(LLVMExegesisX86) -llvm_map_components_to_libnames(libs - X86 - Exegesis + DEPENDS + intrinsics_gen + X86CommonTableGen ) - -target_link_libraries(LLVMExegesisX86 ${libs}) -set_target_properties(LLVMExegesisX86 PROPERTIES FOLDER "Libraries") diff --git a/llvm/unittests/tools/llvm-exegesis/ARM/CMakeLists.txt b/llvm/unittests/tools/llvm-exegesis/ARM/CMakeLists.txt --- a/llvm/unittests/tools/llvm-exegesis/ARM/CMakeLists.txt +++ b/llvm/unittests/tools/llvm-exegesis/ARM/CMakeLists.txt @@ -5,6 +5,7 @@ ) set(LLVM_LINK_COMPONENTS + Core MC MCParser Object diff --git a/llvm/unittests/tools/llvm-exegesis/X86/CMakeLists.txt b/llvm/unittests/tools/llvm-exegesis/X86/CMakeLists.txt --- a/llvm/unittests/tools/llvm-exegesis/X86/CMakeLists.txt +++ b/llvm/unittests/tools/llvm-exegesis/X86/CMakeLists.txt @@ -5,6 +5,8 @@ ) set(LLVM_LINK_COMPONENTS + Core + Codegen MC MCParser Object diff --git a/llvm/utils/TableGen/GlobalISel/CMakeLists.txt b/llvm/utils/TableGen/GlobalISel/CMakeLists.txt --- a/llvm/utils/TableGen/GlobalISel/CMakeLists.txt +++ b/llvm/utils/TableGen/GlobalISel/CMakeLists.txt @@ -3,7 +3,7 @@ TableGen ) -llvm_add_library(LLVMTableGenGlobalISel STATIC DISABLE_LLVM_LINK_LLVM_DYLIB +add_llvm_library(LLVMTableGenGlobalISel STATIC DISABLE_LLVM_LINK_LLVM_DYLIB CodeExpander.cpp GIMatchDag.cpp GIMatchDagEdge.cpp