summaryrefslogtreecommitdiff
path: root/lib/CodeGen/Spiller.cpp
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2014-03-13 23:12:04 +0000
committerOwen Anderson <resistor@mac.com>2014-03-13 23:12:04 +0000
commitbf63022492e54c8abe7c8d8c8448661342294f46 (patch)
treeafd0498b2b0da324ad89111ea83faf705400dec9 /lib/CodeGen/Spiller.cpp
parentd3fc1be4f634df136220ffc6e2ec381ae3f55c31 (diff)
downloadllvm-bf63022492e54c8abe7c8d8c8448661342294f46.tar.gz
llvm-bf63022492e54c8abe7c8d8c8448661342294f46.tar.bz2
llvm-bf63022492e54c8abe7c8d8c8448661342294f46.tar.xz
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203865 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/Spiller.cpp')
-rw-r--r--lib/CodeGen/Spiller.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/CodeGen/Spiller.cpp b/lib/CodeGen/Spiller.cpp
index c5923f932c..094641ce93 100644
--- a/lib/CodeGen/Spiller.cpp
+++ b/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;