[cfe-dev] [llvm-dev] "Living Downstream Without Drowning" BOF @ Dev Meeting

David Blaikie via cfe-dev cfe-dev at lists.llvm.org
Thu Nov 5 07:29:16 PST 2015


On Thu, Nov 5, 2015 at 4:24 AM, David Chisnall via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> On 5 Nov 2015, at 12:20, Bruce Hoult <bruce at hoult.org> wrote:
> >
> > On Thu, Nov 5, 2015 at 12:18 PM, David Chisnall <
> David.Chisnall at cl.cam.ac.uk> wrote:
> >> Thank you very much for the recommendation!  The down side of
> git-imerge is that it is O(NM), where N is the number of your commits since
> the last merge and M is the number of upstream commits.
> >
> > Often it should be a lot less than O(NM), due to the bisection strategy,
> but if there are a lot of merge conflicts then it can be more.
>
> The ‘autofilling’ was what took most time, and it autofills the merge of
> every pair of (upstream, local) commits.
>
> >>   I just finished a merge of about 6 months with 4000 upstream commits
> and a bit over 100 local ones - it took about a week of CPU time.  The huge
> up side is that it took a lot less human time than previous merges
> >
> > I presume you did a build and ran tests at each node? Simple git merges
> won't take long at all.
>
> Nope.  Unfortunately, you can’t git-imerge clang and LLVM simultaneously,
> and the lack of API stability in LLVM meant that there was no way of
> building my tree until I’d finished merging both.  I’m not sure if this is
> something that can be fixed by using git submodules for the tools in the
> svn exports in some automatic way.
>

I believe Takumi deals with this by having a single llvm-project git mirror
and using the "out of tree" build support so he can build directly in that
tree without having to move/checkout clang into tools/clang, etc, etc. & he
uses this for lock-step bisecting. Of course doesn't work perfectly because
most of the rest of us don't use atomic commits to make those API breaking
changes because it isn't better/more easily supported...


>
> David
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20151105/c1511311/attachment.html>


More information about the cfe-dev mailing list