Fair enough, i sort of regret mentioning that specific method of splitting originally.<br><br>For the record, i think any splitting should make sense on its own merit without considering tablegen, and hopefully the end result of "tablegen eventually depends on less stuff" would happen naturally <br><div class="gmail_quote"><div dir="ltr">On Sun, Jun 4, 2017 at 10:37 AM Chris Lattner <<a href="mailto:clattner@nondot.org">clattner@nondot.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
> On May 26, 2017, at 5:47 PM, Zachary Turner via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br>
><br>
> Changing a header file somewhere and having to spend 10 minutes waiting for a build leads to a lot of wasted developer time.<br>
><br>
> The real culprit here is tablegen.  Can we split support and ADT into two - the parts that tablegen depends on and the parts that it doesn’t?<br>
<br>
In all the comments downthread, I think there is one thing that hasn't been mentioned: doing a split like this makes tblgen evolution more difficult.  If libsupport was split into “used by tblgen” and “not used by tblgen” sections, and then a new tblgen feature needs to use other parts of libsupport, they’d have to be moved into the “used by tblgen” directory.<br>
<br>
Splitting libsupport as a whole out into its own llvm subproject has come up many times though, and does make a lot of sense.<br>
<br>
-Chris<br>
<br>
<br>
</blockquote></div>