Fix bogus warning and simplify code
authorChris Lattner <sabre@nondot.org>
Tue, 20 Jan 2004 17:06:29 +0000 (17:06 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 20 Jan 2004 17:06:29 +0000 (17:06 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10924 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Bytecode/Reader/Reader.cpp

index dca88902059e83b59ea54a24327c4f596dee1d5d..977acbc861ba8e4daf378466c821572a7e854cff 100644 (file)
@@ -509,21 +509,15 @@ void BytecodeParser::ParseCompactionTable(const unsigned char *&Buf,
                                           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())