|
LLVM 24.0.0git
|
This file contains the NVPTX CodeGen pipeline builder. More...
#include "NVPTX.h"#include "NVPTXAliasAnalysis.h"#include "NVPTXAsmPrinter.h"#include "NVPTXSubtarget.h"#include "NVPTXTargetMachine.h"#include "llvm/Analysis/KernelInfo.h"#include "llvm/CodeGen/AtomicExpand.h"#include "llvm/CodeGen/DeadMachineInstructionElim.h"#include "llvm/CodeGen/FuncletLayout.h"#include "llvm/CodeGen/LiveVariables.h"#include "llvm/CodeGen/MachineCopyPropagation.h"#include "llvm/CodeGen/MachineLateInstrsCleanup.h"#include "llvm/CodeGen/MachineLoopInfo.h"#include "llvm/CodeGen/MachineScheduler.h"#include "llvm/CodeGen/PEI.h"#include "llvm/CodeGen/PHIElimination.h"#include "llvm/CodeGen/PatchableFunction.h"#include "llvm/CodeGen/PostRAMachineSink.h"#include "llvm/CodeGen/PostRASchedulerList.h"#include "llvm/CodeGen/ProcessImplicitDefs.h"#include "llvm/CodeGen/RegisterCoalescerPass.h"#include "llvm/CodeGen/RemoveLoadsIntoFakeUses.h"#include "llvm/CodeGen/ShrinkWrap.h"#include "llvm/CodeGen/StackColoring.h"#include "llvm/CodeGen/StackSlotColoring.h"#include "llvm/CodeGen/TailDuplication.h"#include "llvm/CodeGen/TwoAddressInstructionPass.h"#include "llvm/CodeGen/UnreachableBlockElim.h"#include "llvm/IR/PassInstrumentation.h"#include "llvm/MC/MCStreamer.h"#include "llvm/Passes/CodeGenPassBuilder.h"#include "llvm/Passes/PassBuilder.h"#include "llvm/Target/CGPassBuilderOption.h"#include "llvm/Transforms/IPO/ExpandVariadics.h"#include "llvm/Transforms/Scalar/EarlyCSE.h"#include "llvm/Transforms/Scalar/GVN.h"#include "llvm/Transforms/Scalar/InferAddressSpaces.h"#include "llvm/Transforms/Scalar/NaryReassociate.h"#include "llvm/Transforms/Scalar/SROA.h"#include "llvm/Transforms/Scalar/SeparateConstOffsetFromGEP.h"#include "llvm/Transforms/Scalar/SpeculativeExecution.h"#include "llvm/Transforms/Scalar/StraightLineStrengthReduce.h"#include "llvm/Transforms/Vectorize/LoadStoreVectorizer.h"#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 | ADD_ANALYSIS_PASS(NAME, CREATE_PASS) |
| #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 | MACHINE_FUNCTION_ANALYSIS(NAME, CREATE_PASS) |
| #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) |
Variables | |
| cl::opt< bool > | DisableLoadStoreVectorizer |
| cl::opt< bool > | DisableNVPTXIRPeephole |
| static cl::opt< bool > | EarlyByValArgsCopy ("nvptx-early-byval-copy", cl::desc("Create a copy of byval function arguments early."), cl::init(false), cl::Hidden) |
This file contains the NVPTX CodeGen pipeline builder.
It mirrors NVPTXPassConfig in NVPTXTargetMachine.cpp; the two must be kept in sync until the legacy pass manager path is removed.
Definition in file NVPTXCodeGenPassBuilder.cpp.
| #define ADD_ANALYSIS_PASS | ( | NAME, | |
| CREATE_PASS ) |
| #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_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 ) |
|
static |
Referenced by llvm::NVPTXTargetMachine::registerPassBuilderCallbacks().