summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
diff options
context:
space:
mode:
authorMehdi Amini <mehdi.amini@apple.com>2016-04-24 03:18:11 +0000
committerMehdi Amini <mehdi.amini@apple.com>2016-04-24 03:18:11 +0000
commit8fe6936e180d12afbbfeb83590baf526395cc272 (patch)
tree3e172d89d147a2ec51c9fa32f69a4d72424a5f72 /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
parent059464fe3690348c1bc0f3735354ad90c3796471 (diff)
downloadbcm5719-llvm-8fe6936e180d12afbbfeb83590baf526395cc272.tar.gz
bcm5719-llvm-8fe6936e180d12afbbfeb83590baf526395cc272.zip
Add a version field in the bitcode for the summary
Differential Revision: http://reviews.llvm.org/D19456 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 267318
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
-rw-r--r--llvm/lib/Bitcode/Writer/BitcodeWriter.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
index 302629b9176..d0f87e7d9d0 100644
--- a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
+++ b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
@@ -3067,6 +3067,11 @@ void ModuleBitcodeWriter::writeModuleLevelReferences(
NameVals.clear();
}
+// Current version for the summary.
+// This is bumped whenever we introduce changes in the way some record are
+// interpreted, like flags for instance.
+static const uint64_t INDEX_VERSION = 1;
+
/// Emit the per-module summary section alongside the rest of
/// the module's bitcode.
void ModuleBitcodeWriter::writePerModuleGlobalValueSummary() {
@@ -3078,6 +3083,8 @@ void ModuleBitcodeWriter::writePerModuleGlobalValueSummary() {
Stream.EnterSubblock(bitc::GLOBALVAL_SUMMARY_BLOCK_ID, 3);
+ Stream.EmitRecord(bitc::FS_VERSION, ArrayRef<uint64_t>{INDEX_VERSION});
+
// Abbrev for FS_PERMODULE.
BitCodeAbbrev *Abbv = new BitCodeAbbrev();
Abbv->Add(BitCodeAbbrevOp(bitc::FS_PERMODULE));
@@ -3162,6 +3169,7 @@ void ModuleBitcodeWriter::writePerModuleGlobalValueSummary() {
/// Emit the combined summary section into the combined index file.
void IndexBitcodeWriter::writeCombinedGlobalValueSummary() {
Stream.EnterSubblock(bitc::GLOBALVAL_SUMMARY_BLOCK_ID, 3);
+ Stream.EmitRecord(bitc::FS_VERSION, ArrayRef<uint64_t>{INDEX_VERSION});
// Abbrev for FS_COMBINED.
BitCodeAbbrev *Abbv = new BitCodeAbbrev();
OpenPOWER on IntegriCloud