aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Bitcode
diff options
context:
space:
mode:
authorJan Wen Voung <jvoung@google.com>2012-10-11 20:20:40 +0000
committerJan Wen Voung <jvoung@google.com>2012-10-11 20:20:40 +0000
commitd9a3bad4487dee0b9ed1a0f5555dffe605826158 (patch)
tree27a95548da86ff096537f0d7ee9cae21404a7ecd /include/llvm/Bitcode
parent81eb88f7d2a33a1ef1f5b3b6dea14415593f6544 (diff)
downloadexternal_llvm-d9a3bad4487dee0b9ed1a0f5555dffe605826158.zip
external_llvm-d9a3bad4487dee0b9ed1a0f5555dffe605826158.tar.gz
external_llvm-d9a3bad4487dee0b9ed1a0f5555dffe605826158.tar.bz2
Change encoding of instruction operands in bitcode binaries to be relative
to the instruction position. The old encoding would give an absolute ID which counts up within a function, and only resets at the next function. I.e., Instead of having: ... = icmp eq i32 n-1, n-2 br i1 ..., label %bb1, label %bb2 it will now be roughly: ... = icmp eq i32 1, 2 br i1 1, label %bb1, label %bb2 This makes it so that ids remain relatively small and can be encoded in fewer bits. With this encoding, forward reference operands will be given negative-valued IDs. Use signed VBRs for the most common case of forward references, which is phi instructions. To retain backward compatibility we bump the bitcode version from 0 to 1 to distinguish between the different encodings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165739 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Bitcode')
-rw-r--r--include/llvm/Bitcode/BitstreamReader.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/llvm/Bitcode/BitstreamReader.h b/include/llvm/Bitcode/BitstreamReader.h
index 3daef78..840f57e 100644
--- a/include/llvm/Bitcode/BitstreamReader.h
+++ b/include/llvm/Bitcode/BitstreamReader.h
@@ -409,7 +409,7 @@ public:
}
/// EnterSubBlock - Having read the ENTER_SUBBLOCK abbrevid, enter
- /// the block, and return true if the block is valid.
+ /// the block, and return true if the block has an error.
bool EnterSubBlock(unsigned BlockID, unsigned *NumWordsP = 0) {
// Save the current block's state on BlockScope.
BlockScope.push_back(Block(CurCodeSize));