OSDN Git Service

AMDGPU: Fix allocating pseudo-registers
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Mon, 24 Jul 2017 18:06:15 +0000 (18:06 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Mon, 24 Jul 2017 18:06:15 +0000 (18:06 +0000)
There's no need for these to be part of a class since
they are immediately replaced. New unreachable hit in
existing tests.'

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308903 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp
lib/Target/AMDGPU/SIRegisterInfo.td

index 64cceb1..f226a3f 100644 (file)
@@ -297,6 +297,11 @@ void AMDGPUInstPrinter::printRegOperand(unsigned RegNo, raw_ostream &O,
   case AMDGPU::FLAT_SCR_HI:
     O << "flat_scratch_hi";
     return;
+  case AMDGPU::FP_REG:
+  case AMDGPU::SP_REG:
+  case AMDGPU::SCRATCH_WAVE_OFFSET_REG:
+  case AMDGPU::PRIVATE_RSRC_REG:
+    llvm_unreachable("pseudo-register should not ever be emitted");
   default:
     break;
   }
index efbb58d..4049ecd 100644 (file)
@@ -274,8 +274,7 @@ def VGPR_512 : RegisterTuples<[sub0, sub1, sub2, sub3, sub4, sub5, sub6, sub7,
 def SReg_32_XM0_XEXEC : RegisterClass<"AMDGPU", [i32, f32, i16, f16, v2i16, v2f16], 32,
   (add SGPR_32, VCC_LO, VCC_HI, FLAT_SCR_LO, FLAT_SCR_HI,
    TTMP_32, TMA_LO, TMA_HI, TBA_LO, TBA_HI, SRC_SHARED_BASE, SRC_SHARED_LIMIT,
-   SRC_PRIVATE_BASE, SRC_PRIVATE_LIMIT,
-   FP_REG, SP_REG, SCRATCH_WAVE_OFFSET_REG)> {
+   SRC_PRIVATE_BASE, SRC_PRIVATE_LIMIT)> {
   let AllocationPriority = 7;
 }