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)
commit8597c14e9b32259cc7cfd752d95fd71e7aaba0ec
tree0e76fd9fa683475707cf1fda5c05a4651399f9f1
parentcbe3f5e1622b5f809bc04d61da125801e4658a73
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174870 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/MachineBasicBlock.cpp
lib/CodeGen/PHIElimination.cpp