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

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

RE: [avr-gcc-list] AVR LLVM backend?


From: Weddington, Eric
Subject: RE: [avr-gcc-list] AVR LLVM backend?
Date: Thu, 13 Nov 2008 09:50:48 -0700

 

> -----Original Message-----
> From: John Regehr [mailto:address@hidden 
> Sent: Thursday, November 13, 2008 9:40 AM
> To: Weddington, Eric
> Cc: Arnim Littek; address@hidden
> Subject: RE: [avr-gcc-list] AVR LLVM backend?
> 
> In my opinion the advantage of llvm-avr-gcc wouldn't so much 
> be better 
> code (though it may be a bit better) but rather decreased compiler 
> maintenance effort.  The LLVM interfaces seem (1) pretty 
> stable and (2) 
> relatively narrow compared to gcc's.

And that decreased maintenance effort is a compelling argument.


> Someone should just do it.  A hacky backend supporting only 
> the megas is 
> probably less than a month effort for a reasonable hacker.  Then if 
> initial results are promising, others will jump in to help 
> and eventually 
> perhaps an avr-gcc replacement would emerge.

Great! Do you have a month's worth of free time? ;-)
I sure don't at this point in time. Perhaps sometime next year I will.


> In my opinion LLVM needs a few tweaks before it's a really 
> strong embedded 
> compiler.  For example its inliner can cause significant 
> bloat even at 
> -Os.  But overall it is quite good.  On the other hand there are the 
> advantages above plus the developers are extremely responsive.  For 
> example in the past year I've been reporting lots of bugs in 
> compilers' 
> implementations of volatile.  The LLVM people almost always 
> fix bugs in a 
> few days whereas there's at least one volatile bug that has 
> sat in the gcc 
> bugzilla for 6 months without even being confirmed.  As a 
> result LLVM is 
> at present almost totally volatile-correct, gcc has a ways to go.

And their developers' responsiveness is one of the major reasons why I have 
been considering it.




reply via email to

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