More dead code removal (using -Wunreachable-code)
[oota-llvm.git] / lib / Target / PTX / InstPrinter / PTXInstPrinter.cpp
index a2743487888e896f5971124049436b4b8aba9819..815c503efb9ecfdf5da7ae296c7ba01db78792e0 100644 (file)
@@ -39,32 +39,45 @@ StringRef PTXInstPrinter::getOpcodeName(unsigned Opcode) const {
 
 void PTXInstPrinter::printRegName(raw_ostream &OS, unsigned RegNo) const {
   // Decode the register number into type and offset
-  unsigned RegType   = RegNo & 0xF;
-  unsigned RegOffset = RegNo >> 4;
+  unsigned RegSpace  = RegNo & 0x7;
+  unsigned RegType   = (RegNo >> 3) & 0x7;
+  unsigned RegOffset = RegNo >> 6;
 
   // Print the register
   OS << "%";
 
-  switch (RegType) {
+  switch (RegSpace) {
   default:
-    llvm_unreachable("Unknown register type!");
-  case PTXRegisterType::Pred:
-    OS << "p";
-    break;
-  case PTXRegisterType::B16:
-    OS << "rh";
-    break;
-  case PTXRegisterType::B32:
-    OS << "r";
-    break;
-  case PTXRegisterType::B64:
-    OS << "rd";
+    llvm_unreachable("Unknown register space!");
+  case PTXRegisterSpace::Reg:
+    switch (RegType) {
+    default:
+      llvm_unreachable("Unknown register type!");
+    case PTXRegisterType::Pred:
+      OS << "p";
+      break;
+    case PTXRegisterType::B16:
+      OS << "rh";
+      break;
+    case PTXRegisterType::B32:
+      OS << "r";
+      break;
+    case PTXRegisterType::B64:
+      OS << "rd";
+      break;
+    case PTXRegisterType::F32:
+      OS << "f";
+      break;
+    case PTXRegisterType::F64:
+      OS << "fd";
+      break;
+    }
     break;
-  case PTXRegisterType::F32:
-    OS << "f";
+  case PTXRegisterSpace::Return:
+    OS << "ret";
     break;
-  case PTXRegisterType::F64:
-    OS << "fd";
+  case PTXRegisterSpace::Argument:
+    OS << "arg";
     break;
   }
 
@@ -202,7 +215,6 @@ void PTXInstPrinter::printRoundingMode(const MCInst *MI, unsigned OpNo,
     llvm_unreachable("Unknown rounding mode!");
   case PTXRoundingMode::RndDefault:
     llvm_unreachable("FP rounding-mode pass did not handle instruction!");
-    break;
   case PTXRoundingMode::RndNone:
     // Do not print anything.
     break;