LLVM  3.7.0
Public Member Functions | List of all members
llvm::CPPTargetMachine Struct Reference

#include <CPPTargetMachine.h>

Inheritance diagram for llvm::CPPTargetMachine:
[legend]
Collaboration diagram for llvm::CPPTargetMachine:
[legend]

Public Member Functions

 CPPTargetMachine (const Target &T, const Triple &TT, StringRef CPU, StringRef FS, const TargetOptions &Options, Reloc::Model RM, CodeModel::Model CM, CodeGenOpt::Level OL)
 
bool addPassesToEmitFile (PassManagerBase &PM, raw_pwrite_stream &Out, CodeGenFileType FileType, bool DisableVerify, AnalysisID StartBefore, AnalysisID StartAfter, AnalysisID StopAfter, MachineFunctionInitializer *MFInitializer) override
 Add passes to the specified pass manager to get the specified file emitted. More...
 
- Public Member Functions inherited from llvm::TargetMachine
virtual ~TargetMachine ()
 
const TargetgetTarget () const
 
const TriplegetTargetTriple () const
 
StringRef getTargetCPU () const
 
StringRef getTargetFeatureString () const
 
virtual const TargetSubtargetInfogetSubtargetImpl (const Function &) const
 Virtual method implemented by subclasses that returns a reference to that target's TargetSubtargetInfo-derived member variable. More...
 
virtual TargetLoweringObjectFilegetObjFileLowering () const
 
template<typename STC >
const STC & getSubtarget (const Function &F) const
 This method returns a pointer to the specified type of TargetSubtargetInfo. More...
 
const DataLayoutgetDataLayout () const
 Deprecated in 3.7, will be removed in 3.8. More...
 
const DataLayout createDataLayout () const
 Create a DataLayout. More...
 
void resetTargetOptions (const Function &F) const
 Reset the target options based on the function's attributes. More...
 
const MCAsmInfogetMCAsmInfo () const
 Return target specific asm information. More...
 
const MCRegisterInfogetMCRegisterInfo () const
 
const MCInstrInfogetMCInstrInfo () const
 
const MCSubtargetInfogetMCSubtargetInfo () const
 
virtual const TargetIntrinsicInfogetIntrinsicInfo () 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...
 
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) const
 Overrides the optimization level. More...
 
void setFastISel (bool Enable)
 
bool shouldPrintMachineCode () const
 
bool getAsmVerbosityDefault () const
 Returns the default value of asm verbosity. More...
 
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 TargetIRAnalysis getTargetIRAnalysis ()
 Get a TargetIRAnalysis appropriate for the target. More...
 
virtual bool addPassesToEmitMC (PassManagerBase &, MCContext *&, raw_pwrite_stream &, bool=true)
 Add passes to the specified pass manager to get machine code emitted with the MCJIT. More...
 
void getNameWithPrefix (SmallVectorImpl< char > &Name, const GlobalValue *GV, Mangler &Mang, bool MayAlwaysUsePrivate=false) const
 
MCSymbolgetSymbol (const GlobalValue *GV, Mangler &Mang) const
 

Additional Inherited Members

- Public Types inherited from llvm::TargetMachine
enum  CodeGenFileType { CGFT_AssemblyFile, CGFT_ObjectFile, CGFT_Null }
 These enums are meant to be passed into addPassesToEmitFile to indicate what type of file to emit, and returned by it to indicate what type of file could actually be made. More...
 
- Public Attributes inherited from llvm::TargetMachine
TargetOptions Options
 
- Protected Member Functions inherited from llvm::TargetMachine
 TargetMachine (const Target &T, StringRef DataLayoutString, const Triple &TargetTriple, StringRef CPU, StringRef FS, const TargetOptions &Options)
 
- Protected Attributes inherited from llvm::TargetMachine
const TargetTheTarget
 The Target that this machine was created for. More...
 
const DataLayout DL
 For ABI type size and alignment. More...
 
Triple TargetTriple
 Triple string, CPU name, and target feature strings the TargetMachine instance is created with. More...
 
std::string TargetCPU
 
std::string TargetFS
 
MCCodeGenInfoCodeGenInfo
 Low level target information such as relocation model. More...
 
const MCAsmInfoAsmInfo
 Contains target specific asm information. More...
 
const MCRegisterInfoMRI
 
const MCInstrInfoMII
 
const MCSubtargetInfoSTI
 
unsigned RequireStructuredCFG: 1
 

Detailed Description

Definition at line 25 of file CPPTargetMachine.h.

Constructor & Destructor Documentation

llvm::CPPTargetMachine::CPPTargetMachine ( const Target T,
const Triple TT,
StringRef  CPU,
StringRef  FS,
const TargetOptions Options,
Reloc::Model  RM,
CodeModel::Model  CM,
CodeGenOpt::Level  OL 
)
inline

Definition at line 26 of file CPPTargetMachine.h.

Member Function Documentation

bool CPPTargetMachine::addPassesToEmitFile ( PassManagerBase &  ,
raw_pwrite_stream ,
CodeGenFileType  ,
bool  ,
AnalysisID  ,
AnalysisID  ,
AnalysisID  ,
MachineFunctionInitializer  
)
overridevirtual

Add passes to the specified pass manager to get the specified file emitted.

Typically this will involve several steps of code generation. This method should return true if emission of this file type is not supported, or false on success.

Reimplemented from llvm::TargetMachine.

Definition at line 2149 of file CPPBackend.cpp.

References llvm::TargetMachine::CGFT_AssemblyFile.


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