LLVM API Documentation
#include <HexagonTargetMachine.h>


Public Member Functions | |
| HexagonTargetMachine (const Target &T, StringRef TT, StringRef CPU, StringRef FS, const TargetOptions &Options, Reloc::Model RM, CodeModel::Model CM, CodeGenOpt::Level OL) | |
| virtual const HexagonInstrInfo * | getInstrInfo () const |
| virtual const HexagonSubtarget * | getSubtargetImpl () const |
| virtual const HexagonRegisterInfo * | getRegisterInfo () const |
| virtual const InstrItineraryData * | getInstrItineraryData () const |
| virtual const HexagonTargetLowering * | getTargetLowering () const |
| virtual const HexagonFrameLowering * | getFrameLowering () const |
| virtual const HexagonSelectionDAGInfo * | getSelectionDAGInfo () const |
| virtual const DataLayout * | getDataLayout () const |
| virtual bool | addPassesForOptimizations (PassManagerBase &PM) |
| virtual TargetPassConfig * | createPassConfig (PassManagerBase &PM) |
Static Public Member Functions | |
| static unsigned | getModuleMatchQuality (const Module &M) |
Definition at line 29 of file HexagonTargetMachine.h.
| HexagonTargetMachine::HexagonTargetMachine | ( | const Target & | T, |
| StringRef | TT, | ||
| StringRef | CPU, | ||
| StringRef | FS, | ||
| const TargetOptions & | Options, | ||
| Reloc::Model | RM, | ||
| CodeModel::Model | CM, | ||
| CodeGenOpt::Level | OL | ||
| ) |
HexagonTargetMachine ctor - Create an ILP32 architecture model. Hexagon_TODO: Do I need an aggregate alignment?
Definition at line 67 of file HexagonTargetMachine.cpp.
References llvm::LLVMTargetMachine::initAsmInfo(), and llvm::TargetMachine::setMCUseCFI().
| bool HexagonTargetMachine::addPassesForOptimizations | ( | PassManagerBase & | PM | ) | [virtual] |
Definition at line 87 of file HexagonTargetMachine.cpp.
References llvm::PassManagerBase::add(), llvm::createConstantPropagationPass(), llvm::createDeadCodeEliminationPass(), llvm::createLoopSimplifyPass(), llvm::createLoopStrengthReducePass(), llvm::createLoopUnrollPass(), llvm::TargetMachine::getOptLevel(), and llvm::CodeGenOpt::None.
| TargetPassConfig * HexagonTargetMachine::createPassConfig | ( | PassManagerBase & | PM | ) | [virtual] |
createPassConfig - Create a pass configuration object to be used by addPassToEmitX methods for generating a pipeline of CodeGen passes.
createPassConfig - Create a pass configuration object to be used by addPassToEmitX methods for generating a pipeline of CodeGen passes.
Targets may override this to extend TargetPassConfig.
Reimplemented from llvm::LLVMTargetMachine.
Definition at line 124 of file HexagonTargetMachine.cpp.
| virtual const DataLayout* llvm::HexagonTargetMachine::getDataLayout | ( | ) | const [inline, virtual] |
Reimplemented from llvm::TargetMachine.
Definition at line 71 of file HexagonTargetMachine.h.
| virtual const HexagonFrameLowering* llvm::HexagonTargetMachine::getFrameLowering | ( | ) | const [inline, virtual] |
Reimplemented from llvm::TargetMachine.
Definition at line 63 of file HexagonTargetMachine.h.
| virtual const HexagonInstrInfo* llvm::HexagonTargetMachine::getInstrInfo | ( | ) | const [inline, virtual] |
Reimplemented from llvm::TargetMachine.
Definition at line 44 of file HexagonTargetMachine.h.
Referenced by llvm::HexagonMCInst::getUnits().
| virtual const InstrItineraryData* llvm::HexagonTargetMachine::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 HexagonTargetMachine.h.
Referenced by llvm::HexagonMCInst::getUnits().
| virtual const HexagonRegisterInfo* llvm::HexagonTargetMachine::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 50 of file HexagonTargetMachine.h.
References llvm::HexagonInstrInfo::getRegisterInfo().
Referenced by llvm::HexagonTargetLowering::HexagonTargetLowering(), llvm::HexagonTargetLowering::isFPImmLegal(), llvm::HexagonTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerDYNAMIC_STACKALLOC(), llvm::HexagonTargetLowering::LowerFRAMEADDR(), llvm::HexagonTargetLowering::LowerINLINEASM(), and llvm::HexagonTargetLowering::LowerRETURNADDR().
| virtual const HexagonSelectionDAGInfo* llvm::HexagonTargetMachine::getSelectionDAGInfo | ( | ) | const [inline, virtual] |
Reimplemented from llvm::TargetMachine.
Definition at line 67 of file HexagonTargetMachine.h.
| virtual const HexagonSubtarget* llvm::HexagonTargetMachine::getSubtargetImpl | ( | ) | const [inline, virtual] |
getSubtargetImpl - virtual method implemented by subclasses that returns a reference to that target's TargetSubtargetInfo-derived member variable.
Reimplemented from llvm::TargetMachine.
Definition at line 47 of file HexagonTargetMachine.h.
Referenced by llvm::HexagonTargetLowering::HexagonTargetLowering().
| virtual const HexagonTargetLowering* llvm::HexagonTargetMachine::getTargetLowering | ( | ) | const [inline, virtual] |
Reimplemented from llvm::TargetMachine.
Definition at line 59 of file HexagonTargetMachine.h.