opnsense-src/lib/CodeGen/MachineModuleInfoImpls.cpp

43 lines
1.4 KiB
C++
Raw Normal View History

//===- llvm/CodeGen/MachineModuleInfoImpls.cpp ----------------------------===//
2009-10-14 13:57:32 -04:00
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file implements object-file format specific implementations of
// MachineModuleInfoImpl.
//
//===----------------------------------------------------------------------===//
#include "llvm/CodeGen/MachineModuleInfoImpls.h"
#include "llvm/ADT/DenseMap.h"
2009-10-14 13:57:32 -04:00
#include "llvm/MC/MCSymbol.h"
2009-10-14 13:57:32 -04:00
using namespace llvm;
//===----------------------------------------------------------------------===//
// MachineModuleInfoMachO
//===----------------------------------------------------------------------===//
// Out of line virtual method.
void MachineModuleInfoMachO::anchor() {}
void MachineModuleInfoELF::anchor() {}
2009-10-14 13:57:32 -04:00
using PairTy = std::pair<MCSymbol *, MachineModuleInfoImpl::StubValueTy>;
static int SortSymbolPair(const PairTy *LHS, const PairTy *RHS) {
return LHS->first->getName().compare(RHS->first->getName());
2009-10-14 13:57:32 -04:00
}
MachineModuleInfoImpl::SymbolListTy MachineModuleInfoImpl::getSortedStubs(
DenseMap<MCSymbol *, MachineModuleInfoImpl::StubValueTy> &Map) {
2010-02-16 04:30:23 -05:00
MachineModuleInfoImpl::SymbolListTy List(Map.begin(), Map.end());
array_pod_sort(List.begin(), List.end(), SortSymbolPair);
Map.clear();
2009-10-14 13:57:32 -04:00
return List;
}