15#ifndef LLVM_LIB_TARGET_AMDGPU_AMDGPURESOURCEUSAGEANALYSIS_H
16#define LLVM_LIB_TARGET_AMDGPU_AMDGPURESOURCEUSAGEANALYSIS_H
54 CallGraphResourceInfo.clear();
66 auto Info = CallGraphResourceInfo.find(
F);
68 "Failed to find resource info for function");
69 return Info->getSecond();
73 SIFunctionResourceInfo
75 uint32_t AssumedStackSizeForDynamicSizeObjects,
76 uint32_t AssumedStackSizeForExternalCall)
const;
77 void propagateIndirectCallRegisterUsage();
Analysis containing CSE Info
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
Represent the analysis usage information of a pass.
AnalysisUsage & addRequired()
void setPreservesAll()
Set by analyses that do not transform their input at all.
ModulePass class - This class is used to implement unstructured interprocedural optimizations and ana...
A Module instance is used to store all the information related to an LLVM module.
virtual bool doInitialization(Module &)
doInitialization - Virtual method overridden by subclasses to do any necessary initialization before ...
Primary interface to the complete machine description for the target machine.
This is an optimization pass for GlobalISel generic memory operations.
int32_t getTotalNumSGPRs(const GCNSubtarget &ST) const
bool HasDynamicallySizedStack
uint64_t PrivateSegmentSize
int32_t getTotalNumVGPRs(const GCNSubtarget &ST) const
void getAnalysisUsage(AnalysisUsage &AU) const override
getAnalysisUsage - This function should be overriden by passes that need analysis information to do t...
bool runOnModule(Module &M) override
runOnModule - Virtual method overriden by subclasses to process the module being operated on.
const SIFunctionResourceInfo & getResourceInfo(const Function *F) const
bool doInitialization(Module &M) override
doInitialization - Virtual method overridden by subclasses to do any necessary initialization before ...
AMDGPUResourceUsageAnalysis()