From beb64f55cf58b908fc58c15129d94ebc5762a39f Mon Sep 17 00:00:00 2001 From: Jakob Stoklund Olesen Date: Tue, 21 Sep 2010 20:16:12 +0000 Subject: Refix MSVC9 and upper_bound. It actually needs a fully symmetric comparator. llvm-svn: 114469 --- llvm/lib/CodeGen/LiveInterval.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'llvm/lib/CodeGen/LiveInterval.cpp') diff --git a/llvm/lib/CodeGen/LiveInterval.cpp b/llvm/lib/CodeGen/LiveInterval.cpp index fd5fe787b6b..44101ffee7a 100644 --- a/llvm/lib/CodeGen/LiveInterval.cpp +++ b/llvm/lib/CodeGen/LiveInterval.cpp @@ -30,20 +30,18 @@ #include using namespace llvm; -// CompEnd - Compare LiveRange end to Pos. +// CompEnd - Compare LiveRange ends. namespace { struct CompEnd { - bool operator()(SlotIndex Pos, const LiveRange &LR) const { - return Pos < LR.end; - } - bool operator()(const LiveRange &LR, SlotIndex Pos) const { - return LR.end < Pos; + bool operator()(const LiveRange &A, const LiveRange &B) const { + return A.end < B.end; } }; } LiveInterval::iterator LiveInterval::find(SlotIndex Pos) { - return std::upper_bound(begin(), end(), Pos, CompEnd()); + return std::upper_bound(begin(), end(), LiveRange(SlotIndex(), Pos, 0), + CompEnd()); } /// killedInRange - Return true if the interval has kills in [Start,End). -- cgit v1.2.3