<div>New patch attached, which respects the fact that sections have been decoupled.</div><div><br></div><div>I've also attached contrived.s, which assembles in 0.284 seconds with gas, but takes hours with llvm-mc.</div>
<div><meta charset="utf-8"><div><br></div><div>It is true that this patch causes code quality to reduce ever-so-slightly, because we might not benefit from labels compressing due to aligns shrinking after relaxation. But that hardly seems worth the sacrifice in CPU time.</div>
</div><div><br></div><div>This patch causes one test fail (test/MC/MachO/relax-recompute-align.s), which needs to be altered.</div><div><br></div><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Other ideas I had but didn't implement:</blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
*) Have a working list of fragments that might need to be relaxed, that way you don't revisit every fragment on every pass.<br></blockquote><div><br></div><div>I've implemented this. Would you like a patch?</div>
<div><br></div><div>Thanks,</div><div>- David Meyer</div></div>