LLVM 20.0.0git
Classes | Namespaces | Typedefs | Functions
AMDGPUMemoryUtils.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseSet.h"

Go to the source code of this file.

Classes

struct  llvm::AMDGPU::LDSUsesInfoTy
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::AMDGPU
 

Typedefs

using llvm::AMDGPU::FunctionVariableMap = DenseMap< Function *, DenseSet< GlobalVariable * > >
 
using llvm::AMDGPU::VariableFunctionMap = DenseMap< GlobalVariable *, DenseSet< Function * > >
 

Functions

Align llvm::AMDGPU::getAlign (const DataLayout &DL, const GlobalVariable *GV)
 
TargetExtTypellvm::AMDGPU::isNamedBarrier (const GlobalVariable &GV)
 
bool llvm::AMDGPU::isDynamicLDS (const GlobalVariable &GV)
 
bool llvm::AMDGPU::isLDSVariableToLower (const GlobalVariable &GV)
 
bool llvm::AMDGPU::eliminateConstantExprUsesOfLDSFromAllInstructions (Module &M)
 
void llvm::AMDGPU::getUsesOfLDSByFunction (const CallGraph &CG, Module &M, FunctionVariableMap &kernels, FunctionVariableMap &Functions)
 
bool llvm::AMDGPU::isKernelLDS (const Function *F)
 
LDSUsesInfoTy llvm::AMDGPU::getTransitiveUsesOfLDS (const CallGraph &CG, Module &M)
 
void llvm::AMDGPU::removeFnAttrFromReachable (CallGraph &CG, Function *KernelRoot, ArrayRef< StringRef > FnAttrs)
 Strip FnAttr attribute from any functions where we may have introduced its use.
 
bool llvm::AMDGPU::isReallyAClobber (const Value *Ptr, MemoryDef *Def, AAResults *AA)
 Given a Def clobbering a load from Ptr according to the MSSA check if this is actually a memory update or an artificial clobber to facilitate ordering constraints.
 
bool llvm::AMDGPU::isClobberedInFunction (const LoadInst *Load, MemorySSA *MSSA, AAResults *AA)
 Check is a Load is clobbered in its function.