Fix an obvious merge bug in -join-globalcopies (disabled).
authorAndrew Trick <atrick@apple.com>
Thu, 15 Nov 2012 02:32:22 +0000 (02:32 +0000)
committerAndrew Trick <atrick@apple.com>
Thu, 15 Nov 2012 02:32:22 +0000 (02:32 +0000)
Jakub Staszak spotted this in review. I don't notice these things
until I manually rerun benchmarks. But reducing unit tests is a very
high priority.

llvm-svn: 168021

llvm/lib/CodeGen/RegisterCoalescer.cpp

index df67975..5d6e0f0 100644 (file)
@@ -2080,8 +2080,10 @@ void RegisterCoalescer::joinAllIntervals() {
   unsigned CurrDepth = UINT_MAX;
   for (unsigned i = 0, e = MBBs.size(); i != e; ++i) {
     // Try coalescing the collected local copies for deeper loops.
-    if (JoinGlobalCopies && MBBs[i].Depth < CurrDepth)
+    if (JoinGlobalCopies && MBBs[i].Depth < CurrDepth) {
       coalesceLocals();
+      CurrDepth = MBBs[i].Depth;
+    }
     copyCoalesceInMBB(MBBs[i].MBB);
   }
   coalesceLocals();