LLVM 20.0.0git
Namespaces | Macros | Functions | Variables
NVPTXTargetMachine.cpp File Reference
#include "NVPTXTargetMachine.h"
#include "NVPTX.h"
#include "NVPTXAliasAnalysis.h"
#include "NVPTXAllocaHoisting.h"
#include "NVPTXAtomicLower.h"
#include "NVPTXCtorDtorLowering.h"
#include "NVPTXLowerAggrCopies.h"
#include "NVPTXMachineFunctionInfo.h"
#include "NVPTXTargetObjectFile.h"
#include "NVPTXTargetTransformInfo.h"
#include "TargetInfo/NVPTXTargetInfo.h"
#include "llvm/Analysis/TargetTransformInfo.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/CodeGen/TargetPassConfig.h"
#include "llvm/IR/IntrinsicsNVPTX.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Pass.h"
#include "llvm/Passes/PassBuilder.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetOptions.h"
#include "llvm/TargetParser/Triple.h"
#include "llvm/Transforms/IPO/ExpandVariadics.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Scalar/GVN.h"
#include "llvm/Transforms/Vectorize/LoadStoreVectorizer.h"
#include <cassert>
#include <optional>
#include <string>
#include "llvm/Passes/TargetPassRegistry.inc"

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Macros

#define GET_PASS_REGISTRY   "NVPTXPassRegistry.def"
 

Functions

void llvm::initializeGenericToNVVMLegacyPassPass (PassRegistry &)
 
void llvm::initializeNVPTXAllocaHoistingPass (PassRegistry &)
 
void llvm::initializeNVPTXAssignValidGlobalNamesPass (PassRegistry &)
 
void llvm::initializeNVPTXAtomicLowerPass (PassRegistry &)
 
void llvm::initializeNVPTXCtorDtorLoweringLegacyPass (PassRegistry &)
 
void llvm::initializeNVPTXLowerAggrCopiesPass (PassRegistry &)
 
void llvm::initializeNVPTXLowerAllocaPass (PassRegistry &)
 
void llvm::initializeNVPTXLowerUnreachablePass (PassRegistry &)
 
void llvm::initializeNVPTXLowerArgsPass (PassRegistry &)
 
void llvm::initializeNVPTXProxyRegErasurePass (PassRegistry &)
 
void llvm::initializeNVVMIntrRangePass (PassRegistry &)
 
void llvm::initializeNVVMReflectPass (PassRegistry &)
 
void llvm::initializeNVPTXAAWrapperPassPass (PassRegistry &)
 
void llvm::initializeNVPTXExternalAAWrapperPass (PassRegistry &)
 
LLVM_EXTERNAL_VISIBILITY void LLVMInitializeNVPTXTarget ()
 
static std::string computeDataLayout (bool is64Bit, bool UseShortPointers)
 

Variables

static cl::opt< boolDisableLoadStoreVectorizer ("disable-nvptx-load-store-vectorizer", cl::desc("Disable load/store vectorizer"), cl::init(false), cl::Hidden)
 
static cl::opt< boolDisableRequireStructuredCFG ("disable-nvptx-require-structured-cfg", cl::desc("Transitional flag to turn off NVPTX's requirement on preserving " "structured CFG. The requirement should be disabled only when " "unexpected regressions happen."), cl::init(false), cl::Hidden)
 
static cl::opt< boolUseShortPointersOpt ("nvptx-short-ptr", cl::desc("Use 32-bit pointers for accessing const/local/shared address spaces."), cl::init(false), cl::Hidden)
 
static cl::opt< boolEarlyByValArgsCopy ("nvptx-early-byval-copy", cl::desc("Create a copy of byval function arguments early."), cl::init(false), cl::Hidden)
 

Macro Definition Documentation

◆ GET_PASS_REGISTRY

#define GET_PASS_REGISTRY   "NVPTXPassRegistry.def"

Function Documentation

◆ computeDataLayout()

static std::string computeDataLayout ( bool  is64Bit,
bool  UseShortPointers 
)
static

Definition at line 134 of file NVPTXTargetMachine.cpp.

References is64Bit().

◆ LLVMInitializeNVPTXTarget()

LLVM_EXTERNAL_VISIBILITY void LLVMInitializeNVPTXTarget ( )

Variable Documentation

◆ DisableLoadStoreVectorizer

cl::opt< bool > DisableLoadStoreVectorizer("disable-nvptx-load-store-vectorizer", cl::desc("Disable load/store vectorizer"), cl::init(false), cl::Hidden) ( "disable-nvptx-load-store-vectorizer"  ,
cl::desc("Disable load/store vectorizer")  ,
cl::init(false)  ,
cl::Hidden   
)
static

◆ DisableRequireStructuredCFG

cl::opt< bool > DisableRequireStructuredCFG("disable-nvptx-require-structured-cfg", cl::desc("Transitional flag to turn off NVPTX's requirement on preserving " "structured CFG. The requirement should be disabled only when " "unexpected regressions happen."), cl::init(false), cl::Hidden) ( "disable-nvptx-require-structured-cfg"  ,
cl::desc("Transitional flag to turn off NVPTX's requirement on preserving " "structured CFG. The requirement should be disabled only when " "unexpected regressions happen.")  ,
cl::init(false)  ,
cl::Hidden   
)
static

◆ EarlyByValArgsCopy

cl::opt< bool > EarlyByValArgsCopy("nvptx-early-byval-copy", cl::desc("Create a copy of byval function arguments early."), cl::init(false), cl::Hidden) ( "nvptx-early-byval-copy"  ,
cl::desc("Create a copy of byval function arguments early.")  ,
cl::init(false)  ,
cl::Hidden   
)
static

◆ UseShortPointersOpt

cl::opt< bool > UseShortPointersOpt("nvptx-short-ptr", cl::desc( "Use 32-bit pointers for accessing const/local/shared address spaces."), cl::init(false), cl::Hidden) ( "nvptx-short-ptr"  ,
cl::desc( "Use 32-bit pointers for accessing const/local/shared address spaces.")  ,
cl::init(false)  ,
cl::Hidden   
)
static