Use v.data() instead of &v[0] when SmallVector v might be empty.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72210 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jay Foad
2009-05-21 09:52:38 +00:00
parent 82fe2935bf
commit e3e51c0038
7 changed files with 30 additions and 32 deletions
+7 -5
View File
@@ -33,7 +33,7 @@ ValueSymbolTable::~ValueSymbolTable() {
// lookup a value - Returns null on failure...
//
Value *ValueSymbolTable::lookup(const std::string &Name) const {
const_iterator VI = vmap.find(&Name[0], &Name[Name.size()]);
const_iterator VI = vmap.find(Name.data(), Name.data() + Name.size());
if (VI != vmap.end()) // We found the symbol
return VI->getValue();
return 0;
@@ -70,8 +70,9 @@ void ValueSymbolTable::reinsertValue(Value* V) {
UniqueName.resize(BaseSize);
UniqueName.append_uint_32(++LastUnique);
// Try insert the vmap entry with this suffix.
ValueName &NewName = vmap.GetOrCreateValue(&UniqueName[0],
&UniqueName[UniqueName.size()]);
ValueName &NewName =
vmap.GetOrCreateValue(UniqueName.data(),
UniqueName.data() + UniqueName.size());
if (NewName.getValue() == 0) {
// Newly inserted name. Success!
NewName.setValue(V);
@@ -111,8 +112,9 @@ ValueName *ValueSymbolTable::createValueName(const char *NameStart,
UniqueName.append_uint_32(++LastUnique);
// Try insert the vmap entry with this suffix.
ValueName &NewName = vmap.GetOrCreateValue(&UniqueName[0],
&UniqueName[UniqueName.size()]);
ValueName &NewName =
vmap.GetOrCreateValue(UniqueName.data(),
UniqueName.data() + UniqueName.size());
if (NewName.getValue() == 0) {
// Newly inserted name. Success!
NewName.setValue(V);