<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jun 26, 2012, at 7:11 AM, Robert Muth <<a href="mailto:robertm@google.com">robertm@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-family:arial,helvetica,sans-serif"><font><br><div>We are processing some fairly large, e.g. 10s of MB, bitcode files with llc,</div><div>which result in peak memory use of several GBs.</div><div>
We would like to ameliorate this somewhat.</div><div>On one end of the spectrum we could look into reducing the size of common</div><div>data structures and local space optimization.</div><div>On the other end we could try to switch the MCAssembler from a model</div>

<div>where it processes the entire Module at once, to something more like</div><div>a function at a time.</div></font></div></blockquote><div><br></div><div>The assembler has no concept of functions, only labels. As expressions may span arbitrary regions in the assembly and require later fixups, the assembler needs to consider the whole of the output. Consider, for example, X86 branch relaxation.</div><div><br></div><div>-Jim</div><br><blockquote type="cite"><div style="font-family:arial,helvetica,sans-serif"><font><div>Does the list have any suggestions what we should look into.</div><div>Important considerations are:</div>

<div>* anticipated reduction in  memory use</div><div>* likelihood of succeeding</div><div>* upstreamability</div><div><br></div><div>Cheers,</div><div>Robert </div><div><br></div><div><br></div><div> </div><div><br></div>

<div><br></div></font></div>
_______________________________________________<br>LLVM Developers mailing list<br><a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br></blockquote></div><br></body></html>