Lines Matching +full:keep +full:- +full:a +full:- +full:live
1 //===- MarkLive.cpp -------------------------------------------------------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
19 // Set live bit on for each reachable chunk. Unmarked (unreachable)
23 llvm::TimeTraceScope timeScope("Mark live");
26 // We build up a worklist of sections which have been marked as live. We only
31 // COMDAT section chunks are dead by default. Add non-COMDAT chunks. Do not
32 // traverse DWARF sections. They are live, but they should not keep other
36 if (sc->live && !sc->isDWARF())
40 if (c->live)
42 c->live = true;
48 enqueue(sym->getChunk());
50 sym->file->live = true;
52 sym->wrappedSym->file->live = sym->wrappedSym->file->thunkLive = true;
61 assert(sc->live && "We mark as live when pushing onto the worklist!");
64 for (Symbol *b : sc->symbols())
69 for (SectionChunk &c : sc->children())
73 if (Defined *entryThunk = sc->getEntryThunk())