Andy Wingo <wi...@pobox.com> writes:

>> Now when we are tail-calling in rtl, we just fill the argument slots
>> with the new function arguments directly and then tail-call by filling
>> in
>> number of arguments and function. This is very smart and just some
>> simple features added would mean that a lot of translation
>> from one memory location to the other is skipped. I really like how the
>> rtl code handle this but there is an expense. It complicates life a
>> little
>> when we overwrite arguments that are used in the calculation of other
>> arguments. I'm working on how to handle this but I just wanted to point
>> out how nice this design choice is.
>
> Thanks!  In general at the end you have a parallel register move (or
> parallel assignment), which has a number of standard solutions out
> there.
>

This is quite a natural first step. But especially for loops there is
a similar tail pattern that probably needs to be optimized better w.r.t.
register slots when we compile nativly

/Stefan

Reply via email to