llvm-6502/include/llvm
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
..
ADT Add support for SPIR64 target - the 64bit counterpart of SPIR. 2012-11-15 10:35:47 +00:00
Analysis Add a cost model analysis that allows us to estimate the cost of IR-level instructions. 2012-11-02 21:48:17 +00:00
Assembly
Bitcode
CodeGen Fix comment 2012-11-14 19:17:44 +00:00
Config llvm/Config/config.h.cmake: Good bye, Kevin! We won't honor authors in comments. 2012-10-29 16:07:28 +00:00
DebugInfo Rewrite DIContext interface to take an object. Update all callers. 2012-11-12 21:40:38 +00:00
ExecutionEngine Fix comment. 2012-11-14 20:21:29 +00:00
MC Add ARM TARGET2 relocation. The testcase will follow with actualy use-case. 2012-11-09 20:20:12 +00:00
Object Adding changes to support GNU style archive library reading 2012-11-13 18:38:42 +00:00
Support Add (some) PowerPC TLS relocation types to ELF.h and 2012-11-13 19:24:36 +00:00
TableGen Remove exception handling usage from tblgen. 2012-10-25 20:33:17 +00:00
Target Use TARGET2 relocation for TType references on ARM. 2012-11-14 01:47:00 +00:00
Transforms instcombine: Migrate math library call simplifications 2012-11-13 04:16:17 +00:00
AddressingMode.h
Argument.h
Attributes.h Change ForceSizeOpt attribute into MinSize attribute 2012-10-30 16:32:52 +00:00
AutoUpgrade.h
BasicBlock.h
CallGraphSCCPass.h
CallingConv.h
CMakeLists.txt
Constant.h Make GlobalOpt be conservative with TLS variables (PR14309) 2012-11-15 11:40:00 +00:00
Constants.h In various places throughout the code generator, there were special 2012-10-29 18:35:49 +00:00
DataLayout.h Revert some redundant parts of r142605. 2012-11-14 09:04:56 +00:00
DebugInfo.h Revert "Use the 'count' attribute instead of the 'upper_bound' attribute." 2012-11-13 23:30:43 +00:00
DefaultPasses.h
DerivedTypes.h
DIBuilder.h Revert "Use the 'count' attribute instead of the 'upper_bound' attribute." 2012-11-13 23:30:43 +00:00
Function.h
GlobalAlias.h
GlobalValue.h
GlobalVariable.h
GVMaterializer.h
InitializePasses.h Add a cost model analysis that allows us to estimate the cost of IR-level instructions. 2012-11-02 21:48:17 +00:00
InlineAsm.h [inline asm] Implement mayLoad and mayStore for inline assembly. In general, 2012-10-30 19:11:54 +00:00
InstrTypes.h Revert the series of commits starting with r166578 which introduced the 2012-11-01 08:07:29 +00:00
Instruction.def
Instruction.h
Instructions.h Add a getAddressSpace method to the GEP instruction to mirror that of 2012-11-01 11:25:55 +00:00
IntrinsicInst.h va_start, va_end, va_copy: InstrinsicInst subclasses and InstVisitor support. 2012-10-29 09:39:03 +00:00
Intrinsics.h
Intrinsics.td Add llvm.ceil, llvm.trunc, llvm.rint, llvm.nearbyint intrinsics. 2012-11-15 06:51:10 +00:00
IntrinsicsARM.td
IntrinsicsHexagon.td
IntrinsicsMips.td
IntrinsicsNVVM.td
IntrinsicsPowerPC.td
IntrinsicsX86.td Add support of RTM from TSX extension 2012-11-08 07:28:54 +00:00
IntrinsicsXCore.td
IRBuilder.h Add IRBuilderBase::getIntPtrTy. 2012-10-31 09:50:01 +00:00
LinkAllPasses.h Add a cost model analysis that allows us to estimate the cost of IR-level instructions. 2012-11-02 21:48:17 +00:00
LinkAllVMCore.h
Linker.h
LLVMContext.h
MDBuilder.h
Metadata.h
Module.h
OperandTraits.h
Operator.h Make ~Operator() protected so subclasses can inherit it and not have 2012-10-24 19:17:42 +00:00
Pass.h 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
PassAnalysisSupport.h
PassManager.h 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
PassManagers.h 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
PassRegistry.h
PassSupport.h
SymbolTableListTraits.h
TargetTransformInfo.h CostModel: add support for Vector Insert and Extract. 2012-11-02 22:31:56 +00:00
Type.h Teach Type::getPointerAddressSpace to look through pointer vectors 2012-11-01 09:37:49 +00:00
TypeBuilder.h
TypeFinder.h
Use.h
User.h
Value.h
ValueSymbolTable.h