|
LLVM
4.0.0
|
Target - Wrapper for Target specific information. More...
#include <TargetRegistry.h>
Friends | |
| struct | TargetRegistry |
Target - Wrapper for Target specific information.
For registration purposes, this is a POD type so that targets can be registered without the use of static constructors.
Targets should implement a single global instance of this class (which will be zero initialized), and pass that instance to the TargetRegistry as part of their initialization.
Definition at line 87 of file TargetRegistry.h.
| typedef bool(* llvm::Target::ArchMatchFnTy)(Triple::ArchType Arch) |
Definition at line 91 of file TargetRegistry.h.
| typedef AsmPrinter*(* llvm::Target::AsmPrinterCtorTy)(TargetMachine &TM, std::unique_ptr< MCStreamer > &&Streamer) |
Definition at line 111 of file TargetRegistry.h.
| typedef MCTargetStreamer*(* llvm::Target::AsmTargetStreamerCtorTy)(MCStreamer &S, formatted_raw_ostream &OS, MCInstPrinter *InstPrint, bool IsVerboseAsm) |
Definition at line 147 of file TargetRegistry.h.
| typedef MCStreamer*(* llvm::Target::COFFStreamerCtorTy)(MCContext &Ctx, MCAsmBackend &TAB, raw_pwrite_stream &OS, MCCodeEmitter *Emitter, bool RelaxAll, bool IncrementalLinkerCompatible) |
Definition at line 141 of file TargetRegistry.h.
| typedef MCStreamer*(* llvm::Target::ELFStreamerCtorTy)(const Triple &T, MCContext &Ctx, MCAsmBackend &TAB, raw_pwrite_stream &OS, MCCodeEmitter *Emitter, bool RelaxAll) |
Definition at line 131 of file TargetRegistry.h.
| typedef MCStreamer*(* llvm::Target::MachOStreamerCtorTy)(MCContext &Ctx, MCAsmBackend &TAB, raw_pwrite_stream &OS, MCCodeEmitter *Emitter, bool RelaxAll, bool DWARFMustBeAtTheEnd) |
Definition at line 136 of file TargetRegistry.h.
| typedef void(* llvm::Target::MCAdjustCodeGenOptsFnTy)(const Triple &TT, Reloc::Model RM, CodeModel::Model &CM) |
Definition at line 95 of file TargetRegistry.h.
| typedef MCAsmBackend*(* llvm::Target::MCAsmBackendCtorTy)(const Target &T, const MCRegisterInfo &MRI, const Triple &TT, StringRef CPU, const MCTargetOptions &Options) |
Definition at line 113 of file TargetRegistry.h.
Definition at line 93 of file TargetRegistry.h.
| typedef MCTargetAsmParser*(* llvm::Target::MCAsmParserCtorTy)(const MCSubtargetInfo &STI, MCAsmParser &P, const MCInstrInfo &MII, const MCTargetOptions &Options) |
Definition at line 117 of file TargetRegistry.h.
| typedef MCCodeEmitter*(* llvm::Target::MCCodeEmitterCtorTy)(const MCInstrInfo &II, const MCRegisterInfo &MRI, MCContext &Ctx) |
Definition at line 128 of file TargetRegistry.h.
| typedef MCDisassembler*(* llvm::Target::MCDisassemblerCtorTy)(const Target &T, const MCSubtargetInfo &STI, MCContext &Ctx) |
Definition at line 120 of file TargetRegistry.h.
| typedef MCInstPrinter*(* llvm::Target::MCInstPrinterCtorTy)(const Triple &T, unsigned SyntaxVariant, const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI) |
Definition at line 123 of file TargetRegistry.h.
| typedef MCInstrAnalysis*(* llvm::Target::MCInstrAnalysisCtorFnTy)(const MCInstrInfo *Info) |
Definition at line 99 of file TargetRegistry.h.
| typedef MCInstrInfo*(* llvm::Target::MCInstrInfoCtorFnTy)(void) |
Definition at line 98 of file TargetRegistry.h.
| typedef MCRegisterInfo*(* llvm::Target::MCRegInfoCtorFnTy)(const Triple &TT) |
Definition at line 100 of file TargetRegistry.h.
| typedef MCRelocationInfo*(* llvm::Target::MCRelocationInfoCtorTy)(const Triple &TT, MCContext &Ctx) |
Definition at line 152 of file TargetRegistry.h.
| typedef MCSubtargetInfo*(* llvm::Target::MCSubtargetInfoCtorFnTy)(const Triple &TT, StringRef CPU, StringRef Features) |
Definition at line 101 of file TargetRegistry.h.
| typedef MCSymbolizer*(* llvm::Target::MCSymbolizerCtorTy)(const Triple &TT, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp, void *DisInfo, MCContext *Ctx, std::unique_ptr< MCRelocationInfo > &&RelInfo) |
Definition at line 154 of file TargetRegistry.h.
| typedef MCTargetStreamer*(* llvm::Target::NullTargetStreamerCtorTy)(MCStreamer &S) |
Definition at line 146 of file TargetRegistry.h.
| typedef MCTargetStreamer*(* llvm::Target::ObjectTargetStreamerCtorTy)(MCStreamer &S, const MCSubtargetInfo &STI) |
Definition at line 150 of file TargetRegistry.h.
| typedef TargetMachine*(* llvm::Target::TargetMachineCtorTy)(const Target &T, const Triple &TT, StringRef CPU, StringRef Features, const TargetOptions &Options, Optional< Reloc::Model > RM, CodeModel::Model CM, CodeGenOpt::Level OL) |
Definition at line 104 of file TargetRegistry.h.
|
inline |
Definition at line 252 of file TargetRegistry.h.
|
inline |
Definition at line 304 of file TargetRegistry.h.
Referenced by llvm::LLVMTargetMachine::LLVMTargetMachine().
|
inline |
createAsmPrinter - Create a target specific assembly printer pass.
This takes ownership of the MCStreamer object.
Definition at line 395 of file TargetRegistry.h.
Referenced by llvm::LLVMTargetMachine::addPassesToEmitFile(), and llvm::LLVMTargetMachine::addPassesToEmitMC().
|
inline |
Definition at line 470 of file TargetRegistry.h.
References llvm::createAsmStreamer(), and createAsmTargetStreamer().
Referenced by llvm::LLVMTargetMachine::addPassesToEmitFile().
|
inline |
Definition at line 483 of file TargetRegistry.h.
Referenced by createAsmStreamer().
|
inline |
createMCAsmBackend - Create a target specific assembly parser.
| TheTriple | The target triple string. |
Definition at line 371 of file TargetRegistry.h.
Referenced by llvm::LLVMTargetMachine::addPassesToEmitFile(), and llvm::LLVMTargetMachine::addPassesToEmitMC().
|
inline |
createMCAsmInfo - Create a MCAsmInfo implementation for the specified target triple.
| TheTriple | This argument is used to determine the target machine feature set; it should always be provided. Generally this should be either the target triple from the module, or the target triple of the host if that does not exist. |
Definition at line 297 of file TargetRegistry.h.
Referenced by llvm::ModuleSymbolTable::CollectAsmSymbols(), llvm::LLVMTargetMachine::initAsmInfo(), and LLVMCreateDisasmCPUFeatures().
|
inline |
createMCAsmParser - Create a target specific assembly parser.
| Parser | The target independent parser implementation to use for parsing and lexing. |
Definition at line 384 of file TargetRegistry.h.
Referenced by llvm::ModuleSymbolTable::CollectAsmSymbols().
|
inline |
createMCCodeEmitter - Create a target specific code emitter.
Definition at line 419 of file TargetRegistry.h.
Referenced by llvm::LLVMTargetMachine::addPassesToEmitFile(), llvm::LLVMTargetMachine::addPassesToEmitMC(), and llvm::X86AsmPrinter::runOnMachineFunction().
|
inline |
Definition at line 402 of file TargetRegistry.h.
Referenced by LLVMCreateDisasmCPUFeatures().
|
inline |
Definition at line 409 of file TargetRegistry.h.
Referenced by llvm::LLVMTargetMachine::addPassesToEmitFile(), LLVMCreateDisasmCPUFeatures(), and LLVMSetDisasmOptions().
|
inline |
createMCInstrAnalysis - Create a MCInstrAnalysis implementation.
Definition at line 320 of file TargetRegistry.h.
|
inline |
createMCInstrInfo - Create a MCInstrInfo implementation.
Definition at line 312 of file TargetRegistry.h.
Referenced by llvm::ModuleSymbolTable::CollectAsmSymbols(), createHexagonDisassembler(), createWebAssemblyDisassembler(), createX86Disassembler(), llvm::LLVMTargetMachine::initAsmInfo(), and LLVMCreateDisasmCPUFeatures().
|
inline |
Create a target specific MCStreamer.
| T | The target triple. |
| Ctx | The target context. |
| TAB | The target assembler backend object. Takes ownership. |
| OS | The stream object. |
| Emitter | The target independent assembler object.Takes ownership. |
| RelaxAll | Relax all fixups? |
Definition at line 435 of file TargetRegistry.h.
References assert(), llvm::Triple::COFF, llvm::createELFStreamer(), llvm::createMachOStreamer(), llvm::Triple::ELF, llvm::Triple::getObjectFormat(), llvm::Triple::isOSWindows(), llvm_unreachable, and llvm::Triple::MachO.
|
inline |
createMCRegInfo - Create a MCRegisterInfo implementation.
Definition at line 328 of file TargetRegistry.h.
Referenced by llvm::ModuleSymbolTable::CollectAsmSymbols(), llvm::LLVMTargetMachine::initAsmInfo(), and LLVMCreateDisasmCPUFeatures().
|
inline |
createMCRelocationInfo - Create a target specific MCRelocationInfo.
| TT | The target triple. |
| Ctx | The target context. |
Definition at line 508 of file TargetRegistry.h.
References llvm::createMCRelocationInfo().
Referenced by LLVMCreateDisasmCPUFeatures().
|
inline |
createMCSubtargetInfo - Create a MCSubtargetInfo implementation.
| TheTriple | This argument is used to determine the target machine feature set; it should always be provided. Generally this should be either the target triple from the module, or the target triple of the host if that does not exist. |
| CPU | This specifies the name of the target CPU. |
| Features | This specifies the string representation of the additional target features. |
Definition at line 343 of file TargetRegistry.h.
Referenced by llvm::ModuleSymbolTable::CollectAsmSymbols(), llvm::AsmPrinter::doInitialization(), llvm::AMDGPUAsmPrinter::EmitStartOfAsmFile(), llvm::LLVMTargetMachine::initAsmInfo(), and LLVMCreateDisasmCPUFeatures().
|
inline |
createMCSymbolizer - Create a target specific MCSymbolizer.
| TT | The target triple. |
| GetOpInfo | The function to get the symbolic information for operands. |
| SymbolLookUp | The function to lookup a symbol name. |
| DisInfo | The pointer to the block of symbolic information for above call back. |
| Ctx | The target context. |
| RelInfo | The relocation information for this target. Takes ownership. |
Definition at line 528 of file TargetRegistry.h.
References llvm::createMCSymbolizer().
Referenced by LLVMCreateDisasmCPUFeatures().
|
inline |
Definition at line 492 of file TargetRegistry.h.
References llvm::createNullStreamer(), and createNullTargetStreamer().
|
inline |
Definition at line 498 of file TargetRegistry.h.
Referenced by llvm::ModuleSymbolTable::CollectAsmSymbols(), and createNullStreamer().
|
inline |
createTargetMachine - Create a target specific machine implementation for the specified Triple.
| TT | This argument is used to determine the target machine feature set; it should always be provided. Generally this should be either the target triple from the module, or the target triple of the host if that does not exist. |
Definition at line 358 of file TargetRegistry.h.
Referenced by llvm::TargetMachineBuilder::create(), and llvm::EngineBuilder::selectTarget().
|
inline |
getName - Get the target name.
Definition at line 265 of file TargetRegistry.h.
Referenced by LLVMGetTargetFromName(), llvm::TargetRegistry::lookupTarget(), and llvm::EngineBuilder::selectTarget().
Definition at line 262 of file TargetRegistry.h.
Referenced by llvm::TargetRegistry::iterator::operator++().
|
inline |
getShortDescription - Get a short description of the target.
Definition at line 268 of file TargetRegistry.h.
|
inline |
hasJIT - Check if this targets supports the just-in-time compilation.
Definition at line 275 of file TargetRegistry.h.
Referenced by llvm::EngineBuilder::create().
|
inline |
hasMCAsmBackend - Check if this target supports .o generation.
Definition at line 281 of file TargetRegistry.h.
|
inline |
hasMCAsmParser - Check if this target supports assembly parsing.
Definition at line 284 of file TargetRegistry.h.
Referenced by llvm::ModuleSymbolTable::CollectAsmSymbols().
|
inline |
hasTargetMachine - Check if this target supports code generation.
Definition at line 278 of file TargetRegistry.h.
|
friend |
Definition at line 89 of file TargetRegistry.h.
1.8.6