AVR back end

Hi All,

For quite some time there's been a side project for developing an AVR back end for LLVM:

What is required from us to be able to add this work to the LLVM repo?

And when do you think would be a good time for us to do that?

If this is located somewhere in the docs and I've missed it, pointers would certainly be appreciated.

Eric Weddington
Marketing Manager
Open Source & Community

http://llvm.org/docs/DeveloperPolicy.html is the general developer docs
(see in particular "Making a major change" and "incremental development");
the only thing that's really specific to backends is that each backend has
to have an active LLVM developer who owns it.

And when do you think would be a good time for us to do that?

As soon as possible. (Even if it isn't ready, sending in patches which can
get reviewed as soon as possible is important; the review process can take
a while for a major change.)



Interesting. I tried few non-trivial programs on linux. They got compiled :slight_smile:

I would say this is the right time to get the target to ToT. Ofcourse
compiling at -O0 looks like a problem.

While I understand that it is still a pre-alpha version as noted on
website, can you roughly outline the level of backend (llc) support?
(for e.g, basic/OK/pretty much all ISA support, target specific
optimizations - none/few/many)


Is PROGMEM supported? Also, AFAIK, GCC is apparently unable to leave some auxilary data (such as vtables) in PROGMEM and therefore all vtables are loaded in RAM. Is your backend able to leave such data in PROGMEM?