LLVM API Documentation
#include <TargetRegistry.h>
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 76 of file TargetRegistry.h.
| typedef bool(* llvm::Target::ArchMatchFnTy)(Triple::ArchType Arch) |
Definition at line 80 of file TargetRegistry.h.
| typedef AsmPrinter*(* llvm::Target::AsmPrinterCtorTy)(TargetMachine &TM, MCStreamer &Streamer) |
Definition at line 102 of file TargetRegistry.h.
| typedef MCStreamer*(* llvm::Target::AsmStreamerCtorTy)(MCContext &Ctx, formatted_raw_ostream &OS, bool isVerboseAsm, bool useDwarfDirectory, MCInstPrinter *InstPrint, MCCodeEmitter *CE, MCAsmBackend *TAB, bool ShowInst) |
Definition at line 135 of file TargetRegistry.h.
| typedef MCAsmBackend*(* llvm::Target::MCAsmBackendCtorTy)(const Target &T, const MCRegisterInfo &MRI, StringRef TT, StringRef CPU) |
Definition at line 104 of file TargetRegistry.h.
| typedef MCAsmInfo*(* llvm::Target::MCAsmInfoCtorFnTy)(const MCRegisterInfo &MRI, StringRef TT) |
Definition at line 82 of file TargetRegistry.h.
| typedef MCTargetAsmParser*(* llvm::Target::MCAsmParserCtorTy)(MCSubtargetInfo &STI, MCAsmParser &P, const MCInstrInfo &MII, const MCTargetOptions &Options) |
Definition at line 108 of file TargetRegistry.h.
| typedef MCCodeEmitter*(* llvm::Target::MCCodeEmitterCtorTy)(const MCInstrInfo &II, const MCRegisterInfo &MRI, const MCSubtargetInfo &STI, MCContext &Ctx) |
Definition at line 122 of file TargetRegistry.h.
| typedef MCCodeGenInfo*(* llvm::Target::MCCodeGenInfoCtorFnTy)(StringRef TT, Reloc::Model RM, CodeModel::Model CM, CodeGenOpt::Level OL) |
Definition at line 84 of file TargetRegistry.h.
| typedef MCDisassembler*(* llvm::Target::MCDisassemblerCtorTy)(const Target &T, const MCSubtargetInfo &STI, MCContext &Ctx) |
Definition at line 113 of file TargetRegistry.h.
| typedef MCInstPrinter*(* llvm::Target::MCInstPrinterCtorTy)(const Target &T, unsigned SyntaxVariant, const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI, const MCSubtargetInfo &STI) |
Definition at line 116 of file TargetRegistry.h.
| typedef MCInstrAnalysis*(* llvm::Target::MCInstrAnalysisCtorFnTy)(const MCInstrInfo *Info) |
Definition at line 89 of file TargetRegistry.h.
| typedef MCInstrInfo*(* llvm::Target::MCInstrInfoCtorFnTy)(void) |
Definition at line 88 of file TargetRegistry.h.
| typedef MCStreamer*(* llvm::Target::MCObjectStreamerCtorTy)(const Target &T, StringRef TT, MCContext &Ctx, MCAsmBackend &TAB, raw_ostream &_OS, MCCodeEmitter *_Emitter, const MCSubtargetInfo &STI, bool RelaxAll, bool NoExecStack) |
Definition at line 126 of file TargetRegistry.h.
| typedef MCRegisterInfo*(* llvm::Target::MCRegInfoCtorFnTy)(StringRef TT) |
Definition at line 90 of file TargetRegistry.h.
| typedef MCRelocationInfo*(* llvm::Target::MCRelocationInfoCtorTy)(StringRef TT, MCContext &Ctx) |
Definition at line 144 of file TargetRegistry.h.
| typedef MCSubtargetInfo*(* llvm::Target::MCSubtargetInfoCtorFnTy)(StringRef TT, StringRef CPU, StringRef Features) |
Definition at line 91 of file TargetRegistry.h.
| typedef MCSymbolizer*(* llvm::Target::MCSymbolizerCtorTy)(StringRef TT, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp, void *DisInfo, MCContext *Ctx, MCRelocationInfo *RelInfo) |
Definition at line 146 of file TargetRegistry.h.
| typedef MCStreamer*(* llvm::Target::NullStreamerCtorTy)(MCContext &Ctx) |
Definition at line 143 of file TargetRegistry.h.
| typedef TargetMachine*(* llvm::Target::TargetMachineCtorTy)(const Target &T, StringRef TT, StringRef CPU, StringRef Features, const TargetOptions &Options, Reloc::Model RM, CodeModel::Model CM, CodeGenOpt::Level OL) |
Definition at line 94 of file TargetRegistry.h.
| llvm::Target::Target | ( | ) | [inline] |
Definition at line 243 of file TargetRegistry.h.
| AsmPrinter* llvm::Target::createAsmPrinter | ( | TargetMachine & | TM, |
| MCStreamer & | Streamer | ||
| ) | const [inline] |
createAsmPrinter - Create a target specific assembly printer pass. This takes ownership of the MCStreamer object.
Definition at line 380 of file TargetRegistry.h.
Referenced by llvm::LLVMTargetMachine::addPassesToEmitFile(), and llvm::LLVMTargetMachine::addPassesToEmitMC().
| MCStreamer* llvm::Target::createAsmStreamer | ( | MCContext & | Ctx, |
| formatted_raw_ostream & | OS, | ||
| bool | isVerboseAsm, | ||
| bool | useDwarfDirectory, | ||
| MCInstPrinter * | InstPrint, | ||
| MCCodeEmitter * | CE, | ||
| MCAsmBackend * | TAB, | ||
| bool | ShowInst | ||
| ) | const [inline] |
createAsmStreamer - Create a target specific MCStreamer.
Definition at line 437 of file TargetRegistry.h.
Referenced by llvm::LLVMTargetMachine::addPassesToEmitFile().
| MCAsmBackend* llvm::Target::createMCAsmBackend | ( | const MCRegisterInfo & | MRI, |
| StringRef | Triple, | ||
| StringRef | CPU | ||
| ) | const [inline] |
createMCAsmBackend - Create a target specific assembly parser.
| Triple | The target triple string. |
Definition at line 357 of file TargetRegistry.h.
Referenced by llvm::LLVMTargetMachine::addPassesToEmitFile(), and llvm::LLVMTargetMachine::addPassesToEmitMC().
| MCAsmInfo* llvm::Target::createMCAsmInfo | ( | const MCRegisterInfo & | MRI, |
| StringRef | Triple | ||
| ) | const [inline] |
createMCAsmInfo - Create a MCAsmInfo implementation for the specified target triple.
| Triple | 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 279 of file TargetRegistry.h.
Referenced by llvm::LLVMTargetMachine::initAsmInfo(), llvm::object::IRObjectFile::IRObjectFile(), and LLVMCreateDisasmCPU().
| MCTargetAsmParser* llvm::Target::createMCAsmParser | ( | MCSubtargetInfo & | STI, |
| MCAsmParser & | Parser, | ||
| const MCInstrInfo & | MII, | ||
| const MCTargetOptions & | Options | ||
| ) | const [inline] |
createMCAsmParser - Create a target specific assembly parser.
| Parser | The target independent parser implementation to use for parsing and lexing. |
Definition at line 368 of file TargetRegistry.h.
Referenced by llvm::object::IRObjectFile::IRObjectFile().
| MCCodeEmitter* llvm::Target::createMCCodeEmitter | ( | const MCInstrInfo & | II, |
| const MCRegisterInfo & | MRI, | ||
| const MCSubtargetInfo & | STI, | ||
| MCContext & | Ctx | ||
| ) | const [inline] |
createMCCodeEmitter - Create a target specific code emitter.
Definition at line 405 of file TargetRegistry.h.
Referenced by llvm::LLVMTargetMachine::addPassesToEmitFile(), and llvm::LLVMTargetMachine::addPassesToEmitMC().
| MCCodeGenInfo* llvm::Target::createMCCodeGenInfo | ( | StringRef | Triple, |
| Reloc::Model | RM, | ||
| CodeModel::Model | CM, | ||
| CodeGenOpt::Level | OL | ||
| ) | const [inline] |
createMCCodeGenInfo - Create a MCCodeGenInfo implementation.
Definition at line 288 of file TargetRegistry.h.
Referenced by llvm::LLVMTargetMachine::LLVMTargetMachine().
| MCDisassembler* llvm::Target::createMCDisassembler | ( | const MCSubtargetInfo & | STI, |
| MCContext & | Ctx | ||
| ) | const [inline] |
Definition at line 386 of file TargetRegistry.h.
Referenced by LLVMCreateDisasmCPU().
| MCInstPrinter* llvm::Target::createMCInstPrinter | ( | unsigned | SyntaxVariant, |
| const MCAsmInfo & | MAI, | ||
| const MCInstrInfo & | MII, | ||
| const MCRegisterInfo & | MRI, | ||
| const MCSubtargetInfo & | STI | ||
| ) | const [inline] |
Definition at line 393 of file TargetRegistry.h.
Referenced by llvm::LLVMTargetMachine::addPassesToEmitFile(), LLVMCreateDisasmCPU(), and LLVMSetDisasmOptions().
| MCInstrAnalysis* llvm::Target::createMCInstrAnalysis | ( | const MCInstrInfo * | Info | ) | const [inline] |
createMCInstrAnalysis - Create a MCInstrAnalysis implementation.
Definition at line 306 of file TargetRegistry.h.
| MCInstrInfo* llvm::Target::createMCInstrInfo | ( | ) | const [inline] |
createMCInstrInfo - Create a MCInstrInfo implementation.
Definition at line 298 of file TargetRegistry.h.
Referenced by createX86Disassembler(), llvm::object::IRObjectFile::IRObjectFile(), and LLVMCreateDisasmCPU().
| MCStreamer* llvm::Target::createMCObjectStreamer | ( | StringRef | TT, |
| MCContext & | Ctx, | ||
| MCAsmBackend & | TAB, | ||
| raw_ostream & | _OS, | ||
| MCCodeEmitter * | _Emitter, | ||
| const MCSubtargetInfo & | STI, | ||
| bool | RelaxAll, | ||
| bool | NoExecStack | ||
| ) | const [inline] |
createMCObjectStreamer - Create a target specific MCStreamer.
| TT | 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? |
| NoExecStack | Mark file as not needing a executable stack. |
Definition at line 423 of file TargetRegistry.h.
| MCRegisterInfo* llvm::Target::createMCRegInfo | ( | StringRef | Triple | ) | const [inline] |
createMCRegInfo - Create a MCRegisterInfo implementation.
Definition at line 314 of file TargetRegistry.h.
Referenced by llvm::object::IRObjectFile::IRObjectFile(), and LLVMCreateDisasmCPU().
| MCRelocationInfo* llvm::Target::createMCRelocationInfo | ( | StringRef | TT, |
| MCContext & | Ctx | ||
| ) | const [inline] |
createMCRelocationInfo - Create a target specific MCRelocationInfo.
| TT | The target triple. |
| Ctx | The target context. |
Definition at line 463 of file TargetRegistry.h.
Referenced by LLVMCreateDisasmCPU().
| MCSubtargetInfo* llvm::Target::createMCSubtargetInfo | ( | StringRef | Triple, |
| StringRef | CPU, | ||
| StringRef | Features | ||
| ) | const [inline] |
createMCSubtargetInfo - Create a MCSubtargetInfo implementation.
| Triple | 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 329 of file TargetRegistry.h.
Referenced by llvm::object::IRObjectFile::IRObjectFile(), and LLVMCreateDisasmCPU().
| MCSymbolizer* llvm::Target::createMCSymbolizer | ( | StringRef | TT, |
| LLVMOpInfoCallback | GetOpInfo, | ||
| LLVMSymbolLookupCallback | SymbolLookUp, | ||
| void * | DisInfo, | ||
| MCContext * | Ctx, | ||
| MCRelocationInfo * | RelInfo | ||
| ) | const [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 480 of file TargetRegistry.h.
Referenced by LLVMCreateDisasmCPU().
| MCStreamer* llvm::Target::createNullStreamer | ( | MCContext & | Ctx | ) | const [inline] |
Definition at line 452 of file TargetRegistry.h.
| TargetMachine* llvm::Target::createTargetMachine | ( | StringRef | Triple, |
| StringRef | CPU, | ||
| StringRef | Features, | ||
| const TargetOptions & | Options, | ||
| Reloc::Model | RM = Reloc::Default, |
||
| CodeModel::Model | CM = CodeModel::Default, |
||
| CodeGenOpt::Level | OL = CodeGenOpt::Default |
||
| ) | const [inline] |
createTargetMachine - Create a target specific machine implementation for the specified Triple.
| Triple | 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 343 of file TargetRegistry.h.
References llvm::NVPTX::PTXCvtMode::RM.
Referenced by llvm::EngineBuilder::selectTarget().
| const char* llvm::Target::getName | ( | ) | const [inline] |
| const Target* llvm::Target::getNext | ( | ) | const [inline] |
Definition at line 251 of file TargetRegistry.h.
Referenced by llvm::TargetRegistry::iterator::operator++().
| const char* llvm::Target::getShortDescription | ( | ) | const [inline] |
getShortDescription - Get a short description of the target.
Definition at line 257 of file TargetRegistry.h.
| bool llvm::Target::hasJIT | ( | ) | const [inline] |
hasJIT - Check if this targets supports the just-in-time compilation.
Definition at line 262 of file TargetRegistry.h.
Referenced by llvm::EngineBuilder::create().
| bool llvm::Target::hasMCAsmBackend | ( | ) | const [inline] |
hasMCAsmBackend - Check if this target supports .o generation.
Definition at line 268 of file TargetRegistry.h.
| bool llvm::Target::hasTargetMachine | ( | ) | const [inline] |
hasTargetMachine - Check if this target supports code generation.
Definition at line 265 of file TargetRegistry.h.
friend struct TargetRegistry [friend] |
Definition at line 78 of file TargetRegistry.h.