summaryrefslogtreecommitdiffstats
path: root/llvm/tools
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2013-12-27 22:38:59 +0000
committerNico Weber <nicolasweber@gmx.de>2013-12-27 22:38:59 +0000
commit47ba8fa7ecb40a0eaebb93045a2d83ccfbe794d7 (patch)
treec7ee6fe2f0bff8f71a756bb968acee25dcf1dd30 /llvm/tools
parent52b10afb08d7d85263209929f24a804e6ad75b08 (diff)
downloadbcm5719-llvm-47ba8fa7ecb40a0eaebb93045a2d83ccfbe794d7.tar.gz
bcm5719-llvm-47ba8fa7ecb40a0eaebb93045a2d83ccfbe794d7.zip
Strip dead code when linking by default with BFD ld (linux, ...) and ld64 (os x).
This reduces the size of clang-format from 22 MB to 1.8 MB, diagtool goes from 21 MB to 2.8 MB, libclang.so goes from 29 MB to 20 MB, etc. The size of the bin/ folder shrinks from 270 MB to 200 MB. Targets that support plugins and don't already use EXPORTED_SYMBOL_FILE (which libclang and libLTO already do) can set NO_DEAD_STRIP to opt out. llvm-svn: 198087
Diffstat (limited to 'llvm/tools')
-rw-r--r--llvm/tools/bugpoint/Makefile3
-rw-r--r--llvm/tools/llc/Makefile3
-rw-r--r--llvm/tools/llvm-shlib/Makefile3
-rw-r--r--llvm/tools/lto/Makefile3
-rw-r--r--llvm/tools/opt/Makefile3
5 files changed, 9 insertions, 6 deletions
diff --git a/llvm/tools/bugpoint/Makefile b/llvm/tools/bugpoint/Makefile
index 20493218b06..96c0fcf519e 100644
--- a/llvm/tools/bugpoint/Makefile
+++ b/llvm/tools/bugpoint/Makefile
@@ -12,4 +12,7 @@ TOOLNAME := bugpoint
LINK_COMPONENTS := asmparser instrumentation scalaropts ipo linker bitreader \
bitwriter irreader vectorize objcarcopts
+# Support plugins.
+NO_DEAD_STRIP := 1
+
include $(LEVEL)/Makefile.common
diff --git a/llvm/tools/llc/Makefile b/llvm/tools/llc/Makefile
index c24f378bc53..71bce4dc1ad 100644
--- a/llvm/tools/llc/Makefile
+++ b/llvm/tools/llc/Makefile
@@ -11,5 +11,8 @@ LEVEL := ../..
TOOLNAME := llc
LINK_COMPONENTS := all-targets bitreader asmparser irreader
+# Support plugins.
+NO_DEAD_STRIP := 1
+
include $(LEVEL)/Makefile.common
diff --git a/llvm/tools/llvm-shlib/Makefile b/llvm/tools/llvm-shlib/Makefile
index 92f3132ff53..317da517202 100644
--- a/llvm/tools/llvm-shlib/Makefile
+++ b/llvm/tools/llvm-shlib/Makefile
@@ -49,9 +49,6 @@ ifeq ($(HOST_OS),Darwin)
endif
# Include everything from the .a's into the shared library.
LLVMLibsOptions := $(LLVMLibsOptions) -all_load
- # extra options to override libtool defaults
- LLVMLibsOptions := $(LLVMLibsOptions) \
- -Wl,-dead_strip
# Mac OS X 10.4 and earlier tools do not allow a second -install_name on command line
DARWIN_VERS := $(shell echo $(TARGET_TRIPLE) | sed 's/.*darwin\([0-9]*\).*/\1/')
diff --git a/llvm/tools/lto/Makefile b/llvm/tools/lto/Makefile
index cedbee188c0..e2b0ff80ef2 100644
--- a/llvm/tools/lto/Makefile
+++ b/llvm/tools/lto/Makefile
@@ -37,9 +37,6 @@ ifeq ($(HOST_OS),Darwin)
-Wl,$(LTO_LIBRARY_VERSION).$(LLVM_SUBMIT_SUBVERSION) \
-Wl,-compatibility_version -Wl,1
endif
- # extra options to override libtool defaults
- LLVMLibsOptions := $(LLVMLibsOptions) \
- -Wl,-dead_strip
# Mac OS X 10.4 and earlier tools do not allow a second -install_name on command line
DARWIN_VERS := $(shell echo $(TARGET_TRIPLE) | sed 's/.*darwin\([0-9]*\).*/\1/')
diff --git a/llvm/tools/opt/Makefile b/llvm/tools/opt/Makefile
index a451005574a..fa2d0145531 100644
--- a/llvm/tools/opt/Makefile
+++ b/llvm/tools/opt/Makefile
@@ -11,4 +11,7 @@ LEVEL := ../..
TOOLNAME := opt
LINK_COMPONENTS := bitreader bitwriter asmparser irreader instrumentation scalaropts objcarcopts ipo vectorize all-targets
+# Support plugins.
+NO_DEAD_STRIP := 1
+
include $(LEVEL)/Makefile.common
OpenPOWER on IntegriCloud