diff options
author | Lang Hames <lhames@gmail.com> | 2009-07-09 03:57:02 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2009-07-09 03:57:02 +0000 |
commit | d2bd8627d9bac9a1c4528ea19d76ac7740d52517 (patch) | |
tree | a55447fb0b489320a44a07f28e10683915cecf61 /lib/CodeGen/StrongPHIElimination.cpp | |
parent | 5fefba5c992e917a6107f09c38394e05c00ba001 (diff) | |
download | external_llvm-d2bd8627d9bac9a1c4528ea19d76ac7740d52517.zip external_llvm-d2bd8627d9bac9a1c4528ea19d76ac7740d52517.tar.gz external_llvm-d2bd8627d9bac9a1c4528ea19d76ac7740d52517.tar.bz2 |
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/StrongPHIElimination.cpp')
-rw-r--r-- | lib/CodeGen/StrongPHIElimination.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/CodeGen/StrongPHIElimination.cpp b/lib/CodeGen/StrongPHIElimination.cpp index ca99528..efd19fa 100644 --- a/lib/CodeGen/StrongPHIElimination.cpp +++ b/lib/CodeGen/StrongPHIElimination.cpp @@ -829,8 +829,8 @@ void StrongPHIElimination::InsertCopies(MachineDomTreeNode* MDTN, VNInfo* FirstVN = *Int.vni_begin(); FirstVN->setHasPHIKill(false); if (I->getOperand(i).isKill()) - FirstVN->kills.push_back( - LiveIntervals::getUseIndex(LI.getInstructionIndex(I))); + Int.addKill(FirstVN, + LiveIntervals::getUseIndex(LI.getInstructionIndex(I)), false); LiveRange LR (LI.getMBBStartIdx(I->getParent()), LiveIntervals::getUseIndex(LI.getInstructionIndex(I))+1, |