LLD: Move RoundTrip tests behind a flag

Shankar Easwaran shankare at codeaurora.org
Wed Mar 19 15:56:35 PDT 2014

On 3/19/2014 5:38 PM, Rui Ueyama wrote:
> 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?

We could use non debug builds isn't it ? Will this not solve the issue ?


Shankar Easwaran

Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation

More information about the llvm-commits mailing list