<div dir="ltr"><div class="gmail_extra" style>Hey Duncan,</div><div class="gmail_extra" style><br></div><div class="gmail_extra">On Mon, Apr 8, 2013 at 3:39 AM, Duncan Sands <span dir="ltr"><<a href="mailto:baldrick@free.fr" target="_blank">baldrick@free.fr</a>></span> wrote:<br>
<div class="gmail_quote"><div>... </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I reckon it shouldn't be too hard to teach the code generators to turn this IR<br>

sequence into "y = target-divide whatever/x" on targets for which dividing by 0<br>
traps in a satisfactory way, so it turns into something efficient.<br></blockquote><div><br></div><div style>I was just writing Chandler about a similar implementation. With my current understanding of the problem, my constant division will end up as either a trap call or a load of an undefined value in the IR, depending on what the FE chooses to do. It's not clear to me, at least with my current knowledge of LLVM, how to recreate the actual division instruction in the target backend from that information (trap or undefined value). Hopefully there is a way. ;)</div>
<div style><br></div><div style>Thanks again, Duncan.</div><div style><br></div><div style>-Cameron</div></div></div></div>