<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Jun 2, 2014 at 12:01 AM, Bas van den Berg <span dir="ltr"><<a href="mailto:b.van.den.berg.nl@gmail.com" target="_blank">b.van.den.berg.nl@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div>Hi,<br><br></div>I've been following the changes in LLD's software architecture.<br>
</div>Recently a new file was added: Alias.h<br></div>In this file, the curret Atom set is extended with an AliasAtom.<br>
</div>While the change seems innocent enough, it has some nasty<br>potential. Simple.h and Alias.h are placed in the ReaderWriter<br>component. This is the 2nd component in the layering:<br></div>Driver<br>ReaderWriter<br>
</div>Passes<br>Core<br><br></div>The problem is that Core depends on these files. So in my opinion,<br>they belong to that Component. The greater impact here is that<br>once core starts depending on ReaderWriter, architecture Erosion<br>
will happen. This would obviously not be a good thing, since the<br>current design is fresh and clean.<br></div></div></blockquote><div><br></div><div>Core's dependency to Simple.h was there before the addition of Alias.h, so it's not new. And I don't feel like it's that bad as you might be feeling. Do you have any suggestion to get rid of it? Just moving the file to Core?</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div></div><div>I would love to supply patches, but am having issues getting<br>lld to build under Ubuntu 12.04. (but that's another story ;) ).<br>
<br></div><div>I've posted the updated architecture view here:<br><a href="http://www.c2lang.org/docs/lld_architecture_20140602.png" target="_blank">http://www.c2lang.org/docs/lld_architecture_20140602.png</a><br><br>
</div></div>
<br>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br></blockquote></div><br></div></div>