LLVM API Documentation

llvm::SparcTargetMachine Class Reference

#include <SparcTargetMachine.h>

Inheritance diagram for llvm::SparcTargetMachine:

Inheritance graph
[legend]
Collaboration diagram for llvm::SparcTargetMachine:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 SparcTargetMachine (const Module &M, const std::string &FS)
virtual const SparcInstrInfogetInstrInfo () const
virtual const TargetFrameInfogetFrameInfo () const
virtual const SparcSubtargetgetSubtargetImpl () const
virtual const SparcRegisterInfogetRegisterInfo () const
virtual SparcTargetLoweringgetTargetLowering () const
virtual const TargetDatagetTargetData () const
virtual bool addInstSelector (PassManagerBase &PM, bool Fast)
 Target-Independent Code Generator Pass Configuration Options.
virtual bool addPreEmitPass (PassManagerBase &PM, bool Fast)
virtual bool addAssemblyEmitter (PassManagerBase &PM, bool Fast, raw_ostream &Out)

Static Public Member Functions

static unsigned getModuleMatchQuality (const Module &M)

Protected Member Functions

virtual const TargetAsmInfocreateTargetAsmInfo () const


Detailed Description

Definition at line 28 of file SparcTargetMachine.h.


Constructor & Destructor Documentation

SparcTargetMachine::SparcTargetMachine ( const Module M,
const std::string &  FS 
)

SparcTargetMachine ctor - Create an ILP32 architecture model

Definition at line 39 of file SparcTargetMachine.cpp.


Member Function Documentation

const TargetAsmInfo * SparcTargetMachine::createTargetAsmInfo (  )  const [protected, virtual]

createTargetAsmInfo - Create a new instance of target specific asm information.

Reimplemented from llvm::TargetMachine.

Definition at line 32 of file SparcTargetMachine.cpp.

virtual const SparcInstrInfo* llvm::SparcTargetMachine::getInstrInfo (  )  const [inline, virtual]

Reimplemented from llvm::TargetMachine.

Definition at line 41 of file SparcTargetMachine.h.

virtual const TargetFrameInfo* llvm::SparcTargetMachine::getFrameInfo (  )  const [inline, virtual]

Reimplemented from llvm::TargetMachine.

Definition at line 42 of file SparcTargetMachine.h.

virtual const SparcSubtarget* llvm::SparcTargetMachine::getSubtargetImpl (  )  const [inline, virtual]

getSubtargetImpl - virtual method implemented by subclasses that returns a reference to that target's TargetSubtarget-derived member variable.

Reimplemented from llvm::TargetMachine.

Definition at line 43 of file SparcTargetMachine.h.

virtual const SparcRegisterInfo* llvm::SparcTargetMachine::getRegisterInfo (  )  const [inline, virtual]

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 44 of file SparcTargetMachine.h.

References llvm::SparcInstrInfo::getRegisterInfo().

virtual SparcTargetLowering* llvm::SparcTargetMachine::getTargetLowering (  )  const [inline, virtual]

Reimplemented from llvm::TargetMachine.

Definition at line 47 of file SparcTargetMachine.h.

virtual const TargetData* llvm::SparcTargetMachine::getTargetData (  )  const [inline, virtual]

Reimplemented from llvm::TargetMachine.

Definition at line 50 of file SparcTargetMachine.h.

unsigned SparcTargetMachine::getModuleMatchQuality ( const Module  )  [static]

getModuleMatchQuality - This static method should be implemented by targets to indicate how closely they match the specified module. This is used by the LLC tool to determine which target to use when an explicit -march option is not specified. If a target returns zero, it will never be chosen without an explicit -march option.

Reimplemented from llvm::TargetMachine.

Definition at line 45 of file SparcTargetMachine.cpp.

References llvm::Module::AnyEndianness, llvm::Module::AnyPointerSize, llvm::Module::BigEndian, llvm::Module::getEndianness(), llvm::Module::getPointerSize(), llvm::Module::getTargetTriple(), and llvm::Module::Pointer32.

bool SparcTargetMachine::addInstSelector ( PassManagerBase ,
bool   
) [virtual]

Target-Independent Code Generator Pass Configuration Options.

addInstSelector - This method should add any "last minute" LLVM->LLVM passes, then install an instruction selector pass, which converts from LLVM code to machine instructions.

Reimplemented from llvm::LLVMTargetMachine.

Definition at line 71 of file SparcTargetMachine.cpp.

References llvm::PassManagerBase::add(), and llvm::createSparcISelDag().

bool SparcTargetMachine::addPreEmitPass ( PassManagerBase PM,
bool  Fast 
) [virtual]

addPreEmitPass - This pass may be implemented by targets that want to run passes immediately before machine code is emitted. This should return true if -print-machineinstrs should print out the code after the passes.

Reimplemented from llvm::LLVMTargetMachine.

Definition at line 79 of file SparcTargetMachine.cpp.

References llvm::PassManagerBase::add(), llvm::createSparcDelaySlotFillerPass(), and llvm::createSparcFPMoverPass().

bool SparcTargetMachine::addAssemblyEmitter ( PassManagerBase ,
bool  ,
raw_ostream  
) [virtual]

addAssemblyEmitter - This pass should be overridden by the target to add the asmprinter, if asm emission is supported. If this is not supported, 'true' should be returned.

Reimplemented from llvm::LLVMTargetMachine.

Definition at line 85 of file SparcTargetMachine.cpp.

References llvm::PassManagerBase::add(), and llvm::createSparcCodePrinterPass().


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



This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.