diff options
author | Jan Wen Voung <jvoung@google.com> | 2012-10-11 20:20:40 +0000 |
---|---|---|
committer | Jan Wen Voung <jvoung@google.com> | 2012-10-11 20:20:40 +0000 |
commit | d9a3bad4487dee0b9ed1a0f5555dffe605826158 (patch) | |
tree | 27a95548da86ff096537f0d7ee9cae21404a7ecd /lib/Target | |
parent | 81eb88f7d2a33a1ef1f5b3b6dea14415593f6544 (diff) |
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 'lib/Target')
0 files changed, 0 insertions, 0 deletions