llvm-6502/lib
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
..
Analysis Add doInitialization and doFinalization methods to ModulePass's, to allow them to be re-initialized and reused on multiple Module's. 2012-11-15 00:14:15 +00:00
Archive Mark checkSignature const, and in turn stop casting away const from 2012-09-05 22:09:23 +00:00
AsmParser Relax the restrictions on vector of pointer types, and vector getelementptr. 2012-11-13 12:59:33 +00:00
Bitcode Relax the restrictions on vector of pointer types, and vector getelementptr. 2012-11-13 12:59:33 +00:00
CodeGen Add llvm.ceil, llvm.trunc, llvm.rint, llvm.nearbyint intrinsics. 2012-11-15 06:51:10 +00:00
DebugInfo Rewrite DIContext interface to take an object. Update all callers. 2012-11-12 21:40:38 +00:00
ExecutionEngine Remove DOS line endings. 2012-11-14 20:18:34 +00:00
Linker Move the "findUsedStructTypes" functionality outside of the Module class. 2012-08-03 00:30:35 +00:00
MC Emit relocations from .debug_aranges to .debug_info for asm files 2012-11-14 09:55:38 +00:00
Object s/assert/llvm_unreachable/ 2012-11-14 17:58:11 +00:00
Support Add support for SPIR64 target - the 64bit counterpart of SPIR. 2012-11-15 10:35:47 +00:00
TableGen Remove exception handling usage from tblgen. 2012-10-25 20:33:17 +00:00
Target Revert changing FNEG of v4f32 to Expand. It's legal. 2012-11-15 08:09:46 +00:00
Transforms Make GlobalOpt be conservative with TLS variables (PR14309) 2012-11-15 11:40:00 +00:00
VMCore Make GlobalOpt be conservative with TLS variables (PR14309) 2012-11-15 11:40:00 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile