Add SplitKit::isOriginalEndpoint and use it to force live range splitting to terminate.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Mon, 21 Feb 2011 23:09:46 +0000 (23:09 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Mon, 21 Feb 2011 23:09:46 +0000 (23:09 +0000)
commit06c0f25499fd502668ca720b0fea4a4dfe6eb44a
treeef6511335a873ab5384d7be495be8ff8791e2d67
parent89e59e6343303696e14d4c134582dda083cf7408
Add SplitKit::isOriginalEndpoint and use it to force live range splitting to terminate.

An original endpoint is an instruction that killed or defined the original live
range before any live ranges were split.

When splitting global live ranges, avoid creating local live ranges without any
original endpoints. We may still create global live ranges without original
endpoints, but such a range won't be split again, and live range splitting still
terminates.

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