From: Mehdi Amini Date: Wed, 10 Feb 2016 22:47:48 +0000 (+0000) Subject: Bitcode reader: replace DecodeChar6() with a lookup table (NFC) X-Git-Tag: llvmorg-3.9.0-rc1~14514 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b87dec4b56737f1d7c78616407a1bc56969bb883;p=platform%2Fupstream%2Fllvm.git Bitcode reader: replace DecodeChar6() with a lookup table (NFC) Summary: Measured to be more performant when reading bitcode. Reviewers: rafael, dexonsmith Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D16285 From: Mehdi Amini llvm-svn: 260455 --- diff --git a/llvm/include/llvm/Bitcode/BitCodes.h b/llvm/include/llvm/Bitcode/BitCodes.h index 96c4201..66400b697 100644 --- a/llvm/include/llvm/Bitcode/BitCodes.h +++ b/llvm/include/llvm/Bitcode/BitCodes.h @@ -147,12 +147,8 @@ public: static char DecodeChar6(unsigned V) { assert((V & ~63) == 0 && "Not a Char6 encoded character!"); - if (V < 26) return V+'a'; - if (V < 26+26) return V-26+'A'; - if (V < 26+26+10) return V-26-26+'0'; - if (V == 62) return '.'; - if (V == 63) return '_'; - llvm_unreachable("Not a value Char6 character!"); + return "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789._" + [V]; } };