diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTX.h')
-rw-r--r-- | contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTX.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTX.h b/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTX.h index dfe0b9cb5ee6..c2fd090da084 100644 --- a/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTX.h +++ b/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTX.h @@ -14,6 +14,7 @@ #ifndef LLVM_LIB_TARGET_NVPTX_NVPTX_H #define LLVM_LIB_TARGET_NVPTX_NVPTX_H +#include "llvm/IR/PassManager.h" #include "llvm/Pass.h" #include "llvm/Support/CodeGen.h" @@ -47,6 +48,24 @@ FunctionPass *createNVPTXLowerAllocaPass(); MachineFunctionPass *createNVPTXPeephole(); MachineFunctionPass *createNVPTXProxyRegErasurePass(); +struct NVVMIntrRangePass : PassInfoMixin<NVVMIntrRangePass> { + NVVMIntrRangePass(); + NVVMIntrRangePass(unsigned SmVersion) : SmVersion(SmVersion) {} + PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM); + +private: + unsigned SmVersion; +}; + +struct NVVMReflectPass : PassInfoMixin<NVVMReflectPass> { + NVVMReflectPass(); + NVVMReflectPass(unsigned SmVersion) : SmVersion(SmVersion) {} + PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM); + +private: + unsigned SmVersion; +}; + namespace NVPTX { enum DrvInterface { NVCL, |