aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/CodeGen/LiveVariables.h
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2009-01-20 21:25:12 +0000
committerEvan Cheng <evan.cheng@apple.com>2009-01-20 21:25:12 +0000
commita894ae130b6e69a367aa691eec7e96973a20e901 (patch)
treebea608a84ccd26f40b52d9c017d2ab0b4f7f79f0 /include/llvm/CodeGen/LiveVariables.h
parent9c70819da0cb4e418adfff4e6610317dd7209eda (diff)
downloadexternal_llvm-a894ae130b6e69a367aa691eec7e96973a20e901.zip
external_llvm-a894ae130b6e69a367aa691eec7e96973a20e901.tar.gz
external_llvm-a894ae130b6e69a367aa691eec7e96973a20e901.tar.bz2
Fix PR3243: a LiveVariables bug. When HandlePhysRegKill is checking whether the last reference is also the last def (i.e. dead def), it should also check if last reference is the current machine instruction being processed. This can happen when it is processing a physical register use and setting the current machine instruction as sub-register's last ref.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62617 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/LiveVariables.h')
-rw-r--r--include/llvm/CodeGen/LiveVariables.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/llvm/CodeGen/LiveVariables.h b/include/llvm/CodeGen/LiveVariables.h
index 0d932cf..bb050f2 100644
--- a/include/llvm/CodeGen/LiveVariables.h
+++ b/include/llvm/CodeGen/LiveVariables.h
@@ -146,7 +146,7 @@ private: // Intermediate data structures
/// HandlePhysRegKill - Add kills of Reg and its sub-registers to the
/// uses. Pay special attention to the sub-register uses which may come below
/// the last use of the whole register.
- bool HandlePhysRegKill(unsigned Reg);
+ bool HandlePhysRegKill(unsigned Reg, MachineInstr *MI);
void HandlePhysRegUse(unsigned Reg, MachineInstr *MI);
void HandlePhysRegDef(unsigned Reg, MachineInstr *MI);