diff options
author | Owen Anderson <resistor@mac.com> | 2014-03-13 23:12:04 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2014-03-13 23:12:04 +0000 |
commit | 16c6bf49b7d7c41f45b334912c5fe4bc7528fa7c (patch) | |
tree | 647713f5dfbdea3c6de9ef82b3a270e47d1b79b1 /llvm/lib/CodeGen/Spiller.cpp | |
parent | b00cc1f92f2f01a396348b42ff1840543ffc0a7e (diff) | |
download | bcm5719-llvm-16c6bf49b7d7c41f45b334912c5fe4bc7528fa7c.tar.gz bcm5719-llvm-16c6bf49b7d7c41f45b334912c5fe4bc7528fa7c.zip |
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
Diffstat (limited to 'llvm/lib/CodeGen/Spiller.cpp')
-rw-r--r-- | llvm/lib/CodeGen/Spiller.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/llvm/lib/CodeGen/Spiller.cpp b/llvm/lib/CodeGen/Spiller.cpp index c5923f932c3..094641ce93f 100644 --- a/llvm/lib/CodeGen/Spiller.cpp +++ b/llvm/lib/CodeGen/Spiller.cpp @@ -89,8 +89,9 @@ protected: unsigned ss = vrm->assignVirt2StackSlot(li->reg); // Iterate over reg uses/defs. - for (MachineRegisterInfo::reg_iterator - regItr = mri->reg_begin(li->reg); regItr != mri->reg_end();) { + for (MachineRegisterInfo::reg_instr_iterator + regItr = mri->reg_instr_begin(li->reg); + regItr != mri->reg_instr_end();) { // Grab the use/def instr. MachineInstr *mi = &*regItr; @@ -98,9 +99,7 @@ protected: DEBUG(dbgs() << " Processing " << *mi); // Step regItr to the next use/def instr. - do { - ++regItr; - } while (regItr != mri->reg_end() && (&*regItr == mi)); + ++regItr; // Collect uses & defs for this instr. SmallVector<unsigned, 2> indices; |