mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-05 11:46:42 +00:00
[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
This commit is contained in:
parent
53aa921461
commit
648e1f765a
@ -15,8 +15,6 @@
|
||||
#include "llvm/CodeGen/MachineModuleInfoImpls.h"
|
||||
#include "llvm/ADT/DenseMap.h"
|
||||
#include "llvm/MC/MCSymbol.h"
|
||||
#include <cstdlib>
|
||||
#include <utility>
|
||||
|
||||
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<MCSymbol *, MachineModuleInfoImpl::StubValueTy>;
|
||||
|
||||
const MCSymbol *LHSS = ((const PairTy *)LHS)->first;
|
||||
const MCSymbol *RHSS = ((const PairTy *)RHS)->first;
|
||||
return LHSS->getName().compare(RHSS->getName());
|
||||
using PairTy = std::pair<MCSymbol *, MachineModuleInfoImpl::StubValueTy>;
|
||||
static int SortSymbolPair(const PairTy *LHS, const PairTy *RHS) {
|
||||
return LHS->first->getName().compare(RHS->first->getName());
|
||||
}
|
||||
|
||||
MachineModuleInfoImpl::SymbolListTy MachineModuleInfoImpl::getSortedStubs(
|
||||
DenseMap<MCSymbol *, MachineModuleInfoImpl::StubValueTy> &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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user