summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2021-03-02 22:43:58 -0800
committerKaz Kylheku <kaz@kylheku.com>2021-03-02 22:43:58 -0800
commitdf56f19421d05175a40cb09420596629773a113d (patch)
tree309207fb483b847db486ce44e84d0375f6c89e03 /share
parent25887472e9d60d256a0420de93f8ca97209c4367 (diff)
downloadtxr-df56f19421d05175a40cb09420596629773a113d.tar.gz
txr-df56f19421d05175a40cb09420596629773a113d.tar.bz2
txr-df56f19421d05175a40cb09420596629773a113d.zip
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.
Diffstat (limited to 'share')
-rw-r--r--share/txr/stdlib/optimize.tl11
1 files changed, 10 insertions, 1 deletions
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