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.
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.
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.
John Regehr
--
John Regehr, [EMAIL PROTECTED]
Assistant Professor, School of Computing, University of Utah
http://www.cs.utah.edu/~regehr/
On Tue, 11 Nov 2008, Weddington, Eric wrote:
-----Original Message-----
From:
[EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]
org] On Behalf Of Arnim Littek
Sent: Tuesday, November 11, 2008 8:32 PM
To: [email protected]
Subject: Re: [avr-gcc-list] AVR LLVM backend?
On Wed, 12 Nov 2008 16:14:10 Weddington, Eric wrote:
Sorry if this is off-topic, but I was wondering whether anyone has
considered adding an AVR backend to the LLVM compiler.
Yes.
<snip>
considered adding an AVR back end to LLVM?
If the latter, can this be talked about?
Yes, I have been aware of LLVM and I have considered looking into what it would
take to create an AVR backend for that tool.
The problem is that there are so few people right now who volunteer to help on
the AVR GCC toolchain, that it's not worth the time and effort to splinter off
to see if LLVM can produce smaller code for the AVR than GCC.
We need so much help right now on the AVR GCC toolchain, I can't afford the
time and energy to even look into LLVM.
Please consider the environment before printing this email
Warning: This electronic message together with any
attachments is confidential. If you receive it in error: (i)
you must not read, use, disclose, copy or retain it; (ii)
please contact the sender immediately by reply email and then
delete the emails.
The views expressed in this email may not be those of
Sirtrack. http://www.sirtrack.com
Could you please remove your confidential notice before sending it to a very
public avr-gcc-list mailing list which is also archived?
_______________________________________________
AVR-GCC-list mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/avr-gcc-list
_______________________________________________
AVR-GCC-list mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/avr-gcc-list