llvm-6502/include/llvm
Chih-Hung Hsieh dc73dc09f1 Implement target independent TLS compatible with glibc's emutls.c.
The 'common' section TLS is not implemented.
Current C/C++ TLS variables are not placed in common section.
DWARF debug info to get the address of TLS variables is not generated yet.

clang and driver changes in http://reviews.llvm.org/D10524

  Added -femulated-tls flag to select the emulated TLS model,
  which will be used for old targets like Android that do not
  support ELF TLS models.

Added TargetLowering::LowerToTLSEmulatedModel as a target-independent
function to convert a SDNode of TLS variable address to a function call
to __emutls_get_address.

Added into lib/Target/*/*ISelLowering.cpp to call LowerToTLSEmulatedModel
for TLSModel::Emulated. Although all targets supporting ELF TLS models are
enhanced, emulated TLS model has been tested only for Android ELF targets.
Modified AsmPrinter.cpp to print the emutls_v.* and emutls_t.* variables for
emulated TLS variables.
Modified DwarfCompileUnit.cpp to skip some DIE for emulated TLS variabls.

TODO: Add proper DIE for emulated TLS variables.
      Added new unit tests with emulated TLS.

Differential Revision: http://reviews.llvm.org/D10522


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243438 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-28 16:24:05 +00:00
..
ADT Adding ADT SortedVector; client patch will follow. 2015-07-28 06:04:00 +00:00
Analysis [LVI] Cleanup whitespaces. NFC 2015-07-28 15:53:21 +00:00
AsmParser AsmParser: Add a function to parse a standalone constant value. 2015-07-17 22:07:03 +00:00
Bitcode Reserve some constant values for the Swift calling convention. 2015-07-28 04:05:45 +00:00
CodeGen Implement target independent TLS compatible with glibc's emutls.c. 2015-07-28 16:24:05 +00:00
Config [Support] Lazy load of dbghlp.dll on Windows 2015-07-02 14:34:57 +00:00
DebugInfo Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
ExecutionEngine Fix -Wextra-semi warnings. 2015-07-22 20:46:11 +00:00
IR Implement __builtin_thread_pointer 2015-07-28 13:03:31 +00:00
IRReader Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
LibDriver
LineEditor Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Linker Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
LTO Teach LTOModule to emit linker flags for dllexported symbols, plus interface cleanup. 2015-06-29 22:04:09 +00:00
MC Implement target independent TLS compatible with glibc's emutls.c. 2015-07-28 16:24:05 +00:00
Object Delete dead code. 2015-07-23 13:42:16 +00:00
Option Add Arg::getValues method with const 'this' and const result 2015-06-25 18:48:26 +00:00
Passes Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
ProfileData
Support Summary: 2015-07-28 16:18:17 +00:00
TableGen [TableGen] Change a couple methods to return an ArrayRef instead of a const std::vector reference. NFC 2015-07-06 06:23:01 +00:00
Target Implement target independent TLS compatible with glibc's emutls.c. 2015-07-28 16:24:05 +00:00
Transforms [LDist][LVer] Explicitly pass the set of memchecks to LoopVersioning, NFC 2015-07-28 05:01:53 +00:00
CMakeLists.txt
InitializePasses.h Create a wrapper pass for BranchProbabilityInfo. 2015-07-15 22:48:29 +00:00
LinkAllIR.h
LinkAllPasses.h Don't change the visibility when converting a definition to a declaration. 2015-07-13 14:18:22 +00:00
module.modulemap Add Value.def to the list of textual includes, excluding it from the modules build. 2015-06-26 20:16:44 +00:00
module.modulemap.build
Pass.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
PassAnalysisSupport.h Doxygen-ify a few comments. NFC 2015-06-25 15:06:47 +00:00
PassInfo.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
PassRegistry.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
PassSupport.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00