From 32885ab95b44df7f2a3ace9ac7d227df9d648d46 Mon Sep 17 00:00:00 2001 From: Jan Voung Date: Wed, 20 Nov 2013 13:21:04 -0800 Subject: Remove UseRelativeID branching from NaClBitcodeReader, assume true. This was kept in upstream LLVM for backwards compatibiilty with version 0 bitcode, but PNaCl only accepts version 1 bitcode, so UseRelativeID is always true. This reduces the number of branches taken while llvm-dis'ing the Ogre SampleBrowser from 2,680,184,988 branches to 2,670,798,955 branches. A 2.5% difference in wall-clock time... BUG=none trybots: http://chromegw.corp.google.com/i/tryserver.nacl/builders/nacl-toolchain-linux-pnacl-x86_32/builds/939 http://chromegw.corp.google.com/i/tryserver.nacl/builders/nacl-toolchain-linux-pnacl-x86_64/builds/991 http://chromegw.corp.google.com/i/tryserver.nacl/builders/nacl-toolchain-mac-pnacl-x86_32/builds/933 R=mseaborn@chromium.org Review URL: https://codereview.chromium.org/77023007 --- lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) (limited to 'lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp') diff --git a/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp b/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp index a37201e8f4..1646fc8b35 100644 --- a/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp +++ b/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp @@ -815,17 +815,10 @@ bool NaClBitcodeReader::ParseModule(bool Resume) { case naclbitc::MODULE_CODE_VERSION: { // VERSION: [version#] if (Record.size() < 1) return Error("Malformed MODULE_CODE_VERSION"); - // Only version #0 and #1 are supported so far. + // Only version #1 is supported for PNaCl. Version #0 is not supported. unsigned module_version = Record[0]; - switch (module_version) { - default: return Error("Unknown bitstream version!"); - case 0: - UseRelativeIDs = false; - break; - case 1: - UseRelativeIDs = true; - break; - } + if (module_version != 1) + return Error("Unknown bitstream version!"); break; } // FUNCTION: [type, callingconv, isproto, linkage] @@ -1286,13 +1279,10 @@ bool NaClBitcodeReader::ParseFunctionBody(Function *F) { for (unsigned i = 0, e = Record.size()-1; i != e; i += 2) { Value *V; - // With the new function encoding, it is possible that operands have + // With relative value IDs, it is possible that operands have // negative IDs (for forward references). Use a signed VBR // representation to keep the encoding small. - if (UseRelativeIDs) - V = getValueSigned(Record, 1+i, NextValueNo); - else - V = getValue(Record, 1+i, NextValueNo); + V = getValueSigned(Record, 1+i, NextValueNo); unsigned BBIndex = Record[2+i]; BasicBlock *BB = getBasicBlock(BBIndex); if (!V || !BB) return Error("Invalid PHI record"); -- cgit v1.2.3-18-g5258