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:

Inherited from TargetMachine:

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)

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)

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::legacy::PassManagerBase& PM

llvm::TargetLoweringObjectFile*
getObjFileLowering() const

Declared at: llvm/lib/Target/X86/X86TargetMachine.h:52

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

Declared at: llvm/lib/Target/X86/X86TargetMachine.h:45

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

Declared at: llvm/lib/Target/X86/X86TargetMachine.h:56

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()

Declared at: llvm/lib/Target/X86/X86TargetMachine.h:39