llvm-project/llvm/lib/Bitcode/Writer
Tobias Grosser 0a8e12fdbb Make .bc en/decoding of AttrKind stable
The bitcode representation attribute kinds are encoded into / decoded from
should be independent of the current set of LLVM attributes and their position
in the AttrKind enum. This patch explicitly encodes attributes to fixed bitcode
values.

With this patch applied, LLVM does not silently misread attributes written by
LLVM 3.3. We also enhance the decoding slightly such that an error message is
printed if an unknown AttrKind encoding was dected.

Bonus: Dropping bitcode attributes from AttrKind is now easy, as old AttrKinds
       do not need to be kept to support the Bitcode reader.
llvm-svn: 187186
2013-07-26 04:16:55 +00:00
..
BitWriter.cpp Add a wrapper for open. 2013-07-16 19:44:17 +00:00
BitcodeWriter.cpp Make .bc en/decoding of AttrKind stable 2013-07-26 04:16:55 +00:00
BitcodeWriterPass.cpp Code Custodian: 2012-11-25 15:23:39 +00:00
CMakeLists.txt Per discussion on the list, remove BitcodeVerify pass to reimplement as a free function. 2011-12-14 00:29:31 +00:00
LLVMBuild.txt LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
Makefile
ValueEnumerator.cpp Whitespace cleanup 2013-04-01 02:28:07 +00:00
ValueEnumerator.h Use SmallVectorImpl& instead of SmallVector to avoid repeating small vector size. 2013-07-11 16:22:38 +00:00