summaryrefslogtreecommitdiff
path: root/lib/CodeGen/Spiller.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2009-07-09 03:57:02 +0000
committerLang Hames <lhames@gmail.com>2009-07-09 03:57:02 +0000
commitffd1326ff8dfc652a8026c3faebf55bbba7c32c7 (patch)
treea55447fb0b489320a44a07f28e10683915cecf61 /lib/CodeGen/Spiller.cpp
parent482fa0f2bcfca5274b14c808526c8ae4fe97007d (diff)
downloadllvm-ffd1326ff8dfc652a8026c3faebf55bbba7c32c7.tar.gz
llvm-ffd1326ff8dfc652a8026c3faebf55bbba7c32c7.tar.bz2
llvm-ffd1326ff8dfc652a8026c3faebf55bbba7c32c7.tar.xz
Improved tracking of value number kills. VN kills are now represented
as an (index,bool) pair. The bool flag records whether the kill is a PHI kill or not. This code will be used to enable splitting of live intervals containing PHI-kills. A slight change to live interval weights introduced an extra spill into lsr-code-insertion (outside the critical sections). The test condition has been updated to reflect this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75097 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/Spiller.cpp')
-rw-r--r--lib/CodeGen/Spiller.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/CodeGen/Spiller.cpp b/lib/CodeGen/Spiller.cpp
index 405cd8087a..faaee0a8d6 100644
--- a/lib/CodeGen/Spiller.cpp
+++ b/lib/CodeGen/Spiller.cpp
@@ -136,7 +136,7 @@ protected:
VNInfo *vni =
li->getNextValue(storeInstIdx, 0, true, lis->getVNInfoAllocator());
- vni->kills.push_back(storeInstIdx);
+ li->addKill(vni, storeInstIdx, false);
DOUT << " Inserting store range: [" << start << ", " << end << ")\n";
LiveRange lr(start, end, vni);
@@ -201,7 +201,7 @@ protected:
VNInfo *vni =
li->getNextValue(loadInstIdx, 0, true, lis->getVNInfoAllocator());
- vni->kills.push_back(lis->getInstructionIndex(mi));
+ li->addKill(vni, lis->getInstructionIndex(mi), false);
DOUT << " Intserting load range: [" << start << ", " << end << ")\n";
LiveRange lr(start, end, vni);