[llvm] r358815 - [ExecutionDomainFix] Optimize a binary search insertion

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Sat Apr 20 06:00:51 PDT 2019


Author: maskray
Date: Sat Apr 20 06:00:50 2019
New Revision: 358815

URL: http://llvm.org/viewvc/llvm-project?rev=358815&view=rev
Log:
[ExecutionDomainFix] Optimize a binary search insertion

Modified:
    llvm/trunk/lib/CodeGen/ExecutionDomainFix.cpp

Modified: llvm/trunk/lib/CodeGen/ExecutionDomainFix.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/ExecutionDomainFix.cpp?rev=358815&r1=358814&r2=358815&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/ExecutionDomainFix.cpp (original)
+++ llvm/trunk/lib/CodeGen/ExecutionDomainFix.cpp Sat Apr 20 06:00:50 2019
@@ -336,9 +336,9 @@ void ExecutionDomainFix::visitSoftInstr(
     }
     // Sorted insertion.
     // Enables giving priority to the latest domains during merging.
-    auto I = llvm::upper_bound(Regs, rx, [&](int LHS, const int RHS) {
-      return RDA->getReachingDef(mi, RC->getRegister(LHS)) <
-             RDA->getReachingDef(mi, RC->getRegister(RHS));
+    const int Def = RDA->getReachingDef(mi, RC->getRegister(rx));
+    auto I = llvm::bsearch(Regs, [&](int I) {
+      return Def < RDA->getReachingDef(mi, RC->getRegister(I));
     });
     Regs.insert(I, rx);
   }




More information about the llvm-commits mailing list