LLVM: lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15#ifndef LLVM_LIB_TARGET_AMDGPU_AMDGPURESOURCEUSAGEANALYSIS_H
16#define LLVM_LIB_TARGET_AMDGPU_AMDGPURESOURCEUSAGEANALYSIS_H
17
21
22namespace llvm {
23
27
29public:
31
48
51 uint32_t AssumedStackSizeForDynamicSizeObjects,
52 uint32_t AssumedStackSizeForExternalCall) const;
53};
54
59
60public:
63
65
67
72};
73
87
88}
89#endif
This header defines various interfaces for pass management in LLVM.
This file defines the SmallVector class.
Result run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
AMDGPUResourceUsageAnalysis(const GCNTargetMachine &TM_)
Definition AMDGPUResourceUsageAnalysis.h:85
AMDGPUResourceUsageAnalysisImpl::SIFunctionResourceInfo Result
Definition AMDGPUResourceUsageAnalysis.h:82
Represent the analysis usage information of a pass.
void setPreservesAll()
Set by analyses that do not transform their input at all.
MachineFunctionPass(char &ID)
void getAnalysisUsage(AnalysisUsage &AU) const override
getAnalysisUsage - Subclasses that override getAnalysisUsage must call this.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
This is an optimization pass for GlobalISel generic memory operations.
AnalysisManager< MachineFunction > MachineFunctionAnalysisManager
int32_t NumVGPR
Definition AMDGPUResourceUsageAnalysis.h:35
bool HasDynamicallySizedStack
Definition AMDGPUResourceUsageAnalysis.h:43
bool UsesVCC
Definition AMDGPUResourceUsageAnalysis.h:41
int32_t NumNamedBarrier
Definition AMDGPUResourceUsageAnalysis.h:38
bool HasIndirectCall
Definition AMDGPUResourceUsageAnalysis.h:45
uint64_t PrivateSegmentSize
Definition AMDGPUResourceUsageAnalysis.h:40
int32_t NumExplicitSGPR
Definition AMDGPUResourceUsageAnalysis.h:37
SmallVector< const Function *, 16 > Callees
Definition AMDGPUResourceUsageAnalysis.h:46
uint64_t CalleeSegmentSize
Definition AMDGPUResourceUsageAnalysis.h:39
int32_t NumAGPR
Definition AMDGPUResourceUsageAnalysis.h:36
bool UsesFlatScratch
Definition AMDGPUResourceUsageAnalysis.h:42
bool HasRecursion
Definition AMDGPUResourceUsageAnalysis.h:44
static char ID
Definition AMDGPUResourceUsageAnalysis.h:30
SIFunctionResourceInfo analyzeResourceUsage(const MachineFunction &MF, uint32_t AssumedStackSizeForDynamicSizeObjects, uint32_t AssumedStackSizeForExternalCall) const
AMDGPUResourceUsageAnalysisImpl::SIFunctionResourceInfo FunctionResourceInfo
Definition AMDGPUResourceUsageAnalysis.h:56
bool runOnMachineFunction(MachineFunction &MF) override
runOnMachineFunction - This method must be overloaded to perform the desired machine code transformat...
const FunctionResourceInfo & getResourceInfo() const
Definition AMDGPUResourceUsageAnalysis.h:66
void getAnalysisUsage(AnalysisUsage &AU) const override
getAnalysisUsage - This function should be overriden by passes that need analysis information to do t...
Definition AMDGPUResourceUsageAnalysis.h:68
static char ID
Definition AMDGPUResourceUsageAnalysis.h:61
AMDGPUResourceUsageAnalysisWrapperPass()
Definition AMDGPUResourceUsageAnalysis.h:62
FunctionResourceInfo ResourceInfo
Definition AMDGPUResourceUsageAnalysis.h:58
A CRTP mix-in that provides informational APIs needed for analysis passes.
A special type used by analysis passes to provide an address that identifies that particular analysis...