Delete the instruction just before the function terminates for consistency sake.
authorEvan Cheng <evan.cheng@apple.com>
Mon, 21 Dec 2009 19:53:39 +0000 (19:53 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Mon, 21 Dec 2009 19:53:39 +0000 (19:53 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91836 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMISelLowering.cpp

index e969d1e3415982125f72fffa9201c16f1e5edab5..04ea541b39568fd3d3d5780ab7130a6455773beb 100644 (file)
@@ -3148,8 +3148,6 @@ ARMTargetLowering::EmitAtomicBinary(MachineInstr *MI, MachineBasicBlock *BB,
   unsigned incr = MI->getOperand(2).getReg();
   DebugLoc dl = MI->getDebugLoc();
 
-  F->DeleteMachineInstr(MI);   // The instruction is gone now.
-
   bool isThumb2 = Subtarget->isThumb2();
   unsigned ldrOpc, strOpc;
   switch (Size) {
@@ -3216,6 +3214,9 @@ ARMTargetLowering::EmitAtomicBinary(MachineInstr *MI, MachineBasicBlock *BB,
   //  exitMBB:
   //   ...
   BB = exitMBB;
+
+  F->DeleteMachineInstr(MI);   // The instruction is gone now.
+
   return BB;
 }