[llvm] 2d24d74 - [AMDGPU] Stabilize sort order

Benjamin Kramer via llvm-commits llvm-commits at lists.llvm.org
Sat Mar 28 12:23:00 PDT 2020


Author: Benjamin Kramer
Date: 2020-03-28T20:20:14+01:00
New Revision: 2d24d74b8595071bf58fe6ba52f2ac416a6fe947

URL: https://github.com/llvm/llvm-project/commit/2d24d74b8595071bf58fe6ba52f2ac416a6fe947
DIFF: https://github.com/llvm/llvm-project/commit/2d24d74b8595071bf58fe6ba52f2ac416a6fe947.diff

LOG: [AMDGPU] Stabilize sort order

Found by the expensive checks in llvm::sort.

Added: 
    

Modified: 
    llvm/lib/Target/AMDGPU/GCNRegBankReassign.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/AMDGPU/GCNRegBankReassign.cpp b/llvm/lib/Target/AMDGPU/GCNRegBankReassign.cpp
index 547fb9f3b38a..b1c64ed2e896 100644
--- a/llvm/lib/Target/AMDGPU/GCNRegBankReassign.cpp
+++ b/llvm/lib/Target/AMDGPU/GCNRegBankReassign.cpp
@@ -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;
   };


        


More information about the llvm-commits mailing list