1 # Basic utilities which is the strict minimum needed to build
3 add_subdirectory(Basic)
4 # Common utilities are all of the reusable components and helper
5 # code needed by the backends.
6 add_subdirectory(Common)
8 set(LLVM_LINK_COMPONENTS Support)
10 # llvm-min-tablegen only contains a subset of backends necessary to
11 # build llvm/include. It must not depend on TableGenCommon, as
12 # TableGenCommon depends on this already to generate things such as
13 # ValueType definitions.
14 # Sources included in both, llvm-min-tblgen and llvm-tblgen, must be included
15 # into LLVMTableGenBasic to avoid redundant compilation and problems with build
17 # At least one source file must be included directly to avoid CMake problems.
18 # E.g. CMake derives which linker to use from the types of sources added.
19 add_tablegen(llvm-min-tblgen LLVM_HEADERS
21 $<TARGET_OBJECTS:obj.LLVMTableGenBasic>
23 PARTIAL_SOURCES_INTENDED
26 set(LLVM_LINK_COMPONENTS
31 add_tablegen(llvm-tblgen LLVM
32 DESTINATION "${LLVM_TOOLS_INSTALL_DIR}"
36 CallingConvEmitter.cpp
39 CompressInstEmitter.cpp
42 DAGISelMatcherEmitter.cpp
47 DFAPacketizerEmitter.cpp
48 DisassemblerEmitter.cpp
52 GlobalISelCombinerEmitter.cpp
57 MacroFusionPredicatorEmitter.cpp
58 OptionParserEmitter.cpp
60 PseudoLoweringEmitter.cpp
61 RegisterBankEmitter.cpp
62 RegisterInfoEmitter.cpp
64 SearchableTableEmitter.cpp
66 WebAssemblyDisassemblerEmitter.cpp
67 X86InstrMappingEmitter.cpp
68 X86DisassemblerTables.cpp
69 X86FoldTablesEmitter.cpp
72 X86RecognizableInstr.cpp
73 $<TARGET_OBJECTS:obj.LLVMTableGenBasic>
74 $<TARGET_OBJECTS:obj.LLVMTableGenCommon>
76 PARTIAL_SOURCES_INTENDED
79 intrinsics_gen # via llvm-min-tablegen