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.