LLVM 19.0.0git
Public Member Functions | List of all members
llvm::VESubtarget Class Reference

#include "Target/VE/VESubtarget.h"

Inheritance diagram for llvm::VESubtarget:
Inheritance graph
[legend]

Public Member Functions

 VESubtarget (const Triple &TT, const std::string &CPU, const std::string &FS, const TargetMachine &TM)
 
const VEInstrInfogetInstrInfo () const override
 
const VEFrameLoweringgetFrameLowering () const override
 
const VERegisterInfogetRegisterInfo () const override
 
const VETargetLoweringgetTargetLowering () const override
 
const SelectionDAGTargetInfogetSelectionDAGInfo () const override
 
bool enableMachineScheduler () const override
 
bool enableVPU () const
 
void ParseSubtargetFeatures (StringRef CPU, StringRef TuneCPU, StringRef FS)
 ParseSubtargetFeatures - Parses features string setting specified subtarget options.
 
VESubtargetinitializeSubtargetDependencies (StringRef CPU, StringRef FS)
 
uint64_t getAdjustedFrameSize (uint64_t FrameSize) const
 Given a actual stack size as determined by FrameInfo, this function returns adjusted framesize which includes space for RSA, return address, and frame poitner.
 
unsigned getRsaSize () const
 Get the size of RSA, return address, and frame pointer as described in VEFrameLowering.cpp.
 
bool isTargetLinux () const
 

Detailed Description

Definition at line 31 of file VESubtarget.h.

Constructor & Destructor Documentation

◆ VESubtarget()

VESubtarget::VESubtarget ( const Triple TT,
const std::string &  CPU,
const std::string &  FS,
const TargetMachine TM 
)

Definition at line 44 of file VESubtarget.cpp.

Member Function Documentation

◆ enableMachineScheduler()

bool VESubtarget::enableMachineScheduler ( ) const
override

Definition at line 61 of file VESubtarget.cpp.

◆ enableVPU()

bool llvm::VESubtarget::enableVPU ( ) const
inline

◆ getAdjustedFrameSize()

uint64_t VESubtarget::getAdjustedFrameSize ( uint64_t  FrameSize) const

Given a actual stack size as determined by FrameInfo, this function returns adjusted framesize which includes space for RSA, return address, and frame poitner.

Definition at line 50 of file VESubtarget.cpp.

References llvm::alignTo(), getFrameLowering(), getRsaSize(), and llvm::TargetFrameLowering::getStackAlign().

Referenced by llvm::VEFrameLowering::emitPrologue(), and llvm::VEInstrInfo::expandGetStackTopPseudo().

◆ getFrameLowering()

const VEFrameLowering * llvm::VESubtarget::getFrameLowering ( ) const
inlineoverride

◆ getInstrInfo()

const VEInstrInfo * llvm::VESubtarget::getInstrInfo ( ) const
inlineoverride

◆ getRegisterInfo()

const VERegisterInfo * llvm::VESubtarget::getRegisterInfo ( ) const
inlineoverride

◆ getRsaSize()

unsigned llvm::VESubtarget::getRsaSize ( ) const
inline

Get the size of RSA, return address, and frame pointer as described in VEFrameLowering.cpp.

Definition at line 79 of file VESubtarget.h.

Referenced by getAdjustedFrameSize(), llvm::VETargetLowering::LowerCall(), and llvm::VETargetLowering::LowerFormalArguments().

◆ getSelectionDAGInfo()

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

Definition at line 59 of file VESubtarget.h.

◆ getTargetLowering()

const VETargetLowering * llvm::VESubtarget::getTargetLowering ( ) const
inlineoverride

Definition at line 58 of file VESubtarget.h.

◆ initializeSubtargetDependencies()

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

Definition at line 28 of file VESubtarget.cpp.

References ParseSubtargetFeatures().

◆ isTargetLinux()

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

Definition at line 81 of file VESubtarget.h.

References llvm::Triple::isOSLinux().

◆ ParseSubtargetFeatures()

void llvm::VESubtarget::ParseSubtargetFeatures ( StringRef  CPU,
StringRef  TuneCPU,
StringRef  FS 
)

ParseSubtargetFeatures - Parses features string setting specified subtarget options.

Definition of function is auto generated by tblgen.

Referenced by initializeSubtargetDependencies().


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