LLVM 23.0.0git
NVVMProperties.cpp File Reference
#include "NVVMProperties.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/IR/Argument.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GlobalValue.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Metadata.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/ModRef.h"
#include "llvm/Support/Mutex.h"
#include <functional>
#include <map>
#include <mutex>
#include <numeric>
#include <string>
#include <vector>

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.

Functions

void llvm::clearAnnotationCache (const Module *Mod)
static void llvm::cacheAnnotationFromMD (const MDNode *MetadataNode, AnnotationValues &RetVal)
static void llvm::cacheAnnotationFromMD (const Module *M, const GlobalValue *GV)
static std::optional< unsignedllvm::findOneNVVMAnnotation (const GlobalValue *GV, const std::string &Prop)
static bool llvm::findAllNVVMAnnotation (const GlobalValue *GV, const std::string &Prop, std::vector< unsigned > &RetVal)
static bool llvm::globalHasNVVMAnnotation (const Value &V, const std::string &Prop)
static bool llvm::argHasNVVMAnnotation (const Value &Val, const std::string &Annotation)
static std::optional< unsignedllvm::getFnAttrParsedInt (const Function &F, StringRef Attr)
static SmallVector< unsigned, 3 > llvm::getFnAttrParsedVector (const Function &F, StringRef Attr)
static std::optional< uint64_tllvm::getVectorProduct (ArrayRef< unsigned > V)
bool llvm::isTexture (const Value &V)
bool llvm::isSurface (const Value &V)
bool llvm::isSampler (const Value &V)
bool llvm::isImageReadOnly (const Value &V)
bool llvm::isImageWriteOnly (const Value &V)
bool llvm::isImageReadWrite (const Value &V)
bool llvm::isImage (const Value &V)
bool llvm::isManaged (const Value &V)
SmallVector< unsigned, 3 > llvm::getMaxNTID (const Function &F)
SmallVector< unsigned, 3 > llvm::getReqNTID (const Function &F)
SmallVector< unsigned, 3 > llvm::getClusterDim (const Function &F)
std::optional< uint64_tllvm::getOverallMaxNTID (const Function &F)
std::optional< uint64_tllvm::getOverallReqNTID (const Function &F)
std::optional< uint64_tllvm::getOverallClusterRank (const Function &F)
std::optional< unsignedllvm::getMaxClusterRank (const Function &F)
std::optional< unsignedllvm::getMinCTASm (const Function &F)
std::optional< unsignedllvm::getMaxNReg (const Function &F)
bool llvm::hasBlocksAreClusters (const Function &F)
bool llvm::isParamGridConstant (const Argument &Arg)
MaybeAlign llvm::getAlign (const CallInst &I, unsigned Index)