Allow SymbolUserOpInterface operators to be used in RemoveDeadValues Pass (#117405)
[llvm-project.git] / llvm / tools / llvm-exegesis / lib / CMakeLists.txt
blob414b49e5e021c20e8e0be578f0c3f8fa908ec164
2 set(LLVM_EXEGESIS_TARGETS)
3 if (LLVM_TARGETS_TO_BUILD MATCHES "X86")
4   list(APPEND LLVM_EXEGESIS_TARGETS "X86")
5 endif()
6 if (LLVM_TARGETS_TO_BUILD MATCHES "AArch64")
7   list(APPEND LLVM_EXEGESIS_TARGETS "AArch64")
8 endif()
9 if (LLVM_TARGETS_TO_BUILD MATCHES "PowerPC")
10   list(APPEND LLVM_EXEGESIS_TARGETS "PowerPC")
11 endif()
12 if (LLVM_TARGETS_TO_BUILD MATCHES "Mips")
13   list(APPEND LLVM_EXEGESIS_TARGETS "Mips")
14 endif()
16 set(LLVM_EXEGESIS_TARGETS ${LLVM_EXEGESIS_TARGETS} PARENT_SCOPE)
18 foreach(t ${LLVM_EXEGESIS_TARGETS})
19   add_subdirectory(${t})
20 endforeach()
22 set(LLVM_LINK_COMPONENTS
23   Analysis
24   CodeGen
25   CodeGenTypes
26   Core
27   ExecutionEngine
28   GlobalISel
29   MC
30   MCA
31   MCDisassembler
32   MCParser
33   Object
34   ObjectYAML
35   OrcJIT
36   RuntimeDyld
37   Support
38   TargetParser
39   )
41 set(libs)
42 if(LLVM_ENABLE_LIBPFM AND HAVE_LIBPFM)
43   list(APPEND libs pfm)
44 endif()
45 if(HAVE_LIBRT)
46   list(APPEND libs rt)
47 endif()
49 add_llvm_library(LLVMExegesis
50   DISABLE_LLVM_LINK_LLVM_DYLIB
51   STATIC
52   Analysis.cpp
53   Assembler.cpp
54   BenchmarkResult.cpp
55   BenchmarkRunner.cpp
56   Clustering.cpp
57   CodeTemplate.cpp
58   DisassemblerHelper.cpp
59   Error.cpp
60   LatencyBenchmarkRunner.cpp
61   LlvmState.cpp
62   MCInstrDescView.cpp
63   ParallelSnippetGenerator.cpp
64   PerfHelper.cpp
65   RegisterAliasing.cpp
66   RegisterValue.cpp
67   ResultAggregator.cpp
68   SchedClassResolution.cpp
69   SerialSnippetGenerator.cpp
70   SnippetFile.cpp
71   SnippetGenerator.cpp
72   SnippetRepetitor.cpp
73   SubprocessMemory.cpp
74   Target.cpp
75   UopsBenchmarkRunner.cpp
76   ValidationEvent.cpp
78   LINK_LIBS ${libs}
80   DEPENDS
81   intrinsics_gen
82   )