[llvm-commits] CVS: llvm/lib/VMCore/SymbolTable.cpp
Chris Lattner
lattner at cs.uiuc.edu
Sat Mar 5 21:51:22 PST 2005
Changes in directory llvm/lib/VMCore:
SymbolTable.cpp updated: 1.56 -> 1.57
---
Log message:
Merge SymbolTable::removeEntry into SymbolTable::remove, its only caller
---
Diffs of the changes: (+21 -28)
SymbolTable.cpp | 49 +++++++++++++++++++++----------------------------
1 files changed, 21 insertions(+), 28 deletions(-)
Index: llvm/lib/VMCore/SymbolTable.cpp
diff -u llvm/lib/VMCore/SymbolTable.cpp:1.56 llvm/lib/VMCore/SymbolTable.cpp:1.57
--- llvm/lib/VMCore/SymbolTable.cpp:1.56 Sat Mar 5 23:46:41 2005
+++ llvm/lib/VMCore/SymbolTable.cpp Sat Mar 5 23:51:09 2005
@@ -84,23 +84,13 @@
// lookup a type by name - returns null on failure
-Type* SymbolTable::lookupType( const std::string& Name ) const {
- type_const_iterator TI = tmap.find( Name );
- if ( TI != tmap.end() )
+Type* SymbolTable::lookupType(const std::string& Name) const {
+ type_const_iterator TI = tmap.find(Name);
+ if (TI != tmap.end())
return const_cast<Type*>(TI->second);
return 0;
}
-// Remove a value
-void SymbolTable::remove(Value *N) {
- assert(N->hasName() && "Value doesn't have name!");
-
- plane_iterator PI = pmap.find(N->getType());
- assert(PI != pmap.end() &&
- "Trying to remove a value that doesn't have a type plane yet!");
- removeEntry(PI, PI->second.find(N->getName()));
-}
-
/// changeName - Given a value with a non-empty name, remove its existing entry
/// from the symbol table and insert a new one for Name. This is equivalent to
/// doing "remove(V), V->Name = Name, insert(V)", but is faster, and will not
@@ -133,42 +123,45 @@
}
}
+// Remove a value
+void SymbolTable::remove(Value *N) {
+ assert(N->hasName() && "Value doesn't have name!");
-// removeEntry - Remove a value from the symbol table...
-Value *SymbolTable::removeEntry(plane_iterator Plane, value_iterator Entry) {
- assert(Plane != pmap.end() &&
- Entry != Plane->second.end() && "Invalid entry to remove!");
+ plane_iterator PI = pmap.find(N->getType());
+ assert(PI != pmap.end() &&
+ "Trying to remove a value that doesn't have a type plane yet!");
+ ValueMap &VM = PI->second;
+ value_iterator Entry = VM.find(N->getName());
+ assert(Entry != VM.end() && "Invalid entry to remove!");
- Value *Result = Entry->second;
#if DEBUG_SYMBOL_TABLE
dump();
- std::cerr << " Removing Value: " << Result->getName() << "\n";
+ std::cerr << " Removing Value: " << Entry->second->getName() << "\n";
#endif
// Remove the value from the plane...
- Plane->second.erase(Entry);
+ VM.erase(Entry);
// If the plane is empty, remove it now!
- if (Plane->second.empty()) {
+ if (VM.empty()) {
// If the plane represented an abstract type that we were interested in,
// unlink ourselves from this plane.
//
- if (Plane->first->isAbstract()) {
+ if (N->getType()->isAbstract()) {
#if DEBUG_ABSTYPE
std::cerr << "Plane Empty: Removing type: "
- << Plane->first->getDescription() << "\n";
+ << N->getType()->getDescription() << "\n";
#endif
- cast<DerivedType>(Plane->first)->removeAbstractTypeUser(this);
+ cast<DerivedType>(N->getType())->removeAbstractTypeUser(this);
}
- pmap.erase(Plane);
+ pmap.erase(PI);
}
- return Result;
}
-// removeEntry - Remove a type from the symbol table...
+// remove - Remove a type from the symbol table...
Type* SymbolTable::remove(type_iterator Entry) {
- assert( Entry != tmap.end() && "Invalid entry to remove!");
+ assert(Entry != tmap.end() && "Invalid entry to remove!");
const Type* Result = Entry->second;
More information about the llvm-commits
mailing list