[lld] r319918 - Don't allocate memory for an error message on success.
Rafael Espindola via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 6 10:39:23 PST 2017
Author: rafael
Date: Wed Dec 6 10:39:22 2017
New Revision: 319918
URL: http://llvm.org/viewvc/llvm-project?rev=319918&view=rev
Log:
Don't allocate memory for an error message on success.
This takes memory allocations when linking clang-fsds from 342.08MB to
320.04MB.
Modified:
lld/trunk/ELF/InputFiles.cpp
Modified: lld/trunk/ELF/InputFiles.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/InputFiles.cpp?rev=319918&r1=319917&r2=319918&view=diff
==============================================================================
--- lld/trunk/ELF/InputFiles.cpp (original)
+++ lld/trunk/ELF/InputFiles.cpp Wed Dec 6 10:39:22 2017
@@ -642,7 +642,10 @@ template <class ELFT> Symbol *ObjFile<EL
return make<Defined>(this, Name, Binding, StOther, Type, Value, Size, Sec);
}
- StringRef Name = check(Sym->getName(this->StringTable), toString(this));
+ auto NameOrErr = Sym->getName(this->StringTable);
+ if (!NameOrErr)
+ fatal(toString(this) + ": " + toString(NameOrErr.takeError()));
+ StringRef Name = *NameOrErr;
switch (Sym->st_shndx) {
case SHN_UNDEF:
More information about the llvm-commits
mailing list