[llvm-dev] Moving the AVR backend out of experimental

Renato Golin via llvm-dev llvm-dev at lists.llvm.org
Thu Feb 27 14:09:38 PST 2020


Parachuting here, collating many responses into one, forgive me.

On Fri, 14 Feb 2020 at 18:58, Nico Weber via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> Pros:
> - LLVM's release binaries contain AVR support :)
> - It'd happen to remove the only backend that's currently marked experimental, which imho makes the build config easier to understand

I think well maintained and well behaved backends with real users (no
matter how many) should be built by default once they fulfilled their
experimental cooling period successfully.

> Cons:
> - Everyone gets to pay the cost for maintaining AVR for cross-cutting changes. From the last 3 months, this seems to happen once or twice a month. We have a bit over 100 commits/day, so that seems fine.
> - By default all backends get linked, so all binaries get larger by the size of the AVR backend (but people who care probably already have an explicit list of enabled targets)

Those are the costs of every backend, and as they go, AVR seems pretty
cheap in comparison, so I don't see a problem here.

> (Tom) My only concern with AVR is having active mantainers.  It doesn't seem to have had much development in the last 6 months.

I agree this may be a sign of potential bit-rot, but as long as it has
real users and the maintainer is up for fixing the eventual bugs quick
enough, it's ok to have a slow paced back-end, especially without
heavy corporate backing.

For example:

> (Dylan) I re-ran the test suite with '-DLLVM_TARGET_ARCH=avr-unknown-unknown' and now the only errors I get are JIT errors related to no JIT compiler enabled for my host machine, x86. It seems the few failing generic CodeGen tests have since been fixed, along with the ~80 or so DebugInfo tests no doubt fixed by one of Ayke's recent changes.

This looks like an active sub-community to me. The JIT "errors" are
not really errors. When we turned the ARM backend built by default it
had no JIT support at all either. Just mark them as ignored in LIT.

The buildbot (http://lab.llvm.org:8014/builders/llvm-avr-linux) is
green for quite a while, which is also positive.

--renato


More information about the llvm-dev mailing list