This is an archive of the discontinued LLVM Phabricator instance.

[AMDGPU] Simplify VCCZ bug handling
ClosedPublic

Authored by foad on Oct 30 2019, 9:22 AM.

Details

Summary

VCCZBugHandledSet was used to make sure we don't apply the same
workaround more than once to a single cbranch instruction, but it's not
necessary because the workaround involves inserting an s_waitcnt
instruction, which is enough for subsequent iterations to detect that no
further workaround is necessary.

Also beef up the test case to check that the workaround was only applied
once. I have also manually verified that the test still passes even if I
hack the big do-while loop in runOnMachineFunction to run a minimum of
five iterations.

Diff Detail

Event Timeline

foad created this revision.Oct 30 2019, 9:22 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 30 2019, 9:22 AM
arsenm accepted this revision.Oct 30 2019, 9:51 AM

LGTM

This revision is now accepted and ready to land.Oct 30 2019, 9:51 AM
This revision was automatically updated to reflect the committed changes.