From: Fangrui Song Date: Sat, 20 Apr 2019 13:00:50 +0000 (+0000) Subject: [ExecutionDomainFix] Optimize a binary search insertion X-Git-Tag: llvmorg-10-init~7397 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d3b2682351184c8a2aacb40ae0b62888ff847478;p=platform%2Fupstream%2Fllvm.git [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 @@ void ExecutionDomainFix::visitSoftInstr(MachineInstr *mi, unsigned mask) { } // 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); }