1327952Sdim//===- llvm/CodeGen/MachineModuleInfoImpls.cpp ----------------------------===//
2198090Srdivacky//
3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4353358Sdim// See https://llvm.org/LICENSE.txt for license information.
5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6198090Srdivacky//
7198090Srdivacky//===----------------------------------------------------------------------===//
8198090Srdivacky//
9198090Srdivacky// This file implements object-file format specific implementations of
10198090Srdivacky// MachineModuleInfoImpl.
11198090Srdivacky//
12198090Srdivacky//===----------------------------------------------------------------------===//
13198090Srdivacky
14198090Srdivacky#include "llvm/CodeGen/MachineModuleInfoImpls.h"
15327952Sdim#include "llvm/ADT/DenseMap.h"
16198090Srdivacky#include "llvm/MC/MCSymbol.h"
17327952Sdim
18198090Srdivackyusing namespace llvm;
19198090Srdivacky
20198090Srdivacky//===----------------------------------------------------------------------===//
21198090Srdivacky// MachineModuleInfoMachO
22198090Srdivacky//===----------------------------------------------------------------------===//
23198090Srdivacky
24198090Srdivacky// Out of line virtual method.
25243830Sdimvoid MachineModuleInfoMachO::anchor() {}
26243830Sdimvoid MachineModuleInfoELF::anchor() {}
27344779Sdimvoid MachineModuleInfoCOFF::anchor() {}
28198090Srdivacky
29327952Sdimusing PairTy = std::pair<MCSymbol *, MachineModuleInfoImpl::StubValueTy>;
30327952Sdimstatic int SortSymbolPair(const PairTy *LHS, const PairTy *RHS) {
31327952Sdim  return LHS->first->getName().compare(RHS->first->getName());
32198090Srdivacky}
33198090Srdivacky
34288943SdimMachineModuleInfoImpl::SymbolListTy MachineModuleInfoImpl::getSortedStubs(
35288943Sdim    DenseMap<MCSymbol *, MachineModuleInfoImpl::StubValueTy> &Map) {
36203954Srdivacky  MachineModuleInfoImpl::SymbolListTy List(Map.begin(), Map.end());
37203954Srdivacky
38327952Sdim  array_pod_sort(List.begin(), List.end(), SortSymbolPair);
39288943Sdim
40288943Sdim  Map.clear();
41198090Srdivacky  return List;
42198090Srdivacky}
43