When FpMOVDs appeared in pairs, we were mistakenly skipping over the latter of
each pair. I think this fixes that.
One of these days, I swear I'm going to get the hang of C++ iterators.
Really.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18734 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/Sparc/FPMover.cpp b/lib/Target/Sparc/FPMover.cpp
index 6450f47..49298c2 100644
--- a/lib/Target/Sparc/FPMover.cpp
+++ b/lib/Target/Sparc/FPMover.cpp
@@ -92,11 +92,13 @@
DEBUG (std::cerr << "FPMover: new dest reg. is " << NewDestReg1
<< "; inserted instr is: " << *MI2);
++NumFpMOVDs;
+ I = J;
+ --I;
} else {
MBB.erase (I);
++SkippedFpMOVDs;
+ I = J;
}
- I = J;
Changed = true;
}
return Changed;