Lines Matching full:live
89 enum Liveness { Live, MaybeLive };
102 /// arguments it uses. This allows the MaybeLive values to be marked live
103 /// when any of its users is marked live.
120 /// This set contains all values that have been determined to be live.
410 /// live, it adds Use to the MaybeLiveUses argument. Returns the determined
413 // We're live if our use or its Function is already marked as live.
415 return Live;
417 // We're maybe live otherwise, but remember that we must become live if
418 // Use becomes live.
435 // The value is returned from a function. It's only live when the
436 // function's return value is live. We use RetValNum here, for the case
440 // We might be live
458 if (Result == Live)
476 // The value is passed in through a vararg! Must be live.
477 return Live;
483 // Value passed to a normal call. It's only live when the corresponding
484 // argument to the called function turns out live.
489 // Used in any other way? Value must be live.
490 return Live;
497 /// the result is Live, MaybeLiveUses might be modified but its content should
506 if (Result == Live)
547 // Keep track of the number of live retvals, so we can skip checks once all
548 // of them turn out to be live.
572 // bother checking return values if all of them are live already.
583 if (RetValLiveness[Idx] != Live) {
585 if (RetValLiveness[Idx] == Live)
590 // values as live.
592 RetValLiveness[i] = Live;
600 if (RetValLiveness[0] == Live)
624 Result = Live;
640 /// such that RA will be marked live if any use in MaybeLiveUses gets marked
641 /// live later on.
645 case Live: MarkLive(RA); break;
649 // marked live whenever one of the uses becomes live.
661 /// values (according to Uses) live as well.
663 DEBUG(dbgs() << "DAE - Intrinsically live fn: " << F.getName() << "\n");
664 // Mark the function as live.
666 // Mark all arguments as live.
669 // Mark all return values as live.
674 /// MarkLive - Mark the given return value or argument as live. Additionally,
675 /// mark any values that are used by this value (according to Uses) live as
679 return; // Function was already marked Live.
682 return; // We were already marked Live.
684 DEBUG(dbgs() << "DAE - Marking " << RA.getDescription() << " live\n");
688 /// PropagateLiveness - Given that RA is a live value, propagate it's liveness
710 // Don't modify fully live functions
719 // Keep track of if we have a live 'returned' argument
764 // If there is a function with a live 'returned' argument but a dead return
769 // entire function) as live so that it is not eliminated.
1023 // If this is a live argument, move the name and users over to the new
1105 // Second phase:loop through the module, determining which arguments are live.