Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
9454 commits behind the upstream repository.
user avatar
ram authored
triggered reliably (and required IR1 optimization to run to completion for
correctness.)  Now we merge tail sets whenever we convert a local call that
delivers its value to a return (regardless of whether it is truly TR.)  This
liberalization actually improves type inference: previously non-TR calls would
mess up type inference.

Now MERGE-TAIL-SETS must be called whenever IR1 is modified so that a local
call is changed to be potentially tail recursive (i.e. deliver its value to a
return.)  It seems that the only such place is in MAYBE-DELETE-EXIT in ir1opt.
43bcbde3
History