<div dir="ltr">I will create a patch to move the files and send it for review.</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jun 2, 2014 at 1:05 PM, Michael Spencer <span dir="ltr"><<a href="mailto:bigcheesegs@gmail.com" target="_blank">bigcheesegs@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 class="">On Mon, Jun 2, 2014 at 12:49 AM, Rui Ueyama <<a href="mailto:ruiu@google.com">ruiu@google.com</a>> wrote:<br>


> I agree to move these files to Core. Any objections?<br>
<br>
</div>None here.<br>
<span class="HOEnZb"><font color="#888888"><br>
- Michael Spencer<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
><br>
> On Mon, Jun 2, 2014 at 12:44 AM, Bas van den Berg<br>
> <<a href="mailto:b.van.den.berg.nl@gmail.com">b.van.den.berg.nl@gmail.com</a>> wrote:<br>
>><br>
>> The inverted dependency of Core to ReaderWriter via Simple.h was already<br>
>> present.<br>
>> My idea was to fix the problem before it gets bigger.<br>
>> My proposal would be to move Simple.h and Alias.h to Core. Similar to<br>
>> UndefinedAtom.h etc.<br>
>> It would be even nicer to make the naming consistent as well, since there<br>
>> already is<br>
>> UndefinedAtom.h<br>
>> SharedLibaryAtom.h<br>
>> etc<br>
>><br>
>> Maybe:<br>
>> SimpleAtom.h<br>
>> AliasAtom.h<br>
>><br>
>> Moving the file to core fixes the dependencies.<br>
>><br>
>><br>
>><br>
>><br>
>> On Mon, Jun 2, 2014 at 9:25 AM, Rui Ueyama <<a href="mailto:ruiu@google.com">ruiu@google.com</a>> wrote:<br>
>>><br>
>>> On Mon, Jun 2, 2014 at 12:01 AM, Bas van den Berg<br>
>>> <<a href="mailto:b.van.den.berg.nl@gmail.com">b.van.den.berg.nl@gmail.com</a>> wrote:<br>
>>>><br>
>>>> Hi,<br>
>>>><br>
>>>> I've been following the changes in LLD's software architecture.<br>
>>>> Recently a new file was added: Alias.h<br>
>>>> In this file, the curret Atom set is extended with an AliasAtom.<br>
>>>> 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>
>>>> Driver<br>
>>>> ReaderWriter<br>
>>>> Passes<br>
>>>> Core<br>
>>>><br>
>>>> 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>
>>><br>
>>><br>
>>> Core's dependency to Simple.h was there before the addition of Alias.h,<br>
>>> so it's not new. And I don't feel like it's that bad as you might be<br>
>>> feeling. Do you have any suggestion to get rid of it? Just moving the file<br>
>>> to Core?<br>
>>><br>
>>>> 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>
>>>> 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>
>>>><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>
>>><br>
>><br>
><br>
><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>
</div></div></blockquote></div><br></div>