This fixes a problem where a load from global+idx generated incorrect
code on <=gfx7 when the index is divergent.
Change-Id: Ib4d177d6254b1dd3f8ec0203fdddec94bd8bc5ed
Paths
| Differential D47383
[AMDGPU] Avoid using divergent value in mubuf addr64 descriptor ClosedPublic Authored by tpr on May 25 2018, 11:33 AM.
Details Summary This fixes a problem where a load from global+idx generated incorrect Change-Id: Ib4d177d6254b1dd3f8ec0203fdddec94bd8bc5ed
Diff Detail
Event TimelineHerald added subscribers: llvm-commits, t-tye, dstuttard and 5 others. · View Herald TranscriptMay 25 2018, 11:33 AM Comment Actions The test seems pretty lacking. There are a lot more combinations of divergent and non-divergent changed here that aren't tested
Comment Actions Thanks. I feel like some of this could perhaps be improved with a computeKnownBits if there is a 64-bit uniform base and a 32-bit non-uniform offset, but that doesn't have to be part of this change.
This revision is now accepted and ready to land.Jul 31 2018, 3:25 AM Closed by commit rL338779: [AMDGPU] Avoid using divergent value in mubuf addr64 descriptor (authored by tpr). · Explain WhyAug 2 2018, 3:54 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 155783 lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
test/CodeGen/AMDGPU/shader-addr64-nonuniform.ll
|
Have you run clang-format on this? It looks a bit off.