[llvm] machinebackend pass test (PR #122487)
Kun Liu via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 10 08:23:28 PST 2025
https://github.com/Ryan-hub-bit created https://github.com/llvm/llvm-project/pull/122487
None
>From 9e95cde15ce30630e7118fe046b6dff2d7adf7d9 Mon Sep 17 00:00:00 2001
From: Liu <kliu14 at tulane.edu>
Date: Fri, 10 Jan 2025 10:21:22 -0600
Subject: [PATCH] machinebackend pass test
---
llvm/lib/Target/X86/X86MatchJumptablePass.cpp | 44 +++++++++++++++++++
llvm/lib/Target/X86/X86MatchJumptablePass.h | 0
2 files changed, 44 insertions(+)
create mode 100644 llvm/lib/Target/X86/X86MatchJumptablePass.cpp
create mode 100644 llvm/lib/Target/X86/X86MatchJumptablePass.h
diff --git a/llvm/lib/Target/X86/X86MatchJumptablePass.cpp b/llvm/lib/Target/X86/X86MatchJumptablePass.cpp
new file mode 100644
index 00000000000000..bfb6b1b7f89f18
--- /dev/null
+++ b/llvm/lib/Target/X86/X86MatchJumptablePass.cpp
@@ -0,0 +1,44 @@
+#include "X86.h"
+#include "llvm/CodeGen/MachineFunctionPass.h"
+#include "llvm/CodeGen/MachineInstr.h"
+#include "llvm/CodeGen/MachineRegisterInfo.h"
+#include "llvm/Support/Debug.h"
+#include "llvm/Support/raw_ostream.h"
+
+
+using namespace llvm;
+
+namespace {
+ class X86MatchJumptablePass : public MachineFunctionPass {
+ public:
+ static char ID;
+
+ X86MatchJumptablePass() : MachineFunctionPass(ID) {}
+
+ bool runOnMachineFunction(MachineFunction &MF) override {
+ LLVM_DEBUG(dbgs() << "Running X86MyBackendPass on function: "
+ << MF.getName() << "\n");
+
+ // Example: Iterate through instructions
+ for (auto &MBB : MF) {
+ for (auto &MI : MBB) {
+ // Process instructions here
+ LLVM_DEBUG(dbgs() << "Instruction: " << MI << "\n");
+ }
+ }
+
+ return false; // Return true if the pass modifies the function
+ }
+
+ StringRef getPassName() const override {
+ return "X86 My Backend Pass";
+ }
+ };
+}
+
+char X86MatchJumptablePass::ID = 0;
+
+// Register the pass
+FunctionPass *llvm::createX86MatchJumptablePass() {
+ return new X86MatchJumptablePass();
+}
diff --git a/llvm/lib/Target/X86/X86MatchJumptablePass.h b/llvm/lib/Target/X86/X86MatchJumptablePass.h
new file mode 100644
index 00000000000000..e69de29bb2d1d6
More information about the llvm-commits
mailing list