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