summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2010-03-31 16:04:26 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2010-03-31 16:04:26 +0000
commitfeff7055f7c6c0cff4fa352aa5bdfe48421ccbf1 (patch)
tree621761e98b988fbefd4e06db7c019cc63ccecf8a
parent3baad0d4f7afc2b8ac6ddfd983fa48b1a0d2f387 (diff)
downloadbcm5719-llvm-feff7055f7c6c0cff4fa352aa5bdfe48421ccbf1.tar.gz
bcm5719-llvm-feff7055f7c6c0cff4fa352aa5bdfe48421ccbf1.zip
Bump SmallString size a bit to avoid malloc trashing.
llvm-svn: 100010
-rw-r--r--llvm/lib/VMCore/ValueSymbolTable.cpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/llvm/lib/VMCore/ValueSymbolTable.cpp b/llvm/lib/VMCore/ValueSymbolTable.cpp
index d30a9d6e37b..449d61a2cbb 100644
--- a/llvm/lib/VMCore/ValueSymbolTable.cpp
+++ b/llvm/lib/VMCore/ValueSymbolTable.cpp
@@ -55,9 +55,7 @@ void ValueSymbolTable::reinsertValue(Value* V) {
raw_svector_ostream(UniqueName) << ++LastUnique;
// Try insert the vmap entry with this suffix.
- ValueName &NewName =
- vmap.GetOrCreateValue(StringRef(UniqueName.data(),
- UniqueName.size()));
+ ValueName &NewName = vmap.GetOrCreateValue(UniqueName);
if (NewName.getValue() == 0) {
// Newly inserted name. Success!
NewName.setValue(V);
@@ -88,7 +86,7 @@ ValueName *ValueSymbolTable::createValueName(StringRef Name, Value *V) {
}
// Otherwise, there is a naming conflict. Rename this value.
- SmallString<128> UniqueName(Name.begin(), Name.end());
+ SmallString<256> UniqueName(Name.begin(), Name.end());
while (1) {
// Trim any suffix off and append the next number.
@@ -96,9 +94,7 @@ ValueName *ValueSymbolTable::createValueName(StringRef Name, Value *V) {
raw_svector_ostream(UniqueName) << ++LastUnique;
// Try insert the vmap entry with this suffix.
- ValueName &NewName =
- vmap.GetOrCreateValue(StringRef(UniqueName.data(),
- UniqueName.size()));
+ ValueName &NewName = vmap.GetOrCreateValue(UniqueName);
if (NewName.getValue() == 0) {
// Newly inserted name. Success!
NewName.setValue(V);
OpenPOWER on IntegriCloud