diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2017-12-06 19:02:12 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2017-12-06 19:02:12 +0000 |
| commit | 5b491a29fb17504e9bcb78e44192feef24a42b5c (patch) | |
| tree | 352a60e1822e0907be1fcc0f7fc312eeb537f0e2 | |
| parent | c221dc71b18410bbc9fd0fa604b166e1f618244e (diff) | |
| download | bcm5719-llvm-5b491a29fb17504e9bcb78e44192feef24a42b5c.tar.gz bcm5719-llvm-5b491a29fb17504e9bcb78e44192feef24a42b5c.zip | |
Convert a call to check to checkLazy.
Linking clang goes from 300.82MB to 292.68MB allocated.
llvm-svn: 319926
| -rw-r--r-- | lld/ELF/InputFiles.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lld/ELF/InputFiles.cpp b/lld/ELF/InputFiles.cpp index 52b30f722f4..9bd5a73ddec 100644 --- a/lld/ELF/InputFiles.cpp +++ b/lld/ELF/InputFiles.cpp @@ -520,13 +520,14 @@ InputSectionBase *ObjFile<ELFT>::createInputSection(const Elf_Shdr &Sec) { size_t NumRelocations; if (Sec.sh_type == SHT_RELA) { - ArrayRef<Elf_Rela> Rels = - check(this->getObj().relas(&Sec), toString(this)); + ArrayRef<Elf_Rela> Rels = checkLazy(this->getObj().relas(&Sec), + [=]() { return toString(this); }); Target->FirstRelocation = Rels.begin(); NumRelocations = Rels.size(); Target->AreRelocsRela = true; } else { - ArrayRef<Elf_Rel> Rels = check(this->getObj().rels(&Sec), toString(this)); + ArrayRef<Elf_Rel> Rels = checkLazy(this->getObj().rels(&Sec), + [=]() { return toString(this); }); Target->FirstRelocation = Rels.begin(); NumRelocations = Rels.size(); Target->AreRelocsRela = false; |

