OSDN Git Service

AMDGPU: Add new intrinsic llvm.amdgcn.kill(i1)
authorMarek Olsak <marek.olsak@amd.com>
Tue, 24 Oct 2017 10:27:13 +0000 (10:27 +0000)
committerMarek Olsak <marek.olsak@amd.com>
Tue, 24 Oct 2017 10:27:13 +0000 (10:27 +0000)
commit4fda278e9b931e315f571057530842f7e050b8a7
tree86bdc3b523f21ba82c58ef28d501e35af1f8fc88
parent7525c087824ea55f28cac5b23dab8a69382a5c80
AMDGPU: Add new intrinsic llvm.amdgcn.kill(i1)

Summary:
Kill the thread if operand 0 == false.
llvm.amdgcn.wqm.vote can be applied to the operand.

Also allow kill in all shader stages.

Reviewers: arsenm, nhaehnle

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

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@316427 91177308-0d34-0410-b5e6-96231b3b80d8
13 files changed:
include/llvm/IR/IntrinsicsAMDGPU.td
lib/Target/AMDGPU/AMDGPUInstructions.td
lib/Target/AMDGPU/SIISelLowering.cpp
lib/Target/AMDGPU/SIInsertSkips.cpp
lib/Target/AMDGPU/SIInstrInfo.cpp
lib/Target/AMDGPU/SIInstrInfo.h
lib/Target/AMDGPU/SIInstrInfo.td
lib/Target/AMDGPU/SIInstructions.td
lib/Target/AMDGPU/SILowerControlFlow.cpp
lib/Transforms/InstCombine/InstCombineCalls.cpp
test/CodeGen/AMDGPU/insert-skips-kill-uncond.mir
test/CodeGen/AMDGPU/llvm.amdgcn.kill.ll [new file with mode: 0644]
test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll