diff options
-rw-r--r-- | lib/Target/X86/X86FrameLowering.cpp | 3 |
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; } |