llvm-6502/include/llvm/MC
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
..
MCParser Make header parse standalone. NFC. 2015-06-26 19:04:11 +00:00
ConstantPools.h
MachineLocation.h
MCAsmBackend.h
MCAsmInfo.h
MCAsmInfoCOFF.h
MCAsmInfoDarwin.h
MCAsmInfoELF.h
MCAsmLayout.h
MCAssembler.h
MCCodeEmitter.h
MCCodeGenInfo.h
MCContext.h Rename llvm.frameescape and llvm.framerecover to localescape and localrecover 2015-07-07 22:25:32 +00:00
MCDirectives.h
MCDisassembler.h
MCDwarf.h MC: Shrink MCDwarfLoc/MCLineEntry 2015-07-10 23:55:34 +00:00
MCELFObjectWriter.h
MCELFStreamer.h
MCExpr.h
MCExternalSymbolizer.h
MCFixedLenDisassembler.h [TableGen] Improve decoding options for non-orthogonal instructions 2015-07-15 08:04:27 +00:00
MCFixup.h
MCFixupKindInfo.h
MCInst.h
MCInstBuilder.h
MCInstPrinter.h
MCInstrAnalysis.h
MCInstrDesc.h MC: Constify MCSubtargetInfo in getDeprecationInfo(), NFC 2015-07-08 17:30:55 +00:00
MCInstrInfo.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MCInstrItineraries.h
MCLabel.h MC: Tidy up formatting a bit. NFC. 2015-06-01 23:55:02 +00:00
MCLinkerOptimizationHint.h Fix -Wextra-semi warnings. 2015-07-22 20:46:11 +00:00
MCMachObjectWriter.h
MCObjectFileInfo.h Implement target independent TLS compatible with glibc's emutls.c. 2015-07-28 16:24:05 +00:00
MCObjectStreamer.h
MCObjectWriter.h
MCRegisterInfo.h
MCRelocationInfo.h
MCSchedule.h ARM: Enable MachineScheduler and disable PostRAScheduler for swift. 2015-07-17 23:18:30 +00:00
MCSection.h
MCSectionCOFF.h
MCSectionELF.h Store whether a symbol is a comdat signature in MCSymbolELF. 2015-06-03 21:41:59 +00:00
MCSectionMachO.h
MCStreamer.h [X86] Add .intel_syntax noprefix directive to intel-syntax x86 asm output 2015-07-22 10:49:44 +00:00
MCSubtargetInfo.h MC: Only allow changing feature bits in MCSubtargetInfo 2015-07-10 22:52:15 +00:00
MCSymbol.h [MC] Switch static const to an enum to silence MSVC linker warnings 2015-07-10 21:50:04 +00:00
MCSymbolCOFF.h
MCSymbolELF.h
MCSymbolizer.h
MCSymbolMachO.h Fix include guard typo introduced in r239315. 2015-07-11 09:40:28 +00:00
MCTargetAsmParser.h [llvm-mc] Pushing plumbing through for --fatal-warnings flag. 2015-07-27 21:56:53 +00:00
MCTargetOptions.h [llvm-mc] Add --no-warn flag with -W alias to disable outputting warnings while assembling. 2015-07-27 22:39:14 +00:00
MCTargetOptionsCommandFlags.h [llvm-mc] Add --no-warn flag with -W alias to disable outputting warnings while assembling. 2015-07-27 22:39:14 +00:00
MCValue.h
MCWin64EH.h
MCWinCOFFObjectWriter.h
MCWinCOFFStreamer.h
MCWinEH.h
SectionKind.h
StringTableBuilder.h
SubtargetFeature.h Bump the size of FeatureBitset up to 96-bits. 2015-07-21 01:39:22 +00:00
YAML.h