LLVM
8.0.1
|
TargetRegistry - Generic interface to target specific features. More...
#include "llvm/Support/TargetRegistry.h"
Classes | |
class | iterator |
Public Member Functions | |
TargetRegistry ()=delete | |
TargetRegistry - Generic interface to target specific features.
Definition at line 588 of file TargetRegistry.h.
|
delete |
|
static |
lookupTarget - Lookup a target based on a target triple.
Triple | - The triple to use for finding a target. |
Error | - On failure, an error string describing why no target was found. |
Definition at line 63 of file TargetRegistry.cpp.
References llvm::sys::path::begin(), llvm::sys::path::end(), llvm::find_if(), llvm::Triple::getArch(), I, T, and targets().
Referenced by llvm::LTOCodeGenerator::compile(), llvm::TargetMachineBuilder::create(), llvm::orc::JITTargetMachineBuilder::createTargetMachine(), LLVMCreateDisasmCPUFeatures(), LLVMGetTargetFromTriple(), llvm::DWARFContext::loadRegisterInfo(), lookupTarget(), parseBitcodeFileImpl(), and llvm::EngineBuilder::selectTarget().
|
static |
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.
ArchName | - The architecture to use for finding a target. |
TheTriple | - The triple to use for finding a target. The triple is updated with canonical architecture name if a lookup by architecture is done. |
Error | - On failure, an error string describing why no target was found. |
Definition at line 25 of file TargetRegistry.cpp.
References llvm::find_if(), llvm::Triple::getArchTypeForLLVMName(), llvm::Target::getName(), llvm::Triple::getTriple(), I, lookupTarget(), llvm::Triple::setArch(), targets(), and llvm::Triple::UnknownArch.
|
static |
printRegisteredTargetsForVersion - Print the registered targets appropriately for inclusion in a tool's version output.
Definition at line 118 of file TargetRegistry.cpp.
References llvm::array_pod_sort(), first, llvm::raw_ostream::indent(), llvm::max(), second, T, TargetArraySortFn(), and targets().
|
inlinestatic |
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.
T | - The target being registered. |
Fn | - A function to construct an AsmPrinter for the target. |
Definition at line 795 of file TargetRegistry.h.
Referenced by LLVMInitializeAMDGPUAsmPrinter(), LLVMInitializePowerPCAsmPrinter(), and RegisterAsmPrinter< AsmPrinterImpl >::RegisterAsmPrinter().
|
inlinestatic |
Definition at line 860 of file TargetRegistry.h.
Referenced by LLVMInitializeAArch64TargetMC(), LLVMInitializeAMDGPUTargetMC(), LLVMInitializeARCTargetMC(), LLVMInitializeARMTargetMC(), LLVMInitializeAVRTargetMC(), LLVMInitializeHexagonTargetMC(), LLVMInitializeMipsTargetMC(), LLVMInitializeNVPTXTargetMC(), LLVMInitializePowerPCTargetMC(), LLVMInitializeRISCVTargetMC(), LLVMInitializeSparcTargetMC(), LLVMInitializeWebAssemblyTargetMC(), LLVMInitializeX86TargetMC(), and LLVMInitializeXCoreTargetMC().
|
inlinestatic |
Definition at line 839 of file TargetRegistry.h.
Referenced by LLVMInitializeAArch64TargetMC(), LLVMInitializeARMTargetMC(), and LLVMInitializeX86TargetMC().
|
inlinestatic |
Definition at line 847 of file TargetRegistry.h.
Referenced by LLVMInitializeAArch64TargetMC(), LLVMInitializeAMDGPUTargetMC(), LLVMInitializeARMTargetMC(), LLVMInitializeAVRTargetMC(), LLVMInitializeBPFTargetMC(), LLVMInitializeHexagonTargetMC(), LLVMInitializeLanaiTargetMC(), and LLVMInitializeMipsTargetMC().
|
inlinestatic |
Definition at line 843 of file TargetRegistry.h.
Referenced by LLVMInitializeAArch64TargetMC(), and LLVMInitializeARMTargetMC().
|
inlinestatic |
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.
T | - The target being registered. |
Fn | - A function to construct an AsmBackend for the target. |
Definition at line 769 of file TargetRegistry.h.
Referenced by LLVMInitializeAArch64TargetMC(), LLVMInitializeAMDGPUTargetMC(), LLVMInitializeARMTargetMC(), LLVMInitializeAVRTargetMC(), LLVMInitializeBPFTargetMC(), LLVMInitializeHexagonTargetMC(), LLVMInitializeLanaiTargetMC(), LLVMInitializeMipsTargetMC(), LLVMInitializeMSP430TargetMC(), LLVMInitializePowerPCTargetMC(), LLVMInitializeRISCVTargetMC(), LLVMInitializeSparcTargetMC(), LLVMInitializeSystemZTargetMC(), LLVMInitializeWebAssemblyTargetMC(), LLVMInitializeX86TargetMC(), and RegisterMCAsmBackend< MCAsmBackendImpl >::RegisterMCAsmBackend().
|
inlinestatic |
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.
Definition at line 696 of file TargetRegistry.h.
Referenced by LLVMInitializeRISCVTargetMC(), LLVMInitializeSystemZTargetMC(), RegisterMCAsmInfo< MCAsmInfoImpl >::RegisterMCAsmInfo(), and RegisterMCAsmInfoFn::RegisterMCAsmInfoFn().
|
inlinestatic |
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.
T | - The target being registered. |
Fn | - A function to construct an MCTargetAsmParser for the target. |
Definition at line 782 of file TargetRegistry.h.
Referenced by RegisterMCAsmParser< MCAsmParserImpl >::RegisterMCAsmParser().
|
inlinestatic |
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.
T | - The target being registered. |
Fn | - A function to construct an MCCodeEmitter for the target. |
Definition at line 835 of file TargetRegistry.h.
Referenced by LLVMInitializeAArch64TargetMC(), LLVMInitializeAMDGPUTargetMC(), LLVMInitializeARMTargetMC(), LLVMInitializeAVRTargetMC(), LLVMInitializeBPFTargetMC(), LLVMInitializeHexagonTargetMC(), LLVMInitializeLanaiTargetMC(), LLVMInitializeMipsTargetMC(), LLVMInitializeMSP430TargetMC(), LLVMInitializePowerPCTargetMC(), LLVMInitializeRISCVTargetMC(), LLVMInitializeSparcTargetMC(), LLVMInitializeSystemZTargetMC(), LLVMInitializeWebAssemblyTargetMC(), LLVMInitializeX86TargetMC(), and RegisterMCCodeEmitter< MCCodeEmitterImpl >::RegisterMCCodeEmitter().
|
inlinestatic |
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.
T | - The target being registered. |
Fn | - A function to construct an MCDisassembler for the target. |
Definition at line 808 of file TargetRegistry.h.
Referenced by LLVMInitializeAArch64Disassembler(), LLVMInitializeAMDGPUDisassembler(), LLVMInitializeARCDisassembler(), LLVMInitializeARMDisassembler(), LLVMInitializeAVRDisassembler(), LLVMInitializeBPFDisassembler(), LLVMInitializeHexagonDisassembler(), LLVMInitializeLanaiDisassembler(), LLVMInitializeMipsDisassembler(), LLVMInitializeMSP430Disassembler(), LLVMInitializePowerPCDisassembler(), LLVMInitializeRISCVDisassembler(), LLVMInitializeSparcDisassembler(), LLVMInitializeSystemZDisassembler(), LLVMInitializeWebAssemblyDisassembler(), LLVMInitializeX86Disassembler(), and LLVMInitializeXCoreDisassembler().
|
inlinestatic |
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.
T | - The target being registered. |
Fn | - A function to construct an MCInstPrinter for the target. |
Definition at line 822 of file TargetRegistry.h.
Referenced by LLVMInitializeAArch64TargetMC(), LLVMInitializeAMDGPUTargetMC(), LLVMInitializeARCTargetMC(), LLVMInitializeARMTargetMC(), LLVMInitializeAVRTargetMC(), LLVMInitializeBPFTargetMC(), LLVMInitializeHexagonTargetMC(), LLVMInitializeLanaiTargetMC(), LLVMInitializeMipsTargetMC(), LLVMInitializeMSP430TargetMC(), LLVMInitializeNVPTXTargetMC(), LLVMInitializePowerPCTargetMC(), LLVMInitializeRISCVTargetMC(), LLVMInitializeSparcTargetMC(), LLVMInitializeSystemZTargetMC(), LLVMInitializeWebAssemblyTargetMC(), LLVMInitializeX86TargetMC(), and LLVMInitializeXCoreTargetMC().
|
inlinestatic |
RegisterMCInstrAnalysis - Register a MCInstrAnalysis implementation for the given target.
Definition at line 715 of file TargetRegistry.h.
Referenced by LLVMInitializeAArch64TargetMC(), LLVMInitializeARMTargetMC(), LLVMInitializeBPFTargetMC(), LLVMInitializeHexagonTargetMC(), LLVMInitializeLanaiTargetMC(), LLVMInitializeMipsTargetMC(), LLVMInitializeX86TargetMC(), RegisterMCInstrAnalysis< MCInstrAnalysisImpl >::RegisterMCInstrAnalysis(), and RegisterMCInstrAnalysisFn::RegisterMCInstrAnalysisFn().
|
inlinestatic |
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.
T | - The target being registered. |
Fn | - A function to construct a MCInstrInfo for the target. |
Definition at line 709 of file TargetRegistry.h.
Referenced by LLVMInitializeAArch64TargetMC(), LLVMInitializeAMDGPUTargetMC(), LLVMInitializeARCTargetMC(), LLVMInitializeARMTargetMC(), LLVMInitializeAVRTargetMC(), LLVMInitializeBPFTargetMC(), LLVMInitializeHexagonTargetMC(), LLVMInitializeLanaiTargetMC(), LLVMInitializeMipsTargetMC(), LLVMInitializeMSP430TargetMC(), LLVMInitializeNVPTXTargetMC(), LLVMInitializePowerPCTargetMC(), LLVMInitializeRISCVTargetMC(), LLVMInitializeSparcTargetMC(), LLVMInitializeSystemZTargetMC(), LLVMInitializeWebAssemblyTargetMC(), LLVMInitializeX86TargetMC(), LLVMInitializeXCoreTargetMC(), RegisterMCInstrInfo< MCInstrInfoImpl >::RegisterMCInstrInfo(), and RegisterMCInstrInfoFn::RegisterMCInstrInfoFn().
|
inlinestatic |
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.
T | - The target being registered. |
Fn | - A function to construct a MCRegisterInfo for the target. |
Definition at line 729 of file TargetRegistry.h.
Referenced by LLVMInitializeAArch64TargetMC(), LLVMInitializeAMDGPUTargetMC(), LLVMInitializeARCTargetMC(), LLVMInitializeARMTargetMC(), LLVMInitializeAVRTargetMC(), LLVMInitializeBPFTargetMC(), LLVMInitializeHexagonTargetMC(), LLVMInitializeLanaiTargetMC(), LLVMInitializeMipsTargetMC(), LLVMInitializeMSP430TargetMC(), LLVMInitializeNVPTXTargetMC(), LLVMInitializePowerPCTargetMC(), LLVMInitializeRISCVTargetMC(), LLVMInitializeSparcTargetMC(), LLVMInitializeSystemZTargetMC(), LLVMInitializeWebAssemblyTargetMC(), LLVMInitializeX86TargetMC(), LLVMInitializeXCoreTargetMC(), RegisterMCRegInfo< MCRegisterInfoImpl >::RegisterMCRegInfo(), and RegisterMCRegInfoFn::RegisterMCRegInfoFn().
|
inlinestatic |
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.
T | - The target being registered. |
Fn | - A function to construct an MCRelocationInfo for the target. |
Definition at line 880 of file TargetRegistry.h.
Referenced by LLVMInitializeARMTargetMC(), LLVMInitializeLanaiTargetMC(), and LLVMInitializeX86TargetMC().
|
inlinestatic |
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.
T | - The target being registered. |
Fn | - A function to construct a MCSubtargetInfo for the target. |
Definition at line 742 of file TargetRegistry.h.
Referenced by LLVMInitializeAArch64TargetMC(), LLVMInitializeAMDGPUTargetMC(), LLVMInitializeARCTargetMC(), LLVMInitializeARMTargetMC(), LLVMInitializeAVRTargetMC(), LLVMInitializeBPFTargetMC(), LLVMInitializeHexagonTargetMC(), LLVMInitializeLanaiTargetMC(), LLVMInitializeMipsTargetMC(), LLVMInitializeMSP430TargetMC(), LLVMInitializeNVPTXTargetMC(), LLVMInitializePowerPCTargetMC(), LLVMInitializeRISCVTargetMC(), LLVMInitializeSparcTargetMC(), LLVMInitializeSystemZTargetMC(), LLVMInitializeWebAssemblyTargetMC(), LLVMInitializeX86TargetMC(), LLVMInitializeXCoreTargetMC(), RegisterMCSubtargetInfo< MCSubtargetInfoImpl >::RegisterMCSubtargetInfo(), and RegisterMCSubtargetInfoFn::RegisterMCSubtargetInfoFn().
|
inlinestatic |
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.
T | - The target being registered. |
Fn | - A function to construct an MCSymbolizer for the target. |
Definition at line 894 of file TargetRegistry.h.
References llvm::Triple::UnknownArch.
Referenced by LLVMInitializeAArch64Disassembler(), and LLVMInitializeAMDGPUDisassembler().
|
inlinestatic |
Definition at line 855 of file TargetRegistry.h.
Referenced by LLVMInitializeARMTargetMC(), LLVMInitializeMipsTargetMC(), and LLVMInitializeWebAssemblyTargetMC().
|
inlinestatic |
Definition at line 866 of file TargetRegistry.h.
Referenced by LLVMInitializeAArch64TargetMC(), LLVMInitializeAMDGPUTargetMC(), LLVMInitializeARMTargetMC(), LLVMInitializeAVRTargetMC(), LLVMInitializeHexagonTargetMC(), LLVMInitializeMipsTargetMC(), LLVMInitializeMSP430TargetMC(), LLVMInitializePowerPCTargetMC(), LLVMInitializeRISCVTargetMC(), LLVMInitializeSparcTargetMC(), LLVMInitializeWebAssemblyTargetMC(), and LLVMInitializeX86TargetMC().
|
static |
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.
T | - The target being registered. |
Name | - The target name. This should be a static string. |
ShortDesc | - A short target description. This should be a static string. |
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. |
ArchMatchFn | - The arch match checking function for this target. |
HasJIT | - Whether the target supports JIT code generation. |
Definition at line 89 of file TargetRegistry.cpp.
References assert(), FirstTarget, Name, and T.
Referenced by LLVMInitializeAArch64TargetInfo(), LLVMInitializeBPFTargetInfo(), and RegisterTarget< TargetArchType, HasJIT >::RegisterTarget().
|
inlinestatic |
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.
T | - The target being registered. |
Fn | - A function to construct a TargetMachine for the target. |
Definition at line 756 of file TargetRegistry.h.
Referenced by RegisterTargetMachine< TargetMachineImpl >::RegisterTargetMachine().
|
inlinestatic |
Definition at line 851 of file TargetRegistry.h.
|
static |
Definition at line 21 of file TargetRegistry.cpp.
References llvm::make_range().
Referenced by LLVMGetFirstTarget(), LLVMGetTargetFromName(), lookupTarget(), printRegisteredTargetsForVersion(), and llvm::EngineBuilder::selectTarget().