LLVM API Documentation

llvm::PPCTargetMachine Class Reference

#include <PPCTargetMachine.h>

Inheritance diagram for llvm::PPCTargetMachine:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 PPCTargetMachine (const Module &M, const std::string &FS, bool is64Bit)
virtual const PPCInstrInfogetInstrInfo () const
virtual const TargetFrameInfogetFrameInfo () const
virtual TargetJITInfogetJITInfo ()
virtual PPCTargetLoweringgetTargetLowering () const
virtual const MRegisterInfogetRegisterInfo () const
virtual const TargetDatagetTargetData () const
virtual const PPCSubtargetgetSubtargetImpl () const
virtual const InstrItineraryData getInstrItineraryData () const
virtual bool addPassesToEmitFile (PassManager &PM, std::ostream &Out, CodeGenFileType FileType, bool Fast)
bool addPassesToEmitMachineCode (FunctionPassManager &PM, MachineCodeEmitter &MCE)

Detailed Description

PPCTargetMachine - Common code between 32-bit and 64-bit PowerPC targets.

Definition at line 31 of file PPCTargetMachine.h.


Constructor & Destructor Documentation

PPCTargetMachine::PPCTargetMachine ( const Module M,
const std::string &  FS,
bool  is64Bit 
)

Definition at line 86 of file PPCTargetMachine.cpp.

References llvm::Reloc::Default, llvm::Reloc::DynamicNoPIC, llvm::TargetMachine::getRelocationModel(), llvm::PPCSubtarget::isDarwin(), llvm::Reloc::PIC_, and llvm::TargetMachine::setRelocationModel().


Member Function Documentation

virtual const PPCInstrInfo* llvm::PPCTargetMachine::getInstrInfo (  )  const [inline, virtual]

Reimplemented from llvm::TargetMachine.

Definition at line 42 of file PPCTargetMachine.h.

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

Reimplemented from llvm::TargetMachine.

Definition at line 43 of file PPCTargetMachine.h.

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

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

Reimplemented from llvm::TargetMachine.

Definition at line 44 of file PPCTargetMachine.h.

virtual PPCTargetLowering* llvm::PPCTargetMachine::getTargetLowering (  )  const [inline, virtual]

Reimplemented from llvm::TargetMachine.

Definition at line 45 of file PPCTargetMachine.h.

Referenced by llvm::PPCJITInfo::addPassesToJITCompile().

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

References llvm::PPCInstrInfo::getRegisterInfo().

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

Reimplemented from llvm::TargetMachine.

Definition at line 52 of file PPCTargetMachine.h.

virtual const PPCSubtarget* llvm::PPCTargetMachine::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 53 of file PPCTargetMachine.h.

Referenced by llvm::PPCInstrInfo::getPointerRegClass().

virtual const InstrItineraryData llvm::PPCTargetMachine::getInstrItineraryData (  )  const [inline, virtual]

getInstrItineraryData - Returns instruction itinerary data for the target or specific subtarget.

Reimplemented from llvm::TargetMachine.

Definition at line 54 of file PPCTargetMachine.h.

bool PPCTargetMachine::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 112 of file PPCTargetMachine.cpp.

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

bool PPCTargetMachine::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 71 of file PPCCodeEmitter.cpp.

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


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