Lines Matching full:live
77 /// True if the associated instruction is live.
78 bool Live = false;
86 /// True when this block contains a live instructions.
87 bool Live = false;
92 /// True when this block is known to have live PHI nodes.
95 /// Control dependence sources need to be live for this block.
111 bool terminatorIsLive() const { return TerminatorLiveInfo->Live; }
131 bool isLive(BasicBlock *BB) { return BlockInfo[BB].Live; }
135 bool isLive(Instruction *I) { return InstInfo[I].Live; }
137 /// Instructions known to be live where we need to mark
138 /// reaching definitions as live.
141 /// Debug info scopes around a live instruction.
144 /// Set of blocks with not known to have live terminators.
148 /// dependence sources must be live and which have not had
153 /// initialize the Worklist to the set of must-be-live Instruscions.
156 /// Return true for operations which are always treated as live.
165 /// Mark an instruction as live.
168 /// Mark a block as live.
172 /// Mark terminators of control predecessors of a PHI node live.
175 /// Record the Debug Scopes which surround live debug information.
180 /// of control dependences impacting a live block. Those branches are
181 /// marked live.
184 /// Remove instructions not marked live, return if any instruction was
249 // Collect the set of "root" instructions that are known live.
284 // and mark the branch live it if there is a back edge.
299 // Mark blocks live if there is no path from the block to a
302 // program, and for all others, mark the subtree live.
318 // Treat the entry block as always live
321 EntryInfo.Live = true;
362 // Worklist holds newly discovered live instructions
363 // where we need to mark the inputs as live.
366 LLVM_DEBUG(dbgs() << "work live: "; LiveInst->dump(););
377 // decisions are required to determine live instructions are executed.
385 if (Info.Live)
388 LLVM_DEBUG(dbgs() << "mark live: "; I->dump());
389 Info.Live = true;
392 // Collect the live debug info scopes attached to this instruction.
396 // Mark the containing block live
400 // For live terminators, mark destination blocks
401 // live to preserve this control flow edges.
410 if (BBInfo.Live)
412 LLVM_DEBUG(dbgs() << "mark block live: " << BBInfo.BB->getName() << '\n');
413 BBInfo.Live = true;
419 // Mark unconditional branches at the end of live
420 // blocks as live since there is no work to do for them later
442 // Collect live scopes from the scope chain.
457 // If a predecessor block is not live, mark it as control-flow live
458 // which will trigger marking live branches upon which
474 dbgs() << "new live blocks:\n";
482 // The dominance frontier of a live block X in the reverse
499 // Dead terminators which control live blocks are now marked live.
501 LLVM_DEBUG(dbgs() << "live control in: " << BB->getName() << '\n');
527 // If intrinsic is pointing at a live SSA value, there may be an
542 // The inverse of the live set is the dead set. These are those instructions
600 // A dead region is the set of dead blocks with a common live post-dominator.
606 << (BlockInfo[BB].Live ? " LIVE\n" : "\n");
617 InstInfo[Info.Terminator].Live = true;
628 // live edge.
678 // all branches in those blocks are forced live.
695 // Collect the live debug info scopes attached to this instruction.
699 // Just mark live an existing unconditional branch
702 InstInfo[PredTerm].Live = true;
709 InstInfo[NewTerm].Live = true;