Rematerialize as much as possible before inserting spills and reloads.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Fri, 2 Jul 2010 17:44:57 +0000 (17:44 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Fri, 2 Jul 2010 17:44:57 +0000 (17:44 +0000)
commit8de3b1eb868fc5e9b6acb334ee487d943863f810
tree4bfc04e4e1d278dff724a8ce377f2bd46e502fb2
parent6e9926108a69efbc11f1cadf947e98500e4d4228
Rematerialize as much as possible before inserting spills and reloads.

This allows us to recognize the common case where all uses could be
rematerialized, and no stack slot allocation is necessary.

If some values could be fully rematerialized, remove them from the live range
before allocating a stack slot for the rest.

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