LLVM 22.0.0git
|
#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/KernelInfo.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/Support/Compiler.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.
Macros | |
#define | GET_PASS_REGISTRY "NVPTXPassRegistry.def" |
#define | ADD_CLASS_PASS_TO_PASS_NAME(NAME, CREATE_PASS) |
#define | ADD_CLASS_PASS_TO_PASS_NAME_WITH_PARAMS(NAME, CLASS) |
#define | MODULE_ANALYSIS(NAME, CREATE_PASS) |
#define | MODULE_PASS(NAME, CREATE_PASS) |
#define | MODULE_PASS_WITH_PARAMS(NAME, CLASS, CREATE_PASS, PARSER, PARAMS) |
#define | FUNCTION_ANALYSIS(NAME, CREATE_PASS) |
#define | FUNCTION_ALIAS_ANALYSIS(NAME, CREATE_PASS) |
#define | FUNCTION_PASS(NAME, CREATE_PASS) |
#define | FUNCTION_PASS_WITH_PARAMS(NAME, CLASS, CREATE_PASS, PARSER, PARAMS) |
#define | LOOP_ANALYSIS(NAME, CREATE_PASS) |
#define | LOOP_PASS(NAME, CREATE_PASS) |
#define | MACHINE_FUNCTION_ANALYSIS(NAME, CREATE_PASS) |
#define | MACHINE_FUNCTION_PASS(NAME, CREATE_PASS) |
#define | MACHINE_FUNCTION_PASS_WITH_PARAMS(NAME, CLASS, CREATE_PASS, PARSER, PARAMS) |
#define | ADD_PASS(NAME, CREATE_PASS) |
#define | ADD_PASS_WITH_PARAMS(NAME, CREATE_PASS, PARSER) |
#define | MODULE_PASS(NAME, CREATE_PASS) |
#define | MODULE_PASS_WITH_PARAMS(NAME, CLASS, CREATE_PASS, PARSER, PARAMS) |
#define | FUNCTION_PASS(NAME, CREATE_PASS) |
#define | FUNCTION_PASS_WITH_PARAMS(NAME, CLASS, CREATE_PASS, PARSER, PARAMS) |
#define | LOOP_PASS(NAME, CREATE_PASS) |
#define | MACHINE_FUNCTION_PASS(NAME, CREATE_PASS) |
#define | MACHINE_FUNCTION_PASS_WITH_PARAMS(NAME, CLASS, CREATE_PASS, PARSER, PARAMS) |
#define | MODULE_ANALYSIS(NAME, CREATE_PASS) |
#define | FUNCTION_ANALYSIS(NAME, CREATE_PASS) |
#define | FUNCTION_ALIAS_ANALYSIS(NAME, CREATE_PASS) |
#define | LOOP_ANALYSIS(NAME, CREATE_PASS) |
#define | MACHINE_FUNCTION_ANALYSIS(NAME, CREATE_PASS) |
Functions | |
LLVM_ABI LLVM_EXTERNAL_VISIBILITY void | LLVMInitializeNVPTXTarget () |
Variables | |
static cl::opt< bool > | DisableLoadStoreVectorizer ("disable-nvptx-load-store-vectorizer", cl::desc("Disable load/store vectorizer"), cl::init(false), cl::Hidden) |
static 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) |
static 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) |
static cl::opt< bool > | EarlyByValArgsCopy ("nvptx-early-byval-copy", cl::desc("Create a copy of byval function arguments early."), cl::init(false), cl::Hidden) |
#define ADD_CLASS_PASS_TO_PASS_NAME | ( | NAME, | |
CREATE_PASS ) |
#define ADD_CLASS_PASS_TO_PASS_NAME_WITH_PARAMS | ( | NAME, | |
CLASS ) |
#define ADD_PASS | ( | NAME, | |
CREATE_PASS ) |
#define ADD_PASS_WITH_PARAMS | ( | NAME, | |
CREATE_PASS, | |||
PARSER ) |
#define FUNCTION_ALIAS_ANALYSIS | ( | NAME, | |
CREATE_PASS ) |
#define FUNCTION_ALIAS_ANALYSIS | ( | NAME, | |
CREATE_PASS ) |
#define FUNCTION_ANALYSIS | ( | NAME, | |
CREATE_PASS ) |
#define FUNCTION_ANALYSIS | ( | NAME, | |
CREATE_PASS ) |
#define FUNCTION_PASS | ( | NAME, | |
CREATE_PASS ) |
#define FUNCTION_PASS | ( | NAME, | |
CREATE_PASS ) |
#define FUNCTION_PASS_WITH_PARAMS | ( | NAME, | |
CLASS, | |||
CREATE_PASS, | |||
PARSER, | |||
PARAMS ) |
#define FUNCTION_PASS_WITH_PARAMS | ( | NAME, | |
CLASS, | |||
CREATE_PASS, | |||
PARSER, | |||
PARAMS ) |
#define GET_PASS_REGISTRY "NVPTXPassRegistry.def" |
#define LOOP_ANALYSIS | ( | NAME, | |
CREATE_PASS ) |
#define LOOP_ANALYSIS | ( | NAME, | |
CREATE_PASS ) |
#define LOOP_PASS | ( | NAME, | |
CREATE_PASS ) |
#define LOOP_PASS | ( | NAME, | |
CREATE_PASS ) |
#define MACHINE_FUNCTION_ANALYSIS | ( | NAME, | |
CREATE_PASS ) |
#define MACHINE_FUNCTION_ANALYSIS | ( | NAME, | |
CREATE_PASS ) |
#define MACHINE_FUNCTION_PASS | ( | NAME, | |
CREATE_PASS ) |
#define MACHINE_FUNCTION_PASS | ( | NAME, | |
CREATE_PASS ) |
#define MACHINE_FUNCTION_PASS_WITH_PARAMS | ( | NAME, | |
CLASS, | |||
CREATE_PASS, | |||
PARSER, | |||
PARAMS ) |
#define MACHINE_FUNCTION_PASS_WITH_PARAMS | ( | NAME, | |
CLASS, | |||
CREATE_PASS, | |||
PARSER, | |||
PARAMS ) |
#define MODULE_ANALYSIS | ( | NAME, | |
CREATE_PASS ) |
#define MODULE_ANALYSIS | ( | NAME, | |
CREATE_PASS ) |
#define MODULE_PASS | ( | NAME, | |
CREATE_PASS ) |
#define MODULE_PASS | ( | NAME, | |
CREATE_PASS ) |
#define MODULE_PASS_WITH_PARAMS | ( | NAME, | |
CLASS, | |||
CREATE_PASS, | |||
PARSER, | |||
PARAMS ) |
#define MODULE_PASS_WITH_PARAMS | ( | NAME, | |
CLASS, | |||
CREATE_PASS, | |||
PARSER, | |||
PARAMS ) |
LLVM_ABI LLVM_EXTERNAL_VISIBILITY void LLVMInitializeNVPTXTarget | ( | ) |
Definition at line 91 of file NVPTXTargetMachine.cpp.
References llvm::PassRegistry::getPassRegistry(), llvm::getTheNVPTXTarget32(), llvm::getTheNVPTXTarget64(), llvm::initializeGenericToNVVMLegacyPassPass(), llvm::initializeNVPTXAAWrapperPassPass(), llvm::initializeNVPTXAllocaHoistingPass(), llvm::initializeNVPTXAsmPrinterPass(), llvm::initializeNVPTXAssignValidGlobalNamesPass(), llvm::initializeNVPTXAtomicLowerPass(), llvm::initializeNVPTXCtorDtorLoweringLegacyPass(), llvm::initializeNVPTXDAGToDAGISelLegacyPass(), llvm::initializeNVPTXExternalAAWrapperPass(), llvm::initializeNVPTXForwardParamsPassPass(), llvm::initializeNVPTXLowerAggrCopiesPass(), llvm::initializeNVPTXLowerAllocaPass(), llvm::initializeNVPTXLowerArgsLegacyPassPass(), llvm::initializeNVPTXLowerUnreachablePass(), llvm::initializeNVPTXPeepholePass(), llvm::initializeNVPTXPrologEpilogPassPass(), llvm::initializeNVPTXProxyRegErasurePass(), llvm::initializeNVPTXTagInvariantLoadLegacyPassPass(), llvm::initializeNVVMIntrRangePass(), llvm::initializeNVVMReflectLegacyPassPass(), LLVM_ABI, LLVM_EXTERNAL_VISIBILITY, X, and Y.
|
static |
|
static |
Referenced by llvm::NVPTXTargetMachine::NVPTXTargetMachine().
|
static |
Referenced by llvm::NVPTXTargetMachine::registerPassBuilderCallbacks().
|
static |
Referenced by llvm::NVPTXTargetMachine::NVPTXTargetMachine().