Clean up a pile of hacks in our CMake build relating to TableGen.
authorChandler Carruth <chandlerc@gmail.com>
Tue, 26 Jul 2011 00:09:08 +0000 (00:09 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Tue, 26 Jul 2011 00:09:08 +0000 (00:09 +0000)
The first problem to fix is to stop creating synthetic *Table_gen
targets next to all of the LLVM libraries. These had no real effect as
CMake specifies that add_custom_command(OUTPUT ...) directives (what the
'tablegen(...)' stuff expands to) are implicitly added as dependencies
to all the rules in that CMakeLists.txt.

These synthetic rules started to cause problems as we started more and
more heavily using tablegen files from *subdirectories* of the one where
they were generated. Within those directories, the set of tablegen
outputs was still available and so these synthetic rules added them as
dependencies of those subdirectories. However, they were no longer
properly associated with the custom command to generate them. Most of
the time this "just worked" because something would get to the parent
directory first, and run tablegen there. Once run, the files existed and
the build proceeded happily. However, as more and more subdirectories
have started using this, the probability of this failing to happen has
increased. Recently with the MC refactorings, it became quite common for
me when touching a large enough number of targets.

To add insult to injury, several of the backends *tried* to fix this by
adding explicit dependencies back to the parent directory's tablegen
rules, but those dependencies didn't work as expected -- they weren't
forming a linear chain, they were adding another thread in the race.

This patch removes these synthetic rules completely, and adds a much
simpler function to declare explicitly that a collection of tablegen'ed
files are referenced by other libraries. From that, we can add explicit
dependencies from the smaller libraries (such as every architectures
Desc library) on this and correctly form a linear sequence. All of the
backends are updated to use it, sometimes replacing the existing attempt
at adding a dependency, sometimes adding a previously missing dependency
edge.

Please let me know if this causes any problems, but it fixes a rather
persistent and problematic source of build flakiness on our end.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136023 91177308-0d34-0410-b5e6-96231b3b80d8

41 files changed:
cmake/modules/AddLLVM.cmake
cmake/modules/TableGen.cmake
lib/Target/ARM/AsmParser/CMakeLists.txt
lib/Target/ARM/CMakeLists.txt
lib/Target/ARM/Disassembler/CMakeLists.txt
lib/Target/ARM/InstPrinter/CMakeLists.txt
lib/Target/ARM/MCTargetDesc/CMakeLists.txt
lib/Target/Alpha/CMakeLists.txt
lib/Target/Alpha/MCTargetDesc/CMakeLists.txt
lib/Target/Alpha/TargetInfo/CMakeLists.txt
lib/Target/Blackfin/CMakeLists.txt
lib/Target/Blackfin/MCTargetDesc/CMakeLists.txt
lib/Target/CellSPU/CMakeLists.txt
lib/Target/CellSPU/MCTargetDesc/CMakeLists.txt
lib/Target/MBlaze/AsmParser/CMakeLists.txt
lib/Target/MBlaze/CMakeLists.txt
lib/Target/MBlaze/Disassembler/CMakeLists.txt
lib/Target/MBlaze/InstPrinter/CMakeLists.txt
lib/Target/MBlaze/MCTargetDesc/CMakeLists.txt
lib/Target/MSP430/CMakeLists.txt
lib/Target/MSP430/InstPrinter/CMakeLists.txt
lib/Target/MSP430/MCTargetDesc/CMakeLists.txt
lib/Target/Mips/CMakeLists.txt
lib/Target/Mips/InstPrinter/CMakeLists.txt
lib/Target/Mips/MCTargetDesc/CMakeLists.txt
lib/Target/PTX/CMakeLists.txt
lib/Target/PTX/MCTargetDesc/CMakeLists.txt
lib/Target/PowerPC/CMakeLists.txt
lib/Target/PowerPC/InstPrinter/CMakeLists.txt
lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt
lib/Target/Sparc/CMakeLists.txt
lib/Target/Sparc/MCTargetDesc/CMakeLists.txt
lib/Target/SystemZ/CMakeLists.txt
lib/Target/SystemZ/MCTargetDesc/CMakeLists.txt
lib/Target/X86/AsmParser/CMakeLists.txt
lib/Target/X86/CMakeLists.txt
lib/Target/X86/Disassembler/CMakeLists.txt
lib/Target/X86/InstPrinter/CMakeLists.txt
lib/Target/X86/MCTargetDesc/CMakeLists.txt
lib/Target/XCore/CMakeLists.txt
lib/Target/XCore/MCTargetDesc/CMakeLists.txt

index abc14d0d374d20357906a0f8f366d87325637ae3..5e3a4c1c43451dd1d979a7a9cfb464d921740c4c 100755 (executable)
@@ -2,7 +2,6 @@ include(LLVMProcessSources)
 include(LLVM-Config)
 
 macro(add_llvm_library name)
-  create_tablegenning_custom_target( ${name} )
   llvm_process_sources( ALL_FILES ${ARGN} )
   add_library( ${name} ${ALL_FILES} )
   set_property( GLOBAL APPEND PROPERTY LLVM_LIBS ${name} )
@@ -33,7 +32,6 @@ macro(add_llvm_library name)
     add_dependencies(${name} ${CURRENT_LLVM_TARGET})
   endif()
   set_target_properties(${name} PROPERTIES FOLDER "Libraries")
-  add_tablegenning_dependency( ${name} )
 endmacro(add_llvm_library name)
 
 
@@ -77,7 +75,6 @@ endmacro(add_llvm_loadable_module name)
 
 
 macro(add_llvm_executable name)
-  create_tablegenning_custom_target( ${name} )
   llvm_process_sources( ALL_FILES ${ARGN} )
   if( EXCLUDE_FROM_ALL )
     add_executable(${name} EXCLUDE_FROM_ALL ${ALL_FILES})
@@ -91,7 +88,6 @@ macro(add_llvm_executable name)
     add_dependencies( ${name} ${LLVM_COMMON_DEPENDS} )
   endif( LLVM_COMMON_DEPENDS )
   link_system_libs( ${name} )
-  add_tablegenning_dependency( ${name} )
 endmacro(add_llvm_executable name)
 
 
index 6605b5b60483c574086a14d0faa211ec01bb0f1e..580b9a92ac0cac975dad6c9131a82f27297bb24e 100644 (file)
@@ -45,23 +45,11 @@ macro(tablegen ofn)
     PROPERTIES GENERATED 1)
 endmacro(tablegen)
 
-
-function(create_tablegenning_custom_target target)
-  # Creates the global target that runs the file-level dependencies
-  # for tablegenning.
+function(add_public_tablegen_target target)
+  # Creates a target for publicly exporting tablegen dependencies.
   if( TABLEGEN_OUTPUT )
-    add_custom_target(${target}Table_gen
+    add_custom_target(${target}
       DEPENDS ${TABLEGEN_OUTPUT})
-    add_dependencies(${target}Table_gen ${LLVM_COMMON_DEPENDS})
+    add_dependencies(${target} ${LLVM_COMMON_DEPENDS})
   endif( TABLEGEN_OUTPUT )
 endfunction()
-
-function(add_tablegenning_dependency target)
-  # Makes the tablegenning step created with
-  # create_tablegenning_custom_target dependent on `target'.
-  if ( TABLEGEN_OUTPUT )
-    add_dependencies(${target} ${target}Table_gen)
-    set_target_properties(${target}Table_gen PROPERTIES FOLDER "Tablegenning")
-  endif (TABLEGEN_OUTPUT)
-endfunction()
-
index 9ba7c0125d7f56cf52ba28fa995911f42ff68b53..88393e313a853221df78d650f2c81d46891d6108 100644 (file)
@@ -4,4 +4,4 @@ add_llvm_library(LLVMARMAsmParser
   ARMAsmLexer.cpp
   ARMAsmParser.cpp
   )
-
+add_dependencies(LLVMARMAsmParser ARMCommonTableGen)
index c015c1269011ea79c55a27602b97ed4e75a4bb40..8394be52cd16397fc8a9ab0b36974e31c95bd2df 100644 (file)
@@ -13,6 +13,7 @@ tablegen(ARMGenCallingConv.inc -gen-callingconv)
 tablegen(ARMGenSubtargetInfo.inc -gen-subtarget)
 tablegen(ARMGenEDInfo.inc -gen-enhanced-disassembly-info)
 tablegen(ARMGenDecoderTables.inc -gen-arm-decoder)
+add_public_tablegen_target(ARMCommonTableGen)
 
 add_llvm_target(ARMCodeGen
   ARMAsmPrinter.cpp
index b23dd6ba57efa73fca5637a306fcf89675fe2e30..a4238aae54f2a42137f9c081b25c750717092f90 100644 (file)
@@ -11,4 +11,4 @@ set_property(
   PROPERTY COMPILE_FLAGS "/Od"
   )
 endif()
-add_dependencies(LLVMARMDisassembler ARMCodeGenTable_gen)
+add_dependencies(LLVMARMDisassembler ARMCommonTableGen)
index 18645c0864a32e89d3994ebad8ae58a6f6a6ec9f..7b6193aeeff2472dabad9c85fce72067bc6d5bfe 100644 (file)
@@ -3,4 +3,4 @@ include_directories( ${CMAKE_CURRENT_BINARY_DIR}/.. ${CMAKE_CURRENT_SOURCE_DIR}/
 add_llvm_library(LLVMARMAsmPrinter
   ARMInstPrinter.cpp
   )
-add_dependencies(LLVMARMAsmPrinter ARMCodeGenTable_gen)
+add_dependencies(LLVMARMAsmPrinter ARMCommonTableGen)
index 89208c0301c6ea94bf0ad9585d2172794710a4d1..aca56716779acc22f7d252af0c4631883913d3e3 100644 (file)
@@ -6,6 +6,7 @@ add_llvm_library(LLVMARMDesc
   ARMMCExpr.cpp
   ARMMachObjectWriter.cpp
   )
+add_dependencies(LLVMARMDesc ARMCommonTableGen)
 
 # Hack: we need to include 'main' target directory to grab private headers
 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/.. ${CMAKE_CURRENT_BINARY_DIR}/..)
index a6027bbf0b2ad74336a70f6e52ed5c9f2e6cf07d..5444e1ab0853a1edf2c8324e1e83c423efab71a9 100644 (file)
@@ -6,6 +6,7 @@ tablegen(AlphaGenAsmWriter.inc -gen-asm-writer)
 tablegen(AlphaGenDAGISel.inc -gen-dag-isel)
 tablegen(AlphaGenCallingConv.inc -gen-callingconv)
 tablegen(AlphaGenSubtargetInfo.inc -gen-subtarget)
+add_public_tablegen_target(AlphaCommonTableGen)
 
 add_llvm_target(AlphaCodeGen
   AlphaAsmPrinter.cpp
index ad0dd26aafb100db47d71ab0da377db7d95ce990..733b1c01d437d94ce6071035dd775b7f950884ad 100644 (file)
@@ -2,3 +2,4 @@ add_llvm_library(LLVMAlphaDesc
   AlphaMCTargetDesc.cpp
   AlphaMCAsmInfo.cpp
   )
+add_dependencies(LLVMAlphaDesc AlphaCommonTableGen)
index 2a7291b90aeb927711619ad21d5c44163af6a03c..a52457d6332873b7ace32c47869ab38bec83d677 100644 (file)
@@ -3,5 +3,4 @@ include_directories( ${CMAKE_CURRENT_BINARY_DIR}/.. ${CMAKE_CURRENT_SOURCE_DIR}/
 add_llvm_library(LLVMAlphaInfo
   AlphaTargetInfo.cpp
   )
-
-add_dependencies(LLVMAlphaInfo AlphaCodeGenTable_gen)
+add_dependencies(LLVMAlphaInfo AlphaCommonTableGen)
index d3f33a987e69726dff79e384fd521a60d4f1df78..e69ffa4a3add77771a3b4b6c5d4426b8b2ed2a51 100644 (file)
@@ -7,6 +7,7 @@ tablegen(BlackfinGenDAGISel.inc -gen-dag-isel)
 tablegen(BlackfinGenSubtargetInfo.inc -gen-subtarget)
 tablegen(BlackfinGenCallingConv.inc -gen-callingconv)
 tablegen(BlackfinGenIntrinsics.inc -gen-tgt-intrinsic)
+add_public_tablegen_target(BlackfinCommonTableGen)
 
 add_llvm_target(BlackfinCodeGen
   BlackfinAsmPrinter.cpp
index 8cd924f9236ff2a380d6862f42799153740782d8..7ea79b498e13105dd0de3092f3101e59c8a3707e 100644 (file)
@@ -2,3 +2,4 @@ add_llvm_library(LLVMBlackfinDesc
   BlackfinMCTargetDesc.cpp
   BlackfinMCAsmInfo.cpp
   )
+add_dependencies(LLVMBlackfinDesc BlackfinCommonTableGen)
index 0b94e0cf1193d08a0efac80a3edd30f5dcf13620..20ecb9b60e405450efab1d10aa049067c3e9f3c0 100644 (file)
@@ -7,6 +7,7 @@ tablegen(SPUGenInstrInfo.inc -gen-instr-info)
 tablegen(SPUGenDAGISel.inc -gen-dag-isel)
 tablegen(SPUGenSubtargetInfo.inc -gen-subtarget)
 tablegen(SPUGenCallingConv.inc -gen-callingconv)
+add_public_tablegen_target(CellSPUCommonTableGen)
 
 add_llvm_target(CellSPUCodeGen
   SPUAsmPrinter.cpp
index 85fb258eac2c67e44f737c7269946aa382d46c47..7435e93fe0387893d82c42433037a8ad657c1340 100644 (file)
@@ -2,3 +2,4 @@ add_llvm_library(LLVMCellSPUDesc
   SPUMCTargetDesc.cpp
   SPUMCAsmInfo.cpp
   )
+add_dependencies(LLVMCellSPUDesc CellSPUCommonTableGen)
index 87e7cb5da561e58d4248fcb00690fe70d027b9fd..18870cd1cf37830d5db9727532cb84612b72f281 100644 (file)
@@ -5,4 +5,5 @@ add_llvm_library(LLVMMBlazeAsmParser
   MBlazeAsmLexer.cpp
   MBlazeAsmParser.cpp
   )
+add_dependencies(LLVMMBlazeAsmParser MBlazeCommonTableGen)
 
index 224d3fbbee3859333e45740fb75903ffd9210403..ae0eca96a2a9d7e6f99f53ed7031ac23c28d43ba 100644 (file)
@@ -10,6 +10,7 @@ tablegen(MBlazeGenCallingConv.inc -gen-callingconv)
 tablegen(MBlazeGenSubtargetInfo.inc -gen-subtarget)
 tablegen(MBlazeGenIntrinsics.inc -gen-tgt-intrinsic)
 tablegen(MBlazeGenEDInfo.inc -gen-enhanced-disassembly-info)
+add_public_tablegen_target(MBlazeCommonTableGen)
 
 add_llvm_target(MBlazeCodeGen
   MBlazeDelaySlotFiller.cpp
index 9376e68a35cf7b9cafa0968cbc132a4cdb01cb5a..be2dce156d56080ddd54c90800f5c5f2d0d4af7d 100644 (file)
@@ -13,4 +13,4 @@ set_property(
   )
 endif()
 
-add_dependencies(LLVMMBlazeDisassembler MBlazeCodeGenTable_gen)
+add_dependencies(LLVMMBlazeDisassembler MBlazeCommonTableGen)
index 242a573036e625368bc15bb6cc34ebdb20e0c078..138a4e36349a26ea3747cc67974e73f9fa99dcd4 100644 (file)
@@ -5,4 +5,4 @@ add_llvm_library(LLVMMBlazeAsmPrinter
     MBlazeInstPrinter.cpp
   )
 
-add_dependencies(LLVMMBlazeAsmPrinter MBlazeCodeGenTable_gen)
+add_dependencies(LLVMMBlazeAsmPrinter MBlazeCommonTableGen)
index 22e840b3725660d28c638898320e891d33931e6a..ef8d679d745da978d6bdd42750fe0776a3ad8231 100644 (file)
@@ -4,3 +4,4 @@ add_llvm_library(LLVMMBlazeDesc
   MBlazeMCCodeEmitter.cpp
   MBlazeMCTargetDesc.cpp
   )
+add_dependencies(LLVMMBlazeDesc MBlazeCommonTableGen)
index 33f3d449ed99bae5fff478aa8bddd2169fddd7a9..3b6cf89d1ff33c9b92d45b4bd9815c31b8137af5 100644 (file)
@@ -6,6 +6,7 @@ tablegen(MSP430GenAsmWriter.inc -gen-asm-writer)
 tablegen(MSP430GenDAGISel.inc -gen-dag-isel)
 tablegen(MSP430GenCallingConv.inc -gen-callingconv)
 tablegen(MSP430GenSubtargetInfo.inc -gen-subtarget)
+add_public_tablegen_target(MSP430CommonTableGen)
 
 add_llvm_target(MSP430CodeGen
   MSP430BranchSelector.cpp
index f5458d59a8217170bc9d85aef35004779dbe1f7d..5ad01456a445f127b90f73f08309ca8d1b1e650c 100644 (file)
@@ -3,4 +3,4 @@ include_directories( ${CMAKE_CURRENT_BINARY_DIR}/.. ${CMAKE_CURRENT_SOURCE_DIR}/
 add_llvm_library(LLVMMSP430AsmPrinter
   MSP430InstPrinter.cpp
   )
-add_dependencies(LLVMMSP430AsmPrinter MSP430CodeGenTable_gen)
+add_dependencies(LLVMMSP430AsmPrinter MSP430CommonTableGen)
index 0f3ebd303924154092f218e2efd9371ad6f16b15..f30317b606b89e4eb867519574721ef220460200 100644 (file)
@@ -2,3 +2,4 @@ add_llvm_library(LLVMMSP430Desc
   MSP430MCTargetDesc.cpp
   MSP430MCAsmInfo.cpp
   )
+add_dependencies(LLVMMSP430Desc MSP430CommonTableGen)
index b32c7d1d5de6c6f98bbe11f7feeadc62a0df306a..192ff1c93feefa5f1153d7c138fcaaf8395ea0a9 100644 (file)
@@ -6,6 +6,7 @@ tablegen(MipsGenAsmWriter.inc -gen-asm-writer)
 tablegen(MipsGenDAGISel.inc -gen-dag-isel)
 tablegen(MipsGenCallingConv.inc -gen-callingconv)
 tablegen(MipsGenSubtargetInfo.inc -gen-subtarget)
+add_public_tablegen_target(MipsCommonTableGen)
 
 add_llvm_target(MipsCodeGen
   MipsAsmPrinter.cpp
index 8852fd4126e617eaef3ceac5374e2d6397b523f1..e64d511f073ab99cf0d930ad32cf73d2d6789058 100644 (file)
@@ -3,4 +3,4 @@ include_directories( ${CMAKE_CURRENT_BINARY_DIR}/.. ${CMAKE_CURRENT_SOURCE_DIR}/
 add_llvm_library(LLVMMipsAsmPrinter
   MipsInstPrinter.cpp
   )
-add_dependencies(LLVMMipsAsmPrinter MipsCodeGenTable_gen)
+add_dependencies(LLVMMipsAsmPrinter MipsCommonTableGen)
index 97de75db5347a31a15f452fcf33829295e492262..332c1a0a8b0e3f88538261e0afcfc462a17def40 100644 (file)
@@ -2,3 +2,4 @@ add_llvm_library(LLVMMipsDesc
   MipsMCTargetDesc.cpp
   MipsMCAsmInfo.cpp
   )
+add_dependencies(LLVMMipsDesc MipsCommonTableGen)
index ce08916aaac1f736abb6fc09e8ab6bcc94bbe129..1eafb660303378e73c2f33f109f6e638b1effc43 100644 (file)
@@ -6,6 +6,7 @@ tablegen(PTXGenDAGISel.inc -gen-dag-isel)
 tablegen(PTXGenInstrInfo.inc -gen-instr-info)
 tablegen(PTXGenRegisterInfo.inc -gen-register-info)
 tablegen(PTXGenSubtargetInfo.inc -gen-subtarget)
+add_public_tablegen_target(PTXCommonTableGen)
 
 add_llvm_target(PTXCodeGen
   PTXAsmPrinter.cpp
index df0f63fdba6078268700589dabc7a3ca5f8d7317..ad787321e4823d4fb91db71b4119c47c44c450c7 100644 (file)
@@ -2,3 +2,4 @@ add_llvm_library(LLVMPTXDesc
   PTXMCTargetDesc.cpp
   PTXMCAsmInfo.cpp
   )
+add_dependencies(LLVMPTXDesc PTXCommonTableGen)
index 0c70e563bd64c34f0b4f381d0823b141b63af068..158f251beb17eb28cc7be77813c90724c46ccc4a 100644 (file)
@@ -8,6 +8,7 @@ tablegen(PPCGenInstrInfo.inc -gen-instr-info)
 tablegen(PPCGenDAGISel.inc -gen-dag-isel)
 tablegen(PPCGenCallingConv.inc -gen-callingconv)
 tablegen(PPCGenSubtargetInfo.inc -gen-subtarget)
+add_public_tablegen_target(PowerPCCommonTableGen)
 
 add_llvm_target(PowerPCCodeGen
   PPCAsmPrinter.cpp
index 389ea7742b065309f224e496ee692c000b9525c3..dfdc277361468777b2c7d3c77eb611220225f960 100644 (file)
@@ -3,4 +3,4 @@ include_directories( ${CMAKE_CURRENT_BINARY_DIR}/.. ${CMAKE_CURRENT_SOURCE_DIR}/
 add_llvm_library(LLVMPowerPCAsmPrinter
   PPCInstPrinter.cpp
   )
-add_dependencies(LLVMPowerPCAsmPrinter PowerPCCodeGenTable_gen)
+add_dependencies(LLVMPowerPCAsmPrinter PowerPCCommonTableGen)
index 54d40c360d494ecddc07f2855ef987f248dfb20d..1c13cdb05a08851a6ad57205941799e087e5f7f0 100644 (file)
@@ -4,3 +4,4 @@ add_llvm_library(LLVMPowerPCDesc
   PPCMCAsmInfo.cpp
   PPCMCCodeEmitter.cpp
   )
+add_dependencies(LLVMPowerPCDesc PowerPCCommonTableGen)
index c77ded4b435ec417d6bc2aea1c107697cdfd8789..32bc421f0b83c3b8a613e089be89d64237ea1f19 100644 (file)
@@ -6,6 +6,7 @@ tablegen(SparcGenAsmWriter.inc -gen-asm-writer)
 tablegen(SparcGenDAGISel.inc -gen-dag-isel)
 tablegen(SparcGenSubtargetInfo.inc -gen-subtarget)
 tablegen(SparcGenCallingConv.inc -gen-callingconv)
+add_public_tablegen_target(SparcCommonTableGen)
 
 add_llvm_target(SparcCodeGen
   DelaySlotFiller.cpp
index 1e8c0297988716599ac889d955422abc9c90663f..a0525b6723182c7ccb7fa9529e694e6cf7466e28 100644 (file)
@@ -2,3 +2,4 @@ add_llvm_library(LLVMSparcDesc
   SparcMCTargetDesc.cpp
   SparcMCAsmInfo.cpp
   )
+add_dependencies(LLVMSparcDesc SparcCommonTableGen)
index f4bdbd8cd173103fb3c03aefd04af333c5858822..bd8238ecac5d8a5bd64b6318c0fc387f9e4f6223 100644 (file)
@@ -6,6 +6,7 @@ tablegen(SystemZGenAsmWriter.inc -gen-asm-writer)
 tablegen(SystemZGenDAGISel.inc -gen-dag-isel)
 tablegen(SystemZGenCallingConv.inc -gen-callingconv)
 tablegen(SystemZGenSubtargetInfo.inc -gen-subtarget)
+add_public_tablegen_target(SystemZCommonTableGen)
 
 add_llvm_target(SystemZCodeGen
   SystemZAsmPrinter.cpp
index 2ac90164721ff93000d6974cf0ac0dd6ac5e11c6..612a94ec92ba5689e259c06c027c84006ec57b7e 100644 (file)
@@ -2,6 +2,7 @@ add_llvm_library(LLVMSystemZDesc
   SystemZMCTargetDesc.cpp
   SystemZMCAsmInfo.cpp
   )
+add_dependencies(LLVMSystemZDesc SystemZCommonTableGen)
 
 # Hack: we need to include 'main' target directory to grab private headers
 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/.. ${CMAKE_CURRENT_BINARY_DIR}/..)
index 40dbdd72faa1961a16a93b18abac45d87cd47185..78b16f7cd34d94131b01c36171a0728e33c7ba2f 100644 (file)
@@ -4,4 +4,4 @@ add_llvm_library(LLVMX86AsmParser
   X86AsmLexer.cpp
   X86AsmParser.cpp
   )
-add_dependencies(LLVMX86AsmParser X86CodeGenTable_gen)
+add_dependencies(LLVMX86AsmParser X86CommonTableGen)
index 480f0c4900d3d7fb767ccd66089e61aa05e3d002..60d3e26ccf778d86f2ae94ac874b3ff30febac34 100644 (file)
@@ -11,6 +11,7 @@ tablegen(X86GenFastISel.inc -gen-fast-isel)
 tablegen(X86GenCallingConv.inc -gen-callingconv)
 tablegen(X86GenSubtargetInfo.inc -gen-subtarget)
 tablegen(X86GenEDInfo.inc -gen-enhanced-disassembly-info)
+add_public_tablegen_target(X86CommonTableGen)
 
 set(sources
   SSEDomainFix.cpp
index 972a0d9e7e031b548bfc8c7215310ce3176f9830..240f9b574899b5643d0cc8f34ab40ce4d03fe379 100644 (file)
@@ -11,4 +11,4 @@ set_property(
   PROPERTY COMPILE_FLAGS "/Od"
   )
 endif()
-add_dependencies(LLVMX86Disassembler X86CodeGenTable_gen)
+add_dependencies(LLVMX86Disassembler X86CommonTableGen)
index 033973eeeff936ed2be77d4d706f44b8cbd19bd9..3be627a1f0ec18c04171fdde69fa28a5c9c5475c 100644 (file)
@@ -5,4 +5,4 @@ add_llvm_library(LLVMX86AsmPrinter
   X86IntelInstPrinter.cpp
   X86InstComments.cpp
   )
-add_dependencies(LLVMX86AsmPrinter X86CodeGenTable_gen)
+add_dependencies(LLVMX86AsmPrinter X86CommonTableGen)
index d059aad1368bb868c4af825e5e3d2e398a8c5fde..be113711c0556283c5e2ac989993265473b9236b 100644 (file)
@@ -5,6 +5,7 @@ add_llvm_library(LLVMX86Desc
   X86MCCodeEmitter.cpp 
   X86MachObjectWriter.cpp
   )
+add_dependencies(LLVMX86Desc X86CommonTableGen)
 
 # Hack: we need to include 'main' target directory to grab private headers
 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/.. ${CMAKE_CURRENT_BINARY_DIR}/..)
index a1d73c6b4f99d1de969722c32d96dcf9a9be6902..aa4c45bdf1a98a3db6bca80009abca264a8a32fe 100644 (file)
@@ -6,6 +6,7 @@ tablegen(XCoreGenAsmWriter.inc -gen-asm-writer)
 tablegen(XCoreGenDAGISel.inc -gen-dag-isel)
 tablegen(XCoreGenCallingConv.inc -gen-callingconv)
 tablegen(XCoreGenSubtargetInfo.inc -gen-subtarget)
+add_public_tablegen_target(XCoreCommonTableGen)
 
 add_llvm_target(XCoreCodeGen
   XCoreAsmPrinter.cpp
index c3b3dc9e647d6de33a52ebdce5d18899bd59b364..4a69922f6248a950f50c7f09a5576e8a62fff400 100644 (file)
@@ -2,6 +2,7 @@ add_llvm_library(LLVMXCoreDesc
   XCoreMCTargetDesc.cpp
   XCoreMCAsmInfo.cpp
   )
+add_dependencies(LLVMXCoreDesc XCoreCommonTableGen)
 
 # Hack: we need to include 'main' target directory to grab private headers
 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/.. ${CMAKE_CURRENT_BINARY_DIR}/..)