LLVM 22.0.0git
NVPTXUtilities.cpp File Reference
#include "NVPTXUtilities.h"
#include "NVPTX.h"
#include "NVPTXTargetMachine.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/IR/Argument.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/Alignment.h"
#include "llvm/Support/ModRef.h"
#include "llvm/Support/Mutex.h"
#include <cstdint>
#include <cstring>
#include <map>
#include <mutex>
#include <optional>
#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, key_val_pair_t &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::isParamGridConstant (const Argument &Arg)
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)
StringRef llvm::getTextureName (const Value &V)
StringRef llvm::getSurfaceName (const Value &V)
StringRef llvm::getSamplerName (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)
MaybeAlign llvm::getAlign (const CallInst &I, unsigned Index)
Functionllvm::getMaybeBitcastedCallee (const CallBase *CB)
bool llvm::shouldEmitPTXNoReturn (const Value *V, const TargetMachine &TM)