diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-07-23 18:17:34 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-07-23 18:17:34 +0000 |
commit | 6316fbcb04af00fe76b6526fab09f51484014b3e (patch) | |
tree | 8b18f95c06e96a5e23713880efa491c02372f40c /lib/VMCore/ValueSymbolTable.cpp | |
parent | b53cc014d0f47b898c9daca34566c16dda6c4c1e (diff) |
Convert StringMap to using StringRef for its APIs.
- Yay for '-'s and simplifications!
- I kept StringMap::GetOrCreateValue for compatibility purposes, this can
eventually go away. Likewise the StringMapEntry Create functions still follow
the old style.
- NIFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76888 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/ValueSymbolTable.cpp')
-rw-r--r-- | lib/VMCore/ValueSymbolTable.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/lib/VMCore/ValueSymbolTable.cpp b/lib/VMCore/ValueSymbolTable.cpp index eee18a164c..8d3514b475 100644 --- a/lib/VMCore/ValueSymbolTable.cpp +++ b/lib/VMCore/ValueSymbolTable.cpp @@ -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.data(), Name.data() + Name.size()); + const_iterator VI = vmap.find(Name); if (VI != vmap.end()) // We found the symbol return VI->getValue(); return 0; @@ -41,7 +41,8 @@ Value *ValueSymbolTable::lookup(const std::string &Name) const { Value *ValueSymbolTable::lookup(const char *NameBegin, const char *NameEnd) const { - const_iterator VI = vmap.find(NameBegin, NameEnd); + // FIXME: ValueSymbolTable should move to a StringRef based API. + const_iterator VI = vmap.find(StringRef(NameBegin, NameEnd - NameBegin)); if (VI != vmap.end()) // We found the symbol return VI->getValue(); return 0; @@ -71,8 +72,8 @@ void ValueSymbolTable::reinsertValue(Value* V) { UniqueName.append_uint_32(++LastUnique); // Try insert the vmap entry with this suffix. ValueName &NewName = - vmap.GetOrCreateValue(UniqueName.data(), - UniqueName.data() + UniqueName.size()); + vmap.GetOrCreateValue(StringRef(UniqueName.data(), + UniqueName.size())); if (NewName.getValue() == 0) { // Newly inserted name. Success! NewName.setValue(V); @@ -95,7 +96,7 @@ void ValueSymbolTable::removeValueName(ValueName *V) { ValueName *ValueSymbolTable::createValueName(const char *NameStart, unsigned NameLen, Value *V) { // In the common case, the name is not already in the symbol table. - ValueName &Entry = vmap.GetOrCreateValue(NameStart, NameStart+NameLen); + ValueName &Entry = vmap.GetOrCreateValue(StringRef(NameStart, NameLen)); if (Entry.getValue() == 0) { Entry.setValue(V); //DEBUG(DOUT << " Inserted value: " << Entry.getKeyData() << ": " @@ -113,8 +114,8 @@ ValueName *ValueSymbolTable::createValueName(const char *NameStart, // Try insert the vmap entry with this suffix. ValueName &NewName = - vmap.GetOrCreateValue(UniqueName.data(), - UniqueName.data() + UniqueName.size()); + vmap.GetOrCreateValue(StringRef(UniqueName.data(), + UniqueName.size())); if (NewName.getValue() == 0) { // Newly inserted name. Success! NewName.setValue(V); |