[AMDGPU] Avoid using divergent value in mubuf addr64 descriptor
authorTim Renouf <tpr.llvm@botech.co.uk>
Thu, 2 Aug 2018 22:53:57 +0000 (22:53 +0000)
committerTim Renouf <tpr.llvm@botech.co.uk>
Thu, 2 Aug 2018 22:53:57 +0000 (22:53 +0000)
commitf1c7b92a6a714da858f678f2ec7edd17f177c552
tree1d40c036151e7301e84203de145f618dc2a4aa43
parent666de23fbf99430d4ab24658efbf4228e9215a32
[AMDGPU] Avoid using divergent value in mubuf addr64 descriptor

Summary:
This fixes a problem where a load from global+idx generated incorrect
code on <=gfx7 when the index is divergent.

Subscribers: arsenm, kzhuravl, wdng, nhaehnle, yaxunl, dstuttard, t-tye, llvm-commits

Differential Revision: https://reviews.llvm.org/D47383

Change-Id: Ib4d177d6254b1dd3f8ec0203fdddec94bd8bc5ed
llvm-svn: 338779
llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
llvm/test/CodeGen/AMDGPU/legalize-fp-load-invariant.ll
llvm/test/CodeGen/AMDGPU/llvm.amdgcn.implicitarg.ptr.ll
llvm/test/CodeGen/AMDGPU/llvm.log.f16.ll
llvm/test/CodeGen/AMDGPU/llvm.log10.f16.ll
llvm/test/CodeGen/AMDGPU/shader-addr64-nonuniform.ll [new file with mode: 0644]
llvm/test/CodeGen/AMDGPU/valu-i1.ll