summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2016-03-27 23:38:36 +0000
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2016-03-27 23:38:36 +0000
commit5465f0adc461d9816a5dd1b4d09ca5d7960ba90a (patch)
tree7a3b869206f57a6cca3701f15e8b6975890b2c10 /llvm/lib/Bitcode
parent0f57145845b22832072cac104bd882c6c44c2605 (diff)
downloadbcm5719-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.cpp20
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,
OpenPOWER on IntegriCloud