LLVM  6.0.0svn
Public Member Functions | 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 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
 
unsigned allocateLDSGlobal (const DataLayout &DL, const GlobalValue &GV)
 
- Public Member Functions inherited from llvm::MachineFunctionInfo
virtual ~MachineFunctionInfo ()
 

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)

Definition at line 15 of file AMDGPUMachineFunction.cpp.

Member Function Documentation

◆ allocateKernArg()

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

◆ 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 28 of file AMDGPUMachineFunction.cpp.

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

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

◆ getABIArgOffset()

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

◆ getKernArgSize()

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

Definition at line 53 of file AMDGPUMachineFunction.h.

◆ getLDSSize()

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

◆ getMaxKernArgAlign()

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

Definition at line 57 of file AMDGPUMachineFunction.h.

Referenced by getElementByteSizeValue().

◆ hasNoSignedZerosFPMath()

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

Definition at line 77 of file AMDGPUMachineFunction.h.

References allocateLDSGlobal().

Referenced by getOModValue().

◆ isEntryFunction()

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

◆ setABIArgOffset()

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

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