20 ExplicitKernArgSize(0),
24 NoSignedZerosFPMath(MF.getTarget().Options.NoSignedZerosFPMath),
48 auto Entry = LocalMemoryObjects.insert(std::make_pair(&GV, 0));
50 return Entry.first->second;
61 Entry.first->second =
Offset;
A parsed version of the target data layout string in and methods for querying it. ...
constexpr char Align[]
Key for Kernel::Arg::Metadata::mAlign.
unsigned allocateLDSGlobal(const DataLayout &DL, const GlobalValue &GV)
AMDGPU specific subclass of TargetSubtarget.
This class represents lattice values for constants.
AMDGPUMachineFunction(const MachineFunction &MF)
MachineModuleInfo & getMMI() const
uint64_t alignTo(uint64_t Value, uint64_t Align, uint64_t Skew=0)
Returns the next integer (mod 2**64) that is greater than or equal to Value and is a multiple of Alig...
AnalysisResolver * getResolver() const
MachineFunctionInfo - This class can be derived from and used by targets to hold private target-speci...
static const AMDGPUSubtarget & get(const MachineFunction &MF)
SPIR_KERNEL - Calling convention for SPIR kernel functions.
uint64_t getExplicitKernArgSize(const Function &F, unsigned &MaxAlign) const
unsigned getAlignment() const
static Function * getFunction(Constant *C)
Interface for looking up the initializer for a variable name, used by Init::resolveReferences.
bool isEntryFunctionCC(CallingConv::ID CC)
char & AMDGPUPerfHintAnalysisID
uint64_t ExplicitKernArgSize
unsigned LDSSize
Number of bytes in the LDS that are being used.
CallingConv::ID getCallingConv() const
getCallingConv()/setCallingConv(CC) - These method get and set the calling convention of this functio...
unsigned getABITypeAlignment(Type *Ty) const
Returns the minimum ABI-required alignment for the specified type.
const Function & getFunction() const
Return the LLVM function that this machine code represents.
uint64_t getTypeAllocSize(Type *Ty) const
Returns the offset in bytes between successive objects of the specified type, including alignment pad...
Type * getValueType() const
Analyzes if a function potentially memory bound and if a kernel kernel may benefit from limiting numb...
Calling convention for AMDGPU code object kernels.