1# Basic utilities which is the strict minimum needed to build 2# llvm-min-tblgen. 3add_subdirectory(Basic) 4# Common utilities are all of the reusable components and helper 5# code needed by the backends. 6add_subdirectory(Common) 7 8set(LLVM_LINK_COMPONENTS Support) 9 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 16# caches. 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. 19add_tablegen(llvm-min-tblgen LLVM_HEADERS 20 llvm-min-tblgen.cpp 21 $<TARGET_OBJECTS:obj.LLVMTableGenBasic> 22 23 PARTIAL_SOURCES_INTENDED 24 ) 25 26set(LLVM_LINK_COMPONENTS 27 CodeGenTypes 28 Support 29 ) 30 31add_tablegen(llvm-tblgen LLVM 32 DESTINATION "${LLVM_TOOLS_INSTALL_DIR}" 33 EXPORT LLVM 34 AsmMatcherEmitter.cpp 35 AsmWriterEmitter.cpp 36 CallingConvEmitter.cpp 37 CodeEmitterGen.cpp 38 CodeGenMapTable.cpp 39 CompressInstEmitter.cpp 40 CTagsEmitter.cpp 41 DAGISelEmitter.cpp 42 DAGISelMatcherEmitter.cpp 43 DAGISelMatcherGen.cpp 44 DAGISelMatcherOpt.cpp 45 DecoderEmitter.cpp 46 DFAEmitter.cpp 47 DFAPacketizerEmitter.cpp 48 DisassemblerEmitter.cpp 49 DXILEmitter.cpp 50 ExegesisEmitter.cpp 51 FastISelEmitter.cpp 52 GlobalISelCombinerEmitter.cpp 53 GlobalISelEmitter.cpp 54 InstrDocsEmitter.cpp 55 InstrInfoEmitter.cpp 56 llvm-tblgen.cpp 57 MacroFusionPredicatorEmitter.cpp 58 OptionParserEmitter.cpp 59 OptionRSTEmitter.cpp 60 PseudoLoweringEmitter.cpp 61 RegisterBankEmitter.cpp 62 RegisterInfoEmitter.cpp 63 SDNodeInfoEmitter.cpp 64 SearchableTableEmitter.cpp 65 SubtargetEmitter.cpp 66 WebAssemblyDisassemblerEmitter.cpp 67 X86InstrMappingEmitter.cpp 68 X86DisassemblerTables.cpp 69 X86FoldTablesEmitter.cpp 70 X86MnemonicTables.cpp 71 X86ModRMFilters.cpp 72 X86RecognizableInstr.cpp 73 $<TARGET_OBJECTS:obj.LLVMTableGenBasic> 74 $<TARGET_OBJECTS:obj.LLVMTableGenCommon> 75 76 PARTIAL_SOURCES_INTENDED 77 78 DEPENDS 79 intrinsics_gen # via llvm-min-tablegen 80 ) 81