diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2021-03-02 22:43:58 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2021-03-02 22:43:58 -0800 |
commit | df56f19421d05175a40cb09420596629773a113d (patch) | |
tree | 309207fb483b847db486ce44e84d0375f6c89e03 /share | |
parent | 25887472e9d60d256a0420de93f8ca97209c4367 (diff) | |
download | txr-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.tl | 11 |
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 |