[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: compile-rtl
From: |
Stefan Israelsson Tampe |
Subject: |
Re: compile-rtl |
Date: |
Sat, 26 Jan 2013 13:28:37 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux) |
Andy Wingo <address@hidden> 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