[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);
}