<div dir="ltr">Assuming it is okay to make this pass generic, I would consider running it as the last IR pass (at the end of TargetPassConfig::addIRPasses).</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Aug 16, 2013 at 5:13 AM, Richard Sandiford <span dir="ltr"><<a href="mailto:rsandifo@linux.vnet.ibm.com" target="_blank">rsandifo@linux.vnet.ibm.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Ping.<br>
<div class="HOEnZb"><div class="h5"><br>
Richard Sandiford <<a href="mailto:rsandifo@linux.vnet.ibm.com">rsandifo@linux.vnet.ibm.com</a>> writes:<br>
> MipsOptimizeMathLibCalls.cpp converts:<br>
><br>
>   g = sqrt (f);<br>
><br>
> into:<br>
><br>
>   r1 = sqrt (f) readonly;<br>
>   if (g is a NaN)<br>
>     r2 = sqrt (f);<br>
>   g = phi (r1, r2)<br>
><br>
> I'd like to do the same on z.  Would it be OK to make this pass generic<br>
> and do the transformation whenever FSQRT isLegalOrCustom for the type?<br>
><br>
> If so, should it stay a separate pass, or should I merge it with<br>
> something else?<br>
><br>
> Thanks,<br>
> Richard<br>
><br>
> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</div></div></blockquote></div><br></div>