diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2016-03-27 23:38:36 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2016-03-27 23:38:36 +0000 |
commit | 5465f0adc461d9816a5dd1b4d09ca5d7960ba90a (patch) | |
tree | 7a3b869206f57a6cca3701f15e8b6975890b2c10 /llvm/lib/Bitcode | |
parent | 0f57145845b22832072cac104bd882c6c44c2605 (diff) | |
download | bcm5719-llvm-5465f0adc461d9816a5dd1b4d09ca5d7960ba90a.tar.gz bcm5719-llvm-5465f0adc461d9816a5dd1b4d09ca5d7960ba90a.zip |
BitcodeWriter: Restructure WriteFunctionLocalMetadata, NFC
Use an early return to simplify logic.
llvm-svn: 264554
Diffstat (limited to 'llvm/lib/Bitcode')
-rw-r--r-- | llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp index 08724bd8c81..e173d80eafb 100644 --- a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp +++ b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp @@ -1429,19 +1429,17 @@ static void WriteModuleMetadata(const Module &M, static void WriteFunctionLocalMetadata(const Function &F, const ValueEnumerator &VE, BitstreamWriter &Stream) { - bool StartedMetadataBlock = false; + ArrayRef<const Metadata *> MDs = VE.getFunctionMDs(); + if (MDs.empty()) + return; + + Stream.EnterSubblock(bitc::METADATA_BLOCK_ID, 3); + SmallVector<uint64_t, 64> Record; - for (const Metadata *MD : VE.getFunctionMDs()) { - auto *Local = cast<LocalAsMetadata>(MD); - if (!StartedMetadataBlock) { - Stream.EnterSubblock(bitc::METADATA_BLOCK_ID, 3); - StartedMetadataBlock = true; - } - WriteValueAsMetadata(Local, VE, Stream, Record); - } + for (const Metadata *MD : VE.getFunctionMDs()) + WriteValueAsMetadata(cast<LocalAsMetadata>(MD), VE, Stream, Record); - if (StartedMetadataBlock) - Stream.ExitBlock(); + Stream.ExitBlock(); } static void WriteMetadataAttachment(const Function &F, |