[RISCV] Rename Mips instruction records to start with MIPS_. NFC (#125170)
[llvm-project.git] / llvm / utils / TableGen / CMakeLists.txt
blob67291214c14e605eaade5eea3a4b3aa215772968
1 # Basic utilities which is the strict minimum needed to build
2 # llvm-min-tblgen.
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
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.
19 add_tablegen(llvm-min-tblgen LLVM_HEADERS
20   llvm-min-tblgen.cpp
21   $<TARGET_OBJECTS:obj.LLVMTableGenBasic>
23   PARTIAL_SOURCES_INTENDED
24   )
26 set(LLVM_LINK_COMPONENTS
27   CodeGenTypes
28   Support
29   )
31 add_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>
76   PARTIAL_SOURCES_INTENDED
78   DEPENDS
79   intrinsics_gen # via llvm-min-tablegen
80   )