From 361ee558bab2d4b3acd299359f8fe6a2b86c05a5 Mon Sep 17 00:00:00 2001 From: Nemanja Ivanovic Date: Fri, 22 Sep 2017 12:26:00 +0000 Subject: [PATCH] Remove the default clause from a fully-covering switch to appease bots that use a compiler that warns about this and use -Werror. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313980 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/PowerPC/PPCISelDAGToDAG.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/Target/PowerPC/PPCISelDAGToDAG.cpp b/lib/Target/PowerPC/PPCISelDAGToDAG.cpp index f794312e39b..dbe4269f004 100644 --- a/lib/Target/PowerPC/PPCISelDAGToDAG.cpp +++ b/lib/Target/PowerPC/PPCISelDAGToDAG.cpp @@ -2801,11 +2801,11 @@ SDValue PPCDAGToDAGISel::getCompoundZeroComparisonInGPR(SDValue LHS, SDLoc dl, // Produce the value that needs to be either zero or sign extended. switch (CmpTy) { - default: llvm_unreachable("Unknown Zero-comparison type."); case ZeroCompare::GEZExt: case ZeroCompare::GESExt: ToExtend = SDValue(CurDAG->getMachineNode(Is32Bit ? PPC::NOR : PPC::NOR8, dl, InVT, LHS, LHS), 0); + break; case ZeroCompare::LEZExt: case ZeroCompare::LESExt: { if (Is32Bit) { @@ -2824,22 +2824,24 @@ SDValue PPCDAGToDAGISel::getCompoundZeroComparisonInGPR(SDValue LHS, SDLoc dl, ToExtend = SDValue(CurDAG->getMachineNode(PPC::OR8, dl, MVT::i64, Addi, LHS), 0); } + break; } } // For 64-bit sequences, the extensions are the same for the GE/LE cases. - if (!Is32Bit && (CmpTy == ZeroCompare::GEZExt || ZeroCompare::LEZExt)) + if (!Is32Bit && + (CmpTy == ZeroCompare::GEZExt || CmpTy == ZeroCompare::LEZExt)) return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, ToExtend, getI64Imm(1, dl), getI64Imm(63, dl)), 0); - if (!Is32Bit && (CmpTy == ZeroCompare::GESExt || ZeroCompare::LESExt)) + if (!Is32Bit && + (CmpTy == ZeroCompare::GESExt || CmpTy == ZeroCompare::LESExt)) return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, ToExtend, getI64Imm(63, dl)), 0); assert(Is32Bit && "Should have handled the 32-bit sequences above."); // For 32-bit sequences, the extensions differ between GE/LE cases. switch (CmpTy) { - default: llvm_unreachable("Unknown Zero-comparison type."); case ZeroCompare::GEZExt: { SDValue ShiftOps[] = { ToExtend, getI32Imm(1, dl), getI32Imm(31, dl), getI32Imm(31, dl) }; @@ -2856,6 +2858,10 @@ SDValue PPCDAGToDAGISel::getCompoundZeroComparisonInGPR(SDValue LHS, SDLoc dl, return SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, ToExtend, getI32Imm(-1, dl)), 0); } + + // The above case covers all the enumerators so it can't have a default clause + // to avoid compiler warnings. + llvm_unreachable("Unknown zero-comparison type."); } /// Produces a zero-extended result of comparing two 32-bit values according to -- 2.50.0