AMDGPU: Lower buffer store and atomic intrinsics manually
authorMarek Olsak <marek.olsak@amd.com>
Thu, 9 Nov 2017 01:52:48 +0000 (01:52 +0000)
committerMarek Olsak <marek.olsak@amd.com>
Thu, 9 Nov 2017 01:52:48 +0000 (01:52 +0000)
commit5cec64195ceea262f86ae3d305607eb4e7840d88
tree5d099f28db7c62a8b4d7d6977301f952ac46687a
parent4c421a2db26753e771ca3676053352516e55e2c7
AMDGPU: Lower buffer store and atomic intrinsics manually

Summary:
Without this, SIMemoryLegalizer inserts s_waitcnt vmcnt(0) before every
buffer store and atomic instruction.

Reviewers: arsenm, nhaehnle

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

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

llvm-svn: 317754
llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
llvm/lib/Target/AMDGPU/BUFInstructions.td
llvm/lib/Target/AMDGPU/SIISelLowering.cpp
llvm/lib/Target/AMDGPU/SIInstrInfo.td
llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.atomic.ll
llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.store.format.ll
llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.store.ll
llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.atomic.ll
llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.ll
llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.waitcnt.ll