[lld] r241128 - COFF: Simplify SymbolTable::findLazy. NFC.
Rui Ueyama
ruiu at google.com
Tue Jun 30 16:46:52 PDT 2015
Author: ruiu
Date: Tue Jun 30 18:46:52 2015
New Revision: 241128
URL: http://llvm.org/viewvc/llvm-project?rev=241128&view=rev
Log:
COFF: Simplify SymbolTable::findLazy. NFC.
Modified:
lld/trunk/COFF/Driver.cpp
lld/trunk/COFF/SymbolTable.cpp
lld/trunk/COFF/SymbolTable.h
Modified: lld/trunk/COFF/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Driver.cpp?rev=241128&r1=241127&r2=241128&view=diff
==============================================================================
--- lld/trunk/COFF/Driver.cpp (original)
+++ lld/trunk/COFF/Driver.cpp Tue Jun 30 18:46:52 2015
@@ -217,7 +217,8 @@ StringRef LinkerDriver::findDefaultEntry
{"wWinMain", "wWinMainCRTStartup"},
};
for (auto E : Entries) {
- if (Symtab.findLazy(E[0]))
+ Symbol *Sym = Symtab.findSymbol(E[0]);
+ if (Sym && !isa<Undefined>(Sym->Body))
return E[1];
}
return "";
Modified: lld/trunk/COFF/SymbolTable.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/SymbolTable.cpp?rev=241128&r1=241127&r2=241128&view=diff
==============================================================================
--- lld/trunk/COFF/SymbolTable.cpp (original)
+++ lld/trunk/COFF/SymbolTable.cpp Tue Jun 30 18:46:52 2015
@@ -237,23 +237,11 @@ Defined *SymbolTable::find(StringRef Nam
return nullptr;
}
-// Find a given symbol. If a lazy symbol is found,
-// resolve that before returning.
-Defined *SymbolTable::findLazy(StringRef Name) {
+Symbol *SymbolTable::findSymbol(StringRef Name) {
auto It = Symtab.find(Name);
if (It == Symtab.end())
return nullptr;
- Symbol *Sym = It->second;
- if (auto *B = dyn_cast<Defined>(Sym->Body))
- return B;
- if (auto *B = dyn_cast<Lazy>(Sym->Body)) {
- if (addMemberFile(B))
- return nullptr;
- if (run())
- return nullptr;
- return cast<Defined>(Sym->Body);
- }
- return nullptr;
+ return It->second;
}
// Find a given symbol or its mangled symbol.
Modified: lld/trunk/COFF/SymbolTable.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/SymbolTable.h?rev=241128&r1=241127&r2=241128&view=diff
==============================================================================
--- lld/trunk/COFF/SymbolTable.h (original)
+++ lld/trunk/COFF/SymbolTable.h Tue Jun 30 18:46:52 2015
@@ -59,7 +59,7 @@ public:
// mechanisms to allow aliases, a name can be resolved to a
// different symbol). Returns a nullptr if not found.
Defined *find(StringRef Name);
- Defined *findLazy(StringRef Name);
+ Symbol *findSymbol(StringRef Name);
// Find a symbol assuming that Name is a function name.
// Not only a given string but its mangled names (in MSVC C++ manner)
More information about the llvm-commits
mailing list