diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2023-04-17 16:55:21 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2023-04-17 16:55:21 -0700 |
commit | a2b107b61b1fa7d2ac7689b93ac3fcd124c842fe (patch) | |
tree | 978cbac0acadde0778d0413b3233c5054211087b /stdlib/optimize.tl | |
parent | 1d8779bc361158bd49ae6fe1d487f59fbfe7b2e3 (diff) | |
download | txr-a2b107b61b1fa7d2ac7689b93ac3fcd124c842fe.tar.gz txr-a2b107b61b1fa7d2ac7689b93ac3fcd124c842fe.tar.bz2 txr-a2b107b61b1fa7d2ac7689b93ac3fcd124c842fe.zip |
compiler: propagate t-reg rename into end insn.
* stdlib/optimize.tl (basic-blocks rename): When we stop
the renaming due to an end instruction and the src
being a v-reg, we can still do the rename in that end
instruction itself. If the v-reg becomes invalid, that
doesn't happen until after the instruction.
Diffstat (limited to 'stdlib/optimize.tl')
-rw-r--r-- | stdlib/optimize.tl | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/stdlib/optimize.tl b/stdlib/optimize.tl index f3e2a6c6..095350d3 100644 --- a/stdlib/optimize.tl +++ b/stdlib/optimize.tl @@ -385,7 +385,7 @@ (cond (close (add insn)) ((and vreg end) - (add insn) + (add (subst-preserve dst src bb li insn)) (pend insns) (set insns nil)) ((or (mequal dst li.def0 li.def1) |