Skip to content

Commit 1fef3c9

Browse files
jurahulgithub-actions[bot]
authored andcommitted
Automerge: [NFC][LLVM][NVPTX] Cleanup pass initialization for NVPTX (#134311)
- Move all pass initialization function calls to NVPTX target initialization and out of individual pass constructors. - Move all pass initialization function declaration to NVPTX.h. - llvm/llvm-project#111767
2 parents da4ee5a + 7fe6e70 commit 1fef3c9

19 files changed

+29
-93
lines changed

llvm/lib/Target/NVPTX/NVPTX.h

+18
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,24 @@ MachineFunctionPass *createNVPTXPeephole();
5555
MachineFunctionPass *createNVPTXProxyRegErasurePass();
5656
MachineFunctionPass *createNVPTXForwardParamsPass();
5757

58+
void initializeGenericToNVVMLegacyPassPass(PassRegistry &);
59+
void initializeNVPTXAllocaHoistingPass(PassRegistry &);
60+
void initializeNVPTXAssignValidGlobalNamesPass(PassRegistry &);
61+
void initializeNVPTXAtomicLowerPass(PassRegistry &);
62+
void initializeNVPTXCtorDtorLoweringLegacyPass(PassRegistry &);
63+
void initializeNVPTXLowerAggrCopiesPass(PassRegistry &);
64+
void initializeNVPTXLowerAllocaPass(PassRegistry &);
65+
void initializeNVPTXLowerUnreachablePass(PassRegistry &);
66+
void initializeNVPTXCtorDtorLoweringLegacyPass(PassRegistry &);
67+
void initializeNVPTXLowerArgsLegacyPassPass(PassRegistry &);
68+
void initializeNVPTXProxyRegErasurePass(PassRegistry &);
69+
void initializeNVPTXForwardParamsPassPass(PassRegistry &);
70+
void initializeNVVMIntrRangePass(PassRegistry &);
71+
void initializeNVVMReflectPass(PassRegistry &);
72+
void initializeNVPTXAAWrapperPassPass(PassRegistry &);
73+
void initializeNVPTXExternalAAWrapperPass(PassRegistry &);
74+
void initializeNVPTXPeepholePass(PassRegistry &);
75+
5876
struct NVVMIntrRangePass : PassInfoMixin<NVVMIntrRangePass> {
5977
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
6078
};

llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.cpp

+1-3
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,7 @@ ImmutablePass *llvm::createNVPTXExternalAAWrapperPass() {
4545
return new NVPTXExternalAAWrapper();
4646
}
4747

48-
NVPTXAAWrapperPass::NVPTXAAWrapperPass() : ImmutablePass(ID) {
49-
initializeNVPTXAAWrapperPassPass(*PassRegistry::getPassRegistry());
50-
}
48+
NVPTXAAWrapperPass::NVPTXAAWrapperPass() : ImmutablePass(ID) {}
5149

5250
void NVPTXAAWrapperPass::getAnalysisUsage(AnalysisUsage &AU) const {
5351
AU.setPreservesAll();

llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.h

-2
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,7 @@ class NVPTXExternalAAWrapper : public ExternalAAWrapperPass {
9898
};
9999

100100
ImmutablePass *createNVPTXAAWrapperPass();
101-
void initializeNVPTXAAWrapperPassPass(PassRegistry &);
102101
ImmutablePass *createNVPTXExternalAAWrapperPass();
103-
void initializeNVPTXExternalAAWrapperPass(PassRegistry &);
104102

105103
} // end namespace llvm
106104

llvm/lib/Target/NVPTX/NVPTXAllocaHoisting.cpp

+1-4
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
//===----------------------------------------------------------------------===//
1212

1313
#include "NVPTXAllocaHoisting.h"
14+
#include "NVPTX.h"
1415
#include "llvm/CodeGen/StackProtector.h"
1516
#include "llvm/IR/Constants.h"
1617
#include "llvm/IR/Function.h"
@@ -57,10 +58,6 @@ bool NVPTXAllocaHoisting::runOnFunction(Function &function) {
5758

5859
char NVPTXAllocaHoisting::ID = 0;
5960

60-
namespace llvm {
61-
void initializeNVPTXAllocaHoistingPass(PassRegistry &);
62-
}
63-
6461
INITIALIZE_PASS(
6562
NVPTXAllocaHoisting, "alloca-hoisting",
6663
"Hoisting alloca instructions in non-entry blocks to the entry block",

llvm/lib/Target/NVPTX/NVPTXAllocaHoisting.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
namespace llvm {
1717
class FunctionPass;
1818

19-
extern FunctionPass *createAllocaHoisting();
19+
FunctionPass *createAllocaHoisting();
2020
} // end namespace llvm
2121

2222
#endif

llvm/lib/Target/NVPTX/NVPTXAssignValidGlobalNames.cpp

-4
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,6 @@ class NVPTXAssignValidGlobalNames : public ModulePass {
3838

3939
char NVPTXAssignValidGlobalNames::ID = 0;
4040

41-
namespace llvm {
42-
void initializeNVPTXAssignValidGlobalNamesPass(PassRegistry &);
43-
}
44-
4541
INITIALIZE_PASS(NVPTXAssignValidGlobalNames, "nvptx-assign-valid-global-names",
4642
"Assign valid PTX names to globals", false, false)
4743

llvm/lib/Target/NVPTX/NVPTXAtomicLower.cpp

+1-4
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
//===----------------------------------------------------------------------===//
1212

1313
#include "NVPTXAtomicLower.h"
14+
#include "NVPTX.h"
1415
#include "llvm/CodeGen/StackProtector.h"
1516
#include "llvm/IR/Function.h"
1617
#include "llvm/IR/InstIterator.h"
@@ -55,10 +56,6 @@ bool NVPTXAtomicLower::runOnFunction(Function &F) {
5556

5657
char NVPTXAtomicLower::ID = 0;
5758

58-
namespace llvm {
59-
void initializeNVPTXAtomicLowerPass(PassRegistry &);
60-
}
61-
6259
INITIALIZE_PASS(NVPTXAtomicLower, "nvptx-atomic-lower",
6360
"Lower atomics of local memory to simple load/stores", false,
6461
false)

llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.cpp

-1
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,6 @@ PreservedAnalyses NVPTXCtorDtorLoweringPass::run(Module &M,
256256
}
257257

258258
char NVPTXCtorDtorLoweringLegacy::ID = 0;
259-
char &llvm::NVPTXCtorDtorLoweringLegacyPassID = NVPTXCtorDtorLoweringLegacy::ID;
260259
INITIALIZE_PASS(NVPTXCtorDtorLoweringLegacy, DEBUG_TYPE,
261260
"Lower ctors and dtors for NVPTX", false, false)
262261

llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.h

-3
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,6 @@ namespace llvm {
1515
class Module;
1616
class PassRegistry;
1717

18-
extern char &NVPTXCtorDtorLoweringLegacyPassID;
19-
extern void initializeNVPTXCtorDtorLoweringLegacyPass(PassRegistry &);
20-
2118
/// Lower llvm.global_ctors and llvm.global_dtors to special kernels.
2219
class NVPTXCtorDtorLoweringPass
2320
: public PassInfoMixin<NVPTXCtorDtorLoweringPass> {

llvm/lib/Target/NVPTX/NVPTXForwardParams.cpp

+1-7
Original file line numberDiff line numberDiff line change
@@ -136,16 +136,10 @@ static bool forwardDeviceParams(MachineFunction &MF) {
136136
/// Pass (Manager) Boilerplate
137137
/// ----------------------------------------------------------------------------
138138

139-
namespace llvm {
140-
void initializeNVPTXForwardParamsPassPass(PassRegistry &);
141-
} // namespace llvm
142-
143139
namespace {
144140
struct NVPTXForwardParamsPass : public MachineFunctionPass {
145141
static char ID;
146-
NVPTXForwardParamsPass() : MachineFunctionPass(ID) {
147-
initializeNVPTXForwardParamsPassPass(*PassRegistry::getPassRegistry());
148-
}
142+
NVPTXForwardParamsPass() : MachineFunctionPass(ID) {}
149143

150144
bool runOnMachineFunction(MachineFunction &MF) override;
151145

llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp

+1-4
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
//===----------------------------------------------------------------------===//
1414

1515
#include "NVPTXLowerAggrCopies.h"
16+
#include "NVPTX.h"
1617
#include "llvm/Analysis/TargetTransformInfo.h"
1718
#include "llvm/CodeGen/StackProtector.h"
1819
#include "llvm/IR/Constants.h"
@@ -137,10 +138,6 @@ bool NVPTXLowerAggrCopies::runOnFunction(Function &F) {
137138

138139
} // namespace
139140

140-
namespace llvm {
141-
void initializeNVPTXLowerAggrCopiesPass(PassRegistry &);
142-
}
143-
144141
INITIALIZE_PASS(NVPTXLowerAggrCopies, "nvptx-lower-aggr-copies",
145142
"Lower aggregate copies, and llvm.mem* intrinsics into loops",
146143
false, false)

llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp

-4
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,6 @@
3333

3434
using namespace llvm;
3535

36-
namespace llvm {
37-
void initializeNVPTXLowerAllocaPass(PassRegistry &);
38-
}
39-
4036
namespace {
4137
class NVPTXLowerAlloca : public FunctionPass {
4238
bool runOnFunction(Function &F) override;

llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp

-4
Original file line numberDiff line numberDiff line change
@@ -161,10 +161,6 @@
161161

162162
using namespace llvm;
163163

164-
namespace llvm {
165-
void initializeNVPTXLowerArgsLegacyPassPass(PassRegistry &);
166-
}
167-
168164
namespace {
169165
class NVPTXLowerArgsLegacyPass : public FunctionPass {
170166
bool runOnFunction(Function &F) override;

llvm/lib/Target/NVPTX/NVPTXLowerUnreachable.cpp

-4
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,6 @@
7878

7979
using namespace llvm;
8080

81-
namespace llvm {
82-
void initializeNVPTXLowerUnreachablePass(PassRegistry &);
83-
}
84-
8581
namespace {
8682
class NVPTXLowerUnreachable : public FunctionPass {
8783
StringRef getPassName() const override;

llvm/lib/Target/NVPTX/NVPTXPeephole.cpp

+1-7
Original file line numberDiff line numberDiff line change
@@ -44,17 +44,11 @@ using namespace llvm;
4444

4545
#define DEBUG_TYPE "nvptx-peephole"
4646

47-
namespace llvm {
48-
void initializeNVPTXPeepholePass(PassRegistry &);
49-
}
50-
5147
namespace {
5248
struct NVPTXPeephole : public MachineFunctionPass {
5349
public:
5450
static char ID;
55-
NVPTXPeephole() : MachineFunctionPass(ID) {
56-
initializeNVPTXPeepholePass(*PassRegistry::getPassRegistry());
57-
}
51+
NVPTXPeephole() : MachineFunctionPass(ID) {}
5852

5953
bool runOnMachineFunction(MachineFunction &MF) override;
6054

llvm/lib/Target/NVPTX/NVPTXProxyRegErasure.cpp

+1-7
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,11 @@
2424

2525
using namespace llvm;
2626

27-
namespace llvm {
28-
void initializeNVPTXProxyRegErasurePass(PassRegistry &);
29-
}
30-
3127
namespace {
3228

3329
struct NVPTXProxyRegErasure : public MachineFunctionPass {
3430
static char ID;
35-
NVPTXProxyRegErasure() : MachineFunctionPass(ID) {
36-
initializeNVPTXProxyRegErasurePass(*PassRegistry::getPassRegistry());
37-
}
31+
NVPTXProxyRegErasure() : MachineFunctionPass(ID) {}
3832

3933
bool runOnMachineFunction(MachineFunction &MF) override;
4034

llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp

+1-21
Original file line numberDiff line numberDiff line change
@@ -87,27 +87,6 @@ static cl::opt<bool> EarlyByValArgsCopy(
8787
cl::desc("Create a copy of byval function arguments early."),
8888
cl::init(false), cl::Hidden);
8989

90-
namespace llvm {
91-
92-
void initializeGenericToNVVMLegacyPassPass(PassRegistry &);
93-
void initializeNVPTXAllocaHoistingPass(PassRegistry &);
94-
void initializeNVPTXAssignValidGlobalNamesPass(PassRegistry &);
95-
void initializeNVPTXAtomicLowerPass(PassRegistry &);
96-
void initializeNVPTXCtorDtorLoweringLegacyPass(PassRegistry &);
97-
void initializeNVPTXLowerAggrCopiesPass(PassRegistry &);
98-
void initializeNVPTXLowerAllocaPass(PassRegistry &);
99-
void initializeNVPTXLowerUnreachablePass(PassRegistry &);
100-
void initializeNVPTXCtorDtorLoweringLegacyPass(PassRegistry &);
101-
void initializeNVPTXLowerArgsLegacyPassPass(PassRegistry &);
102-
void initializeNVPTXProxyRegErasurePass(PassRegistry &);
103-
void initializeNVPTXForwardParamsPassPass(PassRegistry &);
104-
void initializeNVVMIntrRangePass(PassRegistry &);
105-
void initializeNVVMReflectPass(PassRegistry &);
106-
void initializeNVPTXAAWrapperPassPass(PassRegistry &);
107-
void initializeNVPTXExternalAAWrapperPass(PassRegistry &);
108-
109-
} // end namespace llvm
110-
11190
extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeNVPTXTarget() {
11291
// Register the target.
11392
RegisterTargetMachine<NVPTXTargetMachine32> X(getTheNVPTXTarget32());
@@ -132,6 +111,7 @@ extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeNVPTXTarget() {
132111
initializeNVPTXDAGToDAGISelLegacyPass(PR);
133112
initializeNVPTXAAWrapperPassPass(PR);
134113
initializeNVPTXExternalAAWrapperPass(PR);
114+
initializeNVPTXPeepholePass(PR);
135115
}
136116

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

llvm/lib/Target/NVPTX/NVVMIntrRange.cpp

+1-6
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,11 @@ using namespace llvm;
2525

2626
#define DEBUG_TYPE "nvvm-intr-range"
2727

28-
namespace llvm { void initializeNVVMIntrRangePass(PassRegistry &); }
29-
3028
namespace {
3129
class NVVMIntrRange : public FunctionPass {
3230
public:
3331
static char ID;
34-
NVVMIntrRange() : FunctionPass(ID) {
35-
36-
initializeNVVMIntrRangePass(*PassRegistry::getPassRegistry());
37-
}
32+
NVVMIntrRange() : FunctionPass(ID) {}
3833

3934
bool runOnFunction(Function &) override;
4035
};

llvm/lib/Target/NVPTX/NVVMReflect.cpp

+1-7
Original file line numberDiff line numberDiff line change
@@ -47,19 +47,13 @@ using namespace llvm;
4747

4848
#define DEBUG_TYPE "nvptx-reflect"
4949

50-
namespace llvm {
51-
void initializeNVVMReflectPass(PassRegistry &);
52-
}
53-
5450
namespace {
5551
class NVVMReflect : public FunctionPass {
5652
public:
5753
static char ID;
5854
unsigned int SmVersion;
5955
NVVMReflect() : NVVMReflect(0) {}
60-
explicit NVVMReflect(unsigned int Sm) : FunctionPass(ID), SmVersion(Sm) {
61-
initializeNVVMReflectPass(*PassRegistry::getPassRegistry());
62-
}
56+
explicit NVVMReflect(unsigned int Sm) : FunctionPass(ID), SmVersion(Sm) {}
6357

6458
bool runOnFunction(Function &) override;
6559
};

0 commit comments

Comments
 (0)