Implement single block splitting.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Thu, 12 Aug 2010 17:07:14 +0000 (17:07 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Thu, 12 Aug 2010 17:07:14 +0000 (17:07 +0000)
commitf1b05f2b0ef48cb80b064e2f792b38c626822fc0
tree0964880a5f446b5f926bd30ac2257ddd68b8ec98
parent727356fc7d6898f1628f2a64930fe46b3540050d
Implement single block splitting.

Before spilling a live range, we split it into a separate range for each basic
block where it is used. That way we only get one reload per basic block if the
new smaller ranges can allocate to a register.

This type of splitting is already present in the standard spiller.

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