Fix bogus warning and simplify code


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10924 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Bytecode/Reader/Reader.cpp b/lib/Bytecode/Reader/Reader.cpp
index dca8890..977acbc 100644
--- a/lib/Bytecode/Reader/Reader.cpp
+++ b/lib/Bytecode/Reader/Reader.cpp
@@ -509,21 +509,15 @@
                                           const unsigned char *End) {
 
   while (Buf != End) {
-    unsigned NumEntries;
+    unsigned NumEntries = read_vbr_uint(Buf, End);
     unsigned Ty;
 
-    NumEntries = read_vbr_uint(Buf, End);
-    switch (NumEntries & 3) {
-    case 0:
-    case 1:
-    case 2:
-      Ty = NumEntries >> 2;
-      NumEntries &= 3;
-      break;
-    case 3:
+    if ((NumEntries & 3) == 3) {
       NumEntries >>= 2;
       Ty = read_vbr_uint(Buf, End);
-      break;
+    } else {
+      Ty = NumEntries >> 2;
+      NumEntries &= 3;
     }
 
     if (Ty >= CompactionTable.size())