Skip to content

Commit f2cd146

Browse files
authored
[RISCV] Make RISCVIndirectBranchTracking visible in debug output (#141623)
Fix RISC-V Indirect Branch Tracking pass was not showing in the pass debug output due to not initialized properly.
1 parent 3e47d8d commit f2cd146

File tree

2 files changed

+14
-10
lines changed

2 files changed

+14
-10
lines changed

llvm/lib/Target/RISCV/RISCVIndirectBranchTracking.cpp

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,34 +20,38 @@
2020
#include "llvm/CodeGen/MachineInstrBuilder.h"
2121
#include "llvm/CodeGen/MachineModuleInfo.h"
2222

23+
#define DEBUG_TYPE "riscv-indrect-branch-tracking"
24+
#define PASS_NAME "RISC-V Indirect Branch Tracking"
25+
2326
using namespace llvm;
2427

2528
cl::opt<uint32_t> PreferredLandingPadLabel(
2629
"riscv-landing-pad-label", cl::ReallyHidden,
2730
cl::desc("Use preferred fixed label for all labels"));
2831

2932
namespace {
30-
class RISCVIndirectBranchTrackingPass : public MachineFunctionPass {
33+
class RISCVIndirectBranchTracking : public MachineFunctionPass {
3134
public:
32-
RISCVIndirectBranchTrackingPass() : MachineFunctionPass(ID) {}
35+
static char ID;
36+
RISCVIndirectBranchTracking() : MachineFunctionPass(ID) {}
3337

34-
StringRef getPassName() const override {
35-
return "RISC-V Indirect Branch Tracking";
36-
}
38+
StringRef getPassName() const override { return PASS_NAME; }
3739

3840
bool runOnMachineFunction(MachineFunction &MF) override;
3941

4042
private:
41-
static char ID;
4243
const Align LpadAlign = Align(4);
4344
};
4445

4546
} // end anonymous namespace
4647

47-
char RISCVIndirectBranchTrackingPass::ID = 0;
48+
INITIALIZE_PASS(RISCVIndirectBranchTracking, DEBUG_TYPE, PASS_NAME, false,
49+
false)
50+
51+
char RISCVIndirectBranchTracking::ID = 0;
4852

4953
FunctionPass *llvm::createRISCVIndirectBranchTrackingPass() {
50-
return new RISCVIndirectBranchTrackingPass();
54+
return new RISCVIndirectBranchTracking();
5155
}
5256

5357
static void emitLpad(MachineBasicBlock &MBB, const RISCVInstrInfo *TII,
@@ -57,8 +61,7 @@ static void emitLpad(MachineBasicBlock &MBB, const RISCVInstrInfo *TII,
5761
.addImm(Label);
5862
}
5963

60-
bool RISCVIndirectBranchTrackingPass::runOnMachineFunction(
61-
MachineFunction &MF) {
64+
bool RISCVIndirectBranchTracking::runOnMachineFunction(MachineFunction &MF) {
6265
const auto &Subtarget = MF.getSubtarget<RISCVSubtarget>();
6366
const RISCVInstrInfo *TII = Subtarget.getInstrInfo();
6467
if (!Subtarget.hasStdExtZicfilp())

llvm/lib/Target/RISCV/RISCVTargetMachine.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeRISCVTarget() {
147147
initializeRISCVDAGToDAGISelLegacyPass(*PR);
148148
initializeRISCVMoveMergePass(*PR);
149149
initializeRISCVPushPopOptPass(*PR);
150+
initializeRISCVIndirectBranchTrackingPass(*PR);
150151
initializeRISCVLoadStoreOptPass(*PR);
151152
initializeRISCVExpandAtomicPseudoPass(*PR);
152153
initializeRISCVRedundantCopyEliminationPass(*PR);

0 commit comments

Comments
 (0)