<div dir="ltr">Hi Geoffrey,<div><br></div><div>I think this should be fixed now. The dependency diagram looks like:</div><div><br></div><div><font face="monospace">OrcJIT +-> JITLink +-> OrcTargetProcess +-> OrcShared</font></div><div><font face="monospace"> \----------/ /</font></div><div><font face="monospace"> \-----------------------------/</font></div><div><font face="monospace"><br></font></div><div>That is:<br></div><div>OrcShared has no dependencies.</div><div>OrcTargetProcess depends on OrcShared, but nothing else.</div><div>JITLink depends on OrcTargetProcess and OrcShared.</div><div>Orc depends on the previous three.</div><div><br></div><div>There are some dependencies between Orc and ExecutionSession. I expect they will be removed in the LLVM 13 timeframe though.</div><div><br></div><div>Regards,</div><div>Lang.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jan 20, 2021 at 4:53 AM Geoffrey Martin-Noble <<a href="mailto:gcmn@google.com">gcmn@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr">Thanks! Not a huge rush. I didn't really want to go mucking about in there myself since it seemed like you were actively working on reorganizing it :-)</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 18, 2021 at 2:47 AM Lang Hames <<a href="mailto:lhames@gmail.com" target="_blank">lhames@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">Hi Geoffrey,<br></div><div dir="ltr"><div><br></div><div>Sorry for the delayed reply! Yep -- some of this mess crept in while TargetProcess and Shared were being broken out. I start looking at a refactor to sort this out tomorrow, but it might take a little while to untangle.</div></div><div><br></div><div>Regards,</div><div>Lang.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jan 8, 2021 at 12:05 PM Geoffrey Martin-Noble <<a href="mailto:gcmn@google.com" target="_blank">gcmn@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr">Ping on this now that folks are likely back from the holidays :-)</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Dec 29, 2020 at 12:59 PM Geoffrey Martin-Noble <<a href="mailto:gcmn@google.com" target="_blank">gcmn@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>I noticed that there appear to be some layering issues in the ExecutionEngine libraries. The includes between the Orc and JITLink components have a lot of cycles. From reading <a href="https://groups.google.com/g/llvm-dev/c/uOKEZ-1THf4/m/aHiR5gTOAwAJ" target="_blank">https://groups.google.com/g/llvm-dev/c/uOKEZ-1THf4/m/aHiR5gTOAwAJ</a> it seems like the goal is for shared components to be in Orc/Shared. Perhaps more things could move in there </div><div><br></div><div>I made some dot graphs using cinclude2dot. <a href="https://gist.github.com/GMNGeoffrey/2c9818d418a70517f8c628432e1c2447" target="_blank">https://gist.github.com/GMNGeoffrey/2c9818d418a70517f8c628432e1c2447</a> has them at the directory level and also one where the include/ and lib/ directories are merged into a single node. I've also attached the rendered SVGs.</div></div>
</blockquote></div>
</blockquote></div></div>
</blockquote></div>
</blockquote></div>