<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Apr 25, 2011, at 3:54 PM, Chris Lattner wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div><br>On Apr 25, 2011, at 3:30 PM, Fariborz Jahanian wrote:<br><br><blockquote type="cite">Author: fjahanian<br></blockquote><blockquote type="cite">Date: Mon Apr 25 17:30:02 2011<br></blockquote><blockquote type="cite">New Revision: 130163<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">URL: <a href="http://llvm.org/viewvc/llvm-project?rev=130163&view=rev">http://llvm.org/viewvc/llvm-project?rev=130163&view=rev</a><br></blockquote><blockquote type="cite">Log:<br></blockquote><blockquote type="cite">Ir-gen the side-effect(s) when __builtin_expect is<br></blockquote><blockquote type="cite">constant-folded. // <a href="rdar://9330105">rdar://9330105</a><br></blockquote><br>Hi Fariborz,<br><br>I don't think that this is the right approach, because other evaluatable expressions can have side effects as well.  Does something like this work:<br><br>if (E->Evaluate(Result, CGM.getContext()) &&<br>    !Result.hasSideEffects()) {<br>...<br>    if (Result.Val.isInt())<br></div></blockquote><div><br></div>Yes, a general solution. In r130172.</div><div><br></div><div>- Thanks, Fariborz</div><div><br><blockquote type="cite"><div><br><br>-Chris<br><font class="Apple-style-span" color="#006312"><br></font></div></blockquote></div><br></body></html>