Stop linking all target libraries in llvm-nm and llvm-objdump.
authorPete Cooper <peter_cooper@apple.com>
Wed, 7 Oct 2015 22:39:17 +0000 (22:39 +0000)
committerPete Cooper <peter_cooper@apple.com>
Wed, 7 Oct 2015 22:39:17 +0000 (22:39 +0000)
llvm-nm only needs the target to parse module level assembly in bitcode.  It doesn't need a disassembler or codegen.

llvm-objdump needs to be able to disassemble a file, but doesn't need asm parsers or codegen.

This reduces the sizes of these tools by a few MB each, depending on how many backends are linked in.

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

tools/llvm-nm/CMakeLists.txt
tools/llvm-objdump/CMakeLists.txt
tools/llvm-objdump/llvm-objdump.cpp

index 20293bb88f05041d0e6031cff06e629ec9dac221..22b7bd3e35e9c0949d11c80ef43fe1222ff9d20a 100644 (file)
@@ -1,5 +1,7 @@
 set(LLVM_LINK_COMPONENTS
-  ${LLVM_TARGETS_TO_BUILD}
+  AllTargetsAsmParsers
+  AllTargetsDescs
+  AllTargetsInfos
   Core
   Object
   Support
index 1f2721ab5452a13242ddc6dac9d37eccb80aed25..d0dd4ac0182c3358509766608ecdb57957d393cf 100644 (file)
@@ -1,5 +1,8 @@
 set(LLVM_LINK_COMPONENTS
-  ${LLVM_TARGETS_TO_BUILD}
+  AllTargetsAsmPrinters
+  AllTargetsDescs
+  AllTargetsDisassemblers
+  AllTargetsInfos
   CodeGen
   DebugInfoDWARF
   MC
index 169e5c0d9acbe7aa3360ffd5de2e33c365be250c..7292841c55a11d94e32a34c48fe155b3f8f72a6a 100644 (file)
@@ -1582,7 +1582,6 @@ int main(int argc, char **argv) {
   // Initialize targets and assembly printers/parsers.
   llvm::InitializeAllTargetInfos();
   llvm::InitializeAllTargetMCs();
-  llvm::InitializeAllAsmParsers();
   llvm::InitializeAllDisassemblers();
 
   // Register the target printer for --version.