Anonymous View
LLVM 23.0.0git
AMDGPUMemoryUtils.h File Reference

Go to the source code of this file.

Classes

struct  llvm::AMDGPU::GVUsesInfoTy

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)
void llvm::AMDGPU::copyMetadataForWidenedLoad (LoadInst &Dest, const LoadInst &Source)
TargetExtTypellvm::AMDGPU::isNamedBarrier (const GlobalVariable &GV)
bool llvm::AMDGPU::isDynamicLDS (const GlobalVariable &GV)
bool llvm::AMDGPU::isLDSVariableToLower (const GlobalVariable &GV)
bool llvm::AMDGPU::eliminateGVConstantExprUsesFromAllInstructions (Module &M, function_ref< bool(const GlobalVariable &)> Filter)
 Iterates over all GlobalVariables in M, and whenever Filter returns true, replace all constant users of the GV with instructions.
void llvm::AMDGPU::getUsesOfGVByFunction (const CallGraph &CG, Module &M, function_ref< bool(const GlobalVariable &)> Filter, FunctionVariableMap &Kernels, FunctionVariableMap &Functions)
 Finds uses of Global Variables on a per-function basis.
GVUsesInfoTy llvm::AMDGPU::getTransitiveUsesOfGV (const CallGraph &CG, Module &M, function_ref< bool(const GlobalVariable &)> Filter)
 Collects all uses of Global Variables in M using getUsesOfGVByFunction.
GVUsesInfoTy llvm::AMDGPU::getTransitiveUsesOfLDSForLowering (const CallGraph &CG, Module &M)
 Collects all uses of LDS Global Variables in M using getUsesOfGVByFunction, with isLDSVariableToLower as the filter.
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.