summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2017-12-06 19:02:12 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2017-12-06 19:02:12 +0000
commit5b491a29fb17504e9bcb78e44192feef24a42b5c (patch)
tree352a60e1822e0907be1fcc0f7fc312eeb537f0e2
parentc221dc71b18410bbc9fd0fa604b166e1f618244e (diff)
downloadbcm5719-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.cpp7
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;
OpenPOWER on IntegriCloud