[llvm-commits] [llvm] r150494 - in /llvm/trunk: include/llvm/CodeGen/LiveIntervalAnalysis.h lib/CodeGen/LiveIntervalAnalysis.cpp test/CodeGen/ARM/2010-05-18-PostIndexBug.ll

Lang Hames lhames at gmail.com
Tue Feb 14 17:35:50 PST 2012


Good point. Fixed in r150553.

- Lang.

On Tue, Feb 14, 2012 at 4:23 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk>wrote:

>
> On Feb 14, 2012, at 10:51 AM, Lang Hames <lhames at gmail.com> wrote:
>
> >   // Live-in register might not be used at all.
> >   if (!SeenDefUse) {
> > -    DEBUG(dbgs() << " live through");
> > -    end = getMBBEndIdx(MBB);
> > +    if (isAllocatable(interval.reg) || isReserved(interval.reg)) {
> > +      // This must be an entry block or landing pad - we asserted so on
> entry
> > +      // to the function. For these blocks the interval is dead on
> entry.
> > +      DEBUG(dbgs() << " dead");
> > +      end = start.getDeadSlot();
> > +    } else {
>
> When a physreg is marked as live-in to a block, but it turns out it is
> really dead, we shouldn't give it any live range at all in the basic block.
>
> I don't want live ranges to end at the getDeadSlot() if there is no
> underlying instruction backing the SlotIndex.
>
> Ideally, we should only ever refer to the getBlockSlot() of
> getMBBStartIdx() and getMBBEndIdx().
>
> /jakob
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120214/7484ac9f/attachment.html>


More information about the llvm-commits mailing list