<div style="font-family:arial,helvetica,sans-serif"><font><div class="gmail_quote">On 21 June 2012 14:25, Nuno Lopes <span dir="ltr"><<a href="mailto:nunoplopes@sapo.pt" target="_blank">nunoplopes@sapo.pt</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: nlopes<br>
Date: Thu Jun 21 16:25:05 2012<br>
New Revision: 158937<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=158937&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=158937&view=rev</a><br>
Log:<br>
Add support for invoke to the MemoryBuiltin analysid.<br>
Update comments accordingly.<br>
<br>
Make instcombine remove useless invokes to C++'s 'new' allocation function (test attached).<br></blockquote><div><br></div><div>Note that instcombine has "setPreservesCFG" set, which means that it really shouldn't be touching any terminator instructions. It currently does to swap things like "br i1 (xor b, true), label %l1, label %l2" and arguably that doesn't really change the CFG (though I think that in an ideal world instcombine should not be doing that either). This patch certainly does though, and instcombine shouldn't be doing it. You could put it in SimplifyCFG maybe?</div>

<div><br></div><div>Nick</div><div><br></div></div></font></div>