From acbceeae4d7bdfbbc3437c60a5a3e26449888a15 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Wed, 29 Feb 2012 20:31:09 +0000 Subject: BitstreamWriter: Change primary output buffer to be a SmallVector instead of an std::vector. - Good for 1-2% speedup on writing PCH for Cocoa.h. - Clang side API match to follow shortly, there wasn't an easy way to make this non-breaking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151750 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Bitcode/Writer/BitcodeWriter.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'lib/Bitcode') diff --git a/lib/Bitcode/Writer/BitcodeWriter.cpp b/lib/Bitcode/Writer/BitcodeWriter.cpp index c6c7fb7dcb..9376990680 100644 --- a/lib/Bitcode/Writer/BitcodeWriter.cpp +++ b/lib/Bitcode/Writer/BitcodeWriter.cpp @@ -1774,8 +1774,7 @@ enum { DarwinBCHeaderSize = 5*4 }; -static void WriteInt32ToBuffer(uint32_t Value, - std::vector &Buffer, +static void WriteInt32ToBuffer(uint32_t Value, SmallVectorImpl &Buffer, uint32_t &Position) { Buffer[Position + 0] = (unsigned char) (Value >> 0); Buffer[Position + 1] = (unsigned char) (Value >> 8); @@ -1784,7 +1783,7 @@ static void WriteInt32ToBuffer(uint32_t Value, Position += 4; } -static void EmitDarwinBCHeaderAndTrailer(std::vector &Buffer, +static void EmitDarwinBCHeaderAndTrailer(SmallVectorImpl &Buffer, const Triple &TT) { unsigned CPUType = ~0U; @@ -1833,7 +1832,7 @@ static void EmitDarwinBCHeaderAndTrailer(std::vector &Buffer, /// WriteBitcodeToFile - Write the specified module to the specified output /// stream. void llvm::WriteBitcodeToFile(const Module *M, raw_ostream &Out) { - std::vector Buffer; + SmallVector Buffer; Buffer.reserve(256*1024); // If this is darwin or another generic macho target, reserve space for the -- cgit v1.2.3-18-g5258