Skip to content

Commit 94dd647

Browse files
committed
[llvm-(min-)tblgen] Avoid redundant source compilation
1 parent 092a819 commit 94dd647

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

llvm/utils/TableGen/CMakeLists.txt

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,25 @@ add_subdirectory(Common)
77

88
set(LLVM_LINK_COMPONENTS Support)
99

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-
add_tablegen(llvm-min-tblgen LLVM_HEADERS
10+
# Sources included in llvm-min-tblgen and llvm-tblgen.
11+
add_llvm_library(LLVMTableGenBoth OBJECT EXCLUDE_FROM_ALL DISABLE_LLVM_LINK_LLVM_DYLIB
1512
TableGen.cpp
1613
ARMTargetDefEmitter.cpp
1714
Attributes.cpp
1815
DirectiveEmitter.cpp
1916
IntrinsicEmitter.cpp
2017
RISCVTargetDefEmitter.cpp
2118
VTEmitter.cpp
19+
20+
PARTIAL_SOURCES_INTENDED
21+
)
22+
23+
# llvm-min-tablegen only contains a subset of backends necessary to
24+
# build llvm/include. It must not depend on TableGenCommon, as
25+
# TableGenCommon depends on this already to generate things such as
26+
# ValueType definitions.
27+
add_tablegen(llvm-min-tblgen LLVM_HEADERS
28+
$<TARGET_OBJECTS:obj.LLVMTableGenBoth>
2229
$<TARGET_OBJECTS:obj.LLVMTableGenBasic>
2330

2431
PARTIAL_SOURCES_INTENDED
@@ -32,10 +39,8 @@ set(LLVM_LINK_COMPONENTS
3239
add_tablegen(llvm-tblgen LLVM
3340
DESTINATION "${LLVM_TOOLS_INSTALL_DIR}"
3441
EXPORT LLVM
35-
ARMTargetDefEmitter.cpp
3642
AsmMatcherEmitter.cpp
3743
AsmWriterEmitter.cpp
38-
Attributes.cpp
3944
CallingConvEmitter.cpp
4045
CodeEmitterGen.cpp
4146
CodeGenMapTable.cpp
@@ -48,7 +53,6 @@ add_tablegen(llvm-tblgen LLVM
4853
DecoderEmitter.cpp
4954
DFAEmitter.cpp
5055
DFAPacketizerEmitter.cpp
51-
DirectiveEmitter.cpp
5256
DisassemblerEmitter.cpp
5357
DXILEmitter.cpp
5458
ExegesisEmitter.cpp
@@ -57,25 +61,23 @@ add_tablegen(llvm-tblgen LLVM
5761
GlobalISelEmitter.cpp
5862
InstrDocsEmitter.cpp
5963
InstrInfoEmitter.cpp
60-
IntrinsicEmitter.cpp
6164
MacroFusionPredicatorEmitter.cpp
6265
OptionParserEmitter.cpp
6366
OptionRSTEmitter.cpp
6467
PseudoLoweringEmitter.cpp
6568
RegisterBankEmitter.cpp
6669
RegisterInfoEmitter.cpp
67-
RISCVTargetDefEmitter.cpp
6870
SearchableTableEmitter.cpp
6971
SubtargetEmitter.cpp
70-
TableGen.cpp
71-
VTEmitter.cpp
7272
WebAssemblyDisassemblerEmitter.cpp
7373
X86InstrMappingEmitter.cpp
7474
X86DisassemblerTables.cpp
7575
X86FoldTablesEmitter.cpp
7676
X86MnemonicTables.cpp
7777
X86ModRMFilters.cpp
7878
X86RecognizableInstr.cpp
79+
80+
$<TARGET_OBJECTS:obj.LLVMTableGenBoth>
7981
$<TARGET_OBJECTS:obj.LLVMTableGenBasic>
8082
$<TARGET_OBJECTS:obj.LLVMTableGenCommon>
8183

0 commit comments

Comments
 (0)