LLVM API Documentation

llvm::AlphaTargetMachine Class Reference

#include <AlphaTargetMachine.h>

Inheritance diagram for llvm::AlphaTargetMachine:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 AlphaTargetMachine (const Module &M, const std::string &FS)
virtual const AlphaInstrInfogetInstrInfo () const
virtual const TargetFrameInfogetFrameInfo () const
virtual const TargetSubtargetgetSubtargetImpl () const
virtual const MRegisterInfogetRegisterInfo () const
virtual const TargetDatagetTargetData () const
virtual TargetJITInfogetJITInfo ()
virtual bool addPassesToEmitMachineCode (FunctionPassManager &PM, MachineCodeEmitter &MCE)
virtual bool addPassesToEmitFile (PassManager &PM, std::ostream &Out, CodeGenFileType FileType, bool Fast)

Static Public Member Functions

static unsigned getJITMatchQuality ()
static unsigned getModuleMatchQuality (const Module &M)

Detailed Description

Definition at line 29 of file AlphaTargetMachine.h.


Constructor & Destructor Documentation

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

Definition at line 56 of file AlphaTargetMachine.cpp.

References DEBUG.


Member Function Documentation

virtual const AlphaInstrInfo* llvm::AlphaTargetMachine::getInstrInfo (  )  const [inline, virtual]

Reimplemented from llvm::TargetMachine.

Definition at line 39 of file AlphaTargetMachine.h.

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

Reimplemented from llvm::TargetMachine.

Definition at line 40 of file AlphaTargetMachine.h.

virtual const TargetSubtarget* llvm::AlphaTargetMachine::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 41 of file AlphaTargetMachine.h.

virtual const MRegisterInfo* llvm::AlphaTargetMachine::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 42 of file AlphaTargetMachine.h.

References llvm::AlphaInstrInfo::getRegisterInfo().

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

Reimplemented from llvm::TargetMachine.

Definition at line 45 of file AlphaTargetMachine.h.

virtual TargetJITInfo* llvm::AlphaTargetMachine::getJITInfo (  )  [inline, virtual]

getJITInfo - If this target supports a JIT, return information for it, otherwise return null.

Reimplemented from llvm::TargetMachine.

Definition at line 46 of file AlphaTargetMachine.h.

unsigned AlphaTargetMachine::getJITMatchQuality (  )  [static]

getJITMatchQuality - This static method should be implemented by targets that provide JIT capabilities to indicate how suitable they are for execution on the current host. If a value of 0 is returned, the target will not be used unless an explicit -march option is used.

Reimplemented from llvm::TargetMachine.

Definition at line 48 of file AlphaTargetMachine.cpp.

Referenced by getModuleMatchQuality().

bool AlphaTargetMachine::addPassesToEmitMachineCode ( FunctionPassManager PM,
MachineCodeEmitter MCE 
) [virtual]

addPassesToEmitMachineCode - Add passes to the specified pass manager to get machine code emitted. This uses a MachineCodeEmitter object to handle actually outputting the machine code and resolving things like the address of functions. This method should returns true if machine code emission is not supported.

Reimplemented from llvm::TargetMachine.

Definition at line 139 of file AlphaTargetMachine.cpp.

References llvm::FunctionPassManager::add(), llvm::createAlphaCodeEmitterPass(), llvm::createMachineCodeDeleter(), and MCE.

bool AlphaTargetMachine::addPassesToEmitFile ( PassManager PM,
std::ostream &  Out,
CodeGenFileType  FileType,
bool  Fast 
) [virtual]

addPassesToEmitFile - Add passes to the specified pass manager to implement a static compiler for this target.

Reimplemented from llvm::TargetMachine.

Definition at line 68 of file AlphaTargetMachine.cpp.

References llvm::PassManager::add(), llvm::TargetMachine::AssemblyFile, llvm::createAlphaCodePrinterPass(), llvm::createAlphaISelDag(), llvm::createCFGSimplificationPass(), llvm::createLoopStrengthReducePass(), llvm::createLowerGCPass(), llvm::createLowerInvokePass(), llvm::createMachineCodeDeleter(), llvm::createMachineFunctionPrinterPass(), llvm::createPrologEpilogCodeInserter(), llvm::createRegisterAllocator(), llvm::createUnreachableBlockEliminationPass(), and llvm::PrintMachineCode.

unsigned AlphaTargetMachine::getModuleMatchQuality ( const Module M  )  [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 31 of file AlphaTargetMachine.cpp.

References llvm::Module::AnyEndianness, llvm::Module::AnyPointerSize, llvm::Module::getEndianness(), getJITMatchQuality(), llvm::Module::getPointerSize(), llvm::Module::getTargetTriple(), llvm::Module::LittleEndian, M, and llvm::Module::Pointer64.


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