14#ifndef LLVM_LIB_TARGET_NVPTX_NVPTX_H
15#define LLVM_LIB_TARGET_NVPTX_NVPTX_H
53 bool NoTrapAfterNoreturn);
264#define GET_REGINFO_ENUM
265#include "NVPTXGenRegisterInfo.inc"
268#define GET_INSTRINFO_ENUM
269#define GET_INSTRINFO_MC_HELPER_DECLS
270#include "NVPTXGenInstrInfo.inc"
Atomic ordering constants.
This header defines various interfaces for pass management in LLVM.
FunctionPass class - This class is used to implement most global optimizations.
MachineFunctionPass - This class adapts the FunctionPass interface to allow convenient creation of pa...
ModulePass class - This class is used to implement unstructured interprocedural optimizations and ana...
A Module instance is used to store all the information related to an LLVM module.
PassRegistry - This class manages the registration and intitialization of the pass subsystem as appli...
A set of analyses that are preserved following a run of a transformation pass.
Primary interface to the complete machine description for the target machine.
PTXCmpMode - Comparison mode enumeration.
PTXCvtMode - Conversion code enumeration.
unsigned int OrderingUnderlyingType
unsigned int ScopeUnderlyingType
unsigned int AddressSpaceUnderlyingType
This is an optimization pass for GlobalISel generic memory operations.
void initializeNVPTXLowerAllocaPass(PassRegistry &)
ModulePass * createNVPTXAssignValidGlobalNamesPass()
void initializeNVPTXPrologEpilogPassPass(PassRegistry &)
MachineFunctionPass * createNVPTXReplaceImageHandlesPass()
FunctionPass * createNVPTXLowerUnreachablePass(bool TrapUnreachable, bool NoTrapAfterNoreturn)
void initializeNVPTXAssignValidGlobalNamesPass(PassRegistry &)
ModulePass * createGenericToNVVMLegacyPass()
void initializeNVPTXLowerAggrCopiesPass(PassRegistry &)
void initializeNVPTXExternalAAWrapperPass(PassRegistry &)
MachineFunctionPass * createNVPTXPrologEpilogPass()
MachineFunctionPass * createNVPTXProxyRegErasurePass()
void initializeNVPTXLowerArgsLegacyPassPass(PassRegistry &)
MachineFunctionPass * createNVPTXPeephole()
void initializeNVVMReflectPass(PassRegistry &)
FunctionPass * createNVPTXISelDag(NVPTXTargetMachine &TM, llvm::CodeGenOptLevel OptLevel)
createNVPTXISelDag - This pass converts a legalized DAG into a NVPTX-specific DAG,...
void initializeGenericToNVVMLegacyPassPass(PassRegistry &)
void initializeNVPTXPeepholePass(PassRegistry &)
void initializeNVPTXCtorDtorLoweringLegacyPass(PassRegistry &)
void initializeNVPTXLowerUnreachablePass(PassRegistry &)
FunctionPass * createNVPTXTagInvariantLoadsPass()
void initializeNVVMReflectLegacyPassPass(PassRegistry &)
FunctionPass * createNVPTXLowerArgsPass()
void initializeNVPTXAAWrapperPassPass(PassRegistry &)
FunctionPass * createNVPTXImageOptimizerPass()
FunctionPass * createNVPTXLowerAllocaPass()
MachineFunctionPass * createNVPTXForwardParamsPass()
void initializeNVVMIntrRangePass(PassRegistry &)
CodeGenOptLevel
Code generation optimization level.
void initializeNVPTXAsmPrinterPass(PassRegistry &)
void initializeNVPTXTagInvariantLoadLegacyPassPass(PassRegistry &)
ModulePass * createNVPTXCtorDtorLoweringLegacyPass()
void initializeNVPTXAllocaHoistingPass(PassRegistry &)
void initializeNVPTXProxyRegErasurePass(PassRegistry &)
ModulePass * createNVVMReflectPass(unsigned int SmVersion)
AnalysisManager< Function > FunctionAnalysisManager
Convenience typedef for the Function analysis manager.
FunctionPass * createNVVMIntrRangePass()
void initializeNVPTXAtomicLowerPass(PassRegistry &)
void initializeNVPTXForwardParamsPassPass(PassRegistry &)
AnalysisManager< Module > ModuleAnalysisManager
Convenience typedef for the Module analysis manager.
void initializeNVPTXDAGToDAGISelLegacyPass(PassRegistry &)
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM)
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)
NVPTXLowerArgsPass(TargetMachine &TM)
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)
PreservedAnalyses run(Module &F, ModuleAnalysisManager &AM)
NVVMReflectPass(unsigned SmVersion)
A CRTP mix-in to automatically provide informational APIs needed for passes.