[LLVMdev] LLD improvement plan

Reid Kleckner rnk at google.com
Mon Jun 1 10:56:59 PDT 2015


On Fri, May 29, 2015 at 11:54 PM, Xinliang David Li <xinliangli at gmail.com>
wrote:

>
>> One of the standard reasons to prefer refactoring, even though it appears
>> to take longer or be more difficult, is that it allows you to always keep
>> all tests green. It is very easy for things to slip through the cracks and
>> not promptly return to being green on a "from-scratch" version. This
>> ultimately turns into bug reports later and the feature needs to be
>> reimplemented; the apparent simplicity of the "from-scratch" version can
>> disappear very rapidly.
>>
>
> Hmm, why can't the from-scratch version use existing tests to make sure
> major features are not regressed?
>

Based on what I've seen, Rui started with the most minimal PE COFF linker
that could link against system DLLs and is porting the old tests as new
functionality is added. The old tests serve as a checklist of features to
implement, and eventually everything will be ported without many
regressions. Given that this is essentially a rewrite and not a refactor, I
think that's probably the way to go.


> Refactoring requires a good foundation. If the foundation is broken,
> rewriting is more preferred. There are many successful stories of complete
> rewrite.
>

Looking at the progress that Rui is making, I think this is going to be one
of those situations where the rewrite is ultimately successful.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150601/03286969/attachment.html>


More information about the llvm-dev mailing list