From 1e155ab7e1d9611502256a128bdd57a2546efef5 Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Mon, 13 Dec 2010 18:20:38 +0000 Subject: Fix sort predicate. qsort(3)'s predicate semantics differ from std::sort's. Fixes PR 8780. llvm-svn: 121705 --- llvm/lib/Transforms/Utils/SimplifyCFG.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'llvm/lib/Transforms/Utils/SimplifyCFG.cpp') diff --git a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp index 71d9ef84832..9ca1079ab31 100644 --- a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp +++ b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp @@ -598,7 +598,7 @@ namespace { static int ConstantIntSortPredicate(const void *P1, const void *P2) { const ConstantInt *LHS = *(const ConstantInt**)P1; const ConstantInt *RHS = *(const ConstantInt**)P2; - return LHS->getValue().ult(RHS->getValue()); + return LHS->getValue().ult(RHS->getValue()) ? 1 : -1; } /// FoldValueComparisonIntoPredecessors - The specified terminator is a value -- cgit v1.2.3