From: Mandeep Singh Grang Date: Thu, 26 Oct 2017 16:07:20 +0000 (+0000) Subject: [MachineModuleInfoImpls] Replace qsort with array_pod_sort X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=228f43d82feef56c1b9bb759683a583adc0a1b0d;p=llvm [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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@316671 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/MachineModuleInfoImpls.cpp b/lib/CodeGen/MachineModuleInfoImpls.cpp index a29fbc28528..07b173bc94f 100644 --- a/lib/CodeGen/MachineModuleInfoImpls.cpp +++ b/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;