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

Jakob Stoklund Olesen stoklund at 2pi.dk
Fri Feb 8 09:58:48 PST 2013


On Feb 8, 2013, at 9:40 AM, Hans Wennborg <hans at chromium.org> wrote:

> 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.

Looks good to me.

Are there existing tests checking that CSE is working?

/jakob




More information about the llvm-commits mailing list