LLVM  8.0.1
Public Member Functions | List of all members
llvm::SparcSubtarget Class Reference

#include "Target/Sparc/SparcSubtarget.h"

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

Public Member Functions

 SparcSubtarget (const Triple &TT, const std::string &CPU, const std::string &FS, const TargetMachine &TM, bool is64bit)
 
const SparcInstrInfogetInstrInfo () const override
 
const TargetFrameLoweringgetFrameLowering () const override
 
const SparcRegisterInfogetRegisterInfo () const override
 
const SparcTargetLoweringgetTargetLowering () const override
 
const SelectionDAGTargetInfogetSelectionDAGInfo () const override
 
bool enableMachineScheduler () const override
 
bool useSoftMulDiv () const
 
bool isV9 () const
 
bool isLeon () const
 
bool isVIS () const
 
bool isVIS2 () const
 
bool isVIS3 () const
 
bool useDeprecatedV8Instructions () const
 
bool hasHardQuad () const
 
bool usePopc () const
 
bool useSoftFloat () const
 
bool hasNoFSMULD () const
 
bool hasNoFMULS () const
 
bool hasUmacSmac () const
 
bool hasLeonCasa () const
 
bool hasPWRPSR () const
 
bool insertNOPLoad () const
 
bool fixAllFDIVSQRT () const
 
bool detectRoundChange () const
 
bool hasLeonCycleCounter () const
 
void ParseSubtargetFeatures (StringRef CPU, StringRef FS)
 ParseSubtargetFeatures - Parses features string setting specified subtarget options. More...
 
SparcSubtargetinitializeSubtargetDependencies (StringRef CPU, StringRef FS)
 
bool is64Bit () const
 
int64_t getStackPointerBias () const
 The 64-bit ABI uses biased stack and frame pointers, so the stack frame of the current function is the area from [sp+BIAS] to [fp+BIAS]. More...
 
int getAdjustedFrameSize (int stackSize) const
 Given a actual stack size as determined by FrameInfo, this function returns adjusted framesize which includes space for register window spills and arguments. More...
 
bool isTargetLinux () const
 

Detailed Description

Definition at line 32 of file SparcSubtarget.h.

Constructor & Destructor Documentation

◆ SparcSubtarget()

SparcSubtarget::SparcSubtarget ( const Triple TT,
const std::string &  CPU,
const std::string &  FS,
const TargetMachine TM,
bool  is64bit 
)

Definition at line 68 of file SparcSubtarget.cpp.

Member Function Documentation

◆ detectRoundChange()

bool llvm::SparcSubtarget::detectRoundChange ( ) const
inline

Definition at line 100 of file SparcSubtarget.h.

◆ enableMachineScheduler()

bool SparcSubtarget::enableMachineScheduler ( ) const
override

Definition at line 101 of file SparcSubtarget.cpp.

Referenced by getSelectionDAGInfo().

◆ fixAllFDIVSQRT()

bool llvm::SparcSubtarget::fixAllFDIVSQRT ( ) const
inline

◆ getAdjustedFrameSize()

int SparcSubtarget::getAdjustedFrameSize ( int  stackSize) const

Given a actual stack size as determined by FrameInfo, this function returns adjusted framesize which includes space for register window spills and arguments.

Definition at line 75 of file SparcSubtarget.cpp.

References llvm::alignTo(), and is64Bit().

Referenced by llvm::SparcFrameLowering::emitPrologue(), and getStackPointerBias().

◆ getFrameLowering()

const TargetFrameLowering* llvm::SparcSubtarget::getFrameLowering ( ) const
inlineoverride

Definition at line 66 of file SparcSubtarget.h.

Referenced by LowerDYNAMIC_STACKALLOC().

◆ getInstrInfo()

const SparcInstrInfo* llvm::SparcSubtarget::getInstrInfo ( ) const
inlineoverride

◆ getRegisterInfo()

const SparcRegisterInfo* llvm::SparcSubtarget::getRegisterInfo ( ) const
inlineoverride

◆ getSelectionDAGInfo()

const SelectionDAGTargetInfo* llvm::SparcSubtarget::getSelectionDAGInfo ( ) const
inlineoverride

Definition at line 75 of file SparcSubtarget.h.

References enableMachineScheduler().

◆ getStackPointerBias()

int64_t llvm::SparcSubtarget::getStackPointerBias ( ) const
inline

The 64-bit ABI uses biased stack and frame pointers, so the stack frame of the current function is the area from [sp+BIAS] to [fp+BIAS].

Definition at line 112 of file SparcSubtarget.h.

References getAdjustedFrameSize(), and is64Bit().

Referenced by llvm::SparcFrameLowering::emitPrologue(), getFRAMEADDR(), llvm::SparcFrameLowering::getFrameIndexReference(), llvm::SparcTargetLowering::LowerCall_64(), LowerDYNAMIC_STACKALLOC(), and llvm::SparcTargetLowering::LowerFormalArguments_64().

◆ getTargetLowering()

const SparcTargetLowering* llvm::SparcSubtarget::getTargetLowering ( ) const
inlineoverride

Definition at line 72 of file SparcSubtarget.h.

◆ hasHardQuad()

bool llvm::SparcSubtarget::hasHardQuad ( ) const
inline

◆ hasLeonCasa()

bool llvm::SparcSubtarget::hasLeonCasa ( ) const
inline

Definition at line 96 of file SparcSubtarget.h.

Referenced by llvm::SparcTargetLowering::SparcTargetLowering().

◆ hasLeonCycleCounter()

bool llvm::SparcSubtarget::hasLeonCycleCounter ( ) const
inline

◆ hasNoFMULS()

bool llvm::SparcSubtarget::hasNoFMULS ( ) const
inline

Definition at line 92 of file SparcSubtarget.h.

Referenced by llvm::SparcTargetLowering::SparcTargetLowering().

◆ hasNoFSMULD()

bool llvm::SparcSubtarget::hasNoFSMULD ( ) const
inline

Definition at line 91 of file SparcSubtarget.h.

◆ hasPWRPSR()

bool llvm::SparcSubtarget::hasPWRPSR ( ) const
inline

Definition at line 97 of file SparcSubtarget.h.

◆ hasUmacSmac()

bool llvm::SparcSubtarget::hasUmacSmac ( ) const
inline

Definition at line 95 of file SparcSubtarget.h.

◆ initializeSubtargetDependencies()

SparcSubtarget & SparcSubtarget::initializeSubtargetDependencies ( StringRef  CPU,
StringRef  FS 
)

Definition at line 29 of file SparcSubtarget.cpp.

References ParseSubtargetFeatures().

Referenced by hasLeonCycleCounter().

◆ insertNOPLoad()

bool llvm::SparcSubtarget::insertNOPLoad ( ) const
inline

Definition at line 98 of file SparcSubtarget.h.

Referenced by llvm::createSparcDelaySlotFillerPass().

◆ is64Bit()

bool llvm::SparcSubtarget::is64Bit ( ) const
inline

◆ isLeon()

bool llvm::SparcSubtarget::isLeon ( ) const
inline

Definition at line 83 of file SparcSubtarget.h.

◆ isTargetLinux()

bool llvm::SparcSubtarget::isTargetLinux ( ) const
inline

◆ isV9()

bool llvm::SparcSubtarget::isV9 ( ) const
inline

◆ isVIS()

bool llvm::SparcSubtarget::isVIS ( ) const
inline

Definition at line 84 of file SparcSubtarget.h.

◆ isVIS2()

bool llvm::SparcSubtarget::isVIS2 ( ) const
inline

Definition at line 85 of file SparcSubtarget.h.

◆ isVIS3()

bool llvm::SparcSubtarget::isVIS3 ( ) const
inline

Definition at line 86 of file SparcSubtarget.h.

◆ ParseSubtargetFeatures()

void llvm::SparcSubtarget::ParseSubtargetFeatures ( StringRef  CPU,
StringRef  FS 
)

ParseSubtargetFeatures - Parses features string setting specified subtarget options.

Definition of function is auto generated by tblgen.

Referenced by hasLeonCycleCounter(), and initializeSubtargetDependencies().

◆ useDeprecatedV8Instructions()

bool llvm::SparcSubtarget::useDeprecatedV8Instructions ( ) const
inline

Definition at line 87 of file SparcSubtarget.h.

◆ usePopc()

bool llvm::SparcSubtarget::usePopc ( ) const
inline

Definition at line 89 of file SparcSubtarget.h.

Referenced by llvm::SparcTargetLowering::SparcTargetLowering().

◆ useSoftFloat()

bool llvm::SparcSubtarget::useSoftFloat ( ) const
inline

◆ useSoftMulDiv()

bool llvm::SparcSubtarget::useSoftMulDiv ( ) const
inline

Definition at line 81 of file SparcSubtarget.h.

Referenced by llvm::SparcTargetLowering::SparcTargetLowering().


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