Extract parts of RAGreedy::splitAroundRegion as SplitKit methods.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Fri, 15 Jul 2011 21:47:57 +0000 (21:47 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Fri, 15 Jul 2011 21:47:57 +0000 (21:47 +0000)
commitb4ddedce599183362b0f0333922c2fe0e163a129
tree8917e4167246d0138b4c7be66fbf46554ceccda9
parent6a109f9d70bf7f75541400145a7a89880cc48166
Extract parts of RAGreedy::splitAroundRegion as SplitKit methods.

This gets rid of some of the gory splitting details in RAGreedy and
makes them available to future SplitKit clients.

Slightly generalize the functionality to support multi-way splitting.
Specifically, SplitEditor::splitLiveThroughBlock() supports switching
between different register intervals in a block.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135307 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/SlotIndexes.h
lib/CodeGen/RegAllocGreedy.cpp
lib/CodeGen/SplitKit.cpp
lib/CodeGen/SplitKit.h