LLD: Move RoundTrip tests behind a flag
Rui Ueyama
ruiu at google.com
Wed Mar 19 15:38:55 PDT 2014
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.
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().
It means RoundTrip tests are the dominant factor.
I couldn't even run LLD linking LLD with profiling enabled because it was
too slow that I couldn't wait it to finish.
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.
Any objections?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140319/fd709ca4/attachment.html>
More information about the llvm-commits
mailing list