[AMDGPU] Stabilize sort order
authorBenjamin Kramer <benny.kra@googlemail.com>
Sat, 28 Mar 2020 19:16:41 +0000 (20:16 +0100)
committerBenjamin Kramer <benny.kra@googlemail.com>
Sat, 28 Mar 2020 19:20:14 +0000 (20:20 +0100)
Found by the expensive checks in llvm::sort.

llvm/lib/Target/AMDGPU/GCNRegBankReassign.cpp

index 547fb9f..b1c64ed 100644 (file)
@@ -636,7 +636,11 @@ unsigned GCNRegBankReassign::tryReassign(Candidate &C) {
 
   struct BankStall {
     BankStall(unsigned b, unsigned s) : Bank(b), Stalls(s) {};
-    bool operator< (const BankStall &RHS) const { return Stalls > RHS.Stalls; }
+    bool operator<(const BankStall &RHS) const {
+      if (Stalls == RHS.Stalls)
+        return Bank < RHS.Bank;
+      return Stalls > RHS.Stalls;
+    }
     unsigned Bank;
     unsigned Stalls;
   };