|
LLVM
4.0.0
|
#include <X86TargetMachine.h>
Public Member Functions | |
| X86TargetMachine (const Target &T, const Triple &TT, StringRef CPU, StringRef FS, const TargetOptions &Options, Optional< Reloc::Model > RM, CodeModel::Model CM, CodeGenOpt::Level OL) | |
| Create an X86 target. More... | |
| ~X86TargetMachine () override | |
| const X86Subtarget * | getSubtargetImpl (const Function &F) const override |
| Virtual method implemented by subclasses that returns a reference to that target's TargetSubtargetInfo-derived member variable. More... | |
| TargetIRAnalysis | getTargetIRAnalysis () override |
| Get a TargetIRAnalysis implementation for the target. More... | |
| TargetPassConfig * | createPassConfig (PassManagerBase &PM) override |
| Create a pass configuration object to be used by addPassToEmitX methods for generating a pipeline of CodeGen passes. More... | |
| TargetLoweringObjectFile * | getObjFileLowering () const override |
Public Member Functions inherited from llvm::LLVMTargetMachine | |
| bool | addPassesToEmitFile (PassManagerBase &PM, raw_pwrite_stream &Out, CodeGenFileType FileType, bool DisableVerify=true, AnalysisID StartBefore=nullptr, AnalysisID StartAfter=nullptr, AnalysisID StopBefore=nullptr, AnalysisID StopAfter=nullptr, MachineFunctionInitializer *MFInitializer=nullptr) override |
| Add passes to the specified pass manager to get the specified file emitted. More... | |
| bool | addPassesToEmitMC (PassManagerBase &PM, MCContext *&Ctx, raw_pwrite_stream &OS, bool DisableVerify=true) override |
| Add passes to the specified pass manager to get machine code emitted with the MCJIT. More... | |
Public Member Functions inherited from llvm::TargetMachine | |
| TargetMachine (const TargetMachine &)=delete | |
| void | operator= (const TargetMachine &)=delete |
| virtual | ~TargetMachine () |
| const Target & | getTarget () const |
| const Triple & | getTargetTriple () const |
| StringRef | getTargetCPU () const |
| StringRef | getTargetFeatureString () const |
| template<typename STC > | |
| const STC & | getSubtarget (const Function &F) const |
| This method returns a pointer to the specified type of TargetSubtargetInfo. More... | |
| const DataLayout | createDataLayout () const |
| Create a DataLayout. More... | |
| bool | isCompatibleDataLayout (const DataLayout &Candidate) const |
| Test if a DataLayout if compatible with the CodeGen for this target. More... | |
| unsigned | getPointerSize () const |
| Get the pointer size for this target. More... | |
| void | resetTargetOptions (const Function &F) const |
| Reset the target options based on the function's attributes. More... | |
| const MCAsmInfo * | getMCAsmInfo () const |
| Return target specific asm information. More... | |
| const MCRegisterInfo * | getMCRegisterInfo () const |
| const MCInstrInfo * | getMCInstrInfo () const |
| const MCSubtargetInfo * | getMCSubtargetInfo () const |
| virtual const TargetIntrinsicInfo * | getIntrinsicInfo () const |
| If intrinsic information is available, return it. If not, return null. More... | |
| bool | requiresStructuredCFG () const |
| void | setRequiresStructuredCFG (bool Value) |
| Reloc::Model | getRelocationModel () const |
| Returns the code generation relocation model. More... | |
| CodeModel::Model | getCodeModel () const |
| Returns the code model. More... | |
| bool | isPositionIndependent () const |
| bool | shouldAssumeDSOLocal (const Module &M, const GlobalValue *GV) const |
| TLSModel::Model | getTLSModel (const GlobalValue *GV) const |
| Returns the TLS model which should be used for the given global variable. More... | |
| CodeGenOpt::Level | getOptLevel () const |
| Returns the optimization level: None, Less, Default, or Aggressive. More... | |
| void | setOptLevel (CodeGenOpt::Level Level) |
| Overrides the optimization level. More... | |
| void | setFastISel (bool Enable) |
| bool | getO0WantsFastISel () |
| void | setO0WantsFastISel (bool Enable) |
| bool | shouldPrintMachineCode () const |
| bool | getUniqueSectionNames () const |
| bool | getDataSections () const |
| Return true if data objects should be emitted into their own section, corresponds to -fdata-sections. More... | |
| bool | getFunctionSections () const |
| Return true if functions should be emitted into their own section, corresponding to -ffunction-sections. More... | |
| virtual void | addEarlyAsPossiblePasses (PassManagerBase &) |
| Add target-specific function passes that should be run as early as possible in the optimization pipeline. More... | |
| virtual bool | targetSchedulesPostRAScheduling () const |
| True if subtarget inserts the final scheduling pass on its own. More... | |
| void | getNameWithPrefix (SmallVectorImpl< char > &Name, const GlobalValue *GV, Mangler &Mang, bool MayAlwaysUsePrivate=false) const |
| MCSymbol * | getSymbol (const GlobalValue *GV) const |
| virtual bool | usesPhysRegsForPEI () const |
| True if the target uses physical regs at Prolog/Epilog insertion time. More... | |
Definition at line 25 of file X86TargetMachine.h.
| X86TargetMachine::X86TargetMachine | ( | const Target & | T, |
| const Triple & | TT, | ||
| StringRef | CPU, | ||
| StringRef | FS, | ||
| const TargetOptions & | Options, | ||
| Optional< Reloc::Model > | RM, | ||
| CodeModel::Model | CM, | ||
| CodeGenOpt::Level | OL | ||
| ) |
Create an X86 target.
Definition at line 157 of file X86TargetMachine.cpp.
References llvm::Triple::getArch(), llvm::LLVMTargetMachine::initAsmInfo(), llvm::Triple::isOSWindows(), llvm::Triple::isPS4(), llvm::TargetOptions::TrapUnreachable, and llvm::Triple::x86_64.
|
override |
Definition at line 180 of file X86TargetMachine.cpp.
|
overridevirtual |
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 313 of file X86TargetMachine.cpp.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetMachine.
Definition at line 41 of file X86TargetMachine.h.
|
overridevirtual |
Virtual method implemented by subclasses that returns a reference to that target's TargetSubtargetInfo-derived member variable.
Reimplemented from llvm::TargetMachine.
Definition at line 206 of file X86TargetMachine.cpp.
References llvm::StringRef::empty(), llvm::Function::getFnAttribute(), llvm::Attribute::getValueAsString(), llvm::Attribute::hasAttribute(), I, llvm::Attribute::None, llvm::TargetMachine::Options, llvm::SmallVectorImpl< char >::reserve(), llvm::TargetMachine::resetTargetOptions(), llvm::StringRef::size(), llvm::TargetOptions::StackAlignmentOverride, llvm::SmallString< InternalLen >::substr(), llvm::TargetMachine::TargetCPU, llvm::TargetMachine::TargetFS, and llvm::TargetMachine::TargetTriple.
|
overridevirtual |
Get a TargetIRAnalysis implementation for the target.
This analysis will produce a TTI result which uses the common code generator to answer queries about the IR.
Reimplemented from llvm::LLVMTargetMachine.
Definition at line 267 of file X86TargetMachine.cpp.
References F.
1.8.6