This is an archive of the discontinued LLVM Phabricator instance.

[AMDGPU] Refactor FLAT instructions TD definitions
ClosedPublic

Authored by vpykhtin on Aug 31 2016, 5:04 AM.

Details

Summary

Done mostly in the same way as previous. Two issues:

  1. _RTN version of atomics aren't marked with MayLoad, MayStore, is that a typo?
  2. Looks like RTN atomics has two patterns, one inline and one as separate def, is this as intended? What I'm missing here?

Diff Detail

Event Timeline

vpykhtin updated this revision to Diff 69829.Aug 31 2016, 5:04 AM
vpykhtin retitled this revision from to [AMDGPU] Refactor FLAT instructions TD definitions.
vpykhtin updated this object.
vpykhtin set the repository for this revision to rL LLVM.
vpykhtin added projects: Restricted Project, Restricted Project.
vpykhtin added subscribers: nhaustov, kzhuravl.
arsenm edited edge metadata.Aug 31 2016, 10:54 AM

All the atomics should be mayLoad and mayStore. In practice this probably doesn't break much since the atomics are still considered to have an ordered memory ref

artem.tamazov accepted this revision.Sep 1 2016, 2:56 AM
artem.tamazov edited edge metadata.

RTN atomics has two patterns, one inline and one as separate def, is this as intended?

I recommend adding this question as a FIXME comment. We can sort this out later provided that this patch won't break anything.

This revision is now accepted and ready to land.Sep 1 2016, 2:56 AM
vpykhtin updated this revision to Diff 69991.Sep 1 2016, 5:11 AM
vpykhtin edited edge metadata.
vpykhtin removed rL LLVM as the repository for this revision.

rebase, mayLoad = mayStore = 1 for _RTN atomics added.

Tom, can you please run additional testing on this? I would submit it this weekend.

vpykhtin updated this revision to Diff 70182.Sep 2 2016, 10:14 AM

rebase after MIMG commit.

tstellarAMD accepted this revision.Sep 2 2016, 5:48 PM
tstellarAMD edited edge metadata.

OGL/OCL tests pass.

This revision was automatically updated to reflect the committed changes.