[LLVMdev] LiveInterval Splitting & SubRegisters

David Greene dag at cray.com
Tue Jan 22 12:23:08 PST 2008


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?

Also, in the ancient subregister coalescing code, there used to be an update
of the SSARegMap to point subregisters to the superregister they were
coalesced to (IIRC).  That has since gone away.  I used to use that in my
code to return the correct live interval for a virtual register in the case 
where a subregister extract was coalesced.

That information appears to now be in RegSubIdxMap, which is local to
runOnMachineFunction, so it's lost after the coalescer runs.  Do I not need
to worry about this information anymore?



More information about the llvm-dev mailing list