llvm-mirror/tools
Mehdi Amini 5bbc793788 Add an (optional) identification block in the bitcode
Processing bitcode from a different LLVM version can lead to
unexpected behavior. The LLVM project guarantees autoupdating
bitcode from a previous minor revision for the same major, but
can't make any promise when reading bitcode generated from a
either a non-released LLVM, a vendor toolchain, or a "future"
LLVM release. This patch aims at being more user-friendly and
allows a bitcode produce to emit an optional block at the
beginning of the bitcode that will contains an opaque string
intended to describe the bitcode producer information. The
bitcode reader will dump this information alongside any error it
reports.

The optional block also includes an "epoch" number, monotonically
increasing when incompatible changes are made to the bitcode. The
reader will reject bitcode whose epoch is different from the one
expected.

Differential Revision: http://reviews.llvm.org/D13666

From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 251325
2015-10-26 18:37:00 +00:00
..
bugpoint bugpoint: Remove implicit ilist iterator conversions, NFC 2015-10-20 19:36:39 +00:00
bugpoint-passes bugpoint Enhancement. 2015-04-20 23:42:22 +00:00
dsymutil Test commit: fix typo in comment. 2015-10-23 17:10:44 +00:00
gold Make class final to pacify -Wnon-virtual-dtor. 2015-10-20 08:21:01 +00:00
llc Remove access to the DataLayout in the TargetMachine 2015-07-24 16:04:22 +00:00
lli [Orc] Add support for emitting indirect stubs directly into the JIT target's 2015-10-19 17:43:51 +00:00
llvm-ar Backing out commit r250906 as it broke lld. 2015-10-21 17:13:20 +00:00
llvm-as Support for function summary index bitcode sections and files. 2015-10-04 14:33:43 +00:00
llvm-as-fuzzer [libFuzzer] make LLVMFuzzerTestOneInput (the fuzzer target function) return int instead of void. The actual return value is not *yet* used (and expected to be 0). This change is API breaking, so the fuzzers will need to be updated. 2015-10-02 23:34:06 +00:00
llvm-bcanalyzer Add an (optional) identification block in the bitcode 2015-10-26 18:37:00 +00:00
llvm-c-test
llvm-config llvm-config: Add --build-system option 2015-09-09 16:39:30 +00:00
llvm-cov [llvm-cov] Adjust column widths for function and file reports 2015-10-21 16:03:32 +00:00
llvm-cxxdump Backing out commit r250906 as it broke lld. 2015-10-21 17:13:20 +00:00
llvm-diff llvm-diff: Remove implicit ilist iterator conversions, NFC 2015-10-20 18:17:05 +00:00
llvm-dis Use std::unique_ptr to manage the DataStreamer in bitcode parsing. 2015-06-16 23:29:49 +00:00
llvm-dwarfdump [dwarfdump] Add support for dumping mach-o universal objectfiles 2015-08-03 00:10:31 +00:00
llvm-extract uselistorder: Remove the global bits 2015-04-15 03:14:06 +00:00
llvm-go Enable linking tools, shared libraries against libLLVM 2015-09-01 03:14:31 +00:00
llvm-jitlistener Fix the -DBUILD_SHARED_LIBS=ON build. 2015-07-07 17:48:00 +00:00
llvm-link New bitcode linker flags: 2015-09-01 17:55:55 +00:00
llvm-lto Pass FunctionInfoIndex by reference to WriteFunctionSummaryToFile (NFC) 2015-10-19 19:06:06 +00:00
llvm-mc Revert r247692: Replace Triple with a new TargetTuple in MCTargetDesc/* and related. NFC. 2015-09-15 16:17:27 +00:00
llvm-mc-fuzzer [libFuzzer] make LLVMFuzzerTestOneInput (the fuzzer target function) return int instead of void. The actual return value is not *yet* used (and expected to be 0). This change is API breaking, so the fuzzers will need to be updated. 2015-10-02 23:34:06 +00:00
llvm-mcmarkup
llvm-nm Backing out commit r250906 as it broke lld. 2015-10-21 17:13:20 +00:00
llvm-objdump Simplify boolean expressions in tools/llvm-objdump. 2015-10-24 23:19:10 +00:00
llvm-pdbdump Make windows.h less evil. 2015-10-15 09:38:45 +00:00
llvm-profdata Re-apply r249644: Handle inline stacks in gcov-encoded sample profiles. 2015-10-08 19:40:37 +00:00
llvm-readobj [llvm-readobj] Don't cast qualifiers away. Now gcc is happy again. 2015-10-23 16:52:22 +00:00
llvm-rtdyld [JIT] Towards a working small memory model. 2015-10-21 22:12:03 +00:00
llvm-shlib [CMake] Add LLVM_VERSION_PATCH to the -current_version flag for libLTO and libLLVM. 2015-10-14 07:50:21 +00:00
llvm-size Backing out commit r250906 as it broke lld. 2015-10-21 17:13:20 +00:00
llvm-split TransformUtils: Introduce module splitter. 2015-08-21 02:48:20 +00:00
llvm-stress [PM/AA] Remove the last relics of the separate IPA library from LLVM, 2015-08-18 17:51:53 +00:00
llvm-symbolizer Move parts of llvm-symbolizer tool into LLVMSymbolize library. 2015-10-26 17:56:12 +00:00
lto [CMake] Add LLVM_VERSION_PATCH to the -current_version flag for libLTO and libLLVM. 2015-10-14 07:50:21 +00:00
msbuild
obj2yaml [obj2yaml] Fix "time of check to time of use" bug. Add a test. 2015-09-19 20:49:34 +00:00
opt [PM/AA] Remove the last relics of the separate IPA library from LLVM, 2015-08-18 17:51:53 +00:00
verify-uselistorder [uselistorder] Insert blank line, NFC 2015-10-13 21:51:02 +00:00
xcode-toolchain [CMake] [Darwin] Add support for generating Xcode-compatible toolchains that xcodebuild and xcrun can search 2015-10-15 20:09:01 +00:00
yaml2obj Add a RAW mode to StringTableBuilder. 2015-10-23 21:48:05 +00:00
CMakeLists.txt [CMake] We need to explicitly add llvm-config before clang so that LLVM_BUILD_EXTERNAL_COMPILER_RT can depend on llvm-config. 2015-10-02 22:28:48 +00:00
LLVMBuild.txt Remove macho-dump. Its functionality is now covered by llvm-readobj. 2015-09-22 17:46:10 +00:00
Makefile Remove macho-dump. Its functionality is now covered by llvm-readobj. 2015-09-22 17:46:10 +00:00