diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2021-02-15 11:59:46 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2021-02-15 11:59:46 -0800 |
commit | 5408cc94bf0fbc51027f8b9e35590b73888b93d2 (patch) | |
tree | 3445cf774b8eafd38519f6df1fc8adf6152f12cc /share | |
parent | e2f1066cebdc3aeb139856302a290ac2513d1615 (diff) | |
download | txr-5408cc94bf0fbc51027f8b9e35590b73888b93d2.tar.gz txr-5408cc94bf0fbc51027f8b9e35590b73888b93d2.tar.bz2 txr-5408cc94bf0fbc51027f8b9e35590b73888b93d2.zip |
compiler: close instructions terminate basic block.
* share/txr/stdlib/optimize.tl (struct basic-blocks): Include
the close instruction in the set which terminate a basic
block. A close is an unconditional jump; execution never
continues after a close instruction, but goes unconditionally
to a branch target.
Diffstat (limited to 'share')
-rw-r--r-- | share/txr/stdlib/optimize.tl | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/share/txr/stdlib/optimize.tl b/share/txr/stdlib/optimize.tl index 530c26d2..305bab9d 100644 --- a/share/txr/stdlib/optimize.tl +++ b/share/txr/stdlib/optimize.tl @@ -32,7 +32,7 @@ list rescan (:static start (gensym "start-")) - (:static jump-ops '(jmp if ifq ifql swtch ret abscsr)) + (:static jump-ops '(jmp if ifq ifql close swtch ret abscsr)) (:postinit (bb) (let* ((insns (dedup-labels (cons bb.start bb.insns))) |