OSDN Git Service

[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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201296 91177308-0d34-0410-b5e6-96231b3b80d8

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