linux-sparse.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] add debug helpers: show_insn_bb() & show_insn_entry()
@ 2020-11-07 13:08 Luc Van Oostenryck
  0 siblings, 0 replies; only message in thread
From: Luc Van Oostenryck @ 2020-11-07 13:08 UTC (permalink / raw)
  To: linux-sparse; +Cc: Luc Van Oostenryck

These 2 helpers are just small wrappers around show_instruction()
and show_entry() but can be called even when the instruction is
removed. They're just handy when debugging.

Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
---
 linearize.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/linearize.c b/linearize.c
index c1e3455adb67..d0762f5a3a45 100644
--- a/linearize.c
+++ b/linearize.c
@@ -563,6 +563,15 @@ void show_bb(struct basic_block *bb)
 		printf("\tEND\n");
 }
 
+///
+// show BB of non-removed instruction
+void show_insn_bb(struct instruction *insn)
+{
+	if (!insn || !insn->bb)
+		return;
+	show_bb(insn->bb);
+}
+
 static void show_symbol_usage(pseudo_t pseudo)
 {
 	struct pseudo_user *pu;
@@ -610,6 +619,15 @@ void show_entry(struct entrypoint *ep)
 	printf("\n");
 }
 
+///
+// show the function containing the instruction but only if not already removed.
+void show_insn_entry(struct instruction *insn)
+{
+	if (!insn || !insn->bb || !insn->bb->ep)
+		return;
+	show_entry(insn->bb->ep);
+}
+
 static void bind_label(struct symbol *label, struct basic_block *bb, struct position pos)
 {
 	if (label->bb_target)
-- 
2.29.2


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2020-11-07 13:08 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-11-07 13:08 [PATCH] add debug helpers: show_insn_bb() & show_insn_entry() Luc Van Oostenryck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).