This is an archive of the discontinued LLVM Phabricator instance.

[AMDGPU] Better support for VMEM soft clauses in GCNHazardRecognizer
ClosedPublic

Authored by foad on May 4 2020, 12:19 PM.

Details

Summary

VMEM soft clauses only contain VMEM and FLAT instructions. Teaching
GCNHazardRecognizer::checkSoftClauseHazards that other kinds of
instructions will naturally break the clause means there are far fewer
cases where it has to insert an s_nop instruction to forcibly break the
clause.

Diff Detail

Event Timeline

foad created this revision.May 4 2020, 12:19 PM
Herald added a project: Restricted Project. · View Herald TranscriptMay 4 2020, 12:19 PM
This revision is now accepted and ready to land.May 4 2020, 12:27 PM
arsenm added inline comments.May 4 2020, 12:28 PM
llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
523–524

It might be clearer to split this into a breaksSMEMClause(MI) and breaksVMEMClause(MI)

foad updated this revision to Diff 262015.May 5 2020, 12:56 AM

Like this?

arsenm accepted this revision.May 5 2020, 6:29 AM
This revision was automatically updated to reflect the committed changes.