<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jan 4, 2011, at 1:32 PM, Owen Anderson wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jan 4, 2011, at 1:29 PM, Chris Lattner wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div><br>On Jan 4, 2011, at 10:54 AM, Owen Anderson wrote:<br><br><blockquote type="cite">Author: resistor<br></blockquote><blockquote type="cite">Date: Tue Jan  4 12:54:18 2011<br></blockquote><blockquote type="cite">New Revision: 122819<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">URL: <a href="http://llvm.org/viewvc/llvm-project?rev=122819&view=rev">http://llvm.org/viewvc/llvm-project?rev=122819&view=rev</a><br></blockquote><blockquote type="cite">Log:<br></blockquote><blockquote type="cite">Branch instructions don't produce values, so there's no need to generate a value number for them.  This<br></blockquote><blockquote type="cite">avoids adding them to the various value numbering tables, resulting in a minor (~3%) speedup for GVN<br></blockquote><blockquote type="cite">on 40.gcc.<br></blockquote><br>Is there a way to handle "everything that returns void" in one place?  Stores are pretty common as well.<br><br>-Chris</div></blockquote></div><br><div>I actually experimented with adding a check for stores to do the same thing when I was writing this patch, but it made absolutely no difference in GVN's runtime.</div></div></blockquote><br></div><div>How about I->getType()->isVoidTy()?</div><br><div>-Chris</div></body></html>