<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Sep 28, 2011, at 4:55 PM, Jakob Stoklund Olesen wrote:</div><blockquote type="cite"><div><font class="Apple-style-span" color="#000000"><br></font>On Sep 28, 2011, at 3:08 PM, Chris Lattner wrote:<br><br><blockquote type="cite"><br></blockquote><blockquote type="cite">On Sep 27, 2011, at 12:11 AM, Leo Romanoff wrote:<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">It is true that names are not always reflecting the essense. But on the other hand, there is a lot of ongoing research on register allocation (and compilers in general) and it looks like more and more such efforts choose LLVM as a platform for experimentation. Quite some results and comparisons are published. So, it would be nice to have a somewhat concrete (but may be not ideal) name for the LLVM allocator rather than "LLVM register allocator". In a few years, there may be another, even better register alloctor for LLVM. If it will be called "LLVM register allocator" again, it would lead to a lot of misunderstandings when reading descriptions and papers. The typical question then will be "Which LLVM register allocator was meant?" ;-)<br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">I propose "the LLVM 3.0 register allocator". We have no plans to throw away the greedy allocator in 3.1, but we'll probably make major enhancements to it, which make it incomparable to 3.0. If it does eventually get thrown away and replaced, then a version number can capture that.<br></blockquote><br>That makes a lot of sense to me. None of the algorithm details are sacred, and there is a good chance something essential will have changed by 3.1 and 3.2.<br><br>Meanwhile, I am keeping the RegAllocGreedy.cpp file name and the llc -regalloc=greedy command line option.<br><br>/jakob<br></div></blockquote></div><br><div>I like it. Since you're not publishing a formal algorithm and calling it "greedy", no one should be offended.</div><div><br></div><div>-Andy</div></body></html>