Home | History | Annotate | Download | only in src

Lines Matching refs:Liveness

111 // modified to be zero, to maintain consistency in liveness analysis.  This
434 // pass will be needed. To prepare for this, liveness (including live range
435 liveness of the
672 // Performs liveness analysis on the block. Returns true if the incoming
673 // liveness changed from before, false if it stayed the same. (If it changes,
675 bool CfgNode::liveness(Liveness *Liveness) {
676 const SizeT NumVars = Liveness->getNumVarsInNode(this);
677 const SizeT NumGlobalVars = Liveness->getNumGlobalVars();
678 LivenessBV &Live = Liveness->getScratchBV();
685 if (Liveness->getMode() == Liveness_Intervals) {
686 LiveBegin = Liveness->getLiveBegin(this);
687 LiveEnd = Liveness->getLiveEnd(this);
698 const LivenessBV &LiveIn = Liveness->getLiveIn(Succ);
706 Phi->livenessPhiOperand(Live, this, Liveness);
710 Liveness->getLiveOut(this) = Live;
718 I.liveness(I.getNumber(), Live, Liveness, LiveBegin, LiveEnd);
729 if (I.liveness(FirstPhiNumber, Live, Liveness, LiveBegin, LiveEnd))
739 // This is a fatal liveness consistency error. Print some diagnostics and
747 Liveness->getVariable(i, this)->dump(Func);
752 llvm::report_fatal_error("Fatal inconsistency in liveness analysis");
758 LivenessBV &LiveIn = Liveness->getLiveIn(this);
763 SizeT &PrevNumNonDeadPhis = Liveness->getNumNonDeadPhis(this);
774 bool CfgNode::livenessValidateIntervals(Liveness *Liveness) const {
783 LiveBeginEndMap &MapBegin = *Liveness->getLiveBegin(this);
784 LiveBeginEndMap &MapEnd = *Liveness->getLiveEnd(this);
791 // There is definitely a liveness error. All paths from here return false.
811 << Liveness->getVariable(Start->first, this)->getName() << "\n";
820 << Liveness->getVariable(Start->first, this)->getName() << "\n";
827 // Once basic liveness is complete, compute actual live ranges. It is assumed
833 void CfgNode::livenessAddIntervals(Liveness *Liveness, InstNumberT FirstInstNum,
837 const SizeT NumVars = Liveness->getNumVarsInNode(this);
838 const LivenessBV &LiveIn = Liveness->getLiveIn(this);
839 const LivenessBV &LiveOut = Liveness->getLiveOut(this);
840 LiveBeginEndMap &MapBegin = *Liveness->getLiveBegin(this);
841 LiveBeginEndMap &MapEnd = *Liveness->getLiveEnd(this);
845 if (!livenessValidateIntervals(Liveness)) {
846 llvm::report_fatal_error("livenessAddIntervals: Liveness error");
850 LivenessBV &LiveInAndOut = Liveness->getScratchBV();
871 Variable *Var = Liveness->getVariable(i, this);
875 // Assert that Var is a global variable by checking that its liveness
878 assert(i < Liveness->getNumGlobalVars());
891 Variable *Var = Liveness->getVariable(i, this);
892 if (Liveness->getRangeMask(Var->getIndex()))
978 Liveness *Liveness = Func->getLiveness();
983 Live = &Liveness->getLiveIn(Node);
986 Live = &Liveness->getLiveOut(Node);
994 Variable *Var = Liveness->getVariable(i, Node);
1085 Liveness *Liveness = Func->getLiveness();
1086 const bool DecorateAsm = Liveness && getFlags().getDecorateAsm();
1124 // the liveness of their register. However, if the register allocator
1390 Liveness *Liveness = Func->getLiveness();
1410 if (Liveness != nullptr && !Liveness->getLiveIn(this).empty()) {
1411 const LivenessBV &LiveIn = Liveness->getLiveIn(this);
1415 Variable *Var = Liveness->getVariable(i, this);
1436 if (Liveness != nullptr && !Liveness->getLiveOut(this).empty()) {
1437 const LivenessBV &LiveOut = Liveness->getLiveOut(this);
1441 Variable *Var = Liveness->getVariable(i, this);