LLVM API Documentation

Public Member Functions | Static Public Member Functions
llvm::HexagonTargetMachine Class Reference

#include <HexagonTargetMachine.h>

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

List of all members.

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 HexagonInstrInfogetInstrInfo () const
virtual const HexagonSubtargetgetSubtargetImpl () const
virtual const HexagonRegisterInfogetRegisterInfo () const
virtual const InstrItineraryDatagetInstrItineraryData () const
virtual const
HexagonTargetLowering
getTargetLowering () const
virtual const
HexagonFrameLowering
getFrameLowering () const
virtual const
HexagonSelectionDAGInfo
getSelectionDAGInfo () const
virtual const DataLayoutgetDataLayout () const
virtual bool addPassesForOptimizations (PassManagerBase &PM)
virtual TargetPassConfigcreatePassConfig (PassManagerBase &PM)

Static Public Member Functions

static unsigned getModuleMatchQuality (const Module &M)

Detailed Description

Definition at line 29 of file HexagonTargetMachine.h.


Constructor & Destructor Documentation

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().


Member Function Documentation

bool HexagonTargetMachine::addPassesForOptimizations ( PassManagerBase PM) [virtual]
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().

static unsigned llvm::HexagonTargetMachine::getModuleMatchQuality ( const Module M) [static]
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.


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