diff --git a/lld/ELF/Driver.cpp b/lld/ELF/Driver.cpp index 505602f7da626..e93f83906d522 100644 --- a/lld/ELF/Driver.cpp +++ b/lld/ELF/Driver.cpp @@ -1850,8 +1850,7 @@ static void demoteSharedSymbols() { llvm::TimeTraceScope timeScope("Demote shared symbols"); for (Symbol *sym : symtab->symbols()) { auto *s = dyn_cast(sym); - if (!((s && !s->getFile().isNeeded) || - (sym->isLazy() && sym->isUsedInRegularObj))) + if (!(s && !s->getFile().isNeeded) && !sym->isLazy()) continue; bool used = sym->used;