LLVM 22.0.0git
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
using MCObjectFileInfoCtorFnTy
using MCInstrInfoCtorFnTy = MCInstrInfo *(*)()
using MCInstrAnalysisCtorFnTy = MCInstrAnalysis *(*)(const MCInstrInfo *Info)
using MCRegInfoCtorFnTy = MCRegisterInfo *(*)(const Triple &TT)
using MCSubtargetInfoCtorFnTy
using TargetMachineCtorTy
using AsmPrinterCtorTy
using MCAsmBackendCtorTy
using MCAsmParserCtorTy
using MCDisassemblerCtorTy
using MCInstPrinterCtorTy
using MCCodeEmitterCtorTy
using ELFStreamerCtorTy
using MachOStreamerCtorTy
using COFFStreamerCtorTy
using XCOFFStreamerCtorTy
using NullTargetStreamerCtorTy = MCTargetStreamer *(*)(MCStreamer &S)
using AsmTargetStreamerCtorTy
using AsmStreamerCtorTy
using ObjectTargetStreamerCtorTy
using MCRelocationInfoCtorTy
using MCSymbolizerCtorTy
using CustomBehaviourCtorTy
using InstrPostProcessCtorTy
using InstrumentManagerCtorTy

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
MCAsmInfocreateMCAsmInfo (const MCRegisterInfo &MRI, const Triple &TheTriple, const MCTargetOptions &Options) const
 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
MCRegisterInfocreateMCRegInfo (const Triple &TT) const
 Create a MCRegisterInfo implementation.
MCSubtargetInfocreateMCSubtargetInfo (StringRef TheTriple, StringRef CPU, StringRef Features) const
MCSubtargetInfocreateMCSubtargetInfo (const Triple &TheTriple, StringRef CPU, StringRef Features) const
 createMCSubtargetInfo - Create a MCSubtargetInfo implementation.
TargetMachinecreateTargetMachine (const Triple &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.
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
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.
LLVM_ABI MCStreamercreateMCObjectStreamer (const Triple &T, MCContext &Ctx, std::unique_ptr< MCAsmBackend > TAB, std::unique_ptr< MCObjectWriter > OW, std::unique_ptr< MCCodeEmitter > Emitter, const MCSubtargetInfo &STI) const
 Create a target specific MCStreamer.
LLVM_ABI MCStreamercreateAsmStreamer (MCContext &Ctx, std::unique_ptr< formatted_raw_ostream > OS, std::unique_ptr< MCInstPrinter > IP, std::unique_ptr< MCCodeEmitter > CE, std::unique_ptr< MCAsmBackend > TAB) const
MCTargetStreamercreateAsmTargetStreamer (MCStreamer &S, formatted_raw_ostream &OS, MCInstPrinter *InstPrint) const
MCStreamercreateNullStreamer (MCContext &Ctx) const
MCTargetStreamercreateNullTargetStreamer (MCStreamer &S) const
MCRelocationInfocreateMCRelocationInfo (StringRef TT, MCContext &Ctx) const
MCRelocationInfocreateMCRelocationInfo (const Triple &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
MCSymbolizercreateMCSymbolizer (const Triple &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 146 of file TargetRegistry.h.

Member Typedef Documentation

◆ ArchMatchFnTy

Definition at line 150 of file TargetRegistry.h.

◆ AsmPrinterCtorTy

Initial value:
AsmPrinter *(*)(
TargetMachine &TM, std::unique_ptr<MCStreamer> &&Streamer)
This class is intended to be used as a driving class for all asm writers.
Definition AsmPrinter.h:90
Primary interface to the complete machine description for the target machine.

Definition at line 171 of file TargetRegistry.h.

◆ AsmStreamerCtorTy

Initial value:
*(*)(MCContext & Ctx, std::unique_ptr<formatted_raw_ostream> OS,
std::unique_ptr<MCInstPrinter> IP, std::unique_ptr<MCCodeEmitter> CE,
std::unique_ptr<MCAsmBackend> TAB)
Context object for machine code objects.
Definition MCContext.h:83
Streaming machine code generation interface.
Definition MCStreamer.h:220

Definition at line 213 of file TargetRegistry.h.

◆ AsmTargetStreamerCtorTy

Initial value:
MCInstPrinter *InstPrint)
This is an instance of a target assembly language printer that converts an MCInst to valid target ass...
Target specific streamer interface.
Definition MCStreamer.h:93
formatted_raw_ostream - A raw_ostream that wraps another one and keeps track of line and column posit...

Definition at line 210 of file TargetRegistry.h.

◆ COFFStreamerCtorTy

Initial value:
MCStreamer *(*)(MCContext &Ctx, std::unique_ptr<MCAsmBackend> &&TAB,
std::unique_ptr<MCObjectWriter> &&OW,
std::unique_ptr<MCCodeEmitter> &&Emitter)
dxil DXContainer Global Emitter

Definition at line 199 of file TargetRegistry.h.

◆ CustomBehaviourCtorTy

Initial value:
const MCInstrInfo &MCII)
Interface to description of machine instruction set.
Definition MCInstrInfo.h:27
Generic base class for all target subtargets.
Class which can be overriden by targets to enforce instruction dependencies and behaviours that aren'...
SourceMgr SrcMgr
Definition Error.cpp:24
Abstracting the input code sequence (a sequence of MCInst) and assigning unique identifiers to every ...
Definition SourceMgr.h:29

Definition at line 227 of file TargetRegistry.h.

◆ ELFStreamerCtorTy

Initial value:
MCStreamer *(*)(const Triple &T, MCContext &Ctx,
std::unique_ptr<MCAsmBackend> &&TAB,
std::unique_ptr<MCObjectWriter> &&OW,
std::unique_ptr<MCCodeEmitter> &&Emitter)
#define T
Triple - Helper class for working with autoconf configuration names.
Definition Triple.h:47

Definition at line 190 of file TargetRegistry.h.

◆ InstrPostProcessCtorTy

Initial value:
const MCInstrInfo &MCII)
Class which can be overriden by targets to modify the mca::Instruction objects before the pipeline st...

Definition at line 232 of file TargetRegistry.h.

◆ InstrumentManagerCtorTy

Initial value:
const MCInstrInfo &MCII)
This class allows targets to optionally customize the logic that resolves scheduling class IDs.

Definition at line 236 of file TargetRegistry.h.

◆ MachOStreamerCtorTy

Initial value:
MCStreamer *(*)(MCContext &Ctx, std::unique_ptr<MCAsmBackend> &&TAB,
std::unique_ptr<MCObjectWriter> &&OW,
std::unique_ptr<MCCodeEmitter> &&Emitter)

Definition at line 195 of file TargetRegistry.h.

◆ MCAsmBackendCtorTy

Initial value:
MCAsmBackend *(*)(const Target &T,
const MCSubtargetInfo &STI,
unsigned const MachineRegisterInfo * MRI
static LVOptions Options
Definition LVOptions.cpp:25
Generic interface to target specific assembler backends.
MCRegisterInfo base class - We assume that the target defines a static array of MCRegisterDesc object...
Target()=default

Definition at line 173 of file TargetRegistry.h.

◆ MCAsmInfoCtorFnTy

Initial value:
const Triple &TT,
This class is intended to be used as a base class for asm properties and features specific to the tar...
Definition MCAsmInfo.h:64

Definition at line 152 of file TargetRegistry.h.

◆ MCAsmParserCtorTy

Initial value:
const MCSubtargetInfo &STI, MCAsmParser &P, const MCInstrInfo &MII,
#define P(N)
Generic assembler parser interface, for use by target specific assembly parsers.
MCTargetAsmParser - Generic interface to target specific assembly parsers.

Definition at line 177 of file TargetRegistry.h.

◆ MCCodeEmitterCtorTy

Initial value:
MCContext &Ctx)
uint64_t IntrinsicInst * II
MCCodeEmitter - Generic instruction encoding interface.

Definition at line 188 of file TargetRegistry.h.

◆ MCDisassemblerCtorTy

Initial value:
MCDisassembler *(*)(const Target &T,
const MCSubtargetInfo &STI,
MCContext &Ctx)
Superclass for all disassemblers.

Definition at line 180 of file TargetRegistry.h.

◆ MCInstPrinterCtorTy

Initial value:
MCInstPrinter *(*)(const Triple &T,
unsigned SyntaxVariant,
const MCAsmInfo &MAI,
const MCInstrInfo &MII,

Definition at line 183 of file TargetRegistry.h.

◆ MCInstrAnalysisCtorFnTy

◆ MCInstrInfoCtorFnTy

Definition at line 158 of file TargetRegistry.h.

◆ MCObjectFileInfoCtorFnTy

Initial value:
bool PIC,
bool LargeCodeModel)
PassInstrumentationCallbacks PIC

Definition at line 155 of file TargetRegistry.h.

◆ MCRegInfoCtorFnTy

Definition at line 160 of file TargetRegistry.h.

◆ MCRelocationInfoCtorTy

Initial value:
MCRelocationInfo *(*)(const Triple &TT,
MCContext &Ctx)
Create MCExprs from relocations found in an object file.

Definition at line 219 of file TargetRegistry.h.

◆ MCSubtargetInfoCtorFnTy

Initial value:
MCSubtargetInfo *(*)(const Triple &TT,
StringRef CPU,
StringRef Features)
StringRef - Represent a constant reference to a string, i.e.
Definition StringRef.h:55

Definition at line 161 of file TargetRegistry.h.

◆ MCSymbolizerCtorTy

Initial value:
MCSymbolizer *(*)(const Triple &TT, LLVMOpInfoCallback GetOpInfo,
LLVMSymbolLookupCallback SymbolLookUp, void *DisInfo,
MCContext *Ctx,
std::unique_ptr<MCRelocationInfo> &&RelInfo)
Symbolize and annotate disassembled instructions.
const char *(* LLVMSymbolLookupCallback)(void *DisInfo, uint64_t ReferenceValue, uint64_t *ReferenceType, uint64_t ReferencePC, const char **ReferenceName)
The type for the symbol lookup function.
int(* LLVMOpInfoCallback)(void *DisInfo, uint64_t PC, uint64_t Offset, uint64_t OpSize, uint64_t InstSize, int TagType, void *TagBuf)
The type for the operand information call back function.

Definition at line 221 of file TargetRegistry.h.

◆ NullTargetStreamerCtorTy

◆ ObjectTargetStreamerCtorTy

Initial value:

Definition at line 217 of file TargetRegistry.h.

◆ TargetMachineCtorTy

Initial value:
*(*)(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)
CodeGenOptLevel
Code generation optimization level.
Definition CodeGen.h:82

Definition at line 164 of file TargetRegistry.h.

◆ XCOFFStreamerCtorTy

Initial value:
MCStreamer *(*)(const Triple &T, MCContext &Ctx,
std::unique_ptr<MCAsmBackend> &&TAB,
std::unique_ptr<MCObjectWriter> &&OW,
std::unique_ptr<MCCodeEmitter> &&Emitter)

Definition at line 203 of file TargetRegistry.h.

Constructor & Destructor Documentation

◆ Target()

llvm::Target::Target ( )
default

Referenced by getNext().

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

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

◆ createAsmStreamer()

MCStreamer * Target::createAsmStreamer ( MCContext & Ctx,
std::unique_ptr< formatted_raw_ostream > OS,
std::unique_ptr< MCInstPrinter > IP,
std::unique_ptr< MCCodeEmitter > CE,
std::unique_ptr< MCAsmBackend > TAB ) const

◆ createAsmTargetStreamer()

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

Definition at line 582 of file TargetRegistry.h.

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 653 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 663 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 674 of file TargetRegistry.h.

◆ createMCAsmBackend()

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

◆ createMCAsmInfo() [1/2]

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

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

References MRI, and Options.

◆ createMCAsmInfo() [2/2]

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

References Options.

◆ createMCCodeEmitter()

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

createMCCodeEmitter - Create a target specific code emitter.

Definition at line 557 of file TargetRegistry.h.

References II.

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

◆ createMCDisassembler()

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

◆ createMCInstPrinter()

◆ createMCInstrAnalysis()

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

createMCInstrAnalysis - Create a MCInstrAnalysis implementation.

Definition at line 437 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 417 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 * 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 ) const

◆ createMCRegInfo() [1/2]

MCRegisterInfo * llvm::Target::createMCRegInfo ( const Triple & TT) const
inline

Create a MCRegisterInfo implementation.

Definition at line 451 of file TargetRegistry.h.

◆ createMCRegInfo() [2/2]

◆ createMCRelocationInfo() [1/2]

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

createMCRelocationInfo - Create a target specific MCRelocationInfo.

Parameters
TTThe target triple.
CtxThe target context.

Definition at line 611 of file TargetRegistry.h.

References llvm::createMCRelocationInfo().

◆ createMCRelocationInfo() [2/2]

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

Definition at line 603 of file TargetRegistry.h.

References createMCRelocationInfo().

Referenced by createMCRelocationInfo(), and LLVMCreateDisasmCPUFeatures().

◆ createMCSubtargetInfo() [1/2]

MCSubtargetInfo * llvm::Target::createMCSubtargetInfo ( const Triple & 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 474 of file TargetRegistry.h.

◆ createMCSubtargetInfo() [2/2]

◆ createMCSymbolizer() [1/2]

MCSymbolizer * llvm::Target::createMCSymbolizer ( const Triple & 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 642 of file TargetRegistry.h.

References llvm::createMCSymbolizer().

◆ createMCSymbolizer() [2/2]

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

Definition at line 621 of file TargetRegistry.h.

References createMCSymbolizer().

Referenced by createMCSymbolizer(), and LLVMCreateDisasmCPUFeatures().

◆ createNullStreamer()

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

Definition at line 590 of file TargetRegistry.h.

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

◆ createNullTargetStreamer()

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

Definition at line 596 of file TargetRegistry.h.

Referenced by createNullStreamer().

◆ createTargetMachine() [1/2]

TargetMachine * llvm::Target::createTargetMachine ( const Triple & 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 488 of file TargetRegistry.h.

References llvm::Default, and Options.

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

◆ createTargetMachine() [2/2]

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

Definition at line 500 of file TargetRegistry.h.

References createTargetMachine(), llvm::Default, and Options.

◆ getBackendName()

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

getBackendName - Get the backend name.

Definition at line 370 of file TargetRegistry.h.

◆ getName()

◆ getNext()

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

Definition at line 361 of file TargetRegistry.h.

References Target().

◆ getShortDescription()

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

getShortDescription - Get a short description of the target.

Definition at line 367 of file TargetRegistry.h.

Referenced by llvm::TargetRegistry::printRegisteredTargetsForVersion().

◆ hasJIT()

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

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

Definition at line 377 of file TargetRegistry.h.

◆ hasMCAsmBackend()

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

hasMCAsmBackend - Check if this target supports .o generation.

Definition at line 383 of file TargetRegistry.h.

◆ hasMCAsmParser()

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

hasMCAsmParser - Check if this target supports assembly parsing.

Definition at line 386 of file TargetRegistry.h.

◆ hasTargetMachine()

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

hasTargetMachine - Check if this target supports code generation.

Definition at line 380 of file TargetRegistry.h.

◆ TargetRegistry

friend struct TargetRegistry
friend

Definition at line 148 of file TargetRegistry.h.

References TargetRegistry.

Referenced by TargetRegistry.


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