Displaying 2 results from an estimated 2 matches for "hoistallspills".
2019 Nov 03
2
InlineSpiller - hoists leave virtual registers without live intervals
/// Optimizations after all the reg selections and spills are done.
void InlineSpiller::postOptimization() { HSpiller.hoistAllSpills();
}
Seems a problematic function to me, as hoistAllSpills() uses
TII.storeRegToStackSlot() to insert new spills.
The problem is, TII.storeRegToStackSlot is allowed to create new virtual
registers, which can not be allocated a range as this whole thing is called
_after_ all reg selection is compl...
2019 Nov 05
2
InlineSpiller - hoists leave virtual registers without live intervals
...lem.
>
> Cheers,
> -Quentin
>
> > On Nov 3, 2019, at 5:20 AM, via llvm-dev <llvm-dev at lists.llvm.org>
> wrote:
> >
> > /// Optimizations after all the reg selections and spills are done.
> > void InlineSpiller::postOptimization() { HSpiller.hoistAllSpills();
> > }
> >
> > Seems a problematic function to me, as hoistAllSpills() uses
> > TII.storeRegToStackSlot() to insert new spills.
> >
> > The problem is, TII.storeRegToStackSlot is allowed to create new virtual
> > registers, which can not be allocated a ra...