This is an archive of the discontinued LLVM Phabricator instance.

AMDGPU: Fix breaking SMEM clauses
ClosedPublic

Authored by arsenm on Nov 16 2017, 3:58 PM.

Details

Reviewers
rampitec
Summary

This was completely ignoring subregisters,
so was not very useful. Also only break them
if xnack is actually enabled.

Diff Detail

Event Timeline

arsenm created this revision.Nov 16 2017, 3:58 PM
This revision is now accepted and ready to land.Nov 16 2017, 4:02 PM
t-tye added inline comments.Nov 16 2017, 7:06 PM
lib/Target/AMDGPU/GCNHazardRecognizer.cpp
280

Can implicit operands be registers? Is the only such case M0 which can never be modified. So probably not?

arsenm added inline comments.Nov 16 2017, 7:19 PM
lib/Target/AMDGPU/GCNHazardRecognizer.cpp
280

Implicit operands are only registers. In this case it could only be operands that aren't actually read or written by the instruction, but something added them for modeling some other constraint.

rampitec added inline comments.Nov 16 2017, 7:21 PM
lib/Target/AMDGPU/GCNHazardRecognizer.cpp
280

We can impdef VCC, but I do not believe it has anything to do with the clauses.

arsenm closed this revision.Nov 16 2017, 8:18 PM

r318505