Rafael Auler via llvm-dev
2021-Dec-08 01:35 UTC
[llvm-dev] Preparing BOLT for LLVM monorepo
Hi folks, https://github.com/facebookincubator/BOLT branch “main” contains a merge proposal of BOLT into llvm-project. This is llvm from Nov 30th with 1016 commits on top of it corresponding to the BOLT project. These 1016 commits would ideally be committed in a merge commit, merging LLVM as the first parent and BOLT as the second, and would be there only for the purposes of preserving project history. In this way, they should be easily skippable during a bisect of LLVM in the same way as the merge commit of flang. These commits represent the linear history of BOLT on top of rebased LLVM, so most commits are not buildable (since we can’t build a very old version of BOLT on top of a recent LLVM base). That’s why this is for history/blame only. We have addressed the issues in https://github.com/facebookincubator/BOLT/issues/248 and we are happy to continue working on any extra suggestions. Would it be better if we put this branch as a PR into llvm-project as a way to make it easier for people to review it? I don’t think we can put this into phabricator. However, I guess github’s bot will probably auto-close the PR. Also feel free to open new issues against our facebookincubator/BOLT project as a way to review it. Thanks From: Hans Wennborg <hans at chromium.org> Date: Thursday, November 4, 2021 at 5:42 AM To: Maksim Panchenko <maks at fb.com> Cc: Xinliang David Li <xinliangli at gmail.com>, Fāng-ruì Sòng <maskray at google.com>, Sriraman Tallam <tmsriram at google.com>, Chris Lattner <clattner at llvm.org>, Andrey Bokhanko <andreybokhanko at gmail.com>, Rafael Auler <rafaelauler at fb.com>, vladislav.khmelevskyi at huawei.com <vladislav.khmelevskyi at huawei.com>, tstellar at redhat.com <tstellar at redhat.com>, joker.eph at gmail.com <joker.eph at gmail.com>, echristo at gmail.com <echristo at gmail.com>, Nick Desaulniers <ndesaulniers at google.com>, llvm-dev at lists.llvm.org <llvm-dev at lists.llvm.org> Subject: Re: Preparing BOLT for LLVM monorepo Hi Maksim, On Tue, Nov 2, 2021 at 9:52 PM Maksim Panchenko <maks at fb.com> wrote:> We are still working on finalizing the exact logistics of the merge. > > However, we expect to follow the Flang project's footsteps and run the > > "--no-ff" merge to preserve the history of ~1K commits. We would like to > > ask for help and coordination from the release managers Tom Stellard and > > Hans Wennborg.I'm no longer involved in release management, and don't really have any opinion on how to merge this. Thanks, Hans -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211208/9ff64724/attachment.html>
Peter Waller via llvm-dev
2021-Dec-08 10:19 UTC
[llvm-dev] Preparing BOLT for LLVM monorepo
Your approach sounds reasonable to me and looks good from a glance. One thought to share though. My read: You take some point in LLVM’s history, then apply a commit which introduces a bolt directory, then have a few thousand bolt commits, then land a merge. Correct? If so, that means if you check out one of those historic commits, you have an llvm-project directory with BOLT at some commit, and LLVM subprojects always with the same ‘root’ commit. Presumably that ‘root’ commit does not work with any commit of BOLT, and anyone wanting to experiment with old commits (if this is a legitimate use case) would find that those things are unlikely to work except for maybe recent commits. Have you considered instead of rebasing onto a recent LLVM commit, taking an empty root? That way, when a user checks out a historic commit, now they will only get a bolt directory, and they can supply their own folders for other llvm subprojects from an appropriate point in time without them conflicting on the filesystem. Additionally, there is no implication for a user to think that those directories at those historic checkouts are meaningfully related to the BOLT commit. I mention it because that’s what we did for the flang merge in case the same effect is appropriate for you here. Regards, Peter From: llvm-dev <llvm-dev-bounces at lists.llvm.org> on behalf of Rafael Auler via llvm-dev <llvm-dev at lists.llvm.org> Date: Wednesday, 8 December 2021 at 01:36 To: Hans Wennborg <hans at chromium.org>, Maksim Panchenko <maks at fb.com> Cc: llvm-dev at lists.llvm.org <llvm-dev at lists.llvm.org>, vladislav.khmelevskyi at huawei.com <vladislav.khmelevskyi at huawei.com>, Andrey Bokhanko <andreybokhanko at gmail.com>, Chris Lattner <clattner at llvm.org> Subject: Re: [llvm-dev] Preparing BOLT for LLVM monorepo Hi folks, https://github.com/facebookincubator/BOLT branch “main” contains a merge proposal of BOLT into llvm-project. This is llvm from Nov 30th with 1016 commits on top of it corresponding to the BOLT project. These 1016 commits would ideally be committed in a merge commit, merging LLVM as the first parent and BOLT as the second, and would be there only for the purposes of preserving project history. In this way, they should be easily skippable during a bisect of LLVM in the same way as the merge commit of flang. These commits represent the linear history of BOLT on top of rebased LLVM, so most commits are not buildable (since we can’t build a very old version of BOLT on top of a recent LLVM base). That’s why this is for history/blame only. We have addressed the issues in https://github.com/facebookincubator/BOLT/issues/248 and we are happy to continue working on any extra suggestions. Would it be better if we put this branch as a PR into llvm-project as a way to make it easier for people to review it? I don’t think we can put this into phabricator. However, I guess github’s bot will probably auto-close the PR. Also feel free to open new issues against our facebookincubator/BOLT project as a way to review it. Thanks From: Hans Wennborg <hans at chromium.org> Date: Thursday, November 4, 2021 at 5:42 AM To: Maksim Panchenko <maks at fb.com> Cc: Xinliang David Li <xinliangli at gmail.com>, Fāng-ruì Sòng <maskray at google.com>, Sriraman Tallam <tmsriram at google.com>, Chris Lattner <clattner at llvm.org>, Andrey Bokhanko <andreybokhanko at gmail.com>, Rafael Auler <rafaelauler at fb.com>, vladislav.khmelevskyi at huawei.com <vladislav.khmelevskyi at huawei.com>, tstellar at redhat.com <tstellar at redhat.com>, joker.eph at gmail.com <joker.eph at gmail.com>, echristo at gmail.com <echristo at gmail.com>, Nick Desaulniers <ndesaulniers at google.com>, llvm-dev at lists.llvm.org <llvm-dev at lists.llvm.org> Subject: Re: Preparing BOLT for LLVM monorepo Hi Maksim, On Tue, Nov 2, 2021 at 9:52 PM Maksim Panchenko <maks at fb.com> wrote:> We are still working on finalizing the exact logistics of the merge. > > However, we expect to follow the Flang project's footsteps and run the > > "--no-ff" merge to preserve the history of ~1K commits. We would like to > > ask for help and coordination from the release managers Tom Stellard and > > Hans Wennborg.I'm no longer involved in release management, and don't really have any opinion on how to merge this. Thanks, Hans -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211208/de33f19f/attachment.html>
Mehdi AMINI via llvm-dev
2021-Dec-17 23:25 UTC
[llvm-dev] Preparing BOLT for LLVM monorepo
Hi, The instructions to build Bolt mention: -DLLVM_ENABLE_PROJECTS="clang;lld;bolt" It seems that clang is just a dependency here because you build C++ sources during lit-tests execution, but it's not clear to me why we don't use the host compiler or a prebuilt release here? Is there an intrinsic coupling between clang and Bolt at HEAD? Having to build clang at HEAD just to run the bolt test seems like a non-trivial overhead for the casual developer, if the host compiler (or some clang pulled with apt-get or your favorite package manager) would just work. Also in CI, even if you have a beefy enough machine, you add risks for the Bolt bot to be broken because Clang/LLVM itself would be broken: so instead of tracking Bolt bugs you end up tracking clang issues. Also the fact that clang being broken implicating you can't test Bolt means that in the meantime new bugs can land in Bolt and complicate auto-bisection. (The same question applies to lld I think?) Thanks! -- Mehdi On Tue, Dec 7, 2021 at 5:36 PM Rafael Auler <rafaelauler at fb.com> wrote:> Hi folks, > > > > https://github.com/facebookincubator/BOLT branch “main” contains a merge > proposal of BOLT into llvm-project. This is llvm from Nov 30th with 1016 > commits on top of it corresponding to the BOLT project. > > These 1016 commits would ideally be committed in a merge commit, merging > LLVM as the first parent and BOLT as the second, and would be there only > for the purposes of preserving project history. In this way, they should be > easily skippable during a bisect of LLVM in the same way as the merge > commit of flang. These commits represent the linear history of BOLT on top > of rebased LLVM, so most commits are not buildable (since we can’t build a > very old version of BOLT on top of a recent LLVM base). That’s why this is > for history/blame only. > > > > We have addressed the issues in > https://github.com/facebookincubator/BOLT/issues/248 and we are happy to > continue working on any extra suggestions. > > Would it be better if we put this branch as a PR into llvm-project as a > way to make it easier for people to review it? I don’t think we can put > this into phabricator. However, I guess github’s bot will probably > auto-close the PR. Also feel free to open new issues against our > facebookincubator/BOLT project as a way to review it. > > Thanks > > > > *From: *Hans Wennborg <hans at chromium.org> > *Date: *Thursday, November 4, 2021 at 5:42 AM > *To: *Maksim Panchenko <maks at fb.com> > *Cc: *Xinliang David Li <xinliangli at gmail.com>, Fāng-ruì Sòng < > maskray at google.com>, Sriraman Tallam <tmsriram at google.com>, Chris Lattner > <clattner at llvm.org>, Andrey Bokhanko <andreybokhanko at gmail.com>, Rafael > Auler <rafaelauler at fb.com>, vladislav.khmelevskyi at huawei.com < > vladislav.khmelevskyi at huawei.com>, tstellar at redhat.com < > tstellar at redhat.com>, joker.eph at gmail.com <joker.eph at gmail.com>, > echristo at gmail.com <echristo at gmail.com>, Nick Desaulniers < > ndesaulniers at google.com>, llvm-dev at lists.llvm.org <llvm-dev at lists.llvm.org > > > *Subject: *Re: Preparing BOLT for LLVM monorepo > > Hi Maksim, > > On Tue, Nov 2, 2021 at 9:52 PM Maksim Panchenko <maks at fb.com> wrote: > > We are still working on finalizing the exact logistics of the merge. > > > > However, we expect to follow the Flang project's footsteps and run the > > > > "--no-ff" merge to preserve the history of ~1K commits. We would like to > > > > ask for help and coordination from the release managers Tom Stellard and > > > > Hans Wennborg. > > I'm no longer involved in release management, and don't really have > any opinion on how to merge this. > > Thanks, > Hans >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211217/2deb5177/attachment.html>