[PATCH] [PowerPC] Fix __tls_get_addr sequence to avoid register assignment issues
Bill Schmidt
wschmidt at linux.vnet.ibm.com
Mon Feb 9 13:21:34 PST 2015
Once more, with feeling...
Changes from the previous patch:
- Call clobbers are handled by annotating both the GETtlsADDR* and ADDItls*LADDR* instructions with implied defs. This still permits MachineCSE to do its work while preventing the behavior that was breaking the POWER7 bootstrap.
- PPCTLSDynamicCall.cpp now properly repairs live intervals.
- The new PPCTLSDynamicCall pass is now only called if the relocation model is PIC_.
Once again, I've tested various bootstrap scenarios, but would appreciate a sniff test on your POWER7 build. Thanks!
http://reviews.llvm.org/D7491
Files:
lib/Target/PowerPC/CMakeLists.txt
lib/Target/PowerPC/PPC.h
lib/Target/PowerPC/PPCAsmPrinter.cpp
lib/Target/PowerPC/PPCFrameLowering.cpp
lib/Target/PowerPC/PPCISelLowering.cpp
lib/Target/PowerPC/PPCISelLowering.h
lib/Target/PowerPC/PPCInstr64Bit.td
lib/Target/PowerPC/PPCInstrInfo.td
lib/Target/PowerPC/PPCMCInstLower.cpp
lib/Target/PowerPC/PPCTLSDynamicCall.cpp
lib/Target/PowerPC/PPCTargetMachine.cpp
test/CodeGen/PowerPC/retaddr2.ll
test/CodeGen/PowerPC/tls-cse.ll
test/CodeGen/PowerPC/tls-store2.ll
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D7491.19606.patch
Type: text/x-patch
Size: 39079 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150209/e9ce0316/attachment.bin>
More information about the llvm-commits
mailing list