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
441 VNInfo *BValNo = BLR->valno;
453 VNInfo *AValNo = ALR->valno;
494 if (BValNo != ValLR->valno)
495 IntB.MergeValueNumberInto(BValNo, ValLR->valno);
529 if (AI->valno != AValNo) continue;
535 if (BI->valno == BValNo)
633 if (ULR == IntA.end() || ULR->valno != AValNo)
685 if (ULR == IntA.end() || ULR->valno != AValNo)
717 VNInfo *ValNo = BValNo;
718 ValNo->def = AValNo->def;
721 if (AI->valno != AValNo) continue;
722 IntB.addRange(LiveRange(AI->start, AI->end, ValNo));
747 VNInfo *ValNo = LiveRangeQuery(SrcInt, CopyIdx).valueIn();
748 assert(ValNo && "CopyMI input register not live");
749 if (ValNo->isPHIDef() || ValNo->isUnused())
751 MachineInstr *DefMI = LIS->getInstructionFromIndex(ValNo->def);
1376 ConflictResolution analyzeValue(unsigned ValNo, JoinVals &Other);
1377 void computeAssignment(unsigned ValNo, JoinVals &Other);
1381 bool isPrunedValue(unsigned ValNo, JoinVals &Other);
1453 /// Analyze ValNo in this live range, and set all fields of Vals[ValNo].
1461 JoinVals::analyzeValue(unsigned ValNo, JoinVals &Other) {
1462 Val &V = Vals[ValNo];
1464 VNInfo *VNI = LI.getValNumInfo(ValNo);
1662 /// Compute the value assignment for ValNo in LI.
1663 /// This may be called recursively by analyzeValue(), but never for a ValNo on
1665 void JoinVals::computeAssignment(unsigned ValNo, JoinVals &Other) {
1666 Val &V = Vals[ValNo];
1668 // Recursion should always move up the dominator tree, so ValNo is not
1670 assert(Assignments[ValNo] != -1 && "Bad recursion?");
1673 switch ((V.Resolution = analyzeValue(ValNo, Other))) {
1676 // Merge this ValNo into OtherVNI.
1679 Assignments[ValNo] = Other.Assignments[V.OtherVNI->id];
1680 DEBUG(dbgs() << "\t\tmerge " << PrintReg(LI.reg) << ':' << ValNo << '@'
1681 << LI.getValNumInfo(ValNo)->def << " into "
1684 << NewVNInfo[Assignments[ValNo]]->def << '\n');
1694 Assignments[ValNo] = NewVNInfo.size();
1695 NewVNInfo.push_back(LI.getValNumInfo(ValNo));
1712 /// Assuming ValNo is going to clobber some valid lanes in Other.LI, compute
1719 /// 2 %src = FOO <-- ValNo to be joined with %dst:ssub0
1723 /// For each ValNo in Other that is affected, add an (EndIndex, TaintedLanes)
1728 taintExtent(unsigned ValNo, unsigned TaintedLanes, JoinVals &Other,
1730 VNInfo *VNI = LI.getValNumInfo(ValNo);
1743 << OtherI->valno->id << '@' << OtherI->start << '\n');
1747 << OtherI->valno->id << '@' << OtherI->start
1759 const Val &OV = Other.Vals[OtherI->valno->id];
1847 // Determine if ValNo is a copy of a value number in LI or Other.LI that will
1854 bool JoinVals::isPrunedValue(unsigned ValNo, JoinVals &Other) {
1855 Val &V = Vals[ValNo];