Home | History | Annotate | Download | only in CodeGen

Lines Matching full:valno

152     /// see if we can merge these two destination reg valno# into a single
440 VNInfo *BValNo = BS->valno;
452 VNInfo *AValNo = AS->valno;
493 if (BValNo != ValS->valno)
494 IntB.MergeValueNumberInto(BValNo, ValS->valno);
528 if (AI->valno != AValNo) continue;
534 if (BI->valno == BValNo)
629 if (US == IntA.end() || US->valno != AValNo)
681 if (US == IntA.end() || US->valno != AValNo)
713 VNInfo *ValNo = BValNo;
714 ValNo->def = AValNo->def;
717 if (AI->valno != AValNo) continue;
718 IntB.addSegment(LiveInterval::Segment(AI->start, AI->end, ValNo));
743 VNInfo *ValNo = SrcInt.Query(CopyIdx).valueIn();
744 assert(ValNo && "CopyMI input register not live");
745 if (ValNo->isPHIDef() || ValNo->isUnused())
747 MachineInstr *DefMI = LIS->getInstructionFromIndex(ValNo->def);
1391 ConflictResolution analyzeValue(unsigned ValNo, JoinVals &Other);
1392 void computeAssignment(unsigned ValNo, JoinVals &Other);
1396 bool isPrunedValue(unsigned ValNo, JoinVals &Other);
1468 /// Analyze ValNo in this live range, and set all fields of Vals[ValNo].
1476 JoinVals::analyzeValue(unsigned ValNo, JoinVals &Other) {
1477 Val &V = Vals[ValNo];
1479 VNInfo *VNI = LI.getValNumInfo(ValNo);
1677 /// Compute the value assignment for ValNo in LI.
1678 /// This may be called recursively by analyzeValue(), but never for a ValNo on
1680 void JoinVals::computeAssignment(unsigned ValNo, JoinVals &Other) {
1681 Val &V = Vals[ValNo];
1683 // Recursion should always move up the dominator tree, so ValNo is not
1685 assert(Assignments[ValNo] != -1 && "Bad recursion?");
1688 switch ((V.Resolution = analyzeValue(ValNo, Other))) {
1691 // Merge this ValNo into OtherVNI.
1694 Assignments[ValNo] = Other.Assignments[V.OtherVNI->id];
1695 DEBUG(dbgs() << "\t\tmerge " << PrintReg(LI.reg) << ':' << ValNo << '@'
1696 << LI.getValNumInfo(ValNo)->def << " into "
1699 << NewVNInfo[Assignments[ValNo]]->def << '\n');
1709 Assignments[ValNo] = NewVNInfo.size();
1710 NewVNInfo.push_back(LI.getValNumInfo(ValNo));
1727 /// Assuming ValNo is going to clobber some valid lanes in Other.LI, compute
1734 /// 2 %src = FOO <-- ValNo to be joined with %dst:ssub0
1738 /// For each ValNo in Other that is affected, add an (EndIndex, TaintedLanes)
1743 taintExtent(unsigned ValNo, unsigned TaintedLanes, JoinVals &Other,
1745 VNInfo *VNI = LI.getValNumInfo(ValNo);
1758 << OtherI->valno->id << '@' << OtherI->start << '\n');
1762 << OtherI->valno->id << '@' << OtherI->start
1774 const Val &OV = Other.Vals[OtherI->valno->id];
1862 // Determine if ValNo is a copy of a value number in LI or Other.LI that will
1869 bool JoinVals::isPrunedValue(unsigned ValNo, JoinVals &Other) {
1870 Val &V = Vals[ValNo];