86 lines · plain
1 2set(LLVM_EXEGESIS_TARGETS)3if (LLVM_TARGETS_TO_BUILD MATCHES "X86")4 list(APPEND LLVM_EXEGESIS_TARGETS "X86")5endif()6if (LLVM_TARGETS_TO_BUILD MATCHES "AArch64")7 list(APPEND LLVM_EXEGESIS_TARGETS "AArch64")8endif()9if (LLVM_TARGETS_TO_BUILD MATCHES "PowerPC")10 list(APPEND LLVM_EXEGESIS_TARGETS "PowerPC")11endif()12if (LLVM_TARGETS_TO_BUILD MATCHES "Mips")13 list(APPEND LLVM_EXEGESIS_TARGETS "Mips")14endif()15if(LLVM_TARGETS_TO_BUILD MATCHES "RISCV")16 list(APPEND LLVM_EXEGESIS_TARGETS "RISCV")17endif()18 19set(LLVM_EXEGESIS_TARGETS ${LLVM_EXEGESIS_TARGETS} PARENT_SCOPE)20 21foreach(t ${LLVM_EXEGESIS_TARGETS})22 add_subdirectory(${t})23endforeach()24 25set(LLVM_LINK_COMPONENTS26 Analysis27 CodeGen28 CodeGenTypes29 Core30 ExecutionEngine31 GlobalISel32 MC33 MCA34 MCDisassembler35 MCParser36 Object37 ObjectYAML38 OrcJIT39 RuntimeDyld40 Support41 TargetParser42 )43 44set(libs)45if(LLVM_ENABLE_LIBPFM AND HAVE_LIBPFM)46 list(APPEND libs pfm)47endif()48if(HAVE_LIBRT)49 list(APPEND libs rt)50endif()51 52add_llvm_library(LLVMExegesis53 DISABLE_LLVM_LINK_LLVM_DYLIB54 STATIC55 Analysis.cpp56 Assembler.cpp57 BenchmarkResult.cpp58 BenchmarkRunner.cpp59 Clustering.cpp60 CodeTemplate.cpp61 DisassemblerHelper.cpp62 Error.cpp63 LatencyBenchmarkRunner.cpp64 LlvmState.cpp65 MCInstrDescView.cpp66 ParallelSnippetGenerator.cpp67 PerfHelper.cpp68 RegisterAliasing.cpp69 RegisterValue.cpp70 ResultAggregator.cpp71 SchedClassResolution.cpp72 SerialSnippetGenerator.cpp73 SnippetFile.cpp74 SnippetGenerator.cpp75 SnippetRepetitor.cpp76 SubprocessMemory.cpp77 Target.cpp78 UopsBenchmarkRunner.cpp79 ValidationEvent.cpp80 81 LINK_LIBS ${libs}82 83 DEPENDS84 intrinsics_gen85 )86