From 049ed12df7f2a575355365dcedbd0dfe0737adfa Mon Sep 17 00:00:00 2001 From: Mandeep Singh Grang Date: Thu, 26 Oct 2017 16:07:20 +0000 Subject: [PATCH] [MachineModuleInfoImpls] Replace qsort with array_pod_sort Summary: This seems to be the only place in llvm we directly call qsort. We can replace this with a call to array_pod_sort. Also minor cleanup of the sorting function. Reviewers: bkramer, Eugene.Zelenko, rafael Reviewed By: bkramer Subscribers: efriedma, llvm-commits Differential Revision: https://reviews.llvm.org/D39214 llvm-svn: 316671 --- llvm/lib/CodeGen/MachineModuleInfoImpls.cpp | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/llvm/lib/CodeGen/MachineModuleInfoImpls.cpp b/llvm/lib/CodeGen/MachineModuleInfoImpls.cpp index a29fbc2..07b173b 100644 --- a/llvm/lib/CodeGen/MachineModuleInfoImpls.cpp +++ b/llvm/lib/CodeGen/MachineModuleInfoImpls.cpp @@ -15,8 +15,6 @@ #include "llvm/CodeGen/MachineModuleInfoImpls.h" #include "llvm/ADT/DenseMap.h" #include "llvm/MC/MCSymbol.h" -#include -#include using namespace llvm; @@ -28,20 +26,16 @@ using namespace llvm; void MachineModuleInfoMachO::anchor() {} void MachineModuleInfoELF::anchor() {} -static int SortSymbolPair(const void *LHS, const void *RHS) { - using PairTy = std::pair; - - const MCSymbol *LHSS = ((const PairTy *)LHS)->first; - const MCSymbol *RHSS = ((const PairTy *)RHS)->first; - return LHSS->getName().compare(RHSS->getName()); +using PairTy = std::pair; +static int SortSymbolPair(const PairTy *LHS, const PairTy *RHS) { + return LHS->first->getName().compare(RHS->first->getName()); } MachineModuleInfoImpl::SymbolListTy MachineModuleInfoImpl::getSortedStubs( DenseMap &Map) { MachineModuleInfoImpl::SymbolListTy List(Map.begin(), Map.end()); - if (!List.empty()) - qsort(&List[0], List.size(), sizeof(List[0]), SortSymbolPair); + array_pod_sort(List.begin(), List.end(), SortSymbolPair); Map.clear(); return List; -- 2.7.4