diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2016-03-27 23:22:31 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2016-03-27 23:22:31 +0000 |
commit | 2766e4d4886c47a310b323c8f400162f6dd9b046 (patch) | |
tree | 0e152e47ad90e1b664eb8ab90f607918d49a2ed9 /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | |
parent | 6565a0d4b2c98722eb8fee9093cdde4f37928986 (diff) | |
download | llvm-2766e4d4886c47a310b323c8f400162f6dd9b046.zip llvm-2766e4d4886c47a310b323c8f400162f6dd9b046.tar.gz llvm-2766e4d4886c47a310b323c8f400162f6dd9b046.tar.bz2 |
BitcodeWriter: Simplify tracking of function-local metadata, NFC
We don't really need a separate vector here; instead, point at a range
inside the main MDs array. This matches how r264551 references the
ranges of strings and non-strings.
llvm-svn: 264552
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
-rw-r--r-- | llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp index 80da91a..08724bd 100644 --- a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp +++ b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp @@ -1431,15 +1431,13 @@ static void WriteFunctionLocalMetadata(const Function &F, BitstreamWriter &Stream) { bool StartedMetadataBlock = false; SmallVector<uint64_t, 64> Record; - const SmallVectorImpl<const LocalAsMetadata *> &MDs = - VE.getFunctionLocalMDs(); - for (unsigned i = 0, e = MDs.size(); i != e; ++i) { - assert(MDs[i] && "Expected valid function-local metadata"); + for (const Metadata *MD : VE.getFunctionMDs()) { + auto *Local = cast<LocalAsMetadata>(MD); if (!StartedMetadataBlock) { Stream.EnterSubblock(bitc::METADATA_BLOCK_ID, 3); StartedMetadataBlock = true; } - WriteValueAsMetadata(MDs[i], VE, Stream, Record); + WriteValueAsMetadata(Local, VE, Stream, Record); } if (StartedMetadataBlock) |