Don't abort on an aliasing physical register that does not have
authorDan Gohman <gohman@apple.com>
Mon, 13 Apr 2009 15:22:29 +0000 (15:22 +0000)
committerDan Gohman <gohman@apple.com>
Mon, 13 Apr 2009 15:22:29 +0000 (15:22 +0000)
a live interval. This is needed for some upcoming subreg changes.

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

lib/CodeGen/LiveIntervalAnalysis.cpp

index 3bc05a9b9a69bfff94f77922e05074934e92da88..7c8041b16910793f3a1b818b94dd19326f65f422 100644 (file)
@@ -2235,7 +2235,7 @@ bool LiveIntervals::spillPhysRegAroundRegDefsUses(const LiveInterval &li,
     // If there are registers which alias PhysReg, but which are not a
     // sub-register of the chosen representative super register. Assert
     // since we can't handle it yet.
-    assert(*AS == SpillReg || !allocatableRegs_[*AS] ||
+    assert(*AS == SpillReg || !allocatableRegs_[*AS] || !hasInterval(*AS) ||
            tri_->isSuperRegister(*AS, SpillReg));
 
   bool Cut = false;