[ExecutionDomainFix] Optimize a binary search insertion

llvm-svn: 358815
diff --git a/llvm/lib/CodeGen/ExecutionDomainFix.cpp b/llvm/lib/CodeGen/ExecutionDomainFix.cpp
index fed9278..c350ede 100644
--- a/llvm/lib/CodeGen/ExecutionDomainFix.cpp
+++ b/llvm/lib/CodeGen/ExecutionDomainFix.cpp
@@ -336,9 +336,9 @@
     }
     // 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);
   }