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 CorrelatedPropagation: BasicBlock::removePredecessor can simplify PHI nodes. If the it's the condition of a SwitchInst, reload it. 2012-09-28 10:42:50 +00:00
DeadArgElim Fix PR14016. 2012-10-09 08:13:15 +00:00
DeadStoreElimination
EarlyCSE New EarlyCSE tests for CSE-ing across commutativity. 2012-10-09 16:58:13 +00:00
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 Fix SCEV cache invalidation in LCSSA and LoopSimplify. 2012-10-26 17:31:43 +00:00
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 Change the internalize pass to internalize all symbols when given an empty 2012-10-26 18:47:48 +00:00
IPConstantProp
JumpThreading Add a test case for PR14233. 2012-11-01 10:26:36 +00:00
LCSSA
LICM Set %defaultjit to use MCJIT for PowerPC targets. 2012-10-30 18:07:58 +00:00
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 getSmallConstantTripMultiple should never return zero. 2012-10-24 19:46:44 +00:00
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 In my recent change to avoid use of underaligned memory I didn't notice that 2012-10-04 13:53:21 +00:00
MergeFunc
MetaRenamer
ObjCARC
PhaseOrdering Add test case for r164850. 2012-09-29 00:12:08 +00:00
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 Fix PR14212: For some strange reason I treated vectors differently from 2012-10-30 20:52:40 +00:00
StripSymbols
TailCallElim Revert r166407 because it caused analyzer tests to crash and broke self-host bots. 2012-10-22 18:16:14 +00:00
TailDup