<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jul 15, 2010, at 12:12 AM, Duncan Sands wrote:</div><blockquote type="cite"><div><font class="Apple-style-span" color="#000000"><br></font><blockquote type="cite">+  Instruction *BonusInst = 0;<br></blockquote><blockquote type="cite">+  if (&*FrontIt != Cond&&<br></blockquote><blockquote type="cite">+      (*FrontIt).hasOneUse()&&  *(*FrontIt).use_begin() == Cond&&<br></blockquote><blockquote type="cite">+      (*FrontIt).isSafeToSpeculativelyExecute()&&<br></blockquote><blockquote type="cite">+      !(*FrontIt).mayReadFromMemory()) {<br></blockquote><br>Why the check on mayReadFromMemory?<br></div></blockquote></div><br><div>We don't want to speculatively execute a load before a null check.</div><div><br></div><div>--Owen</div></body></html>