14#ifndef LLVM_LIB_TARGET_NVPTX_NVVMPROPERTIES_H
15#define LLVM_LIB_TARGET_NVPTX_NVVMPROPERTIES_H
55std::optional<unsigned>
getMinCTASm(
const Function &);
56std::optional<unsigned>
getMaxNReg(
const Function &);
63 return F.getAttributes().getAttributes(Index).getStackAlignment();
65MaybeAlign
getAlign(
const CallInst &,
unsigned);
This file defines the SmallVector class.
This class represents an incoming formal argument to a Function.
This class represents a function call, abstracting a target machine's calling convention.
A Module instance is used to store all the information related to an LLVM module.
LLVM Value Representation.
@ PTX_Kernel
Call to a PTX kernel. Passes all arguments in parameter space.
This is an optimization pass for GlobalISel generic memory operations.
bool isManaged(const Value &V)
std::optional< uint64_t > getOverallClusterRank(const Function &F)
MaybeAlign getAlign(const CallInst &I, unsigned Index)
std::optional< unsigned > getMaxNReg(const Function &F)
bool isImageReadWrite(const Value &V)
bool isImageReadOnly(const Value &V)
std::optional< unsigned > getMinCTASm(const Function &F)
SmallVector< unsigned, 3 > getReqNTID(const Function &F)
bool isImage(const Value &V)
bool isSampler(const Value &V)
void clearAnnotationCache(const Module *Mod)
bool isSurface(const Value &V)
class LLVM_GSL_OWNER SmallVector
Forward declaration of SmallVector so that calculateSmallVectorDefaultInlinedElements can reference s...
std::optional< unsigned > getMaxClusterRank(const Function &F)
SmallVector< unsigned, 3 > getMaxNTID(const Function &F)
bool isParamGridConstant(const Argument &Arg)
std::optional< uint64_t > getOverallReqNTID(const Function &F)
bool isKernelFunction(const Function &F)
bool isTexture(const Value &V)
bool isImageWriteOnly(const Value &V)
std::optional< uint64_t > getOverallMaxNTID(const Function &F)
bool hasBlocksAreClusters(const Function &F)
SmallVector< unsigned, 3 > getClusterDim(const Function &F)
This struct is a compact representation of a valid (power of two) or undefined (0) alignment.