struct TargetRegistry

Declaration

struct TargetRegistry { /* full declaration omitted */ };

Description

TargetRegistry - Generic interface to target specific features.

Declared at: llvm/include/llvm/MC/TargetRegistry.h:713

Method Overview

Methods

static void RegisterAsmPrinter(
    llvm::Target& T,
    Target::AsmPrinterCtorTy Fn)

Description

RegisterAsmPrinter - Register an AsmPrinter implementation for the given target. Clients are responsible for ensuring that registration doesn't occur while another thread is attempting to access the registry. Typically this is done by initializing all targets at program startup.

Declared at: llvm/include/llvm/MC/TargetRegistry.h:938

Parameters

llvm::Target& T
- The target being registered.
Target::AsmPrinterCtorTy Fn
- A function to construct an AsmPrinter for the target.

static void RegisterAsmTargetStreamer(
    llvm::Target& T,
    Target::AsmTargetStreamerCtorTy Fn)

Declared at: llvm/include/llvm/MC/TargetRegistry.h:1015

Parameters

llvm::Target& T
Target::AsmTargetStreamerCtorTy Fn

static void RegisterCOFFStreamer(
    llvm::Target& T,
    Target::COFFStreamerCtorTy Fn)

Declared at: llvm/include/llvm/MC/TargetRegistry.h:982

Parameters

llvm::Target& T
Target::COFFStreamerCtorTy Fn

static void RegisterCustomBehaviour(
    llvm::Target& T,
    Target::CustomBehaviourCtorTy Fn)

Description

RegisterCustomBehaviour - Register a CustomBehaviour implementation for the given target. Clients are responsible for ensuring that registration doesn't occur while another thread is attempting to access the registry. Typically this is done by initializing all targets at program startup.

Declared at: llvm/include/llvm/MC/TargetRegistry.h:1062

Parameters

llvm::Target& T
- The target being registered.
Target::CustomBehaviourCtorTy Fn
- A function to construct a CustomBehaviour for the target.

static void RegisterDXContainerStreamer(
    llvm::Target& T,
    Target::DXContainerStreamerCtorTy Fn)

Declared at: llvm/include/llvm/MC/TargetRegistry.h:998

Parameters

llvm::Target& T
Target::DXContainerStreamerCtorTy Fn

static void RegisterELFStreamer(
    llvm::Target& T,
    Target::ELFStreamerCtorTy Fn)

Declared at: llvm/include/llvm/MC/TargetRegistry.h:990

Parameters

llvm::Target& T
Target::ELFStreamerCtorTy Fn

static void RegisterInstrPostProcess(
    llvm::Target& T,
    Target::InstrPostProcessCtorTy Fn)

Description

RegisterInstrPostProcess - Register an InstrPostProcess implementation for the given target. Clients are responsible for ensuring that registration doesn't occur while another thread is attempting to access the registry. Typically this is done by initializing all targets at program startup.

Declared at: llvm/include/llvm/MC/TargetRegistry.h:1076

Parameters

llvm::Target& T
- The target being registered.
Target::InstrPostProcessCtorTy Fn
- A function to construct an InstrPostProcess for the target.

static void RegisterMCAsmBackend(
    llvm::Target& T,
    Target::MCAsmBackendCtorTy Fn)

Description

RegisterMCAsmBackend - Register a MCAsmBackend implementation for the given target. Clients are responsible for ensuring that registration doesn't occur while another thread is attempting to access the registry. Typically this is done by initializing all targets at program startup.

Declared at: llvm/include/llvm/MC/TargetRegistry.h:912

Parameters

llvm::Target& T
- The target being registered.
Target::MCAsmBackendCtorTy Fn
- A function to construct an AsmBackend for the target.

static void RegisterMCAsmInfo(
    llvm::Target& T,
    Target::MCAsmInfoCtorFnTy Fn)

Description

RegisterMCAsmInfo - Register a MCAsmInfo implementation for the given target. Clients are responsible for ensuring that registration doesn't occur while another thread is attempting to access the registry. Typically this is done by initializing all targets at program startup.

Declared at: llvm/include/llvm/MC/TargetRegistry.h:826

Parameters

llvm::Target& T
- The target being registered.
Target::MCAsmInfoCtorFnTy Fn
- A function to construct a MCAsmInfo for the target.

static void RegisterMCAsmParser(
    llvm::Target& T,
    Target::MCAsmParserCtorTy Fn)

Description

RegisterMCAsmParser - Register a MCTargetAsmParser implementation for the given target. Clients are responsible for ensuring that registration doesn't occur while another thread is attempting to access the registry. Typically this is done by initializing all targets at program startup.

Declared at: llvm/include/llvm/MC/TargetRegistry.h:925

Parameters

llvm::Target& T
- The target being registered.
Target::MCAsmParserCtorTy Fn
- A function to construct an MCTargetAsmParser for the target.

static void RegisterMCCodeEmitter(
    llvm::Target& T,
    Target::MCCodeEmitterCtorTy Fn)

Description

RegisterMCCodeEmitter - Register a MCCodeEmitter implementation for the given target. Clients are responsible for ensuring that registration doesn't occur while another thread is attempting to access the registry. Typically this is done by initializing all targets at program startup.

Declared at: llvm/include/llvm/MC/TargetRegistry.h:978

Parameters

llvm::Target& T
- The target being registered.
Target::MCCodeEmitterCtorTy Fn
- A function to construct an MCCodeEmitter for the target.

static void RegisterMCDisassembler(
    llvm::Target& T,
    Target::MCDisassemblerCtorTy Fn)

Description

RegisterMCDisassembler - Register a MCDisassembler implementation for the given target. Clients are responsible for ensuring that registration doesn't occur while another thread is attempting to access the registry. Typically this is done by initializing all targets at program startup.

Declared at: llvm/include/llvm/MC/TargetRegistry.h:951

Parameters

llvm::Target& T
- The target being registered.
Target::MCDisassemblerCtorTy Fn
- A function to construct an MCDisassembler for the target.

static void RegisterMCInstPrinter(
    llvm::Target& T,
    Target::MCInstPrinterCtorTy Fn)

Description

RegisterMCInstPrinter - Register a MCInstPrinter implementation for the given target. Clients are responsible for ensuring that registration doesn't occur while another thread is attempting to access the registry. Typically this is done by initializing all targets at program startup.

Declared at: llvm/include/llvm/MC/TargetRegistry.h:965

Parameters

llvm::Target& T
- The target being registered.
Target::MCInstPrinterCtorTy Fn
- A function to construct an MCInstPrinter for the target.

static void RegisterMCInstrAnalysis(
    llvm::Target& T,
    Target::MCInstrAnalysisCtorFnTy Fn)

Description

RegisterMCInstrAnalysis - Register a MCInstrAnalysis implementation for the given target.

Declared at: llvm/include/llvm/MC/TargetRegistry.h:858

Parameters

llvm::Target& T
Target::MCInstrAnalysisCtorFnTy Fn

static void RegisterMCInstrInfo(
    llvm::Target& T,
    Target::MCInstrInfoCtorFnTy Fn)

Description

RegisterMCInstrInfo - Register a MCInstrInfo implementation for the given target. Clients are responsible for ensuring that registration doesn't occur while another thread is attempting to access the registry. Typically this is done by initializing all targets at program startup.

Declared at: llvm/include/llvm/MC/TargetRegistry.h:852

Parameters

llvm::Target& T
- The target being registered.
Target::MCInstrInfoCtorFnTy Fn
- A function to construct a MCInstrInfo for the target.

static void RegisterMCObjectFileInfo(
    llvm::Target& T,
    Target::MCObjectFileInfoCtorFnTy Fn)

Description

Register a MCObjectFileInfo implementation for the given target. Clients are responsible for ensuring that registration doesn't occur while another thread is attempting to access the registry. Typically this is done by initializing all targets at program startup.

Declared at: llvm/include/llvm/MC/TargetRegistry.h:838

Parameters

llvm::Target& T
- The target being registered.
Target::MCObjectFileInfoCtorFnTy Fn
- A function to construct a MCObjectFileInfo for the target.

static void RegisterMCRegInfo(
    llvm::Target& T,
    Target::MCRegInfoCtorFnTy Fn)

Description

RegisterMCRegInfo - Register a MCRegisterInfo implementation for the given target. Clients are responsible for ensuring that registration doesn't occur while another thread is attempting to access the registry. Typically this is done by initializing all targets at program startup.

Declared at: llvm/include/llvm/MC/TargetRegistry.h:872

Parameters

llvm::Target& T
- The target being registered.
Target::MCRegInfoCtorFnTy Fn
- A function to construct a MCRegisterInfo for the target.

static void RegisterMCRelocationInfo(
    llvm::Target& T,
    Target::MCRelocationInfoCtorTy Fn)

Description

RegisterMCRelocationInfo - Register an MCRelocationInfo implementation for the given target. Clients are responsible for ensuring that registration doesn't occur while another thread is attempting to access the registry. Typically this is done by initializing all targets at program startup.

Declared at: llvm/include/llvm/MC/TargetRegistry.h:1035

Parameters

llvm::Target& T
- The target being registered.
Target::MCRelocationInfoCtorTy Fn
- A function to construct an MCRelocationInfo for the target.

static void RegisterMCSubtargetInfo(
    llvm::Target& T,
    Target::MCSubtargetInfoCtorFnTy Fn)

Description

RegisterMCSubtargetInfo - Register a MCSubtargetInfo implementation for the given target. Clients are responsible for ensuring that registration doesn't occur while another thread is attempting to access the registry. Typically this is done by initializing all targets at program startup.

Declared at: llvm/include/llvm/MC/TargetRegistry.h:885

Parameters

llvm::Target& T
- The target being registered.
Target::MCSubtargetInfoCtorFnTy Fn
- A function to construct a MCSubtargetInfo for the target.

static void RegisterMCSymbolizer(
    llvm::Target& T,
    Target::MCSymbolizerCtorTy Fn)

Description

RegisterMCSymbolizer - Register an MCSymbolizer implementation for the given target. Clients are responsible for ensuring that registration doesn't occur while another thread is attempting to access the registry. Typically this is done by initializing all targets at program startup.

Declared at: llvm/include/llvm/MC/TargetRegistry.h:1049

Parameters

llvm::Target& T
- The target being registered.
Target::MCSymbolizerCtorTy Fn
- A function to construct an MCSymbolizer for the target.

static void RegisterMachOStreamer(
    llvm::Target& T,
    Target::MachOStreamerCtorTy Fn)

Declared at: llvm/include/llvm/MC/TargetRegistry.h:986

Parameters

llvm::Target& T
Target::MachOStreamerCtorTy Fn

static void RegisterNullTargetStreamer(
    llvm::Target& T,
    Target::NullTargetStreamerCtorTy Fn)

Declared at: llvm/include/llvm/MC/TargetRegistry.h:1010

Parameters

llvm::Target& T
Target::NullTargetStreamerCtorTy Fn

static void RegisterObjectTargetStreamer(
    llvm::Target& T,
    Target::ObjectTargetStreamerCtorTy Fn)

Declared at: llvm/include/llvm/MC/TargetRegistry.h:1021

Parameters

llvm::Target& T
Target::ObjectTargetStreamerCtorTy Fn

static void RegisterSPIRVStreamer(
    llvm::Target& T,
    Target::SPIRVStreamerCtorTy Fn)

Declared at: llvm/include/llvm/MC/TargetRegistry.h:994

Parameters

llvm::Target& T
Target::SPIRVStreamerCtorTy Fn

static void RegisterTarget(
    llvm::Target& T,
    const char* Name,
    const char* ShortDesc,
    const char* BackendName,
    Target::ArchMatchFnTy ArchMatchFn,
    bool HasJIT = false)

Description

RegisterTarget - Register the given target. Attempts to register a target which has already been registered will be ignored. Clients are responsible for ensuring that registration doesn't occur while another thread is attempting to access the registry. Typically this is done by initializing all targets at program startup.

Declared at: llvm/include/llvm/MC/TargetRegistry.h:812

Parameters

llvm::Target& T
- The target being registered.
const char* Name
- The target name. This should be a static string.
const char* ShortDesc
- A short target description. This should be a static string.
const char* BackendName
- The name of the backend. This should be a static string that is the same for all targets that share a backend implementation and must match the name used in the 'def X : Target ...' in TableGen.
Target::ArchMatchFnTy ArchMatchFn
- The arch match checking function for this target.
bool HasJIT = false
- Whether the target supports JIT code generation.

static void RegisterTargetMachine(
    llvm::Target& T,
    Target::TargetMachineCtorTy Fn)

Description

RegisterTargetMachine - Register a TargetMachine implementation for the given target. Clients are responsible for ensuring that registration doesn't occur while another thread is attempting to access the registry. Typically this is done by initializing all targets at program startup.

Declared at: llvm/include/llvm/MC/TargetRegistry.h:899

Parameters

llvm::Target& T
- The target being registered.
Target::TargetMachineCtorTy Fn
- A function to construct a TargetMachine for the target.

static void RegisterWasmStreamer(
    llvm::Target& T,
    Target::WasmStreamerCtorTy Fn)

Declared at: llvm/include/llvm/MC/TargetRegistry.h:1002

Parameters

llvm::Target& T
Target::WasmStreamerCtorTy Fn

static void RegisterXCOFFStreamer(
    llvm::Target& T,
    Target::XCOFFStreamerCtorTy Fn)

Declared at: llvm/include/llvm/MC/TargetRegistry.h:1006

Parameters

llvm::Target& T
Target::XCOFFStreamerCtorTy Fn

TargetRegistry()

Declared at: llvm/include/llvm/MC/TargetRegistry.h:718

static const llvm::Target* lookupTarget(
    const std::string& ArchName,
    llvm::Triple& TheTriple,
    std::string& Error)

Description

lookupTarget - Lookup a target based on an architecture name and a target triple. If the architecture name is non-empty, then the lookup is done by architecture. Otherwise, the target triple is used.

Declared at: llvm/include/llvm/MC/TargetRegistry.h:787

Parameters

const std::string& ArchName
- The architecture to use for finding a target.
llvm::Triple& TheTriple
- The triple to use for finding a target. The triple is updated with canonical architecture name if a lookup by architecture is done.
std::string& Error
- On failure, an error string describing why no target was found.

static const llvm::Target* lookupTarget(
    const std::string& Triple,
    std::string& Error)

Description

lookupTarget - Lookup a target based on a target triple.

Declared at: llvm/include/llvm/MC/TargetRegistry.h:773

Parameters

const std::string& Triple
- The triple to use for finding a target.
std::string& Error
- On failure, an error string describing why no target was found.

static void printRegisteredTargetsForVersion(
    llvm::raw_ostream& OS)

Description

printRegisteredTargetsForVersion - Print the registered targets appropriately for inclusion in a tool's version output.

Declared at: llvm/include/llvm/MC/TargetRegistry.h:761

Parameters

llvm::raw_ostream& OS

static iterator_range<
    llvm::TargetRegistry::iterator>
targets()

Description

@ {

Declared at: llvm/include/llvm/MC/TargetRegistry.h:766