llvm-6502/test/Transforms
Hans Wennborg 1839858983 Make GlobalOpt be conservative with TLS variables (PR14309)
For global variables that get the same value stored into them
everywhere, GlobalOpt will replace them with a constant. The problem is
that a thread-local GlobalVariable looks like one value (the address of
the TLS var), but is different between threads.

This patch introduces Constant::isThreadDependent() which returns true
for thread-local variables and constants which depend on them (e.g. a GEP
into a thread-local array), and teaches GlobalOpt not to track such
values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168037 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-15 11:40:00 +00:00
..
ADCE
ArgumentPromotion
BBVectorize BBVectorize: Don't vectorize vector-manipulation chains 2012-11-13 03:12:40 +00:00
BlockPlacement
BranchFolding
CodeExtractor
CodeGenPrepare
ConstantMerge
ConstProp llvm/ConstantFolding.cpp: Make ReadDataFromGlobal() and FoldReinterpretLoadFromConstPtr() Big-endian-aware. 2012-11-08 20:34:25 +00:00
CorrelatedValuePropagation
DeadArgElim
DeadStoreElimination
EarlyCSE
FunctionAttrs
GlobalDCE
GlobalOpt Make GlobalOpt be conservative with TLS variables (PR14309) 2012-11-15 11:40:00 +00:00
GVN llvm/ConstantFolding.cpp: Make ReadDataFromGlobal() and FoldReinterpretLoadFromConstPtr() Big-endian-aware. 2012-11-08 20:34:25 +00:00
IndVarSimplify
Inline Figure out <size> argument of llvm.lifetime intrinsics at the moment they are created (during function inlining) 2012-11-13 07:15:32 +00:00
InstCombine Remove DOS line endings. 2012-11-14 20:18:34 +00:00
InstSimplify
Internalize
IPConstantProp
JumpThreading Add a test case for PR14233. 2012-11-01 10:26:36 +00:00
LCSSA
LICM
LoopDeletion
LoopIdiom Add a testcase to loop-idiom to cover PR14241 when we start handling 2012-11-02 08:40:24 +00:00
LoopRotate
LoopSimplify
LoopStrengthReduce
LoopUnroll
LoopUnswitch
LoopVectorize Relax the restrictions on vector of pointer types, and vector getelementptr. 2012-11-13 12:59:33 +00:00
LowerAtomic
LowerExpectIntrinsic
LowerInvoke
LowerSwitch
Mem2Reg
MemCpyOpt
MergeFunc
MetaRenamer
ObjCARC
PhaseOrdering
PruneEH
Reassociate Fix a crash observed by Shuxin Yang. The issue here is that LinearizeExprTree, 2012-11-15 09:58:38 +00:00
ScalarRepl
SCCP llvm/ConstantFolding.cpp: Make ReadDataFromGlobal() and FoldReinterpretLoadFromConstPtr() Big-endian-aware. 2012-11-08 20:34:25 +00:00
SimplifyCFG Only do switch-to-lookup table transformation when TargetTransformInfo 2012-11-07 21:35:12 +00:00
SimplifyLibCalls instcombine: Migrate math library call simplifications 2012-11-13 04:16:17 +00:00
Sink
SROA
StripSymbols
TailCallElim
TailDup