summaryrefslogtreecommitdiff
path: root/include/llvm
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2014-04-05 21:26:44 +0000
committerDavid Blaikie <dblaikie@gmail.com>2014-04-05 21:26:44 +0000
commitb206103abcf358453ac4ed8d4373f44f4c88e5c0 (patch)
tree7cea7cb470eedc4aafa8579122e25dc4a0e0357d /include/llvm
parent48ee81c6798a415bc592255f385bdb8427b9ebcf (diff)
downloadllvm-b206103abcf358453ac4ed8d4373f44f4c88e5c0.tar.gz
llvm-b206103abcf358453ac4ed8d4373f44f4c88e5c0.tar.bz2
llvm-b206103abcf358453ac4ed8d4373f44f4c88e5c0.tar.xz
Simplify compression API by decompressing into a SmallVector rather than a MemoryBuffer
This avoids an extra copy during decompression and avoids the use of MemoryBuffer which is a weirdly esoteric device that includes unrelated concepts like "file name" (its rather generic name is a bit misleading). Similar refactoring of zlib::compress coming up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205676 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm')
-rw-r--r--include/llvm/Support/Compression.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/llvm/Support/Compression.h b/include/llvm/Support/Compression.h
index 80eff5c628..2629809286 100644
--- a/include/llvm/Support/Compression.h
+++ b/include/llvm/Support/Compression.h
@@ -16,6 +16,7 @@
#include "llvm/Support/DataTypes.h"
#include <memory>
+#include "llvm/ADT/SmallVector.h"
namespace llvm {
@@ -47,7 +48,7 @@ Status compress(StringRef InputBuffer,
CompressionLevel Level = DefaultCompression);
Status uncompress(StringRef InputBuffer,
- std::unique_ptr<MemoryBuffer> &UncompressedBuffer,
+ SmallVectorImpl<char> &UncompressedBuffer,
size_t UncompressedSize);
uint32_t crc32(StringRef Buffer);