reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

include/llvm/CodeGen/LiveInterval.h
  254         segments.push_back(Segment(S.start, S.end, valnos[S.valno->id]));
  414       return I == end() ? nullptr : I->valno;
  422       return I == end() ? nullptr : I->valno;
  547         EarlyVal = I->valno;
  565         LateVal = I->valno;
lib/CodeGen/LiveDebugVariables.cpp
  728     if (!Segment || Segment->valno != VNI) {
lib/CodeGen/LiveInterval.cpp
  101       assert((!ForVNI || ForVNI == S->valno) && "Value number mismatch");
  102       assert(S->valno->def == S->start && "Inconsistent existing value def");
  111         S->start = S->valno->def = Def;
  112       return S->valno;
  132     return I->valno;
  151     return std::make_pair(I->valno, false);
  161     VNInfo *ValNo = I->valno;
  166       assert(MergeTo->valno == ValNo && "Cannot merge with differing values!");
  174         MergeTo->valno == ValNo) {
  189     VNInfo *ValNo = I->valno;
  199       assert(MergeTo->valno == ValNo && "Cannot merge with differing values!");
  205     if (MergeTo->end >= NewStart && MergeTo->valno == ValNo) {
  227       if (S.valno == B->valno) {
  227       if (S.valno == B->valno) {
  244       if (S.valno == I->valno) {
  244       if (S.valno == I->valno) {
  535     VNInfo *VNI = S.valno;
  592   VNInfo *ValNo = I->valno;
  599           if (II != I && II->valno == ValNo) {
  635     return S.valno == ValNo;
  666     OutIt->valno = NewVNInfo[LHSValNoAssignments[OutIt->valno->id]];
  666     OutIt->valno = NewVNInfo[LHSValNoAssignments[OutIt->valno->id]];
  668       VNInfo* nextValNo = NewVNInfo[LHSValNoAssignments[I->valno->id]];
  674       if (OutIt->valno == nextValNo && OutIt->end == I->start) {
  679         OutIt->valno = nextValNo;
  696     S.valno = NewVNInfo[RHSValNoAssignments[S.valno->id]];
  696     S.valno = NewVNInfo[RHSValNoAssignments[S.valno->id]];
  741     if (S.valno == RHSValNo)
  766     if (S->valno != V1) continue;  // Not a V1 Segment.
  772       if (Prev->valno == V2 && Prev->end == S->start) {
  784     S->valno = V2;
  790       if (I->start == S->end && I->valno == V2) {
  992   return OS << '[' << S.start << ',' << S.end << ':' << S.valno->id << ')';
 1007       assert(S.valno == getValNumInfo(S.valno->id) && "Bad VNInfo");
 1007       assert(S.valno == getValNumInfo(S.valno->id) && "Bad VNInfo");
 1065     assert(I->valno != nullptr);
 1066     assert(I->valno->id < valnos.size());
 1067     assert(I->valno == valnos[I->valno->id]);
 1067     assert(I->valno == valnos[I->valno->id]);
 1071         assert(I->valno != std::next(I)->valno);
 1071         assert(I->valno != std::next(I)->valno);
 1163     return A.valno == B.valno;
 1163     return A.valno == B.valno;
 1166   assert(A.valno == B.valno && "Cannot overlap different values");
 1166   assert(A.valno == B.valno && "Cannot overlap different values");
 1210     assert(ReadI->valno == Seg.valno && "Cannot overlap different values");
 1210     assert(ReadI->valno == Seg.valno && "Cannot overlap different values");
lib/CodeGen/LiveIntervals.cpp
 1107     VNInfo *OldIdxVNI = OldIdxOut->valno;
 1148         INext->valno->def = INext->start;
 1177           *NewSegment = LiveRange::Segment(NewIdxDef, Prev->end, Prev->valno);
 1178           Prev->valno->def = NewIdxDef;
 1187           assert(DefVNI != AfterNewIdx->valno);
 1197       assert(AfterNewIdx->valno != OldIdxVNI && "Multiple defs of value?");
 1257     VNInfo *OldIdxVNI = OldIdxOut->valno;
 1265       assert(NewIdxOut->valno != OldIdxVNI &&
 1273         LR.removeValNo(NewIdxOut->valno);
 1289           OldIdxVNI = OldIdxIn->valno;
 1306           OldIdxOut->valno->def = OldIdxIn->start;
 1308                                           OldIdxOut->valno);
 1321                                              Next->valno);
 1324             Next->valno->def = SplitPos;
 1329             NewSegment->valno->def = SplitPos;
 1354             NewIdxOut->start, NewIdxDef.getRegSlot(), NewIdxOut->valno);
 1360           Idx->valno = OldIdxVNI;
 1538             LII->valno->def = instrIdx.getRegSlot();
lib/CodeGen/LiveRangeUtils.h
   30   while (J != E && VNIClasses[J->valno->id] == 0)
   33     if (unsigned eq = VNIClasses[I->valno->id]) {
lib/CodeGen/MachineVerifier.cpp
 2461   const VNInfo *VNI = S.valno;
lib/CodeGen/RegisterCoalescer.cpp
  584   VNInfo *BValNo = BS->valno;
  596   VNInfo *AValNo = AS->valno;
  637   if (BValNo != ValS->valno)
  638     IntB.MergeValueNumberInto(BValNo, ValS->valno);
  696     if (ASeg.valno != AValNo) continue;
  701       if (BI->valno == BValNo)
  720     if (S.valno != SrcValNo)
  821     if (US == IntA.end() || US->valno != AValNo)
  876     if (US->valno != AValNo)
 2799                         << OtherI->valno->id << '@' << OtherI->start << '\n');
 2803                       << OtherI->valno->id << '@' << OtherI->start << " to "
 2815     const Val &OV = Other.Vals[OtherI->valno->id];
lib/CodeGen/SplitKit.cpp
  257         assert(LVI->start == LVI->valno->def && "Dangling Segment start");
  289         assert(LVI->start == LVI->valno->def && "Dangling Segment start");
 1127     VNInfo *ParentVNI = S.valno;
 1413       if (S.end != S.valno->def.getDeadSlot())
 1415       if (S.valno->isPHIDef())
 1417       MachineInstr *MI = LIS.getInstructionFromIndex(S.valno->def);
lib/Target/Hexagon/HexagonExpandCondsets.cpp
 1164     VNInfo *NewVN, *OldVN = I->valno;
 1167       NewVN = L1.getNextValue(I->valno->def, LIS->getVNInfoAllocator());
lib/Target/PowerPC/PPCVSXFMAMutate.cpp
  302           if (AI->valno == AddendValNo)