diff options
| author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2016-01-11 21:18:33 +0000 |
|---|---|---|
| committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2016-01-11 21:18:33 +0000 |
| commit | 800fecf9de04850d44b8c35f2f5208952996aa75 (patch) | |
| tree | 996ac342f6a0f5042cec5820127631c50d696ef3 /llvm/lib/Target/AMDGPU/SIISelLowering.cpp | |
| parent | 30bd60785b1243eb6642721f9e50ca9cb0cef754 (diff) | |
| download | bcm5719-llvm-800fecf9de04850d44b8c35f2f5208952996aa75.tar.gz bcm5719-llvm-800fecf9de04850d44b8c35f2f5208952996aa75.zip | |
AMDGPU: Fix crash with dispatch.ptr intrinsic with non-HSA target
It might be better to let this be a select failure instead.
llvm-svn: 257386
Diffstat (limited to 'llvm/lib/Target/AMDGPU/SIISelLowering.cpp')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp index e85d78a69ee..c251752bb0d 100644 --- a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp +++ b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp @@ -1157,6 +1157,13 @@ SDValue SITargetLowering::LowerINTRINSIC_WO_CHAIN(SDValue Op, switch (IntrinsicID) { case Intrinsic::amdgcn_dispatch_ptr: + if (!Subtarget->isAmdHsaOS()) { + DiagnosticInfoUnsupported BadIntrin(*MF.getFunction(), + "hsa intrinsic without hsa target"); + DAG.getContext()->diagnose(BadIntrin); + return DAG.getUNDEF(VT); + } + return CreateLiveInRegister(DAG, &AMDGPU::SReg_64RegClass, TRI->getPreloadedValue(MF, SIRegisterInfo::DISPATCH_PTR), VT); |

