From 71c8dc9b20536e89afdae1b82075806761a57c89 Mon Sep 17 00:00:00 2001 From: Jim Grosbach Date: Fri, 9 Oct 2009 17:33:33 +0000 Subject: when previous scratch register is killed, flag the value as no longer tracking git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83653 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/PrologEpilogInserter.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'lib/CodeGen/PrologEpilogInserter.cpp') diff --git a/lib/CodeGen/PrologEpilogInserter.cpp b/lib/CodeGen/PrologEpilogInserter.cpp index d9b01d0..8793df7 100644 --- a/lib/CodeGen/PrologEpilogInserter.cpp +++ b/lib/CodeGen/PrologEpilogInserter.cpp @@ -797,10 +797,13 @@ void PEI::scavengeFrameVirtualRegs(MachineFunction &Fn) { if (Reg == PrevScratchReg) { if (MO.isUse()) { // Two-address operands implicitly kill - if (MO.isKill() || MI->isRegTiedToDefOperand(i)) + if (MO.isKill() || MI->isRegTiedToDefOperand(i)) { + havePrevValue = false; PrevScratchReg = 0; + } } else { assert (MO.isDef()); + havePrevValue = false; PrevScratchReg = 0; } } -- cgit v1.1