summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AMDGPU/SIISelLowering.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2016-01-11 21:18:33 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2016-01-11 21:18:33 +0000
commit800fecf9de04850d44b8c35f2f5208952996aa75 (patch)
tree996ac342f6a0f5042cec5820127631c50d696ef3 /llvm/lib/Target/AMDGPU/SIISelLowering.cpp
parent30bd60785b1243eb6642721f9e50ca9cb0cef754 (diff)
downloadbcm5719-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.cpp7
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);
OpenPOWER on IntegriCloud