[LLVMdev] LiveInterval Splitting & SubRegisters
    David Greene 
    dag at cray.com
       
    Wed Jan 23 14:40:59 PST 2008
    
    
  
On Wednesday 23 January 2008 02:01, Evan Cheng wrote:
> On Jan 22, 2008, at 12:23 PM, David Greene wrote:
> > Evan,
> >
> > Can you explain the basic mechanics of the live interval splitting
> > code?
> > Is it all in LiveIntervalAnalysis.cpp under addIntervalsForSpills
> > and child
> > routines?  What is it trying to do?
>
> It's splitting live intervals that span multiple basic blocks. That
> is, when an interval is spilled, it introduce a single reload per
> basic block and retarget all the uses to use the result of the single
> reload. It does not (yet) split intra-bb intervals.
How is this different from the way the spiller used to work, looking
for reloads it could reuse?  Didn't that have the same goal of not
reloading a spilled value multiple times in a basic block?
                                            -Dave
    
    
More information about the llvm-dev
mailing list