13#ifndef LLVM_LIB_TARGET_NVPTX_NVPTXUTILITIES_H
14#define LLVM_LIB_TARGET_NVPTX_NVPTXUTILITIES_H
49std::optional<unsigned>
getMaxNTIDx(
const Function &);
50std::optional<unsigned>
getMaxNTIDy(
const Function &);
51std::optional<unsigned>
getMaxNTIDz(
const Function &);
52std::optional<unsigned>
getMaxNTID(
const Function &);
54std::optional<unsigned>
getReqNTIDx(
const Function &);
55std::optional<unsigned>
getReqNTIDy(
const Function &);
56std::optional<unsigned>
getReqNTIDz(
const Function &);
57std::optional<unsigned>
getReqNTID(
const Function &);
64std::optional<unsigned>
getMinCTASm(
const Function &);
65std::optional<unsigned>
getMaxNReg(
const Function &);
69MaybeAlign
getAlign(
const Function &,
unsigned);
70MaybeAlign
getAlign(
const CallInst &,
unsigned);
89 std::string ValidName;
90 ValidName.reserve(
Name.size() + 4);
94 if (isAlnum(
C) ||
C ==
'_' ||
C ==
'$')
95 ValidName.push_back(
C);
97 ValidName.append({
'_',
'$',
'_'});
113 return "AcquireRelease";
115 return "SequentiallyConsistent";
119 return "RelaxedMMIO";
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
Machine Check Debug Module
StringRef - Represent a constant reference to a string, i.e.
This class implements an extremely fast bulk output stream that can only output to a stream.
@ C
The default llvm calling convention, compatible with C.
raw_ostream & operator<<(raw_ostream &O, Ordering Order)
std::string ScopeToString(Scope S)
unsigned int AddressSpaceUnderlyingType
std::string OrderingToString(Ordering Order)
unsigned int OrderingUnderlyingType
unsigned int ScopeUnderlyingType
std::string AddressSpaceToString(AddressSpace A)
std::string getValidPTXIdentifier(StringRef Name)
This is an optimization pass for GlobalISel generic memory operations.
bool isManaged(const Value &V)
bool shouldEmitPTXNoReturn(const Value *V, const TargetMachine &TM)
auto size(R &&Range, std::enable_if_t< std::is_base_of< std::random_access_iterator_tag, typename std::iterator_traits< decltype(Range.begin())>::iterator_category >::value, void > *=nullptr)
Get the size of a range.
std::optional< unsigned > getMaxNReg(const Function &F)
std::optional< unsigned > getMaxNTIDy(const Function &F)
bool isParamGridConstant(const Value &V)
StringRef getSamplerName(const Value &V)
bool isImageReadWrite(const Value &V)
bool isImageReadOnly(const Value &V)
std::optional< unsigned > getMaxNTIDz(const Function &F)
MaybeAlign getAlign(const Function &F, unsigned Index)
std::optional< unsigned > getMaxNTIDx(const Function &F)
std::optional< unsigned > getMinCTASm(const Function &F)
auto formatv(bool Validate, const char *Fmt, Ts &&...Vals)
bool isImage(const Value &V)
bool isSampler(const Value &V)
unsigned promoteScalarArgumentSize(unsigned size)
void clearAnnotationCache(const Module *Mod)
void report_fatal_error(Error Err, bool gen_crash_diag=true)
Report a serious error, calling any installed error handler.
std::optional< unsigned > getReqNTIDy(const Function &F)
bool isSurface(const Value &V)
std::optional< unsigned > getMaxClusterRank(const Function &F)
StringRef getTextureName(const Value &V)
std::optional< unsigned > getClusterDimx(const Function &F)
StringRef getSurfaceName(const Value &V)
std::optional< unsigned > getClusterDimy(const Function &F)
bool isKernelFunction(const Function &F)
bool isTexture(const Value &V)
Function * getMaybeBitcastedCallee(const CallBase *CB)
bool isImageWriteOnly(const Value &V)
std::optional< unsigned > getReqNTIDz(const Function &F)
std::optional< unsigned > getReqNTIDx(const Function &F)
std::optional< unsigned > getClusterDimz(const Function &F)
std::optional< unsigned > getReqNTID(const Function &F)
std::optional< unsigned > getMaxNTID(const Function &F)