1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 12:43:36 +01:00
llvm-mirror/tools
Rafael Espindola 24353f2de2 Use LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN instead of the "dso list".
There are two ways one could implement hiding of linkonce_odr symbols in LTO:
* LLVM tells the linker which symbols can be hidden if not used from native
  files.
* The linker tells LLVM which symbols are not used from other object files,
  but will be put in the dso symbol table if present.

GOLD's API is the second option. It was implemented almost 1:1 in llvm by
passing the list down to internalize.

LLVM already had partial support for the first option. It is also very similar
to how ld64 handles hiding these symbols when *not* doing LTO.

This patch then
* removes the APIs for the DSO list.
* marks LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN all linkonce_odr unnamed_addr
  global values and other linkonce_odr whose address is not used.
* makes the gold plugin responsible for handling the API mismatch.

llvm-svn: 193800
2013-10-31 20:51:58 +00:00
..
bugpoint [bugpoint] Increase the default memory limit for subprocesses to 300MB. 2013-10-25 17:41:41 +00:00
bugpoint-passes
gold Use LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN instead of the "dso list". 2013-10-31 20:51:58 +00:00
llc Use function attributes to indicate that we don't want to realign the stack. 2013-08-01 21:42:05 +00:00
lli Cleaning up comments in lli 2013-10-29 01:33:14 +00:00
llvm-ar Support names like llvm-ar-3.4 and llvm-ranlib-3.4. 2013-10-29 14:25:43 +00:00
llvm-as Revert "Encapsulate PassManager debug flags to avoid static init and cxa_exit." 2013-09-19 06:02:43 +00:00
llvm-bcanalyzer Add missing #include's to cctype when using isdigit/alpha/etc. 2013-10-12 00:55:57 +00:00
llvm-c-test llvm-c-test: Don't leak memory buffers. 2013-10-25 15:58:58 +00:00
llvm-config cmake: Prevent semicolon separated lists in llvm-config (PR17020) 2013-08-28 17:04:06 +00:00
llvm-cov Updated llvm-cov's OVERVIEW description 2013-10-31 02:01:24 +00:00
llvm-diff Remove several unused variables. 2013-10-01 13:32:03 +00:00
llvm-dis Revert "Encapsulate PassManager debug flags to avoid static init and cxa_exit." 2013-09-19 06:02:43 +00:00
llvm-dwarfdump Add gnu pubsections as options to llvm-dwarfdump. 2013-09-25 23:02:44 +00:00
llvm-extract Revert "Encapsulate PassManager debug flags to avoid static init and cxa_exit." 2013-09-19 06:02:43 +00:00
llvm-jitlistener
llvm-link Revert "Encapsulate PassManager debug flags to avoid static init and cxa_exit." 2013-09-19 06:02:43 +00:00
llvm-lto Use LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN instead of the "dso list". 2013-10-31 20:51:58 +00:00
llvm-mc Add an instruction deprecation feature to TableGen. 2013-09-12 10:28:05 +00:00
llvm-mcmarkup
llvm-nm Revert "Encapsulate PassManager debug flags to avoid static init and cxa_exit." 2013-09-19 06:02:43 +00:00
llvm-objdump Remove several unused variables. 2013-10-01 13:32:03 +00:00
llvm-readobj [Mips] Teach llvm-readobj to print MIPS-specific ELF program headers. 2013-10-07 08:58:27 +00:00
llvm-rtdyld This threads SectionName through the allocateCodeSection/allocateDataSection APIs, both in C++ and C land. 2013-10-02 00:59:25 +00:00
llvm-shlib Rules adjustments in order to build on DragonFly BSD. 2013-10-31 14:35:00 +00:00
llvm-size
llvm-stress Revert "Encapsulate PassManager debug flags to avoid static init and cxa_exit." 2013-09-19 06:02:43 +00:00
llvm-symbolizer llvm-symbolizer: don't always run demangler on global object names 2013-10-16 09:54:49 +00:00
lto Use LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN instead of the "dso list". 2013-10-31 20:51:58 +00:00
macho-dump Object/COFF: Rename getXXX{Begin,End} -> xxx_{begin,end}. 2013-09-27 21:47:05 +00:00
msbuild vs2013 msbuild integration: add missing .target files, fix typo in CMakeLists 2013-10-14 18:16:37 +00:00
obj2yaml Remove several unused variables. 2013-10-01 13:32:03 +00:00
opt Debug Info: In DIBuilder, the context field of subprogram is updated to use 2013-10-10 18:40:01 +00:00
yaml2obj yaml2coff/elf: Touchup for compatibility. 2013-10-12 21:29:16 +00:00
CMakeLists.txt llvm/tools/llvm-c-test should be built also on msvc. 2013-10-23 17:56:59 +00:00
LLVMBuild.txt Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
Makefile Add llvm-c-test tool for testing llvm-c 2013-10-23 08:10:20 +00:00