This is an archive of the discontinued LLVM Phabricator instance.

[PowerPC][PCRelative] Thread Local Storage Support for Local Dynamic
ClosedPublic

Authored by NeHuang on Sep 15 2020, 1:38 PM.

Details

Summary

This patch is the initial support for the Local Dynamic Thread Local Storage model to produce code sequence and relocation correct
to the ABI for the model when using PC relative memory operations.

Diff Detail

Event Timeline

NeHuang created this revision.Sep 15 2020, 1:38 PM
NeHuang requested review of this revision.Sep 15 2020, 1:38 PM
kamaub added a subscriber: kamaub.Sep 20 2020, 4:05 PM
stefanp accepted this revision.Sep 21 2020, 2:09 PM

You can probably merge pcrel-tls-local-dynamic-address-load-reloc.s and pcrel-tls-local-dynamic-value-load-reloc.s.
They are short test cases and they are testing almost exactly the same thing.

I think you can address these nits on review. LGTM.

llvm/test/CodeGen/PowerPC/pcrel-tls-local-dynamic.ll
6

Consider using --no-show-raw-insn for the objdumps.
We are not checking the instruction encoding.

This revision is now accepted and ready to land.Sep 21 2020, 2:09 PM
amyk added a subscriber: amyk.Sep 22 2020, 4:41 PM
amyk added inline comments.
llvm/lib/Target/PowerPC/PPCISelLowering.h
385

nit: s/produces an PADDI8/produces a PADDI8

NeHuang updated this revision to Diff 293809.Sep 23 2020, 11:17 AM

Addressed nits in the implementation and test cases.

This revision was landed with ongoing or failed builds.Sep 23 2020, 11:50 AM
This revision was automatically updated to reflect the committed changes.