Phase 2 of the great MachineRegisterInfo cleanup. This time, we're changing

operator* on the by-operand iterators to return a MachineOperand& rather than
a MachineInstr&.  At this point they almost behave like normal iterators!

Again, this requires making some existing loops more verbose, but should pave
the way for the big range-based for-loop cleanups in the future.

llvm-svn: 203865
This commit is contained in:
Owen Anderson
2014-03-13 23:12:04 +00:00
parent b00cc1f92f
commit 16c6bf49b7
35 changed files with 255 additions and 150 deletions

View File

@@ -571,10 +571,10 @@ UserValue::addDefsFromCopies(LiveInterval *LI, unsigned LocNo,
for (MachineRegisterInfo::use_nodbg_iterator
UI = MRI.use_nodbg_begin(LI->reg),
UE = MRI.use_nodbg_end(); UI != UE; ++UI) {
MachineInstr *MI = UI->getParent();
// Copies of the full value.
if (UI.getOperand().getSubReg() || !UI->isCopy())
if (UI->getSubReg() || !MI->isCopy())
continue;
MachineInstr *MI = &*UI;
unsigned DstReg = MI->getOperand(0).getReg();
// Don't follow copies to physregs. These are usually setting up call