[llvm] f2cd146 - [RISCV] Make RISCVIndirectBranchTracking visible in debug output (#141623)
via llvm-commits
llvm-commits at lists.llvm.org
Tue May 27 23:56:48 PDT 2025
Author: Jesse Huang
Date: 2025-05-28T14:56:44+08:00
New Revision: f2cd146072589f8b096ff46d3468361a6a63e24e
URL: https://github.com/llvm/llvm-project/commit/f2cd146072589f8b096ff46d3468361a6a63e24e
DIFF: https://github.com/llvm/llvm-project/commit/f2cd146072589f8b096ff46d3468361a6a63e24e.diff
LOG: [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.
Added:
Modified:
llvm/lib/Target/RISCV/RISCVIndirectBranchTracking.cpp
llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/RISCV/RISCVIndirectBranchTracking.cpp b/llvm/lib/Target/RISCV/RISCVIndirectBranchTracking.cpp
index 4660a975b20ae..43621b8f0f33d 100644
--- a/llvm/lib/Target/RISCV/RISCVIndirectBranchTracking.cpp
+++ b/llvm/lib/Target/RISCV/RISCVIndirectBranchTracking.cpp
@@ -20,6 +20,9 @@
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineModuleInfo.h"
+#define DEBUG_TYPE "riscv-indrect-branch-tracking"
+#define PASS_NAME "RISC-V Indirect Branch Tracking"
+
using namespace llvm;
cl::opt<uint32_t> PreferredLandingPadLabel(
@@ -27,27 +30,28 @@ cl::opt<uint32_t> PreferredLandingPadLabel(
cl::desc("Use preferred fixed label for all labels"));
namespace {
-class RISCVIndirectBranchTrackingPass : public MachineFunctionPass {
+class RISCVIndirectBranchTracking : public MachineFunctionPass {
public:
- RISCVIndirectBranchTrackingPass() : MachineFunctionPass(ID) {}
+ static char ID;
+ RISCVIndirectBranchTracking() : MachineFunctionPass(ID) {}
- StringRef getPassName() const override {
- return "RISC-V Indirect Branch Tracking";
- }
+ StringRef getPassName() const override { return PASS_NAME; }
bool runOnMachineFunction(MachineFunction &MF) override;
private:
- static char ID;
const Align LpadAlign = Align(4);
};
} // end anonymous namespace
-char RISCVIndirectBranchTrackingPass::ID = 0;
+INITIALIZE_PASS(RISCVIndirectBranchTracking, DEBUG_TYPE, PASS_NAME, false,
+ false)
+
+char RISCVIndirectBranchTracking::ID = 0;
FunctionPass *llvm::createRISCVIndirectBranchTrackingPass() {
- return new RISCVIndirectBranchTrackingPass();
+ return new RISCVIndirectBranchTracking();
}
static void emitLpad(MachineBasicBlock &MBB, const RISCVInstrInfo *TII,
@@ -57,8 +61,7 @@ static void emitLpad(MachineBasicBlock &MBB, const RISCVInstrInfo *TII,
.addImm(Label);
}
-bool RISCVIndirectBranchTrackingPass::runOnMachineFunction(
- MachineFunction &MF) {
+bool RISCVIndirectBranchTracking::runOnMachineFunction(MachineFunction &MF) {
const auto &Subtarget = MF.getSubtarget<RISCVSubtarget>();
const RISCVInstrInfo *TII = Subtarget.getInstrInfo();
if (!Subtarget.hasStdExtZicfilp())
diff --git a/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp b/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
index 15dd4d57727dd..8342845ec6f24 100644
--- a/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
+++ b/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
@@ -147,6 +147,7 @@ extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeRISCVTarget() {
initializeRISCVDAGToDAGISelLegacyPass(*PR);
initializeRISCVMoveMergePass(*PR);
initializeRISCVPushPopOptPass(*PR);
+ initializeRISCVIndirectBranchTrackingPass(*PR);
initializeRISCVLoadStoreOptPass(*PR);
initializeRISCVExpandAtomicPseudoPass(*PR);
initializeRISCVRedundantCopyEliminationPass(*PR);
More information about the llvm-commits
mailing list