Renato Golin via llvm-dev
2020-Sep-29 09:12 UTC
[llvm-dev] [RFC] Backend for Motorola 6800 series CPU (M68k)
On Mon, 28 Sep 2020 at 19:13, Min-Yih Hsu <minyihh at uci.edu> wrote:> Thanks for all your feedback, those were extremely helpful, especially the > guidelines to split the patches. I think in my case, patch 3 ~ 6 are the > most problematic, I will rework them shortly. >Perfect, thanks! And most importantly, I'll present a roadmap regarding blockers we need to> clear and milestones to reach before graduating from experimental targets. >Great! This would be slightly different than the Github issues, and should be focused on the two milestones: adding the backend as experimental (ie, what you have today) and moving to production. Both should have a list of features that are expected to exist / be implemented and some rough time frame to get there. Given you already have what looks like a working back-end (maybe not production yet, but), I'm expecting the experimental target to be more in shape than some others we had recently. You should, however, expect more reviews on policy (style, patterns, containers), due to the previous separate nature of the development. This is to make sure the code goes in in a way that everybody else understands and can change. Don't take this as a measure of code quality, only style adjustment to the new community. We'll also try to prepare the buildbot, as well as testing bots running> m68k QEMU (IIUC, we need to prepare our own server...right?) >Right. During the experimental phase, none of the other buildbots will be building your target, so you must make sure at least one is. This can be running on any hardware (x86, arm, etc) but needs to be building the experimental back-end and running all its tests (check-all). Once the target moves on to production, most other bots will be building it and testing, so you don't need that simple builder any more. But you can have builders with different configurations that aren't built by any other builder out there, to increase coverage and trust in your back-end. You should also eventually try to run the LLVM test-suite on the target. I'm not sure it's possible to run all, due to the aged nature of the 68k, or if the tests will produce the same results (we had some trouble on Arm vs x86, for example). But trying to run them and understanding the issues gives you a lot of good information about your back-end. The Debian tests are similar to the test-suite. Their builds will be slower than a standard bot cycle and so will end up queueing a lot of commits. It will be harder to investigate the issues, you'll need longer bisects, codegen tests, etc. All buildbots should initially be in the "silent master" (ie no email warnings when they break), and your community should monitor them closely. Once the target leaves experimental, and we expect all bots to be mostly green by then, you can move the builders to the "loud master", which will start nagging people when they break the build. The expectation is that, by then, things will be stable enough (one of the criteria to move to production) that the noise will be no more annoying than any other buildbot, and consisting mostly of true positives. cheers, --renato -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200929/1b00f53a/attachment.html>
John Paul Adrian Glaubitz via llvm-dev
2020-Sep-29 17:53 UTC
[llvm-dev] [RFC] Backend for Motorola 6800 series CPU (M68k)
Hi Renato! On 9/29/20 11:12 AM, Renato Golin wrote:> During the experimental phase, none of the other buildbots will be building > your target, so you must make sure at least one is. This can be running on > any hardware (x86, arm, etc) but needs to be building the experimental > back-end and running all its tests (check-all). > > Once the target moves on to production, most other bots will be building it > and testing, so you don't need that simple builder any more. But you can > have builders with different configurations that aren't built by any other > builder out there, to increase coverage and trust in your back-end.So, shall we setup a server for that or is there some existing infrastructure from LLVM that is used in this case?> You should also eventually try to run the LLVM test-suite on the target. > I'm not sure it's possible to run all, due to the aged nature of the 68k, > or if the tests will produce the same results (we had some trouble on Arm > vs x86, for example). But trying to run them and understanding the issues > gives you a lot of good information about your back-end.As far as I understand, 90% of the tests already pass (according to Min).> The Debian tests are similar to the test-suite. Their builds will be slower > than a standard bot cycle and so will end up queueing a lot of commits. It > will be harder to investigate the issues, you'll need longer bisects, > codegen tests, etc. > > All buildbots should initially be in the "silent master" (ie no email > warnings when they break), and your community should monitor them closely. > > Once the target leaves experimental, and we expect all bots to be mostly > green by then, you can move the builders to the "loud master", which will > start nagging people when they break the build. > > The expectation is that, by then, things will be stable enough (one of the > criteria to move to production) that the noise will be no more annoying > than any other buildbot, and consisting mostly of true positives.Great! Thanks again for all the very valuable input. We'll move forward getting infrastructure up and running. Adrian -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer - glaubitz at debian.org `. `' Freie Universitaet Berlin - glaubitz at physik.fu-berlin.de `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
Renato Golin via llvm-dev
2020-Sep-29 18:24 UTC
[llvm-dev] [RFC] Backend for Motorola 6800 series CPU (M68k)
On Tue, 29 Sep 2020 at 18:53, John Paul Adrian Glaubitz < glaubitz at physik.fu-berlin.de> wrote:> So, shall we setup a server for that or is there some existing > infrastructure > from LLVM that is used in this case? >Unfortunately, we don't have a centralised infrastructure like GCC. Each target community is responsible for maintaining their own buildbots. All we provide is the "build master", which aggregates all builds, email when there are regressions, etc. http://llvm.org/docs/HowToAddABuilder.html It should be trivial to copy & paste an existing bot config and change to add the experimental hardware (once it's in the tree). Pay attention to the version of buildbot you install, as using an even slightly different version can cause weird errors. (I'm sure you understand how many times we tried to move on for the past 10 years... :) As far as I understand, 90% of the tests already pass (according to Min).>Awesome! We have buildbots with test-suite running, you can copy those, too. There were some QEMU bots in the past, I'm not sure they're around, but the infra to run them should still be there. cheers, --renato -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200929/2737a4bc/attachment.html>