[PATCH] D35730: RA: Remove assert on empty live intervals

Quentin Colombet via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 21 17:54:11 PDT 2017


qcolombet added inline comments.


================
Comment at: lib/CodeGen/RegAllocBase.cpp:147
       DEBUG(dbgs() << "queuing new interval: " << *SplitVirtReg << "\n");
-      assert(!SplitVirtReg->empty() && "expecting non-empty interval");
       assert(TargetRegisterInfo::isVirtualRegister(SplitVirtReg->reg) &&
----------------
qcolombet wrote:
> arsenm wrote:
> > qcolombet wrote:
> > > If that's empty and legit, I believe we shouldn't try to enqueue it.
> > It still needs to be allocated to a register, otherwise an undef vreg use is left around
> The problem IIRC is that I believe later code is not fine with that.
> (BTW, you could have waited for the discussion to be over before committing...)
Regardless of the surrounding code working or not in that case, having an empty live-range that needs a register sounds plain wrong to me.


https://reviews.llvm.org/D35730





More information about the llvm-commits mailing list