#include "llvm/MC/TargetRegistry.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/MC/MCAsmBackend.h"
#include "llvm/MC/MCCodeEmitter.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCObjectStreamer.h"
#include "llvm/MC/MCObjectWriter.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <vector>
usingnamespacellvm;
static Target *FirstTarget = …;
MCStreamer *Target::createMCObjectStreamer(
const Triple &T, MCContext &Ctx, std::unique_ptr<MCAsmBackend> TAB,
std::unique_ptr<MCObjectWriter> OW, std::unique_ptr<MCCodeEmitter> Emitter,
const MCSubtargetInfo &STI) const { … }
MCStreamer *Target::createMCObjectStreamer(
const Triple &T, MCContext &Ctx, std::unique_ptr<MCAsmBackend> &&TAB,
std::unique_ptr<MCObjectWriter> &&OW,
std::unique_ptr<MCCodeEmitter> &&Emitter, const MCSubtargetInfo &STI, bool,
bool, bool) const { … }
MCStreamer *Target::createAsmStreamer(MCContext &Ctx,
std::unique_ptr<formatted_raw_ostream> OS,
MCInstPrinter *IP,
std::unique_ptr<MCCodeEmitter> CE,
std::unique_ptr<MCAsmBackend> TAB) const { … }
MCStreamer *Target::createAsmStreamer(MCContext &Ctx,
std::unique_ptr<formatted_raw_ostream> OS,
bool IsVerboseAsm, bool UseDwarfDirectory,
MCInstPrinter *IP,
std::unique_ptr<MCCodeEmitter> &&CE,
std::unique_ptr<MCAsmBackend> &&TAB,
bool ShowInst) const { … }
iterator_range<TargetRegistry::iterator> TargetRegistry::targets() { … }
const Target *TargetRegistry::lookupTarget(StringRef ArchName,
Triple &TheTriple,
std::string &Error) { … }
const Target *TargetRegistry::lookupTarget(StringRef TT, std::string &Error) { … }
void TargetRegistry::RegisterTarget(Target &T, const char *Name,
const char *ShortDesc,
const char *BackendName,
Target::ArchMatchFnTy ArchMatchFn,
bool HasJIT) { … }
static int TargetArraySortFn(const std::pair<StringRef, const Target *> *LHS,
const std::pair<StringRef, const Target *> *RHS) { … }
void TargetRegistry::printRegisteredTargetsForVersion(raw_ostream &OS) { … }