LLVM API Documentation
#include <X86TargetMachine.h>


Public Member Functions | |
| X86TargetMachine (const Module &M, const std::string &FS, bool is64Bit) | |
| virtual const X86InstrInfo * | getInstrInfo () const |
| virtual const TargetFrameInfo * | getFrameInfo () const |
| virtual X86JITInfo * | getJITInfo () |
| virtual const X86Subtarget * | getSubtargetImpl () const |
| virtual X86TargetLowering * | getTargetLowering () const |
| virtual const X86RegisterInfo * | getRegisterInfo () const |
| virtual const TargetData * | getTargetData () const |
| virtual const X86ELFWriterInfo * | getELFWriterInfo () const |
| virtual bool | addInstSelector (PassManagerBase &PM, bool Fast) |
| Target-Independent Code Generator Pass Configuration Options. | |
| virtual bool | addPreRegAlloc (PassManagerBase &PM, bool Fast) |
| virtual bool | addPostRegAlloc (PassManagerBase &PM, bool Fast) |
| virtual bool | addAssemblyEmitter (PassManagerBase &PM, bool Fast, raw_ostream &Out) |
| virtual bool | addCodeEmitter (PassManagerBase &PM, bool Fast, bool DumpAsm, MachineCodeEmitter &MCE) |
| virtual bool | addSimpleCodeEmitter (PassManagerBase &PM, bool Fast, bool DumpAsm, MachineCodeEmitter &MCE) |
| bool | symbolicAddressesAreRIPRel () const |
Static Public Member Functions | |
| static unsigned | getModuleMatchQuality (const Module &M) |
| static unsigned | getJITMatchQuality () |
| static void | registerAsmPrinter (AsmPrinterCtorFn F) |
Protected Types | |
| typedef FunctionPass *(* | AsmPrinterCtorFn )(raw_ostream &o, X86TargetMachine &tm) |
Protected Member Functions | |
| virtual const TargetAsmInfo * | createTargetAsmInfo () const |
Static Protected Attributes | |
| static AsmPrinterCtorFn | AsmPrinterCtor = 0 |
Definition at line 31 of file X86TargetMachine.h.
typedef FunctionPass*(* llvm::X86TargetMachine::AsmPrinterCtorFn)(raw_ostream &o, X86TargetMachine &tm) [protected] |
| X86TargetMachine::X86TargetMachine | ( | const Module & | M, | |
| const std::string & | FS, | |||
| bool | is64Bit | |||
| ) |
X86TargetMachine ctor - Create an ILP32 architecture model
Definition at line 130 of file X86TargetMachine.cpp.
References DataLayout, llvm::CodeModel::Default, llvm::Reloc::Default, llvm::Reloc::DynamicNoPIC, llvm::TargetMachine::getCodeModel(), llvm::TargetMachine::getRelocationModel(), llvm::PICStyles::GOT, llvm::X86Subtarget::is64Bit(), llvm::X86Subtarget::isTargetCygMing(), llvm::X86Subtarget::isTargetDarwin(), llvm::X86Subtarget::isTargetELF(), llvm::X86Subtarget::isTargetWin64(), llvm::Reloc::PIC_, llvm::PICStyles::RIPRel, llvm::TargetMachine::setCodeModel(), llvm::X86Subtarget::setPICStyle(), llvm::TargetMachine::setRelocationModel(), llvm::CodeModel::Small, llvm::Reloc::Static, llvm::PICStyles::Stub, Subtarget, and llvm::PICStyles::WinPIC.
| const TargetAsmInfo * X86TargetMachine::createTargetAsmInfo | ( | ) | const [protected, virtual] |
createTargetAsmInfo - Create a new instance of target specific asm information.
Reimplemented from llvm::TargetMachine.
Definition at line 42 of file X86TargetMachine.cpp.
References llvm::X86Subtarget::isCygwin, llvm::X86Subtarget::isDarwin, llvm::X86Subtarget::isELF, llvm::X86Subtarget::isFlavorIntel(), llvm::X86Subtarget::isMingw, llvm::X86Subtarget::isWindows, and llvm::X86Subtarget::TargetType.
| virtual const X86InstrInfo* llvm::X86TargetMachine::getInstrInfo | ( | ) | const [inline, virtual] |
Reimplemented from llvm::TargetMachine.
Definition at line 53 of file X86TargetMachine.h.
Referenced by llvm::X86InstrInfo::getGlobalBaseReg().
| virtual const TargetFrameInfo* llvm::X86TargetMachine::getFrameInfo | ( | ) | const [inline, virtual] |
Reimplemented from llvm::TargetMachine.
Definition at line 54 of file X86TargetMachine.h.
Referenced by llvm::X86RegisterInfo::X86RegisterInfo().
| virtual X86JITInfo* llvm::X86TargetMachine::getJITInfo | ( | ) | [inline, virtual] |
getJITInfo - If this target supports a JIT, return information for it, otherwise return null.
Reimplemented from llvm::TargetMachine.
Definition at line 55 of file X86TargetMachine.h.
| virtual const X86Subtarget* llvm::X86TargetMachine::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 56 of file X86TargetMachine.h.
Referenced by llvm::X86InstrInfo::GetInstSizeInBytes().
| virtual X86TargetLowering* llvm::X86TargetMachine::getTargetLowering | ( | ) | const [inline, virtual] |
| virtual const X86RegisterInfo* llvm::X86TargetMachine::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 60 of file X86TargetMachine.h.
References llvm::X86InstrInfo::getRegisterInfo().
Referenced by llvm::X86TargetLowering::X86TargetLowering().
| virtual const TargetData* llvm::X86TargetMachine::getTargetData | ( | ) | const [inline, virtual] |
| virtual const X86ELFWriterInfo* llvm::X86TargetMachine::getELFWriterInfo | ( | ) | const [inline, virtual] |
getELFWriterInfo - If this target supports an ELF writer, return information for it, otherwise return null.
Reimplemented from llvm::TargetMachine.
Definition at line 64 of file X86TargetMachine.h.
References llvm::X86Subtarget::isTargetELF().
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.
Reimplemented in llvm::X86_32TargetMachine, and llvm::X86_64TargetMachine.
| static unsigned llvm::X86TargetMachine::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.
Reimplemented in llvm::X86_32TargetMachine, and llvm::X86_64TargetMachine.
| static void llvm::X86TargetMachine::registerAsmPrinter | ( | AsmPrinterCtorFn | F | ) | [inline, static] |
| bool X86TargetMachine::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 183 of file X86TargetMachine.cpp.
References llvm::PassManagerBase::add(), llvm::createDeadMachineInstructionElimPass(), llvm::createX86ISelDag(), llvm::createX87FPRegKillInserterPass(), and llvm::EnableFastISel.
| bool X86TargetMachine::addPreRegAlloc | ( | PassManagerBase & | , | |
| bool | ||||
| ) | [virtual] |
addPreRegAllocPasses - This method may be implemented by targets that want to run passes immediately before register allocation. This should return true if -print-machineinstrs should print after these passes.
Reimplemented from llvm::LLVMTargetMachine.
Definition at line 197 of file X86TargetMachine.cpp.
References llvm::PassManagerBase::add(), and llvm::createX86MaxStackAlignmentCalculatorPass().
| bool X86TargetMachine::addPostRegAlloc | ( | PassManagerBase & | , | |
| bool | ||||
| ) | [virtual] |
addPostRegAllocPasses - This method may be implemented by targets that want to run passes after register allocation but before prolog-epilog insertion. This should return true if -print-machineinstrs should print after these passes.
Reimplemented from llvm::LLVMTargetMachine.
Definition at line 204 of file X86TargetMachine.cpp.
References llvm::PassManagerBase::add(), and llvm::createX86FloatingPointStackifierPass().
| bool X86TargetMachine::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 209 of file X86TargetMachine.cpp.
References llvm::PassManagerBase::add(), and AsmPrinterCtor.
| bool X86TargetMachine::addCodeEmitter | ( | PassManagerBase & | , | |
| bool | , | |||
| bool | , | |||
| MachineCodeEmitter & | ||||
| ) | [virtual] |
addCodeEmitter - This pass should be overridden by the target to add a code emitter, if supported. If this is not supported, 'true' should be returned. If DumpAsm is true, the generated assembly is printed to cerr.
Reimplemented from llvm::LLVMTargetMachine.
Definition at line 217 of file X86TargetMachine.cpp.
References llvm::PassManagerBase::add(), AsmPrinterCtor, llvm::createX86CodeEmitterPass(), llvm::Reloc::Default, llvm::errs(), llvm::X86Subtarget::is64Bit(), llvm::X86Subtarget::isTargetDarwin(), llvm::CodeModel::Large, llvm::TargetMachine::setCodeModel(), llvm::TargetMachine::setRelocationModel(), llvm::CodeModel::Small, and llvm::Reloc::Static.
| bool X86TargetMachine::addSimpleCodeEmitter | ( | PassManagerBase & | , | |
| bool | , | |||
| bool | , | |||
| MachineCodeEmitter & | ||||
| ) | [virtual] |
addSimpleCodeEmitter - This pass should be overridden by the target to add a code emitter (without setting flags), if supported. If this is not supported, 'true' should be returned. If DumpAsm is true, the generated assembly is printed to cerr.
Reimplemented from llvm::LLVMTargetMachine.
Definition at line 245 of file X86TargetMachine.cpp.
References llvm::PassManagerBase::add(), AsmPrinterCtor, llvm::createX86CodeEmitterPass(), and llvm::errs().
| bool X86TargetMachine::symbolicAddressesAreRIPRel | ( | ) | const |
Definition at line 261 of file X86TargetMachine.cpp.
References llvm::TargetMachine::getRelocationModel(), llvm::X86Subtarget::isPICStyleRIPRel(), and llvm::Reloc::Static.
X86TargetMachine::AsmPrinterCtorFn X86TargetMachine::AsmPrinterCtor = 0 [static, protected] |
Definition at line 48 of file X86TargetMachine.h.
Referenced by addAssemblyEmitter(), addCodeEmitter(), addSimpleCodeEmitter(), and registerAsmPrinter().
This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.