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) |
![]() | |
virtual void | addAnalysisPasses (PassManagerBase &PM) |
Register analysis passes for this target with a pass manager. More... | |
virtual bool | addPassesToEmitFile (PassManagerBase &PM, formatted_raw_ostream &Out, CodeGenFileType FileType, bool DisableVerify=true, AnalysisID StartAfter=0, AnalysisID StopAfter=0) |
virtual bool | addPassesToEmitMachineCode (PassManagerBase &PM, JITCodeEmitter &MCE, bool DisableVerify=true) |
virtual bool | addPassesToEmitMC (PassManagerBase &PM, MCContext *&Ctx, raw_ostream &OS, bool DisableVerify=true) |
virtual bool | addCodeEmitter (PassManagerBase &, JITCodeEmitter &) |
![]() | |
virtual | ~TargetMachine () |
const Target & | getTarget () const |
const StringRef | getTargetTriple () const |
const StringRef | getTargetCPU () const |
const StringRef | getTargetFeatureString () const |
void | resetTargetOptions (const MachineFunction *MF) const |
Reset the target options based on the function's attributes. More... | |
const MCAsmInfo * | getMCAsmInfo () const |
template<typename STC > | |
const STC & | getSubtarget () const |
virtual const TargetIntrinsicInfo * | getIntrinsicInfo () const |
virtual TargetJITInfo * | getJITInfo () |
bool | hasMCRelaxAll () const |
void | setMCRelaxAll (bool Value) |
bool | hasMCSaveTempLabels () const |
void | setMCSaveTempLabels (bool Value) |
bool | hasMCNoExecStack () const |
hasMCNoExecStack - Check whether an executable stack is not needed. More... | |
void | setMCNoExecStack (bool Value) |
setMCNoExecStack - Set whether an executabel stack is not needed. More... | |
bool | hasMCUseLoc () const |
hasMCUseLoc - Check whether we should use dwarf's .loc directive. More... | |
void | setMCUseLoc (bool Value) |
setMCUseLoc - Set whether all we should use dwarf's .loc directive. More... | |
bool | hasMCUseCFI () const |
hasMCUseCFI - Check whether we should use dwarf's .cfi_* directives. More... | |
void | setMCUseCFI (bool Value) |
setMCUseCFI - Set whether all we should use dwarf's .cfi_* directives. More... | |
bool | hasMCUseDwarfDirectory () const |
void | setMCUseDwarfDirectory (bool Value) |
Reloc::Model | getRelocationModel () const |
CodeModel::Model | getCodeModel () const |
TLSModel::Model | getTLSModel (const GlobalValue *GV) const |
CodeGenOpt::Level | getOptLevel () const |
void | setOptLevel (CodeGenOpt::Level Level) const |
Overrides the optimization level. More... | |
void | setFastISel (bool Enable) |
bool | shouldPrintMachineCode () const |
Static Public Member Functions | |
static unsigned | getModuleMatchQuality (const Module &M) |
![]() | |
static bool | getAsmVerbosityDefault () |
static void | setAsmVerbosityDefault (bool) |
static bool | getDataSections () |
static bool | getFunctionSections () |
static void | setDataSections (bool) |
setDataSections - Set if the data are emit into separate sections. More... | |
static void | setFunctionSections (bool) |
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().
|
virtual |
Definition at line 87 of file HexagonTargetMachine.cpp.
References llvm::createConstantPropagationPass(), llvm::createDeadCodeEliminationPass(), llvm::createLoopSimplifyPass(), llvm::createLoopStrengthReducePass(), llvm::createLoopUnrollPass(), llvm::TargetMachine::getOptLevel(), and llvm::CodeGenOpt::None.
|
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 132 of file HexagonTargetMachine.cpp.
|
inlinevirtual |
Reimplemented from llvm::TargetMachine.
Definition at line 71 of file HexagonTargetMachine.h.
|
inlinevirtual |
Reimplemented from llvm::TargetMachine.
Definition at line 63 of file HexagonTargetMachine.h.
|
inlinevirtual |
Reimplemented from llvm::TargetMachine.
Definition at line 44 of file HexagonTargetMachine.h.
Referenced by llvm::HexagonMCInst::getUnits().
|
inlinevirtual |
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().
|
inlinevirtual |
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().
|
inlinevirtual |
Reimplemented from llvm::TargetMachine.
Definition at line 67 of file HexagonTargetMachine.h.
|
inlinevirtual |
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().
|
inlinevirtual |
Reimplemented from llvm::TargetMachine.
Definition at line 59 of file HexagonTargetMachine.h.