[Patch] Kill LDTLSCleanup, let MachineCSE clean up local-dynamic TLS (PR13783)

Hans Wennborg hans at chromium.org
Fri Feb 8 09:40:52 PST 2013


Hi all,

The attached patch attempts to fix PR13783. The idea is to make it
possible for MachineCSE (and cse during sdag construction) to clean up
redundant TLS_base_addr instructions, rather than having a custom pass
do it.

To accomplish this, I have changed TLS_base_addr to define a vreg
rather than placing its result in a physical register, and then expand
to a call and a mov in MC lowering.

I'm not super confident about the codegen parts of LLVM, so please
take a close look.

Thanks,
Hans
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr13783.patch
Type: application/octet-stream
Size: 18134 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130208/2793cc56/attachment.obj>


More information about the llvm-commits mailing list