LLVM: lib/Target/NVPTX/NVPTX.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14#ifndef LLVM_LIB_TARGET_NVPTX_NVPTX_H
15#define LLVM_LIB_TARGET_NVPTX_NVPTX_H
16
23namespace llvm {
28
39
53 bool NoTrapAfterNoreturn);
58
79
83
88
89private:
90 unsigned SmVersion;
91};
92
96
100
102private:
104
105public:
108};
109
113
119
120
121
122
123
124
139
150
151
167
178
191
195
196
217
218
238
250
257
258}
260}
261
262
263
264#define GET_REGINFO_ENUM
265#include "NVPTXGenRegisterInfo.inc"
266
267
268#define GET_INSTRINFO_ENUM
269#define GET_INSTRINFO_MC_HELPER_DECLS
270#include "NVPTXGenInstrInfo.inc"
271
272#endif
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.
CondCodes
Definition NVPTX.h:30
@ GE
Definition NVPTX.h:36
@ LT
Definition NVPTX.h:33
@ GT
Definition NVPTX.h:35
@ EQ
Definition NVPTX.h:31
@ NE
Definition NVPTX.h:32
@ LE
Definition NVPTX.h:34
PTXCmpMode - Comparison mode enumeration.
Definition NVPTX.h:219
CmpMode
Definition NVPTX.h:220
@ LTU
Definition NVPTX.h:229
@ GE
Definition NVPTX.h:226
@ NE
Definition NVPTX.h:222
@ GEU
Definition NVPTX.h:232
@ EQU
Definition NVPTX.h:227
@ GT
Definition NVPTX.h:225
@ NUM
Definition NVPTX.h:233
@ LT
Definition NVPTX.h:223
@ EQ
Definition NVPTX.h:221
@ NotANumber
Definition NVPTX.h:235
@ NEU
Definition NVPTX.h:228
@ GTU
Definition NVPTX.h:231
@ LE
Definition NVPTX.h:224
@ LEU
Definition NVPTX.h:230
PTXCvtMode - Conversion code enumeration.
Definition NVPTX.h:197
CvtMode
Definition NVPTX.h:198
@ RNI
Definition NVPTX.h:200
@ RN
Definition NVPTX.h:204
@ RELU_FLAG
Definition NVPTX.h:214
@ RMI
Definition NVPTX.h:202
@ FTZ_FLAG
Definition NVPTX.h:212
@ BASE_MASK
Definition NVPTX.h:211
@ RP
Definition NVPTX.h:207
@ NONE
Definition NVPTX.h:199
@ RZI
Definition NVPTX.h:201
@ RM
Definition NVPTX.h:206
@ RPI
Definition NVPTX.h:203
@ RNA
Definition NVPTX.h:208
@ RZ
Definition NVPTX.h:205
@ RS
Definition NVPTX.h:209
@ SAT_FLAG
Definition NVPTX.h:213
FromType
Definition NVPTX.h:193
@ Unsigned
Definition NVPTX.h:193
@ Signed
Definition NVPTX.h:193
@ Untyped
Definition NVPTX.h:193
@ Float
Definition NVPTX.h:193
PrmtMode
Definition NVPTX.h:240
@ NONE
Definition NVPTX.h:241
@ B4E
Definition NVPTX.h:243
@ F4E
Definition NVPTX.h:242
@ RC8
Definition NVPTX.h:244
@ ECL
Definition NVPTX.h:245
@ ECR
Definition NVPTX.h:246
@ RC16
Definition NVPTX.h:247
unsigned int OrderingUnderlyingType
Definition NVPTX.h:152
AddressSpace
Definition NVPTX.h:180
@ Global
Definition NVPTX.h:182
@ Param
Definition NVPTX.h:189
@ SharedCluster
Definition NVPTX.h:186
@ Shared
Definition NVPTX.h:183
@ Const
Definition NVPTX.h:184
@ Generic
Definition NVPTX.h:181
@ Local
Definition NVPTX.h:185
VecInstType
Definition NVPTX.h:125
@ VecOther
Definition NVPTX.h:137
@ VecInstTypeShift
Definition NVPTX.h:126
@ VecExtract
Definition NVPTX.h:134
@ VecInsert
Definition NVPTX.h:135
@ VecShuffle
Definition NVPTX.h:133
@ VecBuild
Definition NVPTX.h:132
@ VecInstTypeMask
Definition NVPTX.h:127
@ VecLoad
Definition NVPTX.h:130
@ VecDest
Definition NVPTX.h:136
@ VecStore
Definition NVPTX.h:131
@ VecNOP
Definition NVPTX.h:129
unsigned int ScopeUnderlyingType
Definition NVPTX.h:168
DrvInterface
Definition NVPTX.h:115
@ NVCL
Definition NVPTX.h:116
@ CUDA
Definition NVPTX.h:117
DivPrecisionLevel
Definition NVPTX.h:251
@ IEEE754_NoFTZ
Definition NVPTX.h:255
@ Approx
Definition NVPTX.h:252
@ IEEE754
Definition NVPTX.h:254
@ Full
Definition NVPTX.h:253
Scope
Definition NVPTX.h:169
@ System
Definition NVPTX.h:174
@ Cluster
Definition NVPTX.h:172
@ Thread
Definition NVPTX.h:170
@ Device
Definition NVPTX.h:173
@ DefaultDevice
Definition NVPTX.h:175
@ Block
Definition NVPTX.h:171
@ LASTSCOPE
Definition NVPTX.h:176
Ordering
Definition NVPTX.h:153
@ RelaxedMMIO
Definition NVPTX.h:165
@ Acquire
Definition NVPTX.h:159
@ Relaxed
Definition NVPTX.h:157
@ AcquireRelease
Definition NVPTX.h:161
@ NotAtomic
Definition NVPTX.h:154
@ Volatile
Definition NVPTX.h:164
@ Release
Definition NVPTX.h:160
@ SequentiallyConsistent
Definition NVPTX.h:162
LoadStore
Definition NVPTX.h:144
@ isStoreShift
Definition NVPTX.h:148
@ isLoadShift
Definition NVPTX.h:146
@ isLoadMask
Definition NVPTX.h:145
@ isStoreMask
Definition NVPTX.h:147
SimpleMove
Definition NVPTX.h:140
@ SimpleMoveShift
Definition NVPTX.h:142
@ SimpleMoveMask
Definition NVPTX.h:141
unsigned int AddressSpaceUnderlyingType
Definition NVPTX.h:179
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)
Definition NVPTX.h:106
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)
PreservedAnalyses run(Module &F, ModuleAnalysisManager &AM)
NVVMReflectPass()
Definition NVPTX.h:85
NVVMReflectPass(unsigned SmVersion)
Definition NVPTX.h:86
A CRTP mix-in to automatically provide informational APIs needed for passes.