llvm-6502/tools
Rafael Espindola 9a4584b54b Simplify the computation of undefined symbols. Instead of walking
functions and initializers, just report the declarations present in
the module.

The motivation is to open the way for using the lazy module parsing,
which should speed up clients that just want a symbol list (nm, ar).

This is slightly less precise, but since both -strip-dead-prototypes
and -globaldce are part of the standard pipeline, this shouldn't
change the result for clang/dragonegg produced binaries.

Any decl in an IL file was also put there because a FE expected it
to be necessary, so this should not be a problem for "-O0 -emit-llvm".

As a sanity check, I have bootstrapped clang on linux and built
firefox on both linux and darwin. A clang bootstrap on darwin
with LTO fails with or without this patch because, ironically,
the linker doesn't like the combination of dead_strip and LTO
when building libLTO.so :-)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127870 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-18 05:12:38 +00:00
..
bugpoint fit in 80 cols. 2011-02-24 18:59:38 +00:00
bugpoint-passes Add dependency to "make check". 2010-12-10 02:15:36 +00:00
edis Build EnhancedDisassembly as a shared library too. 2011-03-12 22:01:47 +00:00
gold Add support in the LTO library for loading an object from the middle 2011-03-17 00:36:11 +00:00
llc Disable .loc support on older darwin OSes. 2010-12-02 23:03:57 +00:00
lli Merge System into Support. 2010-11-29 18:16:10 +00:00
llvm-ar Fix Whitespace. 2011-01-10 02:34:40 +00:00
llvm-as Merge System into Support. 2010-11-29 18:16:10 +00:00
llvm-bcanalyzer llvm-bcanalyzer.cpp: Tweak format string to suppress warnings on mingw32-g++. 2011-03-18 03:21:04 +00:00
llvm-config CMake: remove unnecessary variable. 2011-02-22 15:40:20 +00:00
llvm-diff Make llvm::Consumer a class (to remove a MSVC warning since Consumer is later forward declared as a struct) 2011-03-14 23:07:21 +00:00
llvm-dis Reapply: Add type output to llvm-dis annotations. Patch by Yuri! 2011-03-17 19:50:04 +00:00
llvm-extract Merge System into Support. 2010-11-29 18:16:10 +00:00
llvm-ld tools/llvm-ld/CMakeLists.txt: llvm-ld depends on llvm-stub at runtime. 2011-02-09 04:17:47 +00:00
llvm-link Merge System into Support. 2010-11-29 18:16:10 +00:00
llvm-mc Plug some leaks in edis. 2011-02-24 11:03:19 +00:00
llvm-nm llvm-nm: Update to use the new LLVMObject library. 2011-01-20 06:38:57 +00:00
llvm-objdump llvm-objdump: Remove redundant includes. 2011-01-20 07:22:13 +00:00
llvm-prof MemoryBuffer now return an error_code and returns a OwningPtr<MemoryBuffer> via an out parm. 2010-12-16 03:29:14 +00:00
llvm-ranlib Support/Path: Deprecate PathV1::exists and replace all uses with PathV2::fs::exists. 2011-01-10 02:34:23 +00:00
llvm-shlib improve solaris support, from PR9109, patch by Yuri! 2011-02-13 08:38:44 +00:00
llvm-stub Hack around incompatible pointer warnings. 2010-10-16 15:43:02 +00:00
llvmc Make "-opt [-emit-llvm]" work for .ll files. 2011-02-19 00:33:27 +00:00
lto Simplify the computation of undefined symbols. Instead of walking 2011-03-18 05:12:38 +00:00
macho-dump MemoryBuffer now return an error_code and returns a OwningPtr<MemoryBuffer> via an out parm. 2010-12-16 03:29:14 +00:00
opt add a way to disable all builtins, wire it up to opt's -disable-simplifylibcalls flag. 2011-02-18 22:34:03 +00:00
CMakeLists.txt LTO is not ready for Windows. 2011-03-13 03:06:59 +00:00
Makefile This patch lets LLDB build as an LLVM subproject. LLDB is not built in 2011-02-20 04:17:15 +00:00