LLVM  8.0.0svn
Public Member Functions | Protected Attributes | List of all members
llvm::AMDGPUMachineFunction Class Reference

#include "Target/AMDGPU/AMDGPUMachineFunction.h"

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

Public Member Functions

 AMDGPUMachineFunction (const MachineFunction &MF)
 
uint64_t getExplicitKernArgSize () const
 
unsigned getMaxKernArgAlign () const
 
unsigned getLDSSize () const
 
bool isEntryFunction () const
 
bool hasNoSignedZerosFPMath () const
 
bool isMemoryBound () const
 
bool needsWaveLimiter () const
 
unsigned allocateLDSGlobal (const DataLayout &DL, const GlobalValue &GV)
 
- Public Member Functions inherited from llvm::MachineFunctionInfo
virtual ~MachineFunctionInfo ()
 

Protected Attributes

uint64_t ExplicitKernArgSize
 
unsigned MaxKernArgAlign
 
unsigned LDSSize
 Number of bytes in the LDS that are being used. More...
 
bool IsEntryFunction
 
bool NoSignedZerosFPMath
 
bool MemoryBound
 
bool WaveLimiter
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::MachineFunctionInfo
template<typename Ty >
static Ty * create (BumpPtrAllocator &Allocator, MachineFunction &MF)
 Factory function: default behavior is to call new using the supplied allocator. More...
 

Detailed Description

Definition at line 20 of file AMDGPUMachineFunction.h.

Constructor & Destructor Documentation

◆ AMDGPUMachineFunction()

AMDGPUMachineFunction::AMDGPUMachineFunction ( const MachineFunction MF)

Member Function Documentation

◆ allocateLDSGlobal()

unsigned AMDGPUMachineFunction::allocateLDSGlobal ( const DataLayout DL,
const GlobalValue GV 
)

TODO: We should sort these to minimize wasted space due to alignment padding. Currently the padding is decided by the first encountered use during lowering.

Definition at line 46 of file AMDGPUMachineFunction.cpp.

References llvm::AMDGPU::HSAMD::Kernel::Arg::Key::Align, llvm::alignTo(), llvm::DataLayout::getABITypeAlignment(), llvm::GlobalValue::getAlignment(), llvm::DataLayout::getTypeAllocSize(), llvm::GlobalValue::getValueType(), and LDSSize.

Referenced by llvm::AMDGPUTargetLowering::LowerGlobalAddress(), and needsWaveLimiter().

◆ getExplicitKernArgSize()

uint64_t llvm::AMDGPUMachineFunction::getExplicitKernArgSize ( ) const
inline

◆ getLDSSize()

unsigned llvm::AMDGPUMachineFunction::getLDSSize ( ) const
inline

◆ getMaxKernArgAlign()

unsigned llvm::AMDGPUMachineFunction::getMaxKernArgAlign ( ) const
inline

Definition at line 51 of file AMDGPUMachineFunction.h.

References MaxKernArgAlign.

◆ hasNoSignedZerosFPMath()

bool llvm::AMDGPUMachineFunction::hasNoSignedZerosFPMath ( ) const
inline

Definition at line 63 of file AMDGPUMachineFunction.h.

References NoSignedZerosFPMath.

Referenced by getOModValue().

◆ isEntryFunction()

bool llvm::AMDGPUMachineFunction::isEntryFunction ( ) const
inline

◆ isMemoryBound()

bool llvm::AMDGPUMachineFunction::isMemoryBound ( ) const
inline

Definition at line 67 of file AMDGPUMachineFunction.h.

References MemoryBound.

Referenced by llvm::AMDGPUAsmPrinter::doFinalization().

◆ needsWaveLimiter()

bool llvm::AMDGPUMachineFunction::needsWaveLimiter ( ) const
inline

Member Data Documentation

◆ ExplicitKernArgSize

uint64_t llvm::AMDGPUMachineFunction::ExplicitKernArgSize
protected

Definition at line 26 of file AMDGPUMachineFunction.h.

Referenced by AMDGPUMachineFunction(), and getExplicitKernArgSize().

◆ IsEntryFunction

bool llvm::AMDGPUMachineFunction::IsEntryFunction
protected

Definition at line 34 of file AMDGPUMachineFunction.h.

Referenced by isEntryFunction().

◆ LDSSize

unsigned llvm::AMDGPUMachineFunction::LDSSize
protected

Number of bytes in the LDS that are being used.

Definition at line 30 of file AMDGPUMachineFunction.h.

Referenced by allocateLDSGlobal(), and getLDSSize().

◆ MaxKernArgAlign

unsigned llvm::AMDGPUMachineFunction::MaxKernArgAlign
protected

◆ MemoryBound

bool llvm::AMDGPUMachineFunction::MemoryBound
protected

Definition at line 39 of file AMDGPUMachineFunction.h.

Referenced by AMDGPUMachineFunction(), and isMemoryBound().

◆ NoSignedZerosFPMath

bool llvm::AMDGPUMachineFunction::NoSignedZerosFPMath
protected

Definition at line 36 of file AMDGPUMachineFunction.h.

Referenced by hasNoSignedZerosFPMath().

◆ WaveLimiter

bool llvm::AMDGPUMachineFunction::WaveLimiter
protected

Definition at line 42 of file AMDGPUMachineFunction.h.

Referenced by AMDGPUMachineFunction(), and needsWaveLimiter().


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