llvm-6502/test/Transforms
Rafael Espindola 7e667c56cf 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193800 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-31 20:51:58 +00:00
..
ADCE
ArgumentPromotion
BBVectorize Prevent LoopVectorizer and SLPVectorizer running if the target has no vector registers. 2013-09-18 12:43:35 +00:00
BranchFolding
CodeExtractor
CodeGenPrepare
ConstantMerge
ConstProp
CorrelatedValuePropagation
DeadArgElim Fix a bug in Dead Argument Elimination. 2013-10-09 17:21:44 +00:00
DeadStoreElimination
DebugIR Use right pointer type in DebugIR 2013-09-27 22:26:25 +00:00
EarlyCSE
FunctionAttrs
GCOVProfiling Debug Info Testing: update context from empty string to null. 2013-09-08 03:11:54 +00:00
GlobalDCE
GlobalOpt Quote potential shell expansions found in tests 2013-10-28 23:37:45 +00:00
GVN Fix GVN creating bitcast between address spaces 2013-10-30 19:05:41 +00:00
IndVarSimplify Fix a bug in LinearFunctionTestReplace that created invalid loop exit checks. 2013-10-24 05:29:56 +00:00
Inline Inliner: Handle readonly attribute per argument when adding memcpy 2013-10-24 16:38:33 +00:00
InstCombine Change objectsize intrinsic to accept different address spaces. 2013-10-07 18:06:48 +00:00
InstSimplify Add a test that large offsets on GEPs on 32 bits targets are handled correctly. 2013-09-28 21:27:49 +00:00
Internalize Use LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN instead of the "dso list". 2013-10-31 20:51:58 +00:00
IPConstantProp
JumpThreading Don't eliminate a partially redundant load if it's in a landing pad. 2013-10-21 04:09:17 +00:00
LCSSA
LICM Debug Info: In DIBuilder, the derived-from field of a DW_TAG_pointer_type 2013-10-05 01:43:03 +00:00
LoopDeletion
LoopIdiom Teach loop-idiom about address space pointer sizes 2013-09-11 05:09:42 +00:00
LoopRotate
LoopSimplify UpdatePHINodes in BasicBlockUtils should not crash on duplicate predecessors 2013-10-04 23:41:05 +00:00
LoopStrengthReduce Fix "existant" typos 2013-10-29 02:35:28 +00:00
LoopUnroll Implement TTI getUnrollingPreferences for PowerPC 2013-09-11 21:20:40 +00:00
LoopUnswitch
LoopVectorize ARM cost model: Unaligned vectorized double stores are expensive 2013-10-29 01:33:57 +00:00
LowerAtomic
LowerExpectIntrinsic
LowerInvoke
LowerSwitch Revert patches to add case-range support for PR1255. 2013-09-09 19:14:35 +00:00
Mem2Reg
MemCpyOpt
MergeFunc Don't merge tiny functions. 2013-10-01 18:05:30 +00:00
MetaRenamer
ObjCARC Debug Info Testing: update context from empty string to null. 2013-09-08 03:11:54 +00:00
PhaseOrdering
PruneEH
Reassociate
Reg2Mem
ScalarRepl Teach scalarrepl about address spaces 2013-10-30 22:54:58 +00:00
SCCP
SimplifyCFG SimplifyCFG: Don't duplicate calls to functions marked noduplicate v2 2013-10-21 20:07:30 +00:00
Sink
SLPVectorizer Add llvm/test/Transforms/SLPVectorizer/ARM/lit.local.cfg. Tests there require ARM in targets. 2013-10-29 02:46:00 +00:00
SROA SROA: Handle casts involving vectors of pointers and integer scalars. 2013-09-21 20:36:04 +00:00
StripSymbols
StructurizeCFG StructurizeCFG: Add dependency on LowerSwitch pass 2013-10-02 17:04:59 +00:00
TailCallElim
TailDup