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/GlobalVariable.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 "llvm/Support/NVVMAttributes.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

constexpr StringLiteral llvm::NVVMMetadata::Texture ("texture")
constexpr StringLiteral llvm::NVVMMetadata::Surface ("surface")
constexpr StringLiteral llvm::NVVMMetadata::Sampler ("sampler")
constexpr StringLiteral llvm::NVVMMetadata::ReadOnlyImage ("rdoimage")
constexpr StringLiteral llvm::NVVMMetadata::WriteOnlyImage ("wroimage")
constexpr StringLiteral llvm::NVVMMetadata::ReadWriteImage ("rdwrimage")
constexpr StringLiteral llvm::NVVMMetadata::Managed ("managed")
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, StringRef Prop)
static bool llvm::findAllNVVMAnnotation (const GlobalValue *GV, StringRef Prop, std::vector< unsigned > &RetVal)
static bool llvm::globalHasNVVMAnnotation (const Value &V, StringRef Prop)
static bool llvm::argHasNVVMAnnotation (const Value &Val, StringRef 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)
PTXOpaqueType llvm::getPTXOpaqueType (const GlobalVariable &GV)
PTXOpaqueType llvm::getPTXOpaqueType (const Argument &Arg)
PTXOpaqueType llvm::getPTXOpaqueType (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)