summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/ExecutionDomainFix.cpp
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2019-04-20 13:00:50 +0000
committerFangrui Song <maskray@google.com>2019-04-20 13:00:50 +0000
commitd3b2682351184c8a2aacb40ae0b62888ff847478 (patch)
tree99547280d0856a06192deb9b4e9ed460e935817d /llvm/lib/CodeGen/ExecutionDomainFix.cpp
parentdd0e83355583898d19357abc5f17a9a94f057d74 (diff)
downloadbcm5719-llvm-d3b2682351184c8a2aacb40ae0b62888ff847478.tar.gz
bcm5719-llvm-d3b2682351184c8a2aacb40ae0b62888ff847478.zip
[ExecutionDomainFix] Optimize a binary search insertion
llvm-svn: 358815
Diffstat (limited to 'llvm/lib/CodeGen/ExecutionDomainFix.cpp')
-rw-r--r--llvm/lib/CodeGen/ExecutionDomainFix.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/ExecutionDomainFix.cpp b/llvm/lib/CodeGen/ExecutionDomainFix.cpp
index fed9278141f..c350ede635d 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);
}
OpenPOWER on IntegriCloud