Basic rematerialization during splitting.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Wed, 10 Nov 2010 19:31:50 +0000 (19:31 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Wed, 10 Nov 2010 19:31:50 +0000 (19:31 +0000)
commitcfa7134a9c33c0c7f8dda359c89dc6763a258e07
tree5b668c0867f05cb0bb01a5855aa5da7b2e1c91c4
parentf4baeaf8485f01beda46d29fd55753199dc68070
Basic rematerialization during splitting.

Whenever splitting wants to insert a copy, it checks if the value can be
rematerialized cheaply instead.

Missing features:
- Delete instructions when all uses have been rematerialized.
- Truncate live ranges to the remaining uses after rematerialization.

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