Lines Matching defs:Def
1 //===---- ReachingDefAnalysis.cpp - Reaching Def Analysis ---*- C++ -*-----===//
127 // While processing the basic block, we kept `Def` relative to the start
200 int Def = Incoming[Unit];
201 if (Def == ReachingDefDefaultVal)
206 if (Defs.front() >= Def)
210 MBBReachingDefs.replaceFront(MBBNumber, Unit, Def);
213 MBBReachingDefs.prepend(MBBNumber, Unit, Def);
218 if (MBBOutRegsInfos[MBBNumber][Unit] < Def - NumInsts)
219 MBBOutRegsInfos[MBBNumber][Unit] = Def - NumInsts;
270 for (MachineInstr *Def : Defs)
271 dbgs() << InstToNumMap[Def] << " ";
331 for (int Def : MBBReachingDefs.defs(MBBNumber, Unit)) {
332 assert(Def > LastDef && "Defs must be sorted and unique");
333 LastDef = Def;
351 for (int Def : MBBFrameObjsReachingDefs.lookup(MBBNumber).lookup(
353 if (Def >= InstId)
355 DefRes = Def;
362 for (int Def : MBBReachingDefs.defs(MBBNumber, Unit)) {
363 if (Def >= InstId)
365 DefRes = Def;
419 void ReachingDefAnalysis::getReachingLocalUses(MachineInstr *Def, Register Reg,
421 MachineBasicBlock *MBB = Def->getParent();
422 MachineBasicBlock::iterator MI = MachineBasicBlock::iterator(Def);
428 // of 'Def'.
429 if (getReachingLocalMIDef(&*MI, Reg) != Def)
488 if (auto *Def = getUniqueReachingMIDef(MI, Reg)) {
489 Defs.insert(Def);
515 if (auto *Def = getLocalLiveOutMIDef(MBB, Reg))
516 Defs.insert(Def);
582 if (auto *Def = getLocalLiveOutMIDef(MBB, Reg))
583 return Def == getReachingLocalMIDef(MI, Reg);
597 int Def = getReachingDef(MI, Reg);
598 if (Last != MBB->end() && getReachingDef(&*Last, Reg) != Def)
626 int Def = getReachingDef(&*Last, Reg);
632 return Def < 0 ? nullptr : getInstFromId(MBB, Def);
741 auto IsDead = [this, &Dead](MachineInstr *Def, Register Reg) {
742 if (mayHaveSideEffects(*Def))
746 for (auto &MO : Def->operands()) {
757 getGlobalUses(Def, Reg, Uses);
764 if (MachineInstr *Def = getMIOperand(MI, MO))
765 if (IsDead(Def, MO.getReg()))
766 collectKilledOperands(Def, Dead);
780 if (auto *Def = getReachingLocalMIDef(MI, Reg)) {
782 getGlobalUses(Def, Reg, Uses);