avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [avr-gcc-list] Re: optimizer removes volatile pin access code.why?


From: Weddington, Eric
Subject: RE: [avr-gcc-list] Re: optimizer removes volatile pin access code.why?
Date: Sat, 31 Oct 2009 16:56:42 -0600

 

> -----Original Message-----
> From: 
> address@hidden 
> [mailto:address@hidden
> org] On Behalf Of Joerg Wunsch
> Sent: Saturday, October 31, 2009 3:13 PM
> To: address@hidden
> Subject: Re: [avr-gcc-list] Re: optimizer removes volatile 
> pin access code.why?
> 
> As Weddington, Eric wrote:
> 
> > > I've only tried it with 4.3.2.
> > 
> > A lot's happened between 4.3.2 and HEAD. ;-)
> 
> But even then, if 4.3.x is supposed to be maintained, it's a bug since
> the behaviour doesn't match the documentation.  The documentation
> claims inlining even with optimization turned off being the primary
> purpose of the `always_inline' attribute.

I would recommend that someone (other than me) ask about inline behavior on the 
gcc mailing list. There seems to be a lot of heuristics involved. I certainly 
don't claim to know the details of these heuristics.

Also, while 4.3.x is (I suppose) maintained, the current release is 4.4.2. If 
there are any problems, I doubt that they will be fixed for the 4.3.x line. And 
I can guarantee you that the first thing that other gcc developers will ask is 
if it's been tested on HEAD and/or 4.4.x. So you (or one) better make sure that 
that your ducks are in a row. If there are no issues with later versions, then 
we should just drop the issue.


> What about the new register allocator, does it work for the AVR?
> AFAIR it ought to be the default starting with 4.4.x, did that happen?

Yes the new Integrated Register Allocator (IRA) is in 4.4.x and the AVR port 
uses it. However there hasn't been much testing with it. The GCC Regression 
Test Suite is probably ok (I haven't looked at it in a while). But AFAIK, no 
one has really been looking at the generated code to make sure that it produces 
decent working code. Any help in that area is appreciated.

I'm currently planning on a new release of WinAVR at the end of November / 
beginning of December. (I guess that constitutes the first announcement of 
that.) It will still contain AVR GCC 4.3.x (currently 4.3.3). Some time after 
that I will probably start considering putting out a *beta* release containing 
AVR GCC 4.4.x (latest). I say "beta" because it really is unknown about the 
code generation of 4.4.x and perhaps there will be people willing to give it a 
try and do some testing.

Joerg, we should start discussing next week about the next avr-libc release. 
There are certain items that I would like included before the next release. We 
can discuss on the appropriate list though.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]