Mercurial > projects > ldc
changeset 1395:6063ddfcf27d
Try to cut down reallocations when building string literals.
author | Tomas Lindquist Olsen <tomas.l.olsen gmail com> |
---|---|
date | Mon, 18 May 2009 16:01:22 +0200 |
parents | 193ab3969920 |
children | 24b33fdc7c0c |
files | gen/toir.cpp |
diffstat | 1 files changed, 4 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/gen/toir.cpp Mon May 18 15:08:46 2009 +0200 +++ b/gen/toir.cpp Mon May 18 16:01:22 2009 +0200 @@ -407,6 +407,7 @@ else if (cty->size() == 2) { uint16_t* str = (uint16_t*)string; std::vector<LLConstant*> vals; + vals.reserve(len+1); for(size_t i=0; i<len; ++i) { vals.push_back(llvm::ConstantInt::get(ct, str[i], false));; } @@ -416,6 +417,7 @@ else if (cty->size() == 4) { uint32_t* str = (uint32_t*)string; std::vector<LLConstant*> vals; + vals.reserve(len+1); for(size_t i=0; i<len; ++i) { vals.push_back(llvm::ConstantInt::get(ct, str[i], false));; } @@ -476,6 +478,7 @@ else if (cty->size() == 2) { uint16_t* str = (uint16_t*)string; std::vector<LLConstant*> vals; + vals.reserve(len+1); for(size_t i=0; i<len; ++i) { vals.push_back(llvm::ConstantInt::get(ct, str[i], false));; } @@ -486,6 +489,7 @@ else if (cty->size() == 4) { uint32_t* str = (uint32_t*)string; std::vector<LLConstant*> vals; + vals.reserve(len+1); for(size_t i=0; i<len; ++i) { vals.push_back(llvm::ConstantInt::get(ct, str[i], false));; }