Add support for updating the LiveIntervals of registers used by 'exotic'
authorCameron Zwarich <zwarich@apple.com>
Sun, 17 Feb 2013 00:10:44 +0000 (00:10 +0000)
committerCameron Zwarich <zwarich@apple.com>
Sun, 17 Feb 2013 00:10:44 +0000 (00:10 +0000)
commitf0b2535344e8c9e2912da78010918a44c5a18cab
tree74335c2750bc468334a70f31581aee40cf255c0d
parentcc54889cd58322b8766525f43cc1f7cb52e4692e
Add support for updating the LiveIntervals of registers used by 'exotic'
terminators that actually have register uses when splitting critical edges.

This commit also introduces a method repairIntervalsInRange() on LiveIntervals,
which allows for repairing LiveIntervals in a small range after an arbitrary
target hook modifies, inserts, and removes instructions. It's pretty limited
right now, but I hope to extend it to support all of the things that are done
by the convertToThreeAddress() target hooks.

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