[RegAlloc] Fix the assertion in the last chance recoloring to match the
authorQuentin Colombet <qcolombet@apple.com>
Thu, 13 Feb 2014 05:17:37 +0000 (05:17 +0000)
committerQuentin Colombet <qcolombet@apple.com>
Thu, 13 Feb 2014 05:17:37 +0000 (05:17 +0000)
condition at the call site.

llvm-svn: 201296

llvm/lib/CodeGen/RegAllocGreedy.cpp

index b969dd7..3c3f622 100644 (file)
@@ -1931,7 +1931,7 @@ unsigned RAGreedy::tryLastChanceRecoloring(LiveInterval &VirtReg,
                                            unsigned Depth) {
   DEBUG(dbgs() << "Try last chance recoloring for " << VirtReg << '\n');
   // Ranges must be Done.
-  assert(getStage(VirtReg) >= RS_Done &&
+  assert((getStage(VirtReg) >= RS_Done || !VirtReg.isSpillable()) &&
          "Last chance recoloring should really be last chance");
   // Set the max depth to LastChanceRecoloringMaxDepth.
   // We may want to reconsider that if we end up with a too large search space