Lines Matching defs:Def
294 /// without a corresponding def when entering the entry block or a landing pad.
346 SlotIndex Def = VNI->def;
347 LR.addSegment(LiveRange::Segment(Def, Def.getDeadSlot(), VNI));
374 if (!VNI->isPHIDef() || VNI->def != BlockStart ||
446 Idx = DefVNI->def;
451 // Create new live ranges with only minimal live segments per def.
471 SlotIndex Def = VNI->def;
472 LiveRange::iterator I = LI.FindSegmentContaining(Def);
479 if ((I == LI.begin() || std::prev(I)->end < Def) && !VNI->isPHIDef()) {
480 MachineInstr *MI = getInstructionFromIndex(Def);
485 if (I->end != Def.getDeadSlot())
491 DEBUG(dbgs() << "Dead PHI at " << Def << " may separate interval\n");
494 // This is a dead def. Make sure the instruction knows.
495 MachineInstr *MI = getInstructionFromIndex(Def);
499 DEBUG(dbgs() << "All defs dead: " << Def << '\t' << *MI);
544 Idx = DefVNI->def;
549 // Create a new live ranges with only minimal live segments per def.
561 const LiveRange::Segment *Segment = SR.getSegmentContaining(VNI->def);
563 if (Segment->end != VNI->def.getDeadSlot())
567 DEBUG(dbgs() << "Dead PHI at " << VNI->def << " may separate interval\n");
807 const MachineBasicBlock *PHIMBB = getMBBFromIndex(PHI->def);
1028 // Is there a def before NewIdx which is not OldIdx?
1032 // If we are here then OldIdx was just a use but not a def. We only have
1049 // If this was not a kill, then there was no def and we're done.
1053 // Did we have a Def at OldIdx?
1064 "No def?");
1066 assert(OldIdxVNI->def == OldIdxOut->start && "Inconsistent def");
1072 OldIdxVNI->def = NewIdxDef;
1073 OldIdxOut->start = OldIdxVNI->def;
1080 // Is there an existing Def at NewIdx?
1086 // OldIdx is not a dead def, and NewIdxDef is inside a new interval.
1106 INext->valno->def = INext->start;
1115 // The last segment is undefined now, reuse it for a dead def.
1119 DefVNI->def = NewIdxDef;
1136 Prev->valno->def = NewIdxDef;
1139 DefVNI->def = Prev->start;
1144 DefVNI->def = NewIdxDef;
1153 // There is an existing def at NewIdx. The def at OldIdx is coalesced into
1158 // There was no existing def at NewIdx. We need to create a dead def
1160 // a new segment at the place where we want to construct the dead def.
1168 NewSegmentVNI->def = NewIdxDef;
1188 // If the live-in value isn't killed here, then we have no Def at
1196 // previous use or (dead-)def but no further than NewIdx.
1202 // Did we have a Def at OldIdx? If not we are done now.
1214 "No def?");
1216 assert(OldIdxVNI->def == OldIdxOut->start && "Inconsistent def");
1219 // Is there an existing def at NewIdx?
1225 // If OldIdx was a dead def remove it.
1229 OldIdxVNI->def = NewIdxDef;
1233 // Simply remove the dead def at OldIdx.
1243 // OldIdx is not a dead def and NewIdx is before predecessor start.
1265 Next->valno->def = SplitPos;
1270 NewSegment->valno->def = SplitPos;
1273 // Leave the end point of a live def.
1275 OldIdxVNI->def = NewIdxDef;
1280 // OldIdxVNI is a dead def. It may have been moved across other values
1286 // OldIdxVNI can be reused now to build a new dead def segment.
1291 def = NewIdxDef;
1442 LII->valno->def = instrIdx.getRegSlot();
1468 // either as part of the def case (for defs inside of the region) or