Add support for updating LiveIntervals to MachineBasicBlock::SplitCriticalEdge().
authorCameron Zwarich <zwarich@apple.com>
Mon, 11 Feb 2013 09:24:47 +0000 (09:24 +0000)
committerCameron Zwarich <zwarich@apple.com>
Mon, 11 Feb 2013 09:24:47 +0000 (09:24 +0000)
commitb47fb384fc07e9c3af9cdf87d1cbdbcf76c331fc
tree09f4f5c80066ca8ffc49d111ba11b2880e8fca77
parentba378cea72f79989807c13a34dd23b9918cc340e
Add support for updating LiveIntervals to MachineBasicBlock::SplitCriticalEdge().
This is currently a bit hairier than it needs to be, since depending on where the
split block resides the end ListEntry of the split block may be the end ListEntry
of the original block or a new entry. Some changes to the SlotIndexes updating
should make it possible to eliminate the two cases here.

This also isn't as optimized as it could be. In the future Liveinterval should
probably get a flag that indicates whether the LiveInterval is within a single
basic block. We could ignore all such intervals when splitting an edge.

llvm-svn: 174870
llvm/lib/CodeGen/MachineBasicBlock.cpp
llvm/lib/CodeGen/PHIElimination.cpp