This is an archive of the discontinued LLVM Phabricator instance.

AMDGPU: Add support for global variable sections
AbandonedPublic

Authored by tstellarAMD on Nov 12 2015, 2:41 PM.

Details

Reviewers
ruiu

Diff Detail

Event Timeline

tstellarAMD retitled this revision from to AMDGPU: Add support for global variable sections.
tstellarAMD updated this object.
tstellarAMD added a reviewer: ruiu.
tstellarAMD added a subscriber: llvm-commits.
ruiu edited edge metadata.Nov 12 2015, 2:59 PM
ruiu added a subscriber: ruiu.

Before reviewing these patches, I'd like to know your plan about LLD and
AMDGPU suppport. You are adding code to the old LLD, but it's pretty likely
that we'll start handling the new LLD as default for ELF. Can you please
explain your plan? Thanks.

In D14626#288460, @ruiu wrote:

Before reviewing these patches, I'd like to know your plan about LLD and
AMDGPU suppport. You are adding code to the old LLD, but it's pretty likely
that we'll start handling the new LLD as default for ELF. Can you please
explain your plan? Thanks.

HI Rui,

My current plan is to implement the AMD 'code object' format that is understood by the HSA runtime. The code object contains the program ISA and also other information that the GPU needs to execute the code.

This format is relatively simple, it's basically a static archive with program headers and a few other things. Besides the patches I've submitted, I have a few other local patches that I need to clean up and send for review. On my local branch, I have implemented a majority of the features required, and I don't anticipate a lot of major changes after that.
I would really like to get all these patches upstream, just so I have a complete implementation that people can use.

But the question in why in the old lld? The idea is to delete it once
ELF2 catches up, which should be really soon now.

But the question in why in the old lld? The idea is to delete it once
ELF2 catches up, which should be really soon now.

I'm just using old lld because of inertia. I was aware of ELF2, but I didn't really know what the deprecation plan was or when it would be ready, so I just kept working on the existing AMDGPU target that used old ELF.

ruiu added a comment.Nov 13 2015, 10:31 AM

I can probably say that the new LLD is now as ready as the old one for ELF. Especially if you are adding new features, you want to work on the new one because that's where active development is going.

We don't have a deadline or something right now, but it's pretty likely that we'll ask you to port your features to the new one in future if you add that to the old one.

tstellarAMD abandoned this revision.Jan 5 2016, 10:41 AM

I've sent a patch adding AMDGPU support to new ELF.