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"); in markLive()
26 // We build up a worklist of sections which have been marked as live. We only in markLive()
31 // COMDAT section chunks are dead by default. Add non-COMDAT chunks. Do not in markLive()
32 // traverse DWARF sections. They are live, but they should not keep other in markLive()
36 if (sc->live && !sc->isDWARF()) in markLive()
40 if (c->live) in markLive()
42 c->live = true; in markLive()
48 enqueue(sym->getChunk()); in markLive()
50 sym->file->live = true; in markLive()
52 sym->wrappedSym->file->live = sym->wrappedSym->file->thunkLive = true; in markLive()
61 assert(sc->live && "We mark as live when pushing onto the worklist!"); in markLive()
64 for (Symbol *b : sc->symbols()) in markLive()
69 for (SectionChunk &c : sc->children()) in markLive()
73 if (Defined *entryThunk = sc->getEntryThunk()) in markLive()