llvm-project/llvm/lib
Jan Wen Voung afaced070f 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.

llvm-svn: 165739
2012-10-11 20:20:40 +00:00
..
Analysis Add in the first iteration of support for llvm/clang/lldb to allow variable per address space pointer sizes to be optimized correctly. 2012-10-11 17:21:41 +00:00
Archive Mark checkSignature const, and in turn stop casting away const from 2012-09-05 22:09:23 +00:00
AsmParser Don't crash if a .ll file contains a forward-reference that looks like a global 2012-10-11 00:38:25 +00:00
Bitcode Change encoding of instruction operands in bitcode binaries to be relative 2012-10-11 20:20:40 +00:00
CodeGen Add in the first iteration of support for llvm/clang/lldb to allow variable per address space pointer sizes to be optimized correctly. 2012-10-11 17:21:41 +00:00
DebugInfo Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-18 02:01:41 +00:00
ExecutionEngine Add in the first iteration of support for llvm/clang/lldb to allow variable per address space pointer sizes to be optimized correctly. 2012-10-11 17:21:41 +00:00
Linker Move the "findUsedStructTypes" functionality outside of the Module class. 2012-08-03 00:30:35 +00:00
MC Whitespace. 2012-10-09 20:15:02 +00:00
Object Cosmetic changes 2012-10-10 01:45:52 +00:00
Support Revert r165652: "Remove unnecessary RTTI from the build." 2012-10-10 20:50:36 +00:00
TableGen tblgen: Compile TableGen without RTTI. 2012-10-10 20:27:18 +00:00
Target Add in the first iteration of support for llvm/clang/lldb to allow variable per address space pointer sizes to be optimized correctly. 2012-10-11 17:21:41 +00:00
Transforms Add in the first iteration of support for llvm/clang/lldb to allow variable per address space pointer sizes to be optimized correctly. 2012-10-11 17:21:41 +00:00
VMCore Add the LLVM context to this c'tor. It will be needed in the future. 2012-10-11 01:10:00 +00:00
CMakeLists.txt Move TableGen's parser and entry point into a library 2011-10-01 16:41:13 +00:00
LLVMBuild.txt LLVMBuild: Introduce a common section which currently has a list of the 2011-12-12 22:45:54 +00:00
Makefile Remove more of llvmc and dependencies. 2011-09-20 00:34:27 +00:00