class X86TargetMachine
Declaration
class X86TargetMachine : public LLVMTargetMachine { /* full declaration omitted */ };
Description
This class describes a target machine that is implemented with the LLVM target-independent code generator.
Declared at: llvm/lib/Target/X86/X86TargetMachine.h:28
Inherits from: LLVMTargetMachine
Member Variables
- private std::unique_ptr<TargetLoweringObjectFile> TLOF
- private StringMap<std::unique_ptr<X86Subtarget>> SubtargetMap
- private bool IsJIT
Inherited from TargetMachine:
- protected TheTarget
- protected DL
- protected TargetTriple
- protected TargetCPU
- protected TargetFS
- protected RM = Reloc::Static
- protected CMModel = CodeModel::Small
- protected OptLevel = CodeGenOpt::Default
- protected AsmInfo
- protected MRI
- protected MII
- protected STI
- protected RequireStructuredCFG
- protected O0WantsFastISel
- protected PGOOption = None
- public DefaultOptions
- public Options
- public static DefaultSjLjDataSize = 32
Method Overview
- public X86TargetMachine(const llvm::Target & T, const llvm::Triple & TT, llvm::StringRef CPU, llvm::StringRef FS, const llvm::TargetOptions & Options, Optional<Reloc::Model> RM, Optional<CodeModel::Model> CM, CodeGenOpt::Level OL, bool JIT)
- public llvm::TargetPassConfig * createPassConfig(llvm::legacy::PassManagerBase & PM)
- public llvm::TargetLoweringObjectFile * getObjFileLowering() const
- public const llvm::X86Subtarget * getSubtargetImpl(const llvm::Function & F) const
- public const llvm::X86Subtarget * getSubtargetImpl() const
- public llvm::TargetTransformInfo getTargetTransformInfo(const llvm::Function & F) const
- public bool isJIT() const
- public bool isNoopAddrSpaceCast(unsigned int SrcAS, unsigned int DestAS) const
- public ~X86TargetMachine()
Inherited from LLVMTargetMachine:
- public addAsmPrinter
- public addPassesToEmitFile
- public addPassesToEmitMC
- public buildCodeGenPipeline
- public createMCStreamer
- public createPassConfig
- public getPassNameFromLegacyName
- public getTargetTransformInfo
- protected initAsmInfo
- public isMachineVerifierClean
- public unqualifiedInlineAsmVariant
- public useIPRA
- public usesPhysRegsForValues
Inherited from TargetMachine:
- public addPassesToEmitFile
- public addPassesToEmitMC
- public adjustPassManager
- public convertFuncInfoToYAML
- public createDataLayout
- public createDefaultFuncInfoYAML
- public getAIXExtendedAltivecABI
- public getAddressSpaceForPseudoSourceKind
- public getAllocaPointerSize
- public getAssumedAddrSpace
- public getBBSectionsFuncListBuf
- public getBBSectionsType
- public getCodeModel
- public getDataSections
- public getFunctionSections
- public getIgnoreXCOFFVisibility
- public getIntrinsicInfo
- public getMCAsmInfo
- public getMCInstrInfo
- public getMCRegisterInfo
- public getMCSubtargetInfo
- public getNameWithPrefix
- public getO0WantsFastISel
- public getObjFileLowering
- public getOptLevel
- public getPGOOption
- public getPointerSize
- public getPointerSizeInBits
- public getPredicatedAddrSpace
- public getProgramPointerSize
- public getRelocationModel
- public getSjLjDataSize
- public getSubtarget
- public getSubtargetImpl
- public getSymbol
- public getTLSModel
- public getTarget
- public getTargetCPU
- public getTargetFeatureString
- public getTargetIRAnalysis
- public getTargetTransformInfo
- public getTargetTriple
- public getUniqueBasicBlockSectionNames
- public getUniqueSectionNames
- public getXCOFFTracebackTable
- public isCompatibleDataLayout
- public isNoopAddrSpaceCast
- public isPositionIndependent
- public parseBinutilsVersion
- public parseMachineFunctionInfo
- public registerDefaultAliasAnalyses
- public registerPassBuilderCallbacks
- public requiresStructuredCFG
- public resetTargetOptions
- public setCFIFixup
- public setCodeModel
- public setFastISel
- public setGlobalISel
- public setGlobalISelAbort
- public setMachineOutliner
- public setO0WantsFastISel
- public setOptLevel
- public setPGOOption
- public setRequiresStructuredCFG
- public setSupportsDebugEntryValues
- public setSupportsDefaultOutlining
- public setTargetFeatureString
- public shouldAssumeDSOLocal
- public targetSchedulesPostRAScheduling
- public useEmulatedTLS
Methods
¶X86TargetMachine(
const llvm::Target& T,
const llvm::Triple& TT,
llvm::StringRef CPU,
llvm::StringRef FS,
const llvm::TargetOptions& Options,
Optional<Reloc::Model> RM,
Optional<CodeModel::Model> CM,
CodeGenOpt::Level OL,
bool JIT)
X86TargetMachine(
const llvm::Target& T,
const llvm::Triple& TT,
llvm::StringRef CPU,
llvm::StringRef FS,
const llvm::TargetOptions& Options,
Optional<Reloc::Model> RM,
Optional<CodeModel::Model> CM,
CodeGenOpt::Level OL,
bool JIT)
Declared at: llvm/lib/Target/X86/X86TargetMachine.h:35
Parameters
- const llvm::Target& T
- const llvm::Triple& TT
- llvm::StringRef CPU
- llvm::StringRef FS
- const llvm::TargetOptions& Options
- Optional<Reloc::Model> RM
- Optional<CodeModel::Model> CM
- CodeGenOpt::Level OL
- bool JIT
¶llvm::TargetPassConfig* createPassConfig(
llvm::legacy::PassManagerBase& PM)
llvm::TargetPassConfig* createPassConfig(
llvm::legacy::PassManagerBase& PM)
Description
Create a pass configuration object to be used by addPassToEmitX methods for generating a pipeline of CodeGen passes.
Declared at: llvm/lib/Target/X86/X86TargetMachine.h:50
Parameters
¶llvm::TargetLoweringObjectFile*
getObjFileLowering() const
llvm::TargetLoweringObjectFile*
getObjFileLowering() const
Declared at: llvm/lib/Target/X86/X86TargetMachine.h:52
¶const llvm::X86Subtarget* getSubtargetImpl(
const llvm::Function& F) const
const llvm::X86Subtarget* getSubtargetImpl(
const llvm::Function& F) const
Description
Virtual method implemented by subclasses that returns a reference to that target's TargetSubtargetInfo-derived member variable.
Declared at: llvm/lib/Target/X86/X86TargetMachine.h:41
Parameters
- const llvm::Function& F
¶const llvm::X86Subtarget* getSubtargetImpl() const
const llvm::X86Subtarget* getSubtargetImpl() const
Declared at: llvm/lib/Target/X86/X86TargetMachine.h:45
¶llvm::TargetTransformInfo getTargetTransformInfo(
const llvm::Function& F) const
llvm::TargetTransformInfo getTargetTransformInfo(
const llvm::Function& F) const
Description
Get a TargetTransformInfo implementation for the target. The TTI returned uses the common code generator to answer queries about the IR.
Declared at: llvm/lib/Target/X86/X86TargetMachine.h:47
Parameters
- const llvm::Function& F
¶bool isJIT() const
bool isJIT() const
Declared at: llvm/lib/Target/X86/X86TargetMachine.h:56
¶bool isNoopAddrSpaceCast(
unsigned int SrcAS,
unsigned int DestAS) const
bool isNoopAddrSpaceCast(
unsigned int SrcAS,
unsigned int DestAS) const
Description
Returns true if a cast between SrcAS and DestAS is a noop.
Declared at: llvm/lib/Target/X86/X86TargetMachine.h:58
Parameters
- unsigned int SrcAS
- unsigned int DestAS
¶~X86TargetMachine()
~X86TargetMachine()
Declared at: llvm/lib/Target/X86/X86TargetMachine.h:39