LLVM 19.0.0git
Public Types | Public Member Functions | Friends | List of all members
llvm::Target Class Reference

Target - Wrapper for Target specific information. More...

#include "llvm/MC/TargetRegistry.h"

Public Types

using ArchMatchFnTy = bool(*)(Triple::ArchType Arch)
 
using MCAsmInfoCtorFnTy = MCAsmInfo *(*)(const MCRegisterInfo &MRI, const Triple &TT, const MCTargetOptions &Options)
 
using MCObjectFileInfoCtorFnTy = MCObjectFileInfo *(*)(MCContext &Ctx, bool PIC, bool LargeCodeModel)
 
using MCInstrInfoCtorFnTy = MCInstrInfo *(*)()
 
using MCInstrAnalysisCtorFnTy = MCInstrAnalysis *(*)(const MCInstrInfo *Info)
 
using MCRegInfoCtorFnTy = MCRegisterInfo *(*)(const Triple &TT)
 
using MCSubtargetInfoCtorFnTy = MCSubtargetInfo *(*)(const Triple &TT, StringRef CPU, StringRef Features)
 
using TargetMachineCtorTy = TargetMachine *(*)(const Target &T, const Triple &TT, StringRef CPU, StringRef Features, const TargetOptions &Options, std::optional< Reloc::Model > RM, std::optional< CodeModel::Model > CM, CodeGenOptLevel OL, bool JIT)
 
using AsmPrinterCtorTy = AsmPrinter *(*)(TargetMachine &TM, std::unique_ptr< MCStreamer > &&Streamer)
 
using MCAsmBackendCtorTy = MCAsmBackend *(*)(const Target &T, const MCSubtargetInfo &STI, const MCRegisterInfo &MRI, const MCTargetOptions &Options)
 
using MCAsmParserCtorTy = MCTargetAsmParser *(*)(const MCSubtargetInfo &STI, MCAsmParser &P, const MCInstrInfo &MII, const MCTargetOptions &Options)
 
using MCDisassemblerCtorTy = MCDisassembler *(*)(const Target &T, const MCSubtargetInfo &STI, MCContext &Ctx)
 
using MCInstPrinterCtorTy = MCInstPrinter *(*)(const Triple &T, unsigned SyntaxVariant, const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI)
 
using MCCodeEmitterCtorTy = MCCodeEmitter *(*)(const MCInstrInfo &II, MCContext &Ctx)
 
using ELFStreamerCtorTy = MCStreamer *(*)(const Triple &T, MCContext &Ctx, std::unique_ptr< MCAsmBackend > &&TAB, std::unique_ptr< MCObjectWriter > &&OW, std::unique_ptr< MCCodeEmitter > &&Emitter, bool RelaxAll)
 
using GOFFStreamerCtorTy = MCStreamer *(*)(MCContext &Ctx, std::unique_ptr< MCAsmBackend > &&TAB, std::unique_ptr< MCObjectWriter > &&OW, std::unique_ptr< MCCodeEmitter > &&Emitter, bool RelaxAll)
 
using MachOStreamerCtorTy = MCStreamer *(*)(MCContext &Ctx, std::unique_ptr< MCAsmBackend > &&TAB, std::unique_ptr< MCObjectWriter > &&OW, std::unique_ptr< MCCodeEmitter > &&Emitter, bool RelaxAll, bool DWARFMustBeAtTheEnd)
 
using COFFStreamerCtorTy = MCStreamer *(*)(MCContext &Ctx, std::unique_ptr< MCAsmBackend > &&TAB, std::unique_ptr< MCObjectWriter > &&OW, std::unique_ptr< MCCodeEmitter > &&Emitter, bool RelaxAll, bool IncrementalLinkerCompatible)
 
using WasmStreamerCtorTy = MCStreamer *(*)(const Triple &T, MCContext &Ctx, std::unique_ptr< MCAsmBackend > &&TAB, std::unique_ptr< MCObjectWriter > &&OW, std::unique_ptr< MCCodeEmitter > &&Emitter, bool RelaxAll)
 
using XCOFFStreamerCtorTy = MCStreamer *(*)(const Triple &T, MCContext &Ctx, std::unique_ptr< MCAsmBackend > &&TAB, std::unique_ptr< MCObjectWriter > &&OW, std::unique_ptr< MCCodeEmitter > &&Emitter, bool RelaxAll)
 
using SPIRVStreamerCtorTy = MCStreamer *(*)(const Triple &T, MCContext &Ctx, std::unique_ptr< MCAsmBackend > &&TAB, std::unique_ptr< MCObjectWriter > &&OW, std::unique_ptr< MCCodeEmitter > &&Emitter, bool RelaxAll)
 
using DXContainerStreamerCtorTy = MCStreamer *(*)(const Triple &T, MCContext &Ctx, std::unique_ptr< MCAsmBackend > &&TAB, std::unique_ptr< MCObjectWriter > &&OW, std::unique_ptr< MCCodeEmitter > &&Emitter, bool RelaxAll)
 
using NullTargetStreamerCtorTy = MCTargetStreamer *(*)(MCStreamer &S)
 
using AsmTargetStreamerCtorTy = MCTargetStreamer *(*)(MCStreamer &S, formatted_raw_ostream &OS, MCInstPrinter *InstPrint, bool IsVerboseAsm)
 
using ObjectTargetStreamerCtorTy = MCTargetStreamer *(*)(MCStreamer &S, const MCSubtargetInfo &STI)
 
using MCRelocationInfoCtorTy = MCRelocationInfo *(*)(const Triple &TT, MCContext &Ctx)
 
using MCSymbolizerCtorTy = MCSymbolizer *(*)(const Triple &TT, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp, void *DisInfo, MCContext *Ctx, std::unique_ptr< MCRelocationInfo > &&RelInfo)
 
using CustomBehaviourCtorTy = mca::CustomBehaviour *(*)(const MCSubtargetInfo &STI, const mca::SourceMgr &SrcMgr, const MCInstrInfo &MCII)
 
using InstrPostProcessCtorTy = mca::InstrPostProcess *(*)(const MCSubtargetInfo &STI, const MCInstrInfo &MCII)
 
using InstrumentManagerCtorTy = mca::InstrumentManager *(*)(const MCSubtargetInfo &STI, const MCInstrInfo &MCII)
 

Public Member Functions

 Target ()=default
 
Target Information
const TargetgetNext () const
 
const chargetName () const
 getName - Get the target name.
 
const chargetShortDescription () const
 getShortDescription - Get a short description of the target.
 
const chargetBackendName () const
 getBackendName - Get the backend name.
 
Feature Predicates
bool hasJIT () const
 hasJIT - Check if this targets supports the just-in-time compilation.
 
bool hasTargetMachine () const
 hasTargetMachine - Check if this target supports code generation.
 
bool hasMCAsmBackend () const
 hasMCAsmBackend - Check if this target supports .o generation.
 
bool hasMCAsmParser () const
 hasMCAsmParser - Check if this target supports assembly parsing.
 
Feature Constructors
MCAsmInfocreateMCAsmInfo (const MCRegisterInfo &MRI, StringRef TheTriple, const MCTargetOptions &Options) const
 createMCAsmInfo - Create a MCAsmInfo implementation for the specified target triple.
 
MCObjectFileInfocreateMCObjectFileInfo (MCContext &Ctx, bool PIC, bool LargeCodeModel=false) const
 Create a MCObjectFileInfo implementation for the specified target triple.
 
MCInstrInfocreateMCInstrInfo () const
 createMCInstrInfo - Create a MCInstrInfo implementation.
 
MCInstrAnalysiscreateMCInstrAnalysis (const MCInstrInfo *Info) const
 createMCInstrAnalysis - Create a MCInstrAnalysis implementation.
 
MCRegisterInfocreateMCRegInfo (StringRef TT) const
 createMCRegInfo - Create a MCRegisterInfo implementation.
 
MCSubtargetInfocreateMCSubtargetInfo (StringRef TheTriple, StringRef CPU, StringRef Features) const
 createMCSubtargetInfo - Create a MCSubtargetInfo implementation.
 
TargetMachinecreateTargetMachine (StringRef TT, StringRef CPU, StringRef Features, const TargetOptions &Options, std::optional< Reloc::Model > RM, std::optional< CodeModel::Model > CM=std::nullopt, CodeGenOptLevel OL=CodeGenOptLevel::Default, bool JIT=false) const
 createTargetMachine - Create a target specific machine implementation for the specified Triple.
 
MCAsmBackendcreateMCAsmBackend (const MCSubtargetInfo &STI, const MCRegisterInfo &MRI, const MCTargetOptions &Options) const
 createMCAsmBackend - Create a target specific assembly parser.
 
MCTargetAsmParsercreateMCAsmParser (const MCSubtargetInfo &STI, MCAsmParser &Parser, const MCInstrInfo &MII, const MCTargetOptions &Options) const
 createMCAsmParser - Create a target specific assembly parser.
 
AsmPrintercreateAsmPrinter (TargetMachine &TM, std::unique_ptr< MCStreamer > &&Streamer) const
 createAsmPrinter - Create a target specific assembly printer pass.
 
MCDisassemblercreateMCDisassembler (const MCSubtargetInfo &STI, MCContext &Ctx) const
 
MCInstPrintercreateMCInstPrinter (const Triple &T, unsigned SyntaxVariant, const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI) const
 
MCCodeEmittercreateMCCodeEmitter (const MCInstrInfo &II, MCContext &Ctx) const
 createMCCodeEmitter - Create a target specific code emitter.
 
MCStreamercreateMCObjectStreamer (const Triple &T, MCContext &Ctx, std::unique_ptr< MCAsmBackend > &&TAB, std::unique_ptr< MCObjectWriter > &&OW, std::unique_ptr< MCCodeEmitter > &&Emitter, const MCSubtargetInfo &STI, bool RelaxAll, bool IncrementalLinkerCompatible, bool DWARFMustBeAtTheEnd) const
 Create a target specific MCStreamer.
 
MCStreamercreateAsmStreamer (MCContext &Ctx, std::unique_ptr< formatted_raw_ostream > OS, bool IsVerboseAsm, bool UseDwarfDirectory, MCInstPrinter *InstPrint, std::unique_ptr< MCCodeEmitter > &&CE, std::unique_ptr< MCAsmBackend > &&TAB, bool ShowInst) const
 
MCTargetStreamercreateAsmTargetStreamer (MCStreamer &S, formatted_raw_ostream &OS, MCInstPrinter *InstPrint, bool IsVerboseAsm) const
 
MCStreamercreateNullStreamer (MCContext &Ctx) const
 
MCTargetStreamercreateNullTargetStreamer (MCStreamer &S) const
 
MCRelocationInfocreateMCRelocationInfo (StringRef TT, MCContext &Ctx) const
 createMCRelocationInfo - Create a target specific MCRelocationInfo.
 
MCSymbolizercreateMCSymbolizer (StringRef TT, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp, void *DisInfo, MCContext *Ctx, std::unique_ptr< MCRelocationInfo > &&RelInfo) const
 createMCSymbolizer - Create a target specific MCSymbolizer.
 
mca::CustomBehaviourcreateCustomBehaviour (const MCSubtargetInfo &STI, const mca::SourceMgr &SrcMgr, const MCInstrInfo &MCII) const
 createCustomBehaviour - Create a target specific CustomBehaviour.
 
mca::InstrPostProcesscreateInstrPostProcess (const MCSubtargetInfo &STI, const MCInstrInfo &MCII) const
 createInstrPostProcess - Create a target specific InstrPostProcess.
 
mca::InstrumentManagercreateInstrumentManager (const MCSubtargetInfo &STI, const MCInstrInfo &MCII) const
 createInstrumentManager - Create a target specific InstrumentManager.
 

Friends

struct TargetRegistry
 

Detailed Description

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 154 of file TargetRegistry.h.

Member Typedef Documentation

◆ ArchMatchFnTy

Definition at line 158 of file TargetRegistry.h.

◆ AsmPrinterCtorTy

using llvm::Target::AsmPrinterCtorTy = AsmPrinter *(*)( TargetMachine &TM, std::unique_ptr<MCStreamer> &&Streamer)

Definition at line 179 of file TargetRegistry.h.

◆ AsmTargetStreamerCtorTy

Definition at line 240 of file TargetRegistry.h.

◆ COFFStreamerCtorTy

using llvm::Target::COFFStreamerCtorTy = MCStreamer *(*)(MCContext &Ctx, std::unique_ptr<MCAsmBackend> &&TAB, std::unique_ptr<MCObjectWriter> &&OW, std::unique_ptr<MCCodeEmitter> &&Emitter, bool RelaxAll, bool IncrementalLinkerCompatible)

Definition at line 212 of file TargetRegistry.h.

◆ CustomBehaviourCtorTy

Definition at line 252 of file TargetRegistry.h.

◆ DXContainerStreamerCtorTy

using llvm::Target::DXContainerStreamerCtorTy = MCStreamer *(*)(const Triple &T, MCContext &Ctx, std::unique_ptr<MCAsmBackend> &&TAB, std::unique_ptr<MCObjectWriter> &&OW, std::unique_ptr<MCCodeEmitter> &&Emitter, bool RelaxAll)

Definition at line 233 of file TargetRegistry.h.

◆ ELFStreamerCtorTy

using llvm::Target::ELFStreamerCtorTy = MCStreamer *(*)(const Triple &T, MCContext &Ctx, std::unique_ptr<MCAsmBackend> &&TAB, std::unique_ptr<MCObjectWriter> &&OW, std::unique_ptr<MCCodeEmitter> &&Emitter, bool RelaxAll)

Definition at line 198 of file TargetRegistry.h.

◆ GOFFStreamerCtorTy

using llvm::Target::GOFFStreamerCtorTy = MCStreamer *(*)(MCContext &Ctx, std::unique_ptr<MCAsmBackend> &&TAB, std::unique_ptr<MCObjectWriter> &&OW, std::unique_ptr<MCCodeEmitter> &&Emitter, bool RelaxAll)

Definition at line 203 of file TargetRegistry.h.

◆ InstrPostProcessCtorTy

Definition at line 257 of file TargetRegistry.h.

◆ InstrumentManagerCtorTy

Definition at line 261 of file TargetRegistry.h.

◆ MachOStreamerCtorTy

using llvm::Target::MachOStreamerCtorTy = MCStreamer *(*)(MCContext &Ctx, std::unique_ptr<MCAsmBackend> &&TAB, std::unique_ptr<MCObjectWriter> &&OW, std::unique_ptr<MCCodeEmitter> &&Emitter, bool RelaxAll, bool DWARFMustBeAtTheEnd)

Definition at line 207 of file TargetRegistry.h.

◆ MCAsmBackendCtorTy

Definition at line 181 of file TargetRegistry.h.

◆ MCAsmInfoCtorFnTy

Definition at line 160 of file TargetRegistry.h.

◆ MCAsmParserCtorTy

Definition at line 185 of file TargetRegistry.h.

◆ MCCodeEmitterCtorTy

Definition at line 196 of file TargetRegistry.h.

◆ MCDisassemblerCtorTy

Definition at line 188 of file TargetRegistry.h.

◆ MCInstPrinterCtorTy

Definition at line 191 of file TargetRegistry.h.

◆ MCInstrAnalysisCtorFnTy

Definition at line 167 of file TargetRegistry.h.

◆ MCInstrInfoCtorFnTy

Definition at line 166 of file TargetRegistry.h.

◆ MCObjectFileInfoCtorFnTy

Definition at line 163 of file TargetRegistry.h.

◆ MCRegInfoCtorFnTy

Definition at line 168 of file TargetRegistry.h.

◆ MCRelocationInfoCtorTy

Definition at line 245 of file TargetRegistry.h.

◆ MCSubtargetInfoCtorFnTy

Definition at line 169 of file TargetRegistry.h.

◆ MCSymbolizerCtorTy

using llvm::Target::MCSymbolizerCtorTy = MCSymbolizer *(*)( const Triple &TT, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp, void *DisInfo, MCContext *Ctx, std::unique_ptr<MCRelocationInfo> &&RelInfo)

Definition at line 247 of file TargetRegistry.h.

◆ NullTargetStreamerCtorTy

Definition at line 239 of file TargetRegistry.h.

◆ ObjectTargetStreamerCtorTy

Definition at line 243 of file TargetRegistry.h.

◆ SPIRVStreamerCtorTy

using llvm::Target::SPIRVStreamerCtorTy = MCStreamer *(*)(const Triple &T, MCContext &Ctx, std::unique_ptr<MCAsmBackend> &&TAB, std::unique_ptr<MCObjectWriter> &&OW, std::unique_ptr<MCCodeEmitter> &&Emitter, bool RelaxAll)

Definition at line 227 of file TargetRegistry.h.

◆ TargetMachineCtorTy

Definition at line 172 of file TargetRegistry.h.

◆ WasmStreamerCtorTy

using llvm::Target::WasmStreamerCtorTy = MCStreamer *(*)(const Triple &T, MCContext &Ctx, std::unique_ptr<MCAsmBackend> &&TAB, std::unique_ptr<MCObjectWriter> &&OW, std::unique_ptr<MCCodeEmitter> &&Emitter, bool RelaxAll)

Definition at line 217 of file TargetRegistry.h.

◆ XCOFFStreamerCtorTy

using llvm::Target::XCOFFStreamerCtorTy = MCStreamer *(*)(const Triple &T, MCContext &Ctx, std::unique_ptr<MCAsmBackend> &&TAB, std::unique_ptr<MCObjectWriter> &&OW, std::unique_ptr<MCCodeEmitter> &&Emitter, bool RelaxAll)

Definition at line 222 of file TargetRegistry.h.

Constructor & Destructor Documentation

◆ Target()

llvm::Target::Target ( )
default

Member Function Documentation

◆ createAsmPrinter()

AsmPrinter * llvm::Target::createAsmPrinter ( TargetMachine TM,
std::unique_ptr< MCStreamer > &&  Streamer 
) const
inline

createAsmPrinter - Create a target specific assembly printer pass.

This takes ownership of the MCStreamer object.

Definition at line 526 of file TargetRegistry.h.

References TM.

Referenced by llvm::LLVMTargetMachine::addAsmPrinter(), llvm::LLVMTargetMachine::addPassesToEmitMC(), llvm::dwarf_linker::classic::DwarfStreamer::init(), and llvm::dwarf_linker::parallel::DwarfEmitterImpl::init().

◆ createAsmStreamer()

MCStreamer * llvm::Target::createAsmStreamer ( MCContext Ctx,
std::unique_ptr< formatted_raw_ostream OS,
bool  IsVerboseAsm,
bool  UseDwarfDirectory,
MCInstPrinter InstPrint,
std::unique_ptr< MCCodeEmitter > &&  CE,
std::unique_ptr< MCAsmBackend > &&  TAB,
bool  ShowInst 
) const
inline

◆ createAsmTargetStreamer()

MCTargetStreamer * llvm::Target::createAsmTargetStreamer ( MCStreamer S,
formatted_raw_ostream OS,
MCInstPrinter InstPrint,
bool  IsVerboseAsm 
) const
inline

Definition at line 662 of file TargetRegistry.h.

References OS.

Referenced by createAsmStreamer().

◆ createCustomBehaviour()

mca::CustomBehaviour * llvm::Target::createCustomBehaviour ( const MCSubtargetInfo STI,
const mca::SourceMgr SrcMgr,
const MCInstrInfo MCII 
) const
inline

createCustomBehaviour - Create a target specific CustomBehaviour.

This class is used by llvm-mca and requires backend functionality.

Definition at line 719 of file TargetRegistry.h.

References llvm::SrcMgr.

◆ createInstrPostProcess()

mca::InstrPostProcess * llvm::Target::createInstrPostProcess ( const MCSubtargetInfo STI,
const MCInstrInfo MCII 
) const
inline

createInstrPostProcess - Create a target specific InstrPostProcess.

This class is used by llvm-mca and requires backend functionality.

Definition at line 729 of file TargetRegistry.h.

◆ createInstrumentManager()

mca::InstrumentManager * llvm::Target::createInstrumentManager ( const MCSubtargetInfo STI,
const MCInstrInfo MCII 
) const
inline

createInstrumentManager - Create a target specific InstrumentManager.

This class is used by llvm-mca and requires backend functionality.

Definition at line 740 of file TargetRegistry.h.

◆ createMCAsmBackend()

MCAsmBackend * llvm::Target::createMCAsmBackend ( const MCSubtargetInfo STI,
const MCRegisterInfo MRI,
const MCTargetOptions Options 
) const
inline

createMCAsmBackend - Create a target specific assembly parser.

Definition at line 503 of file TargetRegistry.h.

References MRI, and Options.

Referenced by llvm::LLVMTargetMachine::createMCStreamer(), llvm::dwarf_linker::classic::DwarfStreamer::init(), and llvm::dwarf_linker::parallel::DwarfEmitterImpl::init().

◆ createMCAsmInfo()

MCAsmInfo * llvm::Target::createMCAsmInfo ( const MCRegisterInfo MRI,
StringRef  TheTriple,
const MCTargetOptions Options 
) const
inline

createMCAsmInfo - Create a MCAsmInfo implementation for the specified target triple.

Parameters
TheTripleThis 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 424 of file TargetRegistry.h.

References MRI, and Options.

Referenced by llvm::dwarf_linker::classic::DwarfStreamer::init(), llvm::dwarf_linker::parallel::DwarfEmitterImpl::init(), llvm::LLVMTargetMachine::initAsmInfo(), LLVMCreateDisasmCPUFeatures(), and llvm::logicalview::LVBinaryReader::loadGenericTargetInfo().

◆ createMCAsmParser()

MCTargetAsmParser * llvm::Target::createMCAsmParser ( const MCSubtargetInfo STI,
MCAsmParser Parser,
const MCInstrInfo MII,
const MCTargetOptions Options 
) const
inline

createMCAsmParser - Create a target specific assembly parser.

Parameters
ParserThe target independent parser implementation to use for parsing and lexing.

Definition at line 515 of file TargetRegistry.h.

References Options.

◆ createMCCodeEmitter()

MCCodeEmitter * llvm::Target::createMCCodeEmitter ( const MCInstrInfo II,
MCContext Ctx 
) const
inline

◆ createMCDisassembler()

MCDisassembler * llvm::Target::createMCDisassembler ( const MCSubtargetInfo STI,
MCContext Ctx 
) const
inline

◆ createMCInstPrinter()

MCInstPrinter * llvm::Target::createMCInstPrinter ( const Triple T,
unsigned  SyntaxVariant,
const MCAsmInfo MAI,
const MCInstrInfo MII,
const MCRegisterInfo MRI 
) const
inline

◆ createMCInstrAnalysis()

MCInstrAnalysis * llvm::Target::createMCInstrAnalysis ( const MCInstrInfo Info) const
inline

createMCInstrAnalysis - Create a MCInstrAnalysis implementation.

Definition at line 454 of file TargetRegistry.h.

References Info.

◆ createMCInstrInfo()

MCInstrInfo * llvm::Target::createMCInstrInfo ( ) const
inline

◆ createMCObjectFileInfo()

MCObjectFileInfo * llvm::Target::createMCObjectFileInfo ( MCContext Ctx,
bool  PIC,
bool  LargeCodeModel = false 
) const
inline

Create a MCObjectFileInfo implementation for the specified target triple.

Definition at line 434 of file TargetRegistry.h.

References llvm::MCObjectFileInfo::initMCObjectFileInfo(), and PIC.

Referenced by llvm::dwarf_linker::classic::DwarfStreamer::init(), and llvm::dwarf_linker::parallel::DwarfEmitterImpl::init().

◆ createMCObjectStreamer()

MCStreamer * llvm::Target::createMCObjectStreamer ( const Triple T,
MCContext Ctx,
std::unique_ptr< MCAsmBackend > &&  TAB,
std::unique_ptr< MCObjectWriter > &&  OW,
std::unique_ptr< MCCodeEmitter > &&  Emitter,
const MCSubtargetInfo STI,
bool  RelaxAll,
bool  IncrementalLinkerCompatible,
bool  DWARFMustBeAtTheEnd 
) const
inline

◆ createMCRegInfo()

MCRegisterInfo * llvm::Target::createMCRegInfo ( StringRef  TT) const
inline

◆ createMCRelocationInfo()

MCRelocationInfo * llvm::Target::createMCRelocationInfo ( StringRef  TT,
MCContext Ctx 
) const
inline

createMCRelocationInfo - Create a target specific MCRelocationInfo.

Parameters
TTThe target triple.
CtxThe target context.

Definition at line 687 of file TargetRegistry.h.

References llvm::createMCRelocationInfo().

Referenced by LLVMCreateDisasmCPUFeatures().

◆ createMCSubtargetInfo()

MCSubtargetInfo * llvm::Target::createMCSubtargetInfo ( StringRef  TheTriple,
StringRef  CPU,
StringRef  Features 
) const
inline

createMCSubtargetInfo - Create a MCSubtargetInfo implementation.

Parameters
TheTripleThis 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.
CPUThis specifies the name of the target CPU.
FeaturesThis specifies the string representation of the additional target features.

Definition at line 477 of file TargetRegistry.h.

Referenced by llvm::dwarf_linker::classic::DwarfStreamer::init(), llvm::dwarf_linker::parallel::DwarfEmitterImpl::init(), llvm::LLVMTargetMachine::initAsmInfo(), LLVMCreateDisasmCPUFeatures(), and llvm::logicalview::LVBinaryReader::loadGenericTargetInfo().

◆ createMCSymbolizer()

MCSymbolizer * llvm::Target::createMCSymbolizer ( StringRef  TT,
LLVMOpInfoCallback  GetOpInfo,
LLVMSymbolLookupCallback  SymbolLookUp,
void *  DisInfo,
MCContext Ctx,
std::unique_ptr< MCRelocationInfo > &&  RelInfo 
) const
inline

createMCSymbolizer - Create a target specific MCSymbolizer.

Parameters
TTThe target triple.
GetOpInfoThe function to get the symbolic information for operands.
SymbolLookUpThe function to lookup a symbol name.
DisInfoThe pointer to the block of symbolic information for above call back.
CtxThe target context.
RelInfoThe relocation information for this target. Takes ownership.

Definition at line 707 of file TargetRegistry.h.

References llvm::createMCSymbolizer().

Referenced by LLVMCreateDisasmCPUFeatures().

◆ createNullStreamer()

MCStreamer * llvm::Target::createNullStreamer ( MCContext Ctx) const
inline

Definition at line 671 of file TargetRegistry.h.

References llvm::createNullStreamer(), and createNullTargetStreamer().

◆ createNullTargetStreamer()

MCTargetStreamer * llvm::Target::createNullTargetStreamer ( MCStreamer S) const
inline

Definition at line 677 of file TargetRegistry.h.

Referenced by createNullStreamer().

◆ createTargetMachine()

TargetMachine * llvm::Target::createTargetMachine ( StringRef  TT,
StringRef  CPU,
StringRef  Features,
const TargetOptions Options,
std::optional< Reloc::Model RM,
std::optional< CodeModel::Model CM = std::nullopt,
CodeGenOptLevel  OL = CodeGenOptLevel::Default,
bool  JIT = false 
) const
inline

createTargetMachine - Create a target specific machine implementation for the specified Triple.

Parameters
TTThis 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 491 of file TargetRegistry.h.

References Options.

Referenced by llvm::TargetMachineBuilder::create(), createTargetMachine(), llvm::codegen::createTargetMachineForTriple(), llvm::dwarf_linker::classic::DwarfStreamer::init(), llvm::dwarf_linker::parallel::DwarfEmitterImpl::init(), and llvm::EngineBuilder::selectTarget().

◆ getBackendName()

const char * llvm::Target::getBackendName ( ) const
inline

getBackendName - Get the backend name.

Definition at line 395 of file TargetRegistry.h.

◆ getName()

const char * llvm::Target::getName ( ) const
inline

◆ getNext()

const Target * llvm::Target::getNext ( ) const
inline

Definition at line 386 of file TargetRegistry.h.

Referenced by llvm::TargetRegistry::iterator::operator++().

◆ getShortDescription()

const char * llvm::Target::getShortDescription ( ) const
inline

getShortDescription - Get a short description of the target.

Definition at line 392 of file TargetRegistry.h.

Referenced by LLVMGetTargetDescription(), and llvm::TargetRegistry::printRegisteredTargetsForVersion().

◆ hasJIT()

bool llvm::Target::hasJIT ( ) const
inline

hasJIT - Check if this targets supports the just-in-time compilation.

Definition at line 402 of file TargetRegistry.h.

Referenced by LLVMTargetHasJIT().

◆ hasMCAsmBackend()

bool llvm::Target::hasMCAsmBackend ( ) const
inline

hasMCAsmBackend - Check if this target supports .o generation.

Definition at line 408 of file TargetRegistry.h.

Referenced by LLVMTargetHasAsmBackend().

◆ hasMCAsmParser()

bool llvm::Target::hasMCAsmParser ( ) const
inline

hasMCAsmParser - Check if this target supports assembly parsing.

Definition at line 411 of file TargetRegistry.h.

◆ hasTargetMachine()

bool llvm::Target::hasTargetMachine ( ) const
inline

hasTargetMachine - Check if this target supports code generation.

Definition at line 405 of file TargetRegistry.h.

Referenced by LLVMTargetHasTargetMachine().

Friends And Related Function Documentation

◆ TargetRegistry

friend struct TargetRegistry
friend

Definition at line 156 of file TargetRegistry.h.


The documentation for this class was generated from the following file: