LLVM  14.0.0git
Classes | Namespaces | Functions
AMDGPULDSUtils.cpp File Reference
#include "AMDGPULDSUtils.h"
#include "AMDGPU.h"
#include "Utils/AMDGPUBaseInfo.h"
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/Analysis/CallGraph.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/ReplaceConstant.h"
Include dependency graph for AMDGPULDSUtils.cpp:

Go to the source code of this file.


class  llvm::AMDGPU::CollectReachableCallees


 This is an optimization pass for GlobalISel generic memory operations.


void llvm::AMDGPU::collectReachableCallees (Module &M, DenseMap< Function *, SmallPtrSet< Function *, 8 >> &KernelToCallees)
 Collect reachable callees for each kernel defined in the module M and return collected callees at KernelToCallees. More...
SmallPtrSet< Function *, 8 > llvm::AMDGPU::collectNonKernelAccessorsOfLDS (GlobalVariable *GV)
 For the given LDS global GV, visit all its users and collect all non-kernel functions within which GV is used and return collected list of such non-kernel functions. More...
DenseMap< Function *, SmallPtrSet< Instruction *, 8 > > llvm::AMDGPU::getFunctionToInstsMap (User *U, bool CollectKernelInsts)
 Collect all the instructions where user U belongs to. More...
bool llvm::AMDGPU::isKernelCC (const Function *Func)
Align llvm::AMDGPU::getAlign (DataLayout const &DL, const GlobalVariable *GV)
static void llvm::AMDGPU::collectFunctionUses (User *U, const Function *F, SetVector< Instruction * > &InstUsers)
void llvm::AMDGPU::replaceConstantUsesInFunction (ConstantExpr *C, const Function *F)
 Replace all uses of constant C with instructions in F. More...
bool llvm::AMDGPU::hasUserInstruction (const GlobalValue *GV)
bool llvm::AMDGPU::shouldLowerLDSToStruct (const GlobalVariable &GV, const Function *F)
std::vector< GlobalVariable * > llvm::AMDGPU::findVariablesToLower (Module &M, const Function *F)
SmallPtrSet< GlobalValue *, 32 > llvm::AMDGPU::getUsedList (Module &M)