diff options
| author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2009-08-02 19:13:03 +0000 |
|---|---|---|
| committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2009-08-02 19:13:03 +0000 |
| commit | ece48185168ab130b1777feb86d9e3fe80eb87d2 (patch) | |
| tree | 3c38310f836b8a609d7cee4771b50b98227bbf5f /lib/CodeGen/MachineInstr.cpp | |
| parent | 0e6a4efdd4f97137fb0a58d7bb3de07562185530 (diff) | |
Never add a kill flag to a constrained physical register in a two-addr instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77906 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/MachineInstr.cpp')
| -rw-r--r-- | lib/CodeGen/MachineInstr.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/CodeGen/MachineInstr.cpp b/lib/CodeGen/MachineInstr.cpp index 4ac2896d37..006a10a0ce 100644 --- a/lib/CodeGen/MachineInstr.cpp +++ b/lib/CodeGen/MachineInstr.cpp @@ -1041,6 +1041,9 @@ bool MachineInstr::addRegisterKilled(unsigned IncomingReg, if (MO.isKill()) // The register is already marked kill. return true; + if (isPhysReg && isRegTiedToDefOperand(i)) + // Two-address uses of physregs must not be marked kill. + return true; MO.setIsKill(); Found = true; } |
