LLVM API Documentation
#include <X86TargetMachine.h>
Public Member Functions | |
X86TargetMachine (const Target &T, StringRef TT, StringRef CPU, StringRef FS, const TargetOptions &Options, Reloc::Model RM, CodeModel::Model CM, CodeGenOpt::Level OL, bool is64Bit) | |
virtual const X86InstrInfo * | getInstrInfo () const |
virtual const TargetFrameLowering * | getFrameLowering () const |
virtual X86JITInfo * | getJITInfo () |
virtual const X86Subtarget * | getSubtargetImpl () const |
virtual const X86TargetLowering * | getTargetLowering () const |
virtual const X86SelectionDAGInfo * | getSelectionDAGInfo () const |
virtual const X86RegisterInfo * | getRegisterInfo () const |
virtual const InstrItineraryData * | getInstrItineraryData () const |
virtual void | addAnalysisPasses (PassManagerBase &PM) |
Register X86 analysis passes with a pass manager. More... | |
virtual TargetPassConfig * | createPassConfig (PassManagerBase &PM) |
virtual bool | addCodeEmitter (PassManagerBase &PM, JITCodeEmitter &JCE) |
![]() | |
virtual bool | addPassesToEmitFile (PassManagerBase &PM, formatted_raw_ostream &Out, CodeGenFileType FileType, bool DisableVerify=true, AnalysisID StartAfter=0, AnalysisID StopAfter=0) |
virtual bool | addPassesToEmitMachineCode (PassManagerBase &PM, JITCodeEmitter &MCE, bool DisableVerify=true) |
virtual bool | addPassesToEmitMC (PassManagerBase &PM, MCContext *&Ctx, raw_ostream &OS, bool DisableVerify=true) |
![]() | |
virtual | ~TargetMachine () |
const Target & | getTarget () const |
const StringRef | getTargetTriple () const |
const StringRef | getTargetCPU () const |
const StringRef | getTargetFeatureString () const |
void | resetTargetOptions (const MachineFunction *MF) const |
Reset the target options based on the function's attributes. More... | |
virtual const DataLayout * | getDataLayout () const |
const MCAsmInfo * | getMCAsmInfo () const |
template<typename STC > | |
const STC & | getSubtarget () const |
virtual const TargetIntrinsicInfo * | getIntrinsicInfo () const |
bool | hasMCRelaxAll () const |
void | setMCRelaxAll (bool Value) |
bool | hasMCSaveTempLabels () const |
void | setMCSaveTempLabels (bool Value) |
bool | hasMCNoExecStack () const |
hasMCNoExecStack - Check whether an executable stack is not needed. More... | |
void | setMCNoExecStack (bool Value) |
setMCNoExecStack - Set whether an executabel stack is not needed. More... | |
bool | hasMCUseLoc () const |
hasMCUseLoc - Check whether we should use dwarf's .loc directive. More... | |
void | setMCUseLoc (bool Value) |
setMCUseLoc - Set whether all we should use dwarf's .loc directive. More... | |
bool | hasMCUseCFI () const |
hasMCUseCFI - Check whether we should use dwarf's .cfi_* directives. More... | |
void | setMCUseCFI (bool Value) |
setMCUseCFI - Set whether all we should use dwarf's .cfi_* directives. More... | |
bool | hasMCUseDwarfDirectory () const |
void | setMCUseDwarfDirectory (bool Value) |
Reloc::Model | getRelocationModel () const |
CodeModel::Model | getCodeModel () const |
TLSModel::Model | getTLSModel (const GlobalValue *GV) const |
CodeGenOpt::Level | getOptLevel () const |
void | setOptLevel (CodeGenOpt::Level Level) const |
Overrides the optimization level. More... | |
void | setFastISel (bool Enable) |
bool | shouldPrintMachineCode () const |
Definition at line 32 of file X86TargetMachine.h.
X86TargetMachine::X86TargetMachine | ( | const Target & | T, |
StringRef | TT, | ||
StringRef | CPU, | ||
StringRef | FS, | ||
const TargetOptions & | Options, | ||
Reloc::Model | RM, | ||
CodeModel::Model | CM, | ||
CodeGenOpt::Level | OL, | ||
bool | is64Bit | ||
) |
X86TargetMachine ctor - Create an X86 target.
Definition at line 78 of file X86TargetMachine.cpp.
References llvm::FloatABI::Default, llvm::Reloc::DynamicNoPIC, llvm::TargetOptions::FloatABIType, llvm::TargetMachine::getRelocationModel(), llvm::PICStyles::GOT, llvm::FloatABI::Hard, llvm::X86Subtarget::is64Bit(), llvm::X86Subtarget::isTargetCOFF(), llvm::X86Subtarget::isTargetDarwin(), llvm::X86Subtarget::isTargetELF(), llvm::PICStyles::None, llvm::Reloc::PIC_, llvm::PICStyles::RIPRel, llvm::X86Subtarget::setPICStyle(), llvm::Reloc::Static, llvm::PICStyles::StubDynamicNoPIC, and llvm::PICStyles::StubPIC.
|
virtual |
Register X86 analysis passes with a pass manager.
Reimplemented from llvm::LLVMTargetMachine.
Definition at line 131 of file X86TargetMachine.cpp.
References llvm::createBasicTargetTransformInfoPass(), and llvm::createX86TargetTransformInfoPass().
|
virtual |
addCodeEmitter - This pass should be overridden by the target to add a code emitter, if supported. If this is not supported, 'true' should be returned.
Reimplemented from llvm::LLVMTargetMachine.
Definition at line 229 of file X86TargetMachine.cpp.
References llvm::createX86JITCodeEmitterPass().
|
virtual |
createPassConfig - Create a pass configuration object to be used by addPassToEmitX methods for generating a pipeline of CodeGen passes.
createPassConfig - Create a pass configuration object to be used by addPassToEmitX methods for generating a pipeline of CodeGen passes.
Targets may override this to extend TargetPassConfig.
Reimplemented from llvm::LLVMTargetMachine.
Definition at line 167 of file X86TargetMachine.cpp.
|
inlinevirtual |
Reimplemented from llvm::TargetMachine.
Definition at line 47 of file X86TargetMachine.h.
Referenced by llvm::X86FrameLowering::eliminateCallFramePseudoInstr(), llvm::X86InstrInfo::foldMemoryOperandImpl(), llvm::X86InstrInfo::loadRegFromStackSlot(), llvm::X86RegisterInfo::needsStackRealignment(), and llvm::X86InstrInfo::storeRegToStackSlot().
|
inlinevirtual |
Reimplemented from llvm::TargetMachine.
Reimplemented in llvm::X86_64TargetMachine, and llvm::X86_32TargetMachine.
Definition at line 44 of file X86TargetMachine.h.
References llvm_unreachable.
Referenced by llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::eliminateCallFramePseudoInstr(), llvm::X86FrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitPrologue(), and getRegisterInfo().
|
inlinevirtual |
getInstrItineraryData - Returns instruction itinerary data for the target or specific subtarget.
Reimplemented from llvm::TargetMachine.
Definition at line 63 of file X86TargetMachine.h.
|
inlinevirtual |
getJITInfo - If this target supports a JIT, return information for it, otherwise return null.
Reimplemented from llvm::TargetMachine.
Reimplemented in llvm::X86_64TargetMachine, and llvm::X86_32TargetMachine.
Definition at line 50 of file X86TargetMachine.h.
References llvm_unreachable.
|
inlinevirtual |
getRegisterInfo - If register information is available, return it. If not, return null. This is kept separate from RegInfo until RegInfo has details of graph coloring register allocation removed from it.
Reimplemented from llvm::TargetMachine.
Definition at line 60 of file X86TargetMachine.h.
References getInstrInfo(), and llvm::X86InstrInfo::getRegisterInfo().
Referenced by llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::X86FrameLowering::eliminateCallFramePseudoInstr(), llvm::X86FrameLowering::emitCalleeSavedFrameMoves(), llvm::X86FrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitPrologue(), llvm::X86FrameLowering::hasFP(), and llvm::X86FrameLowering::processFunctionBeforeCalleeSavedScan().
|
inlinevirtual |
Reimplemented from llvm::TargetMachine.
Reimplemented in llvm::X86_64TargetMachine, and llvm::X86_32TargetMachine.
Definition at line 57 of file X86TargetMachine.h.
References llvm_unreachable.
|
inlinevirtual |
getSubtargetImpl - virtual method implemented by subclasses that returns a reference to that target's TargetSubtargetInfo-derived member variable.
Reimplemented from llvm::TargetMachine.
Definition at line 53 of file X86TargetMachine.h.
Referenced by llvm::X86InstrInfo::shouldScheduleLoadsNear().
|
inlinevirtual |
Reimplemented from llvm::TargetMachine.
Reimplemented in llvm::X86_64TargetMachine, and llvm::X86_32TargetMachine.
Definition at line 54 of file X86TargetMachine.h.
References llvm_unreachable.