From df56f19421d05175a40cb09420596629773a113d Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Tue, 2 Mar 2021 22:43:58 -0800 Subject: compiler: basic-block print method for debugging. * share/txr/stdlib/optimize.tl (basic-block print): Print basic blocks such that related blocks are printed by their label rather than the whole graph. --- share/txr/stdlib/optimize.tl | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/share/txr/stdlib/optimize.tl b/share/txr/stdlib/optimize.tl index 99faad8a..e94c98a1 100644 --- a/share/txr/stdlib/optimize.tl +++ b/share/txr/stdlib/optimize.tl @@ -36,7 +36,16 @@ next links rlinks - insns) + insns + + (:method print (bl stream pretty-p) + (put-string "#S" stream) + (print ^(basic-block live ,bl.live + label ,bl.label + insns ,bl.insns + links ,(mapcar .label bl.links) + rlinks ,(mapcar .label bl.rlinks) + next ,bl.next) stream))) (defstruct (basic-blocks insns lt-dregs) nil insns -- cgit v1.2.3