|
From: | E. Weddington |
Subject: | [avr-libc-dev] Re: AW: Register allocator / -fnew-ra issue |
Date: | Tue, 07 Dec 2004 16:19:27 -0700 |
User-agent: | Mozilla Thunderbird 0.7.3 (Windows/20040803) |
Björn Haase wrote:
P.P.S.: Two further examples of compilation results (all with -Osand -fnew-ra)IIRC, the new-ra work on GCC is pretty much on hold due to a bunch ofissues. I would highlyrecommend that you stay away from it for the time being. EricI have come to the conclusion, that the main possible improvement of avr-gcc code efficiency now is the register allocator. I have seen really *weird* code when using the default. ... seems mainly to be related to SI objects ... "-morder1" sometimes. My experience is that -fnew-ra generates much better results, in the rare case that it does not make gcc crash :-|, of course. I have observed this with both, 4.0 and older versions. I have some ideas on how to help the register allocator to use the resources more efficiently. Unfortunately, that would require more substantial changes in the compiler ABI.
I'm assuming you mean helping the *current* register allocator? (not -fnew-ra)
<good stuff snipped> 4.) Adapt the library functions that are written in assembler such that they are compliant with the modified ABI. In my opinion, this way, we could possibly help the RA to make much better use of the register file.
*If* it can be shown with good test results, that this would work, then I would be willing to help out with changes to avr-libc. The other developers would have to offer their opinions as well. If is is good enough, then perhaps some of avr-libc could be translated back into C from assembly. IMO, the big issue with changing avr-libc would be the math / floating point library. We could really use someone who has expertise in this area.
Eric
[Prev in Thread] | Current Thread | [Next in Thread] |