<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jun 30, 2020 at 12:54 PM Chris Lattner <<a href="mailto:clattner@nondot.org">clattner@nondot.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
> On Jun 24, 2020, at 9:53 AM, Nicolai Hähnle via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br>
> <br>
> On Tue, Jun 23, 2020 at 2:40 PM Stella Laurenzo via llvm-dev<br>
> <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br>
>> We originally started it as a fork of the LLVM repository, but transitioned to the MLIR standalone template, and we found it more productive to iterate out of tree in this fashion, bumping to the latest LLVM version every week or so as needed (note: the ability to exist out of tree for MLIR dependent projects is actually quite good, and the more of us who do it, the better it becomes).<br>
> <br>
> How do you deal with the problem of using the "right" LLVM version? As<br>
> somebody who spends a significant amount of time on a project that is<br>
> open-source but out-of-tree -- and for good reasons that mean we're<br>
> unlikely to want to incubate in this fashion -- I find this to be a<br>
> major problem.<br>
<br>
<br>
I’m contributing to an external project based on MLIR (which should become public soon).  That project is using the LLVM monorepo as a git submodule, allowing us to update it and track at project-specific times.  It seems to work well.<br></blockquote><div><br></div><div>The only problem I've had with that approach (other than the well-known usability issues of git submodules in general) is when you end up with more complicated dependency structures that bottom out on LLVM. In these diamond scenarios, it is really easy to end up with a ton of LLVM repo clones on your workstation. In general, though, I do prefer the simplicity of clone, submodule init/update and build.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
-Chris</blockquote></div></div>