aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/X86/X86FrameLowering.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/Target/X86/X86FrameLowering.cpp b/lib/Target/X86/X86FrameLowering.cpp
index d30ecef0cd..136a7e1d19 100644
--- a/lib/Target/X86/X86FrameLowering.cpp
+++ b/lib/Target/X86/X86FrameLowering.cpp
@@ -1073,13 +1073,12 @@ getCompactUnwindEncoding(ArrayRef<MCCFIInstruction> Instrs,
if (Src.isReg() && Src.getReg() == MachineLocation::VirtualFP) {
// DW_CFA_def_cfa_register
assert(FramePointerReg == -1 && "Defining more than one frame pointer?");
+ FramePointerReg = Dst.getReg();
if (TRI->getLLVMRegNum(FramePointerReg, IsEH) != X86::EBP &&
TRI->getLLVMRegNum(FramePointerReg, IsEH) != X86::RBP)
// The frame pointer isn't EBP/RBP. Cannot make unwind information
// compact.
return 0;
-
- FramePointerReg = Dst.getReg();
continue;
}