14#ifndef LLVM_LIB_TARGET_NVPTX_NVPTX_H
15#define LLVM_LIB_TARGET_NVPTX_NVPTX_H
60 bool NoTrapAfterNoreturn);
174 bool TrapUnreachable;
175 bool NoTrapAfterNoreturn;
179 : TrapUnreachable(TrapUnreachable),
180 NoTrapAfterNoreturn(NoTrapAfterNoreturn) {}
470#define GET_REGINFO_ENUM
471#include "NVPTXGenRegisterInfo.inc"
475#define GET_INSTRINFO_ENUM
476#define GET_INSTRINFO_MC_HELPER_DECLS
477#define GET_INSTRINFO_OPERAND_ENUM
478#include "NVPTXGenInstrInfo.inc"
480#define GET_SUBTARGETINFO_ENUM
481#include "NVPTXGenSubtargetInfo.inc"
Atomic ordering constants.
This file implements methods to test, set and extract typed bits from packed unsigned integers.
This header defines various interfaces for pass management in LLVM.
NVPTX address space definition.
FunctionAnalysisManager FAM
ModuleAnalysisManager MAM
FunctionPass class - This class is used to implement most global optimizations.
PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM)
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.
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(Function &F, FunctionAnalysisManager &FAM)
PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM)
PreservedAnalyses run(Function &F, FunctionAnalysisManager &FAM)
PreservedAnalyses run(Function &F, FunctionAnalysisManager &FAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(Function &F, FunctionAnalysisManager &FAM)
NVPTXISelDAGToDAGPass(NVPTXTargetMachine &TM, CodeGenOptLevel OptLevel)
PreservedAnalyses run(Function &F, FunctionAnalysisManager &FAM)
PreservedAnalyses run(Function &F, FunctionAnalysisManager &FAM)
PreservedAnalyses run(Function &F, FunctionAnalysisManager &FAM)
PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM)
NVPTXLowerArgsPass(TargetMachine &TM)
NVPTXLowerUnreachablePass(bool TrapUnreachable, bool NoTrapAfterNoreturn)
PreservedAnalyses run(Function &F, FunctionAnalysisManager &FAM)
PreservedAnalyses run(Function &F, FunctionAnalysisManager &FAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(Function &F, FunctionAnalysisManager &FAM)
PreservedAnalyses run(Function &F, FunctionAnalysisManager &FAM)
PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM)
NVVMReflectPass(unsigned SmVersion)
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.
SelectionDAGISelPass(std::unique_ptr< SelectionDAGISel > Selector)
Primary interface to the complete machine description for the target machine.
@ ADDRESS_SPACE_ENTRY_PARAM
@ ADDRESS_SPACE_SHARED_CLUSTER
PTXCmpMode - Comparison mode enumeration.
PTXCvtMode - Conversion code enumeration.
unsigned int OrderingUnderlyingType
unsigned encodeEvictionAndPrefetchHint(L1Eviction L1, L2Eviction L2, L2Prefetch P)
L2Prefetch decodeL2Prefetch(unsigned Hint)
Bitfield::Element< L2Eviction, 3, 2, L2Eviction::Last > L2EvictionBits
unsigned int ScopeUnderlyingType
L1Eviction decodeL1Eviction(unsigned Hint)
L2Eviction decodeL2Eviction(unsigned Hint)
bool isL2CacheHintMode(unsigned Hint)
Bitfield::Element< L1Eviction, 0, 3, L1Eviction::NoAllocate > L1EvictionBits
Bitfield::Element< bool, 7, 1 > L2CacheHintBit
unsigned int AddressSpaceUnderlyingType
Bitfield::Element< L2Prefetch, 5, 2, L2Prefetch::Bytes256 > L2PrefetchBits
This is an optimization pass for GlobalISel generic memory operations.
FunctionPass * createNVPTXLowerUnreachableLegacyPass(bool TrapUnreachable, bool NoTrapAfterNoreturn)
FunctionPass * createNVPTXIRPeepholePass()
FunctionPass * createNVPTXAtomicLowerLegacyPass()
FunctionPass * createNVPTXImageOptimizerLegacyPass()
void initializeNVPTXLowerUnreachableLegacyPassPass(PassRegistry &)
ModulePass * createGenericToNVVMLegacyPass()
void initializeNVPTXExternalAAWrapperPass(PassRegistry &)
void initializeNVPTXPeepholeLegacyPassPass(PassRegistry &)
void initializeNVPTXPrologEpilogLegacyPassPass(PassRegistry &)
void initializeNVPTXLowerArgsLegacyPassPass(PassRegistry &)
MachineFunctionPass * createNVPTXReplaceImageHandlesLegacyPass()
void initializeNVPTXForwardParamsLegacyPassPass(PassRegistry &)
FunctionPass * createNVPTXLowerAggrCopiesLegacyPass()
AnalysisManager< MachineFunction > MachineFunctionAnalysisManager
void initializeNVVMReflectPass(PassRegistry &)
ModulePass * createNVPTXAssignValidGlobalNamesLegacyPass()
void initializeNVPTXAssignValidGlobalNamesLegacyPassPass(PassRegistry &)
FunctionPass * createNVPTXISelDag(NVPTXTargetMachine &TM, llvm::CodeGenOptLevel OptLevel)
createNVPTXISelDag - This pass converts a legalized DAG into a NVPTX-specific DAG,...
MachineFunctionPass * createNVPTXAddressFolderLegacyPass()
void initializeNVPTXLowerAllocaLegacyPassPass(PassRegistry &)
void initializeGenericToNVVMLegacyPassPass(PassRegistry &)
void initializeNVPTXCtorDtorLoweringLegacyPass(PassRegistry &)
MachineFunctionPass * createNVPTXForwardParamsLegacyPass()
FunctionPass * createNVPTXTagInvariantLoadsPass()
void initializeNVVMReflectLegacyPassPass(PassRegistry &)
void initializeNVPTXAddressFolderLegacyPassPass(PassRegistry &)
void initializeNVPTXAAWrapperPassPass(PassRegistry &)
void initializeNVPTXIRPeepholePass(PassRegistry &)
ModulePass * createNVPTXLowerArgsPass()
FunctionPass * createNVPTXMarkKernelPtrsGlobalPass()
void initializeNVVMIntrRangePass(PassRegistry &)
MachineFunctionPass * createNVPTXPrologEpilogLegacyPass()
CodeGenOptLevel
Code generation optimization level.
void initializeNVPTXLowerAggrCopiesLegacyPassPass(PassRegistry &)
ModulePass * createNVPTXPromoteParamAlignPass()
void initializeNVPTXAsmPrinterPass(PassRegistry &)
void initializeNVPTXProxyRegErasureLegacyPassPass(PassRegistry &)
void initializeNVPTXTagInvariantLoadLegacyPassPass(PassRegistry &)
void initializeNVPTXAtomicLowerLegacyPassPass(PassRegistry &)
MachineFunctionPass * createNVPTXPeepholeLegacyPass()
FunctionPass * createNVPTXLowerAllocaLegacyPass()
ModulePass * createNVPTXCtorDtorLoweringLegacyPass()
void initializeNVPTXMarkKernelPtrsGlobalLegacyPassPass(PassRegistry &)
void initializeNVPTXAllocaHoistingLegacyPassPass(PassRegistry &)
FunctionPass * createNVPTXAllocaHoistingLegacyPass()
ModulePass * createNVVMReflectPass(unsigned int SmVersion)
AnalysisManager< Function > FunctionAnalysisManager
Convenience typedef for the Function analysis manager.
void initializeNVPTXPromoteParamAlignLegacyPassPass(PassRegistry &)
FunctionPass * createNVVMIntrRangePass()
MachineFunctionPass * createNVPTXProxyRegErasureLegacyPass()
AnalysisManager< Module > ModuleAnalysisManager
Convenience typedef for the Module analysis manager.
void initializeNVPTXDAGToDAGISelLegacyPass(PassRegistry &)
Describes an element of a Bitfield.
static Bitfield::Type get(StorageType Packed)
Unpacks the field from the Packed value.
static void set(StorageType &Packed, typename Bitfield::Type Value)
Sets the typed value in the provided Packed value.
A CRTP mix-in for passes that can be skipped.
A CRTP mix-in for passes that should not be skipped.