LLVM: lib/Target/AMDGPU/AMDGPUMachineFunction.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9#ifndef LLVM_LIB_TARGET_AMDGPU_AMDGPUMACHINEFUNCTION_H
10#define LLVM_LIB_TARGET_AMDGPU_AMDGPUMACHINEFUNCTION_H
11
19
20namespace llvm {
21
23
25
26
28
29protected:
32
33
36
37
38
41
42
43
44
45
46
48
49
51
53
54
55
57
58
60
61
63
65
66
68
69
71
73
74public:
76
80
82
86
90
96
100
102
104
105
109
113
117
121
124
128
131
134
136
138
140
142};
143
144}
145#endif
MachineBasicBlock MachineBasicBlock::iterator DebugLoc DL
This file defines the DenseMap class.
bool IsChainFunction
Definition AMDGPUMachineFunction.h:62
AMDGPUMachineFunction(const Function &F, const AMDGPUSubtarget &ST)
void setInitWholeWave()
Definition AMDGPUMachineFunction.h:123
static std::optional< uint32_t > getLDSKernelIdMetadata(const Function &F)
Align getMaxKernArgAlign() const
Definition AMDGPUMachineFunction.h:81
uint64_t getExplicitKernArgSize() const
Definition AMDGPUMachineFunction.h:77
uint32_t getLDSSize() const
Definition AMDGPUMachineFunction.h:83
Align DynLDSAlign
Align for dynamic shared memory if any.
Definition AMDGPUMachineFunction.h:47
bool isDynamicLDSUsed() const
void setUsesDynamicLDS(bool DynLDS)
bool isMemoryBound() const
Definition AMDGPUMachineFunction.h:114
bool WaveLimiter
Definition AMDGPUMachineFunction.h:70
uint32_t StaticGDSSize
Definition AMDGPUMachineFunction.h:40
uint32_t NumNamedBarriers
Definition AMDGPUMachineFunction.h:52
bool isBottomOfStack() const
Definition AMDGPUMachineFunction.h:106
uint32_t LDSSize
Number of bytes in the LDS that are being used.
Definition AMDGPUMachineFunction.h:34
void setDynLDSAlign(const Function &F, const GlobalVariable &GV)
Align MaxKernArgAlign
Definition AMDGPUMachineFunction.h:31
uint32_t getGDSSize() const
Definition AMDGPUMachineFunction.h:87
bool needsWaveLimiter() const
Definition AMDGPUMachineFunction.h:118
static std::optional< uint32_t > getLDSAbsoluteAddress(const GlobalValue &GV)
uint32_t GDSSize
Definition AMDGPUMachineFunction.h:35
bool MemoryBound
Definition AMDGPUMachineFunction.h:67
bool isChainFunction() const
Definition AMDGPUMachineFunction.h:103
uint64_t ExplicitKernArgSize
Definition AMDGPUMachineFunction.h:30
void recordNumNamedBarriers(uint32_t GVAddr, unsigned BarCnt)
Definition AMDGPUMachineFunction.h:91
bool IsEntryFunction
Definition AMDGPUMachineFunction.h:56
bool hasInitWholeWave() const
Definition AMDGPUMachineFunction.h:122
unsigned allocateLDSGlobal(const DataLayout &DL, const GlobalVariable &GV)
Definition AMDGPUMachineFunction.h:125
bool isEntryFunction() const
Definition AMDGPUMachineFunction.h:97
bool UsesDynamicLDS
Definition AMDGPUMachineFunction.h:50
bool isModuleEntryFunction() const
Definition AMDGPUMachineFunction.h:101
bool IsModuleEntryFunction
Definition AMDGPUMachineFunction.h:59
bool hasNoSignedZerosFPMath() const
Definition AMDGPUMachineFunction.h:110
uint32_t StaticLDSSize
Number of bytes in the LDS allocated statically.
Definition AMDGPUMachineFunction.h:39
bool NoSignedZerosFPMath
Definition AMDGPUMachineFunction.h:64
uint32_t getNumNamedBarriers() const
Definition AMDGPUMachineFunction.h:95
Align getDynLDSAlign() const
Definition AMDGPUMachineFunction.h:135
bool HasInitWholeWave
Definition AMDGPUMachineFunction.h:72
A parsed version of the target data layout string in and methods for querying it.
This is an optimization pass for GlobalISel generic memory operations.
This struct is a compact representation of a valid (non-zero power of two) alignment.
MachineFunctionInfo - This class can be derived from and used by targets to hold private target-speci...