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:

30 static char ID;

31

48

51 uint32_t AssumedStackSizeForDynamicSizeObjects,

52 uint32_t AssumedStackSizeForExternalCall) const;

53};

54

59

60public:

61 static char ID;

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...