LLVM  7.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
Collaboration diagram for llvm::AMDGPUMachineFunction:
Collaboration graph

Public Member Functions

 AMDGPUMachineFunction (const MachineFunction &MF)
uint64_t allocateKernArg (uint64_t Size, unsigned Align)
uint64_t getKernArgSize () const
unsigned getMaxKernArgAlign () const
void setABIArgOffset (unsigned NewOffset)
unsigned getABIArgOffset () 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 KernArgSize
unsigned MaxKernArgAlign
unsigned LDSSize
 Number of bytes in the LDS that are being used. More...
unsigned ABIArgOffset
 Start of implicit kernel args. 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 18 of file AMDGPUMachineFunction.h.

Constructor & Destructor Documentation

◆ AMDGPUMachineFunction()

AMDGPUMachineFunction::AMDGPUMachineFunction ( const MachineFunction MF)

Member Function Documentation

◆ allocateKernArg()

uint64_t llvm::AMDGPUMachineFunction::allocateKernArg ( uint64_t  Size,
unsigned  Align 

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

◆ getABIArgOffset()

unsigned llvm::AMDGPUMachineFunction::getABIArgOffset ( ) const

◆ getKernArgSize()

uint64_t llvm::AMDGPUMachineFunction::getKernArgSize ( ) const

Definition at line 60 of file AMDGPUMachineFunction.h.

References KernArgSize.

◆ getLDSSize()

unsigned llvm::AMDGPUMachineFunction::getLDSSize ( ) const

◆ getMaxKernArgAlign()

unsigned llvm::AMDGPUMachineFunction::getMaxKernArgAlign ( ) const

Definition at line 64 of file AMDGPUMachineFunction.h.

References MaxKernArgAlign.

Referenced by getElementByteSizeValue().

◆ hasNoSignedZerosFPMath()

bool llvm::AMDGPUMachineFunction::hasNoSignedZerosFPMath ( ) const

Definition at line 84 of file AMDGPUMachineFunction.h.

References NoSignedZerosFPMath.

Referenced by getOModValue().

◆ isEntryFunction()

bool llvm::AMDGPUMachineFunction::isEntryFunction ( ) const

◆ isMemoryBound()

bool llvm::AMDGPUMachineFunction::isMemoryBound ( ) const

Definition at line 88 of file AMDGPUMachineFunction.h.

References MemoryBound.

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

◆ needsWaveLimiter()

bool llvm::AMDGPUMachineFunction::needsWaveLimiter ( ) const

◆ setABIArgOffset()

void llvm::AMDGPUMachineFunction::setABIArgOffset ( unsigned  NewOffset)

Member Data Documentation

◆ ABIArgOffset

unsigned llvm::AMDGPUMachineFunction::ABIArgOffset

Start of implicit kernel args.

Definition at line 32 of file AMDGPUMachineFunction.h.

Referenced by getABIArgOffset().

◆ IsEntryFunction

bool llvm::AMDGPUMachineFunction::IsEntryFunction

Definition at line 36 of file AMDGPUMachineFunction.h.

Referenced by isEntryFunction().

◆ KernArgSize

uint64_t llvm::AMDGPUMachineFunction::KernArgSize

Definition at line 24 of file AMDGPUMachineFunction.h.

Referenced by allocateKernArg(), and getKernArgSize().

◆ LDSSize

unsigned llvm::AMDGPUMachineFunction::LDSSize

Number of bytes in the LDS that are being used.

Definition at line 28 of file AMDGPUMachineFunction.h.

Referenced by allocateLDSGlobal(), and getLDSSize().

◆ MaxKernArgAlign

unsigned llvm::AMDGPUMachineFunction::MaxKernArgAlign

◆ MemoryBound

bool llvm::AMDGPUMachineFunction::MemoryBound

Definition at line 41 of file AMDGPUMachineFunction.h.

Referenced by AMDGPUMachineFunction(), and isMemoryBound().

◆ NoSignedZerosFPMath

bool llvm::AMDGPUMachineFunction::NoSignedZerosFPMath

Definition at line 38 of file AMDGPUMachineFunction.h.

Referenced by hasNoSignedZerosFPMath().

◆ WaveLimiter

bool llvm::AMDGPUMachineFunction::WaveLimiter

Definition at line 44 of file AMDGPUMachineFunction.h.

Referenced by AMDGPUMachineFunction(), and needsWaveLimiter().

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