Skip to content

[NFC][LLVM][NVPTX] Cleanup pass initialization for NVPTX #134311

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 7, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions llvm/lib/Target/NVPTX/NVPTX.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,24 @@ MachineFunctionPass *createNVPTXPeephole();
MachineFunctionPass *createNVPTXProxyRegErasurePass();
MachineFunctionPass *createNVPTXForwardParamsPass();

void initializeGenericToNVVMLegacyPassPass(PassRegistry &);
void initializeNVPTXAllocaHoistingPass(PassRegistry &);
void initializeNVPTXAssignValidGlobalNamesPass(PassRegistry &);
void initializeNVPTXAtomicLowerPass(PassRegistry &);
void initializeNVPTXCtorDtorLoweringLegacyPass(PassRegistry &);
void initializeNVPTXLowerAggrCopiesPass(PassRegistry &);
void initializeNVPTXLowerAllocaPass(PassRegistry &);
void initializeNVPTXLowerUnreachablePass(PassRegistry &);
void initializeNVPTXCtorDtorLoweringLegacyPass(PassRegistry &);
void initializeNVPTXLowerArgsLegacyPassPass(PassRegistry &);
void initializeNVPTXProxyRegErasurePass(PassRegistry &);
void initializeNVPTXForwardParamsPassPass(PassRegistry &);
void initializeNVVMIntrRangePass(PassRegistry &);
void initializeNVVMReflectPass(PassRegistry &);
void initializeNVPTXAAWrapperPassPass(PassRegistry &);
void initializeNVPTXExternalAAWrapperPass(PassRegistry &);
void initializeNVPTXPeepholePass(PassRegistry &);

struct NVVMIntrRangePass : PassInfoMixin<NVVMIntrRangePass> {
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
};
Expand Down
4 changes: 1 addition & 3 deletions llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,7 @@ ImmutablePass *llvm::createNVPTXExternalAAWrapperPass() {
return new NVPTXExternalAAWrapper();
}

NVPTXAAWrapperPass::NVPTXAAWrapperPass() : ImmutablePass(ID) {
initializeNVPTXAAWrapperPassPass(*PassRegistry::getPassRegistry());
}
NVPTXAAWrapperPass::NVPTXAAWrapperPass() : ImmutablePass(ID) {}

void NVPTXAAWrapperPass::getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
Expand Down
2 changes: 0 additions & 2 deletions llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.h
Original file line number Diff line number Diff line change
Expand Up @@ -98,9 +98,7 @@ class NVPTXExternalAAWrapper : public ExternalAAWrapperPass {
};

ImmutablePass *createNVPTXAAWrapperPass();
void initializeNVPTXAAWrapperPassPass(PassRegistry &);
ImmutablePass *createNVPTXExternalAAWrapperPass();
void initializeNVPTXExternalAAWrapperPass(PassRegistry &);

} // end namespace llvm

Expand Down
5 changes: 1 addition & 4 deletions llvm/lib/Target/NVPTX/NVPTXAllocaHoisting.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
//===----------------------------------------------------------------------===//

#include "NVPTXAllocaHoisting.h"
#include "NVPTX.h"
#include "llvm/CodeGen/StackProtector.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Function.h"
Expand Down Expand Up @@ -57,10 +58,6 @@ bool NVPTXAllocaHoisting::runOnFunction(Function &function) {

char NVPTXAllocaHoisting::ID = 0;

namespace llvm {
void initializeNVPTXAllocaHoistingPass(PassRegistry &);
}

INITIALIZE_PASS(
NVPTXAllocaHoisting, "alloca-hoisting",
"Hoisting alloca instructions in non-entry blocks to the entry block",
Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/NVPTX/NVPTXAllocaHoisting.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
namespace llvm {
class FunctionPass;

extern FunctionPass *createAllocaHoisting();
FunctionPass *createAllocaHoisting();
} // end namespace llvm

#endif
4 changes: 0 additions & 4 deletions llvm/lib/Target/NVPTX/NVPTXAssignValidGlobalNames.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,6 @@ class NVPTXAssignValidGlobalNames : public ModulePass {

char NVPTXAssignValidGlobalNames::ID = 0;

namespace llvm {
void initializeNVPTXAssignValidGlobalNamesPass(PassRegistry &);
}

INITIALIZE_PASS(NVPTXAssignValidGlobalNames, "nvptx-assign-valid-global-names",
"Assign valid PTX names to globals", false, false)

Expand Down
5 changes: 1 addition & 4 deletions llvm/lib/Target/NVPTX/NVPTXAtomicLower.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
//===----------------------------------------------------------------------===//

#include "NVPTXAtomicLower.h"
#include "NVPTX.h"
#include "llvm/CodeGen/StackProtector.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/InstIterator.h"
Expand Down Expand Up @@ -55,10 +56,6 @@ bool NVPTXAtomicLower::runOnFunction(Function &F) {

char NVPTXAtomicLower::ID = 0;

namespace llvm {
void initializeNVPTXAtomicLowerPass(PassRegistry &);
}

INITIALIZE_PASS(NVPTXAtomicLower, "nvptx-atomic-lower",
"Lower atomics of local memory to simple load/stores", false,
false)
Expand Down
1 change: 0 additions & 1 deletion llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,6 @@ PreservedAnalyses NVPTXCtorDtorLoweringPass::run(Module &M,
}

char NVPTXCtorDtorLoweringLegacy::ID = 0;
char &llvm::NVPTXCtorDtorLoweringLegacyPassID = NVPTXCtorDtorLoweringLegacy::ID;
INITIALIZE_PASS(NVPTXCtorDtorLoweringLegacy, DEBUG_TYPE,
"Lower ctors and dtors for NVPTX", false, false)

Expand Down
3 changes: 0 additions & 3 deletions llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ namespace llvm {
class Module;
class PassRegistry;

extern char &NVPTXCtorDtorLoweringLegacyPassID;
extern void initializeNVPTXCtorDtorLoweringLegacyPass(PassRegistry &);

/// Lower llvm.global_ctors and llvm.global_dtors to special kernels.
class NVPTXCtorDtorLoweringPass
: public PassInfoMixin<NVPTXCtorDtorLoweringPass> {
Expand Down
8 changes: 1 addition & 7 deletions llvm/lib/Target/NVPTX/NVPTXForwardParams.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -136,16 +136,10 @@ static bool forwardDeviceParams(MachineFunction &MF) {
/// Pass (Manager) Boilerplate
/// ----------------------------------------------------------------------------

namespace llvm {
void initializeNVPTXForwardParamsPassPass(PassRegistry &);
} // namespace llvm

namespace {
struct NVPTXForwardParamsPass : public MachineFunctionPass {
static char ID;
NVPTXForwardParamsPass() : MachineFunctionPass(ID) {
initializeNVPTXForwardParamsPassPass(*PassRegistry::getPassRegistry());
}
NVPTXForwardParamsPass() : MachineFunctionPass(ID) {}

bool runOnMachineFunction(MachineFunction &MF) override;

Expand Down
5 changes: 1 addition & 4 deletions llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
//===----------------------------------------------------------------------===//

#include "NVPTXLowerAggrCopies.h"
#include "NVPTX.h"
#include "llvm/Analysis/TargetTransformInfo.h"
#include "llvm/CodeGen/StackProtector.h"
#include "llvm/IR/Constants.h"
Expand Down Expand Up @@ -137,10 +138,6 @@ bool NVPTXLowerAggrCopies::runOnFunction(Function &F) {

} // namespace

namespace llvm {
void initializeNVPTXLowerAggrCopiesPass(PassRegistry &);
}

INITIALIZE_PASS(NVPTXLowerAggrCopies, "nvptx-lower-aggr-copies",
"Lower aggregate copies, and llvm.mem* intrinsics into loops",
false, false)
Expand Down
4 changes: 0 additions & 4 deletions llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,6 @@

using namespace llvm;

namespace llvm {
void initializeNVPTXLowerAllocaPass(PassRegistry &);
}

namespace {
class NVPTXLowerAlloca : public FunctionPass {
bool runOnFunction(Function &F) override;
Expand Down
4 changes: 0 additions & 4 deletions llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -161,10 +161,6 @@

using namespace llvm;

namespace llvm {
void initializeNVPTXLowerArgsLegacyPassPass(PassRegistry &);
}

namespace {
class NVPTXLowerArgsLegacyPass : public FunctionPass {
bool runOnFunction(Function &F) override;
Expand Down
4 changes: 0 additions & 4 deletions llvm/lib/Target/NVPTX/NVPTXLowerUnreachable.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -78,10 +78,6 @@

using namespace llvm;

namespace llvm {
void initializeNVPTXLowerUnreachablePass(PassRegistry &);
}

namespace {
class NVPTXLowerUnreachable : public FunctionPass {
StringRef getPassName() const override;
Expand Down
8 changes: 1 addition & 7 deletions llvm/lib/Target/NVPTX/NVPTXPeephole.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,17 +44,11 @@ using namespace llvm;

#define DEBUG_TYPE "nvptx-peephole"

namespace llvm {
void initializeNVPTXPeepholePass(PassRegistry &);
}

namespace {
struct NVPTXPeephole : public MachineFunctionPass {
public:
static char ID;
NVPTXPeephole() : MachineFunctionPass(ID) {
initializeNVPTXPeepholePass(*PassRegistry::getPassRegistry());
}
NVPTXPeephole() : MachineFunctionPass(ID) {}

bool runOnMachineFunction(MachineFunction &MF) override;

Expand Down
8 changes: 1 addition & 7 deletions llvm/lib/Target/NVPTX/NVPTXProxyRegErasure.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,17 +24,11 @@

using namespace llvm;

namespace llvm {
void initializeNVPTXProxyRegErasurePass(PassRegistry &);
}

namespace {

struct NVPTXProxyRegErasure : public MachineFunctionPass {
static char ID;
NVPTXProxyRegErasure() : MachineFunctionPass(ID) {
initializeNVPTXProxyRegErasurePass(*PassRegistry::getPassRegistry());
}
NVPTXProxyRegErasure() : MachineFunctionPass(ID) {}

bool runOnMachineFunction(MachineFunction &MF) override;

Expand Down
22 changes: 1 addition & 21 deletions llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -87,27 +87,6 @@ static cl::opt<bool> EarlyByValArgsCopy(
cl::desc("Create a copy of byval function arguments early."),
cl::init(false), cl::Hidden);

namespace llvm {

void initializeGenericToNVVMLegacyPassPass(PassRegistry &);
void initializeNVPTXAllocaHoistingPass(PassRegistry &);
void initializeNVPTXAssignValidGlobalNamesPass(PassRegistry &);
void initializeNVPTXAtomicLowerPass(PassRegistry &);
void initializeNVPTXCtorDtorLoweringLegacyPass(PassRegistry &);
void initializeNVPTXLowerAggrCopiesPass(PassRegistry &);
void initializeNVPTXLowerAllocaPass(PassRegistry &);
void initializeNVPTXLowerUnreachablePass(PassRegistry &);
void initializeNVPTXCtorDtorLoweringLegacyPass(PassRegistry &);
void initializeNVPTXLowerArgsLegacyPassPass(PassRegistry &);
void initializeNVPTXProxyRegErasurePass(PassRegistry &);
void initializeNVPTXForwardParamsPassPass(PassRegistry &);
void initializeNVVMIntrRangePass(PassRegistry &);
void initializeNVVMReflectPass(PassRegistry &);
void initializeNVPTXAAWrapperPassPass(PassRegistry &);
void initializeNVPTXExternalAAWrapperPass(PassRegistry &);

} // end namespace llvm

extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeNVPTXTarget() {
// Register the target.
RegisterTargetMachine<NVPTXTargetMachine32> X(getTheNVPTXTarget32());
Expand All @@ -132,6 +111,7 @@ extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeNVPTXTarget() {
initializeNVPTXDAGToDAGISelLegacyPass(PR);
initializeNVPTXAAWrapperPassPass(PR);
initializeNVPTXExternalAAWrapperPass(PR);
initializeNVPTXPeepholePass(PR);
}

static std::string computeDataLayout(bool is64Bit, bool UseShortPointers) {
Expand Down
7 changes: 1 addition & 6 deletions llvm/lib/Target/NVPTX/NVVMIntrRange.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,16 +25,11 @@ using namespace llvm;

#define DEBUG_TYPE "nvvm-intr-range"

namespace llvm { void initializeNVVMIntrRangePass(PassRegistry &); }

namespace {
class NVVMIntrRange : public FunctionPass {
public:
static char ID;
NVVMIntrRange() : FunctionPass(ID) {

initializeNVVMIntrRangePass(*PassRegistry::getPassRegistry());
}
NVVMIntrRange() : FunctionPass(ID) {}

bool runOnFunction(Function &) override;
};
Expand Down
8 changes: 1 addition & 7 deletions llvm/lib/Target/NVPTX/NVVMReflect.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -47,19 +47,13 @@ using namespace llvm;

#define DEBUG_TYPE "nvptx-reflect"

namespace llvm {
void initializeNVVMReflectPass(PassRegistry &);
}

namespace {
class NVVMReflect : public FunctionPass {
public:
static char ID;
unsigned int SmVersion;
NVVMReflect() : NVVMReflect(0) {}
explicit NVVMReflect(unsigned int Sm) : FunctionPass(ID), SmVersion(Sm) {
initializeNVVMReflectPass(*PassRegistry::getPassRegistry());
}
explicit NVVMReflect(unsigned int Sm) : FunctionPass(ID), SmVersion(Sm) {}

bool runOnFunction(Function &) override;
};
Expand Down
Loading