[SystemZ] Fix build bot failures
authorUlrich Weigand <ulrich.weigand@de.ibm.com>
Sat, 7 Dec 2019 18:37:16 +0000 (19:37 +0100)
committerUlrich Weigand <ulrich.weigand@de.ibm.com>
Sat, 7 Dec 2019 18:37:16 +0000 (19:37 +0100)
My patch 9db13b5a7d43096a9ab5f7cef6e1b7e2dc9c9c63 seems to have
caused some build bots to fail due to warnings that appear only
when using -Wcovered-switch-default.

This patch is an attempt to fix this by trying to avoid both the warning
"default label in switch which covers all enumeration values"
for the inner switch statements and at the same time the warning
"this statement may fall through"
for the outer switch statement in getVectorComparison
(SystemZISelLowering.cpp).

llvm/lib/Target/SystemZ/SystemZISelLowering.cpp

index 0e58b52..36f4606 100644 (file)
@@ -2647,8 +2647,8 @@ static unsigned getVectorComparison(ISD::CondCode CC, CmpMode Mode) {
     case CmpMode::FP:          return SystemZISD::VFCMPE;
     case CmpMode::StrictFP:    return SystemZISD::STRICT_VFCMPE;
     case CmpMode::SignalingFP: return SystemZISD::STRICT_VFCMPES;
-    default:                   llvm_unreachable("Bad mode");
     }
+    llvm_unreachable("Bad mode");
 
   case ISD::SETOGE:
   case ISD::SETGE:
@@ -2657,8 +2657,8 @@ static unsigned getVectorComparison(ISD::CondCode CC, CmpMode Mode) {
     case CmpMode::FP:          return SystemZISD::VFCMPHE;
     case CmpMode::StrictFP:    return SystemZISD::STRICT_VFCMPHE;
     case CmpMode::SignalingFP: return SystemZISD::STRICT_VFCMPHES;
-    default:                   llvm_unreachable("Bad mode");
     }
+    llvm_unreachable("Bad mode");
 
   case ISD::SETOGT:
   case ISD::SETGT:
@@ -2667,8 +2667,8 @@ static unsigned getVectorComparison(ISD::CondCode CC, CmpMode Mode) {
     case CmpMode::FP:          return SystemZISD::VFCMPH;
     case CmpMode::StrictFP:    return SystemZISD::STRICT_VFCMPH;
     case CmpMode::SignalingFP: return SystemZISD::STRICT_VFCMPHS;
-    default:                   llvm_unreachable("Bad mode");
     }
+    llvm_unreachable("Bad mode");
 
   case ISD::SETUGT:
     switch (Mode) {
@@ -2676,8 +2676,8 @@ static unsigned getVectorComparison(ISD::CondCode CC, CmpMode Mode) {
     case CmpMode::FP:          return 0;
     case CmpMode::StrictFP:    return 0;
     case CmpMode::SignalingFP: return 0;
-    default:                   llvm_unreachable("Bad mode");
     }
+    llvm_unreachable("Bad mode");
 
   default:
     return 0;