[llvm] r328411 - [X86] Remove an unnecessary switch around two other switches. NFC

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Sat Mar 24 00:15:45 PDT 2018


Author: ctopper
Date: Sat Mar 24 00:15:45 2018
New Revision: 328411

URL: http://llvm.org/viewvc/llvm-project?rev=328411&view=rev
Log:
[X86] Remove an unnecessary switch around two other switches. NFC

The outer switch only had one valid block so didn't provide any value.

Modified:
    llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp

Modified: llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp?rev=328411&r1=328410&r2=328411&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp (original)
+++ llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp Sat Mar 24 00:15:45 2018
@@ -702,79 +702,64 @@ void RecognizableInstr::emitDecodePath(D
   case X86Local::MRM_##from:
 
   llvm::Optional<OpcodeType> opcodeType;
-
-  ModRMFilter*  filter      = nullptr;
-  uint8_t       opcodeToSet = 0;
-
   switch (OpMap) {
   default: llvm_unreachable("Invalid map!");
-  case X86Local::OB:
-  case X86Local::TB:
-  case X86Local::T8:
-  case X86Local::TA:
-  case X86Local::XOP8:
-  case X86Local::XOP9:
-  case X86Local::XOPA:
-  case X86Local::ThreeDNow:
-    switch (OpMap) {
-    default: llvm_unreachable("Unexpected map!");
-    case X86Local::OB:        opcodeType = ONEBYTE;      break;
-    case X86Local::TB:        opcodeType = TWOBYTE;      break;
-    case X86Local::T8:        opcodeType = THREEBYTE_38; break;
-    case X86Local::TA:        opcodeType = THREEBYTE_3A; break;
-    case X86Local::XOP8:      opcodeType = XOP8_MAP;     break;
-    case X86Local::XOP9:      opcodeType = XOP9_MAP;     break;
-    case X86Local::XOPA:      opcodeType = XOPA_MAP;     break;
-    case X86Local::ThreeDNow: opcodeType = TWOBYTE;      break;
-    }
-
-    switch (Form) {
-    default: llvm_unreachable("Invalid form!");
-    case X86Local::Pseudo: llvm_unreachable("Pseudo should not be emitted!");
-    case X86Local::RawFrm:
-    case X86Local::AddRegFrm:
-    case X86Local::RawFrmMemOffs:
-    case X86Local::RawFrmSrc:
-    case X86Local::RawFrmDst:
-    case X86Local::RawFrmDstSrc:
-    case X86Local::RawFrmImm8:
-    case X86Local::RawFrmImm16:
-      filter = new DumbFilter();
-      break;
-    case X86Local::MRMDestReg:
-    case X86Local::MRMSrcReg:
-    case X86Local::MRMSrcReg4VOp3:
-    case X86Local::MRMSrcRegOp4:
-    case X86Local::MRMXr:
-      filter = new ModFilter(true);
-      break;
-    case X86Local::MRMDestMem:
-    case X86Local::MRMSrcMem:
-    case X86Local::MRMSrcMem4VOp3:
-    case X86Local::MRMSrcMemOp4:
-    case X86Local::MRMXm:
-      filter = new ModFilter(false);
-      break;
-    case X86Local::MRM0r:      case X86Local::MRM1r:
-    case X86Local::MRM2r:      case X86Local::MRM3r:
-    case X86Local::MRM4r:      case X86Local::MRM5r:
-    case X86Local::MRM6r:      case X86Local::MRM7r:
-      filter = new ExtendedFilter(true, Form - X86Local::MRM0r);
-      break;
-    case X86Local::MRM0m:      case X86Local::MRM1m:
-    case X86Local::MRM2m:      case X86Local::MRM3m:
-    case X86Local::MRM4m:      case X86Local::MRM5m:
-    case X86Local::MRM6m:      case X86Local::MRM7m:
-      filter = new ExtendedFilter(false, Form - X86Local::MRM0m);
-      break;
-    X86_INSTR_MRM_MAPPING
-      filter = new ExactFilter(0xC0 + Form - X86Local::MRM_C0);   \
-      break;
-    } // switch (Form)
-
-    opcodeToSet = Opcode;
+  case X86Local::OB:        opcodeType = ONEBYTE;      break;
+  case X86Local::TB:        opcodeType = TWOBYTE;      break;
+  case X86Local::T8:        opcodeType = THREEBYTE_38; break;
+  case X86Local::TA:        opcodeType = THREEBYTE_3A; break;
+  case X86Local::XOP8:      opcodeType = XOP8_MAP;     break;
+  case X86Local::XOP9:      opcodeType = XOP9_MAP;     break;
+  case X86Local::XOPA:      opcodeType = XOPA_MAP;     break;
+  case X86Local::ThreeDNow: opcodeType = TWOBYTE;      break;
+  }
+
+  ModRMFilter *filter = nullptr;
+  switch (Form) {
+  default: llvm_unreachable("Invalid form!");
+  case X86Local::Pseudo: llvm_unreachable("Pseudo should not be emitted!");
+  case X86Local::RawFrm:
+  case X86Local::AddRegFrm:
+  case X86Local::RawFrmMemOffs:
+  case X86Local::RawFrmSrc:
+  case X86Local::RawFrmDst:
+  case X86Local::RawFrmDstSrc:
+  case X86Local::RawFrmImm8:
+  case X86Local::RawFrmImm16:
+    filter = new DumbFilter();
+    break;
+  case X86Local::MRMDestReg:
+  case X86Local::MRMSrcReg:
+  case X86Local::MRMSrcReg4VOp3:
+  case X86Local::MRMSrcRegOp4:
+  case X86Local::MRMXr:
+    filter = new ModFilter(true);
     break;
-  } // switch (OpMap)
+  case X86Local::MRMDestMem:
+  case X86Local::MRMSrcMem:
+  case X86Local::MRMSrcMem4VOp3:
+  case X86Local::MRMSrcMemOp4:
+  case X86Local::MRMXm:
+    filter = new ModFilter(false);
+    break;
+  case X86Local::MRM0r: case X86Local::MRM1r:
+  case X86Local::MRM2r: case X86Local::MRM3r:
+  case X86Local::MRM4r: case X86Local::MRM5r:
+  case X86Local::MRM6r: case X86Local::MRM7r:
+    filter = new ExtendedFilter(true, Form - X86Local::MRM0r);
+    break;
+  case X86Local::MRM0m: case X86Local::MRM1m:
+  case X86Local::MRM2m: case X86Local::MRM3m:
+  case X86Local::MRM4m: case X86Local::MRM5m:
+  case X86Local::MRM6m: case X86Local::MRM7m:
+    filter = new ExtendedFilter(false, Form - X86Local::MRM0m);
+    break;
+  X86_INSTR_MRM_MAPPING
+    filter = new ExactFilter(0xC0 + Form - X86Local::MRM_C0);   \
+    break;
+  } // switch (Form)
+
+  uint8_t opcodeToSet = Opcode;
 
   unsigned AddressSize = 0;
   switch (AdSize) {




More information about the llvm-commits mailing list