Assign variable before we test it.
authorBill Wendling <isanbard@gmail.com>
Wed, 13 Jul 2011 00:23:39 +0000 (00:23 +0000)
committerBill Wendling <isanbard@gmail.com>
Wed, 13 Jul 2011 00:23:39 +0000 (00:23 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135015 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86FrameLowering.cpp

index d30ecef0cd3614512a0ade29d58e26e625cdd51c..136a7e1d19b337b7f2a8c3a1abc85bf1b2d19684 100644 (file)
@@ -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;
     }