[llvm-dev] Bountysource campaign for the M68000 backend

David Chisnall via llvm-dev llvm-dev at lists.llvm.org
Wed Mar 25 04:31:57 PDT 2020

Hi John,

I don't speak for the entire community, but I believe that there are 
likely to be two potential issues:

1. How different is M68K to modern architectures (reluctantly including 
x86)?  Will this add any maintenance burden to the target-agnostic code 
generator?  If so, how much and will there be contributors willing to 
help carry that to retain M68K support?
2. Who is going to commit to maintaining the port?  For example, the 
original version used SelectionDAG, which will eventually be phased out 
in favour of GlobalISel.  This involves some quite major changes to back 
ends, which is why back ends are only committed if they have a code 
owner who is willing to provide long-term maintenance.

I don't think that a one-off donation mechanism is a great way of 
getting someone to do this long-term, but if you have someone in mind 
who is willing to do it but needs some seed capital to get it into a 
good state initially, that may work.

LLVM, in general, is pretty happy to remove things that are slowing down 
development and have no active maintainers, so if the M68K maintainer 
went away there is a danger that the back end would be dropped.  How 
would backers of the bounty program react if the code were added, the 
bounty paid, and then the code removed a year later?  I think I'd be 
pretty annoyed if I'd paid into something like that on the assumption 
that I'd have an LLVM back end, but end up with an LLVM 11 and LLVM 12 
back end that is then not in LLVM 13.

If you can come up with a plan for long-term maintenance (ideally a 
small group of people willing to say 'we will do code review of the 
initial implementation and then maintain it'), then I think this would 
be a great contribution.


On 24/03/2020 22:36, John Paul Adrian Glaubitz via llvm-dev wrote:
> Hello!
> Almost two years ago, Artyom Goncharov submitted an initial effort for a
> backend for the Motorola 68000 architecture [1] which was eventually
> not merged, unfortunately. I elaborated why I supported the idea of
> such a backend [2].
> Recently, we started a fundraising campaign on the platform Bountysource.com
> to port the M68K backend in GCC to the new MODE_CC register representation
> which was very successful collecting over $6000 in donations financing an
> experienced GCC developer to complete the task in a short period [3].
> Due to the success of the GCC campaign, people in the Amiga community are
> wondering whether such a campaign would work for LLVM as well to complete
> the M68000 backend started by Artyom [4] and maybe also get it merged
> into LLVM upstream. The list of remaining tasks on the backend are tracked
> in the issue tracker for the M68000 backend on Github.
> I think such a backend has good chances of attracting maintainers and
> developers as there is still a considerably large community around the
> M68000 architecture. I recently learned that there are even people at
> Google working on Amiga code in their free time.
> What does the LLVM community think? Would it be okay in principle to start
> such a fundraising campaign and would there be someone on the list interesting
> on working on this project provided that we are able to collect enough
> funds?
> Thanks,
> Adrian
>> [1] https://lists.llvm.org/pipermail/llvm-dev/2018-August/125317.html
>> [2] https://lists.llvm.org/pipermail/llvm-dev/2018-August/125325.html
>> [3] https://www.bountysource.com/issues/80706251-m68k-convert-the-backend-to-mode_cc-so-it-can-be-kept-in-future-releases
>> [4] https://github.com/M680x0/M680x0-llvm

More information about the llvm-dev mailing list