llvm-6502/lib/MC
Bill Schmidt 349c2787cf This patch implements local-dynamic TLS model support for the 64-bit
PowerPC target.  This is the last of the four models, so we now have 
full TLS support.

This is mostly a straightforward extension of the general dynamic model.
I had to use an additional Chain operand to tie ADDIS_DTPREL_HA to the
register copy following ADDI_TLSLD_L; otherwise everything above the
ADDIS_DTPREL_HA appeared dead and was removed.

As before, there are new test cases to test the assembly generation, and
the relocations output during integrated assembly.  The expected code
gen sequence can be read in test/CodeGen/PowerPC/tls-ld.ll.

There are a couple of things I think can be done more efficiently in the
overall TLS code, so there will likely be a clean-up patch forthcoming;
but for now I want to be sure the functionality is in place.

Bill


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170003 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-12 19:29:35 +00:00
..
MCDisassembler Add C API for specifying CPU to the disassembler. 2012-12-07 23:53:27 +00:00
MCParser
CMakeLists.txt
ELFObjectWriter.cpp Make the contents of encoded sections SmallVector<char, N> instead of 2012-12-07 22:06:56 +00:00
LLVMBuild.txt
MachObjectWriter.cpp
Makefile
MCAsmBackend.cpp
MCAsmInfo.cpp
MCAsmInfoCOFF.cpp
MCAsmInfoDarwin.cpp
MCAsmStreamer.cpp
MCAssembler.cpp Remove the RelaxAll overrule in MCAssembler::fixupNeedsRelaxation, 2012-12-11 17:16:00 +00:00
MCAtom.cpp
MCCodeEmitter.cpp
MCCodeGenInfo.cpp
MCContext.cpp fixed valgrind issues of prior commit, this change applies r169456 changes back to the tree with fixes. on darwin no valgrind issues exist in the tests that used to fail. 2012-12-06 22:12:44 +00:00
MCDisassembler.cpp
MCDwarf.cpp
MCELF.cpp Added Mapping Symbols for ARM ELF 2012-12-07 16:50:23 +00:00
MCELFObjectTargetWriter.cpp
MCELFStreamer.cpp Refactor MCInstFragment and MCDataFragment to adhere to a common interface, 2012-12-07 19:13:57 +00:00
MCExpr.cpp This patch implements local-dynamic TLS model support for the 64-bit 2012-12-12 19:29:35 +00:00
MCInst.cpp
MCInstPrinter.cpp Try to unbreak the build on hosts that don't transitively pull in a definition for int64_t. 2012-12-05 18:31:11 +00:00
MCInstrAnalysis.cpp
MCLabel.cpp
MCMachObjectTargetWriter.cpp
MCMachOStreamer.cpp Refactor MCInstFragment and MCDataFragment to adhere to a common interface, 2012-12-07 19:13:57 +00:00
MCModule.cpp
MCNullStreamer.cpp
MCObjectFileInfo.cpp
MCObjectStreamer.cpp Refactor MCInstFragment and MCDataFragment to adhere to a common interface, 2012-12-07 19:13:57 +00:00
MCObjectWriter.cpp
MCPureStreamer.cpp Refactor MCInstFragment and MCDataFragment to adhere to a common interface, 2012-12-07 19:13:57 +00:00
MCRegisterInfo.cpp
MCSection.cpp
MCSectionCOFF.cpp
MCSectionELF.cpp
MCSectionMachO.cpp
MCStreamer.cpp Defer call to InitSections until after MCContext has been initialized. If 2012-12-10 22:49:11 +00:00
MCSubtargetInfo.cpp
MCSymbol.cpp
MCTargetAsmLexer.cpp
MCValue.cpp
MCWin64EH.cpp
SubtargetFeature.cpp
WinCOFFObjectWriter.cpp
WinCOFFStreamer.cpp Refactor MCInstFragment and MCDataFragment to adhere to a common interface, 2012-12-07 19:13:57 +00:00