R600/SI: Convert v16i8 resource descriptors to i128
authorTom Stellard <thomas.stellard@amd.com>
Wed, 14 Aug 2013 23:24:45 +0000 (23:24 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Wed, 14 Aug 2013 23:24:45 +0000 (23:24 +0000)
commit68db37b952be497c94c7aa98cf26f3baadb5afd3
tree4663c3378f43dae71aed33624b8caecc327fe29b
parent34f505e227b785e7ac935a7fa8b47062a6cbb3c6
R600/SI: Convert v16i8 resource descriptors to i128

Now that compute support is better on SI, we can't continue using v16i8
for descriptors since this is also a legal type in OpenCL.

This patch fixes numerous hangs with the piglit OpenCL test and since
we now use a target specific DAG node for LOAD_CONSTANT with the
correct MemOperandFlags, this should also fix:

https://bugs.freedesktop.org/show_bug.cgi?id=66805

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188429 91177308-0d34-0410-b5e6-96231b3b80d8
14 files changed:
lib/Target/R600/AMDGPU.h
lib/Target/R600/AMDGPUISelLowering.cpp
lib/Target/R600/AMDGPUISelLowering.h
lib/Target/R600/AMDGPUTargetMachine.cpp
lib/Target/R600/CMakeLists.txt
lib/Target/R600/SIISelLowering.cpp
lib/Target/R600/SIISelLowering.h
lib/Target/R600/SIInstrInfo.td
lib/Target/R600/SIInstructions.td
lib/Target/R600/SIIntrinsics.td
lib/Target/R600/SIRegisterInfo.td
lib/Target/R600/SITypeRewriter.cpp [new file with mode: 0644]
test/CodeGen/R600/llvm.SI.sample.ll
test/CodeGen/R600/llvm.SI.sampled.ll