Change Comments SmallVector to std::vector in DebugLocStream [NFC]

This changes the 32-element SmallVector to a std::vector. When building
a RelWithDebInfo clang-8 binary, the average size of the vector was
~10000, so it does not seem very beneficial or practical to use a small
vector for that.

The DWARFBytes SmallVector grows in the same way as Comments, so perhaps
that also should be changed to a purely dynamically allocated structure,
but that requires some more code changes, so I let that remain as a
SmallVector for now.

llvm-svn: 374871
This commit is contained in:
David Stenberg 2019-10-15 09:21:09 +00:00
parent f7c213c9c4
commit d46ac44ecd
2 changed files with 3 additions and 3 deletions

View File

@ -73,7 +73,7 @@ class HashingByteStreamer final : public ByteStreamer {
class BufferByteStreamer final : public ByteStreamer {
private:
SmallVectorImpl<char> &Buffer;
SmallVectorImpl<std::string> &Comments;
std::vector<std::string> &Comments;
/// Only verbose textual output needs comments. This will be set to
/// true for that case, and false otherwise. If false, comments passed in to
@ -82,7 +82,7 @@ private:
public:
BufferByteStreamer(SmallVectorImpl<char> &Buffer,
SmallVectorImpl<std::string> &Comments,
std::vector<std::string> &Comments,
bool GenerateComments)
: Buffer(Buffer), Comments(Comments), GenerateComments(GenerateComments) {}
void EmitInt8(uint8_t Byte, const Twine &Comment) override {

View File

@ -48,7 +48,7 @@ private:
SmallVector<List, 4> Lists;
SmallVector<Entry, 32> Entries;
SmallString<256> DWARFBytes;
SmallVector<std::string, 32> Comments;
std::vector<std::string> Comments;
/// Only verbose textual output needs comments. This will be set to
/// true for that case, and false otherwise.