From 588bd7be366620d2319d349f7665b503d7840f45 Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Wed, 15 Apr 2020 14:37:31 -0400 Subject: [PATCH] AMDGPU/GlobalISel: Work around a selector crash Ideally types without a corresponding register class wouldn't reach here, but we're currently missing some (in particular a 192-bit class is missing). --- llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp b/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp index a52816d..f1bb8f3 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp @@ -1627,6 +1627,8 @@ bool AMDGPUInstructionSelector::selectG_TRUNC(MachineInstr &I) const { = TRI.getRegClassForSizeOnBank(SrcSize, *SrcRB, *MRI); const TargetRegisterClass *DstRC = TRI.getRegClassForSizeOnBank(DstSize, *DstRB, *MRI); + if (!SrcRC || !DstRC) + return false; if (!RBI.constrainGenericRegister(SrcReg, *SrcRC, *MRI) || !RBI.constrainGenericRegister(DstReg, *DstRC, *MRI)) { -- 2.7.4