LLVM API Documentation
#include <PPCTargetMachine.h>
Inheritance diagram for llvm::PPCTargetMachine:
Public Member Functions | |
PPCTargetMachine (const Module &M, const std::string &FS) | |
virtual const PPCInstrInfo * | getInstrInfo () const |
virtual const TargetFrameInfo * | getFrameInfo () const |
virtual TargetJITInfo * | getJITInfo () |
virtual const TargetSubtarget * | getSubtargetImpl () const |
virtual PPCTargetLowering * | getTargetLowering () |
virtual const MRegisterInfo * | getRegisterInfo () const |
virtual const InstrItineraryData | getInstrItineraryData () const |
virtual bool | addPassesToEmitFile (PassManager &PM, std::ostream &Out, CodeGenFileType FileType, bool Fast) |
bool | addPassesToEmitMachineCode (FunctionPassManager &PM, MachineCodeEmitter &MCE) |
Static Public Member Functions | |
static unsigned | getJITMatchQuality () |
static unsigned | getModuleMatchQuality (const Module &M) |
Definition at line 28 of file PPCTargetMachine.h.
PPCTargetMachine::PPCTargetMachine | ( | const Module & | M, | |
const std::string & | FS | |||
) |
Definition at line 60 of file PPCTargetMachine.cpp.
References llvm::Reloc::Default, llvm::Reloc::DynamicNoPIC, llvm::TargetMachine::getRelocationModel(), llvm::PPCSubtarget::isAIX(), llvm::PPCSubtarget::isDarwin(), llvm::Reloc::PIC, llvm::PPCTarget, llvm::TargetMachine::setRelocationModel(), llvm::TargetAIX, llvm::TargetDarwin, and llvm::TargetDefault.
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.
Definition at line 78 of file PPCTargetMachine.cpp.
References llvm::PassManager::add(), llvm::TargetMachine::AssemblyFile, llvm::createAIXAsmPrinter(), llvm::createCFGSimplificationPass(), llvm::createDarwinAsmPrinter(), llvm::createLoopStrengthReducePass(), llvm::createLowerGCPass(), llvm::createLowerInvokePass(), llvm::createMachineCodeDeleter(), llvm::createMachineFunctionPrinterPass(), llvm::createPPCBranchSelectionPass(), llvm::createPPCISelDag(), llvm::createPrologEpilogCodeInserter(), llvm::createRegisterAllocator(), llvm::createUnreachableBlockEliminationPass(), llvm::PPCTarget, llvm::PrintMachineCode, llvm::TargetAIX, llvm::TargetDarwin, and llvm::TargetDefault.
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 79 of file PPCCodeEmitter.cpp.
References llvm::FunctionPassManager::add(), llvm::createMachineCodeDeleter(), and MCE.
virtual const TargetFrameInfo* llvm::PPCTargetMachine::getFrameInfo | ( | ) | const [inline, virtual] |
virtual const PPCInstrInfo* llvm::PPCTargetMachine::getInstrInfo | ( | ) | const [inline, virtual] |
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 46 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 40 of file PPCTargetMachine.h.
unsigned PPCTargetMachine::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 36 of file PPCTargetMachine.cpp.
Referenced by getModuleMatchQuality().
unsigned PPCTargetMachine::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 44 of file PPCTargetMachine.cpp.
References llvm::Module::AnyEndianness, llvm::Module::AnyPointerSize, llvm::Module::BigEndian, llvm::Module::getEndianness(), getJITMatchQuality(), llvm::Module::getPointerSize(), llvm::Module::getTargetTriple(), M, and llvm::Module::Pointer32.
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 43 of file PPCTargetMachine.h.
References llvm::PPCInstrInfo::getRegisterInfo().
virtual const TargetSubtarget* 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 41 of file PPCTargetMachine.h.
virtual PPCTargetLowering* llvm::PPCTargetMachine::getTargetLowering | ( | ) | [inline, virtual] |
Definition at line 42 of file PPCTargetMachine.h.
Referenced by llvm::PPCJITInfo::addPassesToJITCompile().