|
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().