<div dir="ltr">Looks like we agreed that this should be enabled only when some environment variable (maybe LLD_ENABLE_ROUNDTRIP_TEST?) is set, ok?</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Mar 19, 2014 at 4:31 PM, Shankar Easwaran <span dir="ltr"><<a href="mailto:shankare@codeaurora.org" target="_blank">shankare@codeaurora.org</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On 3/19/2014 5:44 PM, Nick Kledzik wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Mar 19, 2014, at 3:38 PM, Rui Ueyama <<a href="mailto:ruiu@google.com" target="_blank">ruiu@google.com</a>> wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
It is proved that RoundTripNative and RoundTripYAML are good harnesses to guarantee there's no information loss when an object is converted to/from native/YAML formats. However, it makes LLD *extremely* slow when linking non-toy programs.<br>


<br>
If RoundTrip tests are enabled, LLD takes about 10 *minutes* to link itself on my Linux box. My machine is 3.5GHz Xeon. The result of gprof on LLD linking llvm-tblegen shows that 77.8% of time was consumed by RoundTripYAMLPass::perform() and 16.6% by RoundTripNativePass::perform()<u></u>. It means RoundTrip tests are the dominant factor.<br>


<br>
I couldn't even run LLD linking LLD with profiling enabled because it was too slow that I couldn't wait it to finish.<br>
<br>
This is not an acceptable performance penalty even for debug build. I think we should move the feature behind a flag and enable it only for tests.<br>
<br>
Any objections?<br>
</blockquote>
Sounds good.  But, how can we set it up so that all tests (including tests added later) will get the round trip passes by default?  Is there some environment variable that the LIT harness sets up that the driver can detect and run those passes by default?<br>


</blockquote></div></div>
I like the environment variable idea too.<div class="HOEnZb"><div class="h5"><br>
<br>
--<br>
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation<br>
<br>
</div></div></blockquote></div><br></div>