summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore/Core.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-08-06 06:04:35 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-08-06 06:04:35 +0000
commit84f399103b32cf0535a28a34d28fc5f53a59ecbf (patch)
tree5850700df22d932c82343ad2892eec8211fb59ec /llvm/lib/VMCore/Core.cpp
parent1135c35c7c4328027fd7faf8cc06aa039da52bbf (diff)
downloadbcm5719-llvm-84f399103b32cf0535a28a34d28fc5f53a59ecbf.tar.gz
bcm5719-llvm-84f399103b32cf0535a28a34d28fc5f53a59ecbf.zip
Don't search the entire type table just to delete a type by name.
- This also fixes the ENABLE_EXPENSIVE_CHECKS failure on vmcore.ml. llvm-svn: 78287
Diffstat (limited to 'llvm/lib/VMCore/Core.cpp')
-rw-r--r--llvm/lib/VMCore/Core.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/llvm/lib/VMCore/Core.cpp b/llvm/lib/VMCore/Core.cpp
index 6cce6782eea..88160e16297 100644
--- a/llvm/lib/VMCore/Core.cpp
+++ b/llvm/lib/VMCore/Core.cpp
@@ -94,17 +94,15 @@ int LLVMAddTypeName(LLVMModuleRef M, const char *Name, LLVMTypeRef Ty) {
}
void LLVMDeleteTypeName(LLVMModuleRef M, const char *Name) {
- std::string N(Name);
-
TypeSymbolTable &TST = unwrap(M)->getTypeSymbolTable();
- for (TypeSymbolTable::iterator I = TST.begin(), E = TST.end(); I != E; ++I)
- if (I->first == N)
- TST.remove(I);
+
+ TypeSymbolTable::iterator I = TST.find(Name);
+ if (I != TST.end())
+ TST.remove(I);
}
LLVMTypeRef LLVMGetTypeByName(LLVMModuleRef M, const char *Name) {
- std::string N(Name);
- return wrap(unwrap(M)->getTypeByName(N));
+ return wrap(unwrap(M)->getTypeByName(Name));
}
void LLVMDumpModule(LLVMModuleRef M) {
OpenPOWER on IntegriCloud