This is an archive of the discontinued LLVM Phabricator instance.

AMDGPU: Consider memory dependencies with moved instructions in SILoadStoreOptimizer
ClosedPublic

Authored by nhaehnle on Nov 21 2017, 6:41 AM.

Details

Summary

This bug seems to have gone unnoticed because critical cases with LDS
instructions are eliminated by the peephole optimizer.

However, equivalent situations arise with buffer loads and stores
as well, so this fixes regressions since r317751 ("AMDGPU: Merge
S_BUFFER_LOAD_DWORD_IMM into x2, x4").

Fixes at least:
KHR-GL45.shader_storage_buffer_object.basic-operations-case1-cs
KHR-GL45.cull_distance.functional
... and probably more

Change-Id: I0e371536288eb8e6afeaa241a185266fd45d129d

Diff Detail

Repository
rL LLVM

Event Timeline

nhaehnle created this revision.Nov 21 2017, 6:41 AM
mareko accepted this revision.Nov 21 2017, 8:57 AM

LGTM.

This revision is now accepted and ready to land.Nov 21 2017, 8:57 AM
This revision was automatically updated to reflect the committed changes.