This is an archive of the discontinued LLVM Phabricator instance.

[AMDGPU] Prevent post-RA scheduler from breaking memory clauses
ClosedPublic

Authored by rampitec on Sep 18 2017, 5:38 PM.

Details

Summary

The pre-RA scheduler does load/store clustering, but post-RA
scheduler undoes it. Add mutation to prevent it.

Diff Detail

Repository
rL LLVM

Event Timeline

rampitec created this revision.Sep 18 2017, 5:38 PM
javed.absar added inline comments.
lib/Target/AMDGPU/AMDGPUSubtarget.cpp
531 ↗(On Diff #115765)

It might be neater and easier for future extension to take out definition of MemOpClusterMutation outside of getPostRAMutation.

rampitec updated this revision to Diff 115789.Sep 18 2017, 10:24 PM
rampitec marked an inline comment as done.

Extracted struct from the getPostRAMutations().

vpykhtin accepted this revision.Sep 19 2017, 1:33 PM

LGTM.

lib/Target/AMDGPU/AMDGPUSubtarget.cpp
537 ↗(On Diff #115789)

please add a comment about expected SU order for DAG->SUnits

This revision is now accepted and ready to land.Sep 19 2017, 1:33 PM
rampitec updated this revision to Diff 115895.Sep 19 2017, 1:40 PM
rampitec marked an inline comment as done.

Added comment.

This revision was automatically updated to reflect the committed changes.