MachineSink: Sort the successors before trying to find SuccToSinkTo.
authorManman Ren <mren@apple.com>
Tue, 31 Jul 2012 20:45:38 +0000 (20:45 +0000)
committerManman Ren <mren@apple.com>
Tue, 31 Jul 2012 20:45:38 +0000 (20:45 +0000)
Use stable_sort instead of sort. Follow-up to r161062.

rdar://11980766

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161075 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/MachineSink.cpp

index d02aa6fe601a127d578b77fb7b706471218c0ae5..bc383cba455c79e09175eade07e3ff0ae3cdec73 100644 (file)
@@ -538,7 +538,7 @@ MachineBasicBlock *MachineSinking::FindSuccToSinkTo(MachineInstr *MI,
       // we should sink to.
       // We give successors with smaller loop depth higher priority.
       SmallVector<MachineBasicBlock*, 4> Succs(MBB->succ_begin(), MBB->succ_end());
-      std::sort(Succs.begin(), Succs.end(), SuccessorSorter(LI));
+      std::stable_sort(Succs.begin(), Succs.end(), SuccessorSorter(LI));
       for (SmallVector<MachineBasicBlock*, 4>::iterator SI = Succs.begin(),
            E = Succs.end(); SI != E; ++SI) {
         MachineBasicBlock *SuccBlock = *SI;