struct TargetRegistry

Declaration

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

Description

TargetRegistry - Generic interface to target specific features.

Declared at: llvm/include/llvm/Support/TargetRegistry.h:597

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/Support/TargetRegistry.h:804

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/Support/TargetRegistry.h:869

Parameters

llvm::Target& T
Target::AsmTargetStreamerCtorTy Fn

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

Declared at: llvm/include/llvm/Support/TargetRegistry.h:848

Parameters

llvm::Target& T
Target::COFFStreamerCtorTy Fn

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

Declared at: llvm/include/llvm/Support/TargetRegistry.h:856

Parameters

llvm::Target& T
Target::ELFStreamerCtorTy Fn

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/Support/TargetRegistry.h:778

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/Support/TargetRegistry.h:705

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/Support/TargetRegistry.h:791

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/Support/TargetRegistry.h:844

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/Support/TargetRegistry.h:817

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/Support/TargetRegistry.h:831

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/Support/TargetRegistry.h:724

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/Support/TargetRegistry.h:718

Parameters

llvm::Target& T
- The target being registered.
Target::MCInstrInfoCtorFnTy Fn
- A function to construct a MCInstrInfo 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/Support/TargetRegistry.h:738

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/Support/TargetRegistry.h:889

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/Support/TargetRegistry.h:751

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/Support/TargetRegistry.h:903

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/Support/TargetRegistry.h:852

Parameters

llvm::Target& T
Target::MachOStreamerCtorTy Fn

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

Declared at: llvm/include/llvm/Support/TargetRegistry.h:864

Parameters

llvm::Target& T
Target::NullTargetStreamerCtorTy Fn

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

Declared at: llvm/include/llvm/Support/TargetRegistry.h:875

Parameters

llvm::Target& T
Target::ObjectTargetStreamerCtorTy 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/Support/TargetRegistry.h:691

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/Support/TargetRegistry.h:765

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/Support/TargetRegistry.h:860

Parameters

llvm::Target& T
Target::WasmStreamerCtorTy Fn

TargetRegistry()

Declared at: llvm/include/llvm/Support/TargetRegistry.h:602

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/Support/TargetRegistry.h:666

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/Support/TargetRegistry.h:652

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/Support/TargetRegistry.h:640

Parameters

llvm::raw_ostream& OS

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

Description

@ {

Declared at: llvm/include/llvm/Support/TargetRegistry.h:645