It is the very same bug.<br><br><div class="gmail_quote">On Thu, Aug 8, 2013 at 1:05 PM, Benjamin Kramer <span dir="ltr"><<a href="mailto:benny.kra@gmail.com" target="_blank">benny.kra@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br>
On 08.08.2013, at 18:25, Chad Rosier <<a href="mailto:chad.rosier@gmail.com">chad.rosier@gmail.com</a>> wrote:<br>
<br>
> I would like to transform X/Y -> X*1/Y.  Specifically, I would like to convert:<br>
><br>
> define void @t1a(double %a, double %b, double %d) {<br>
> entry:<br>
>   %div = fdiv fast double %a, %d<br>
>   %div1 = fdiv fast double %b, %d<br>
>   %call = tail call i32 @foo(double %div, double %div1)<br>
>   ret void<br>
> }<br>
><br>
> to:<br>
><br>
> define void @t1b(double %a, double %b, double %d) {<br>
> entry:<br>
>   %div = fdiv fast double 1.000000e+00, %d<br>
>   %mul = fmul fast double %div, %a<br>
>   %mul1 = fmul fast double %div, %b<br>
>   %call = tail call i32 @foo(double %mul, double %mul1)<br>
>   ret void<br>
> }<br>
><br>
> Is such a transformation best done as a (target-specific) DAG combine?<br>
><br>
> A similar instcombine already exists for the X/C->X*1/C case (see the CvtFDivConstToReciprocal function in InstCombineMlDivRem.cpp), but I don't believe the above can be done as an instcombine as it creates a new instruction (in addition to replacing the original).  Also, I only want to perform the transformation if there are multiple uses of 1/Y (like in my test case).  Otherwise, the transformation replaces a fdiv with a fdiv+fmul pair, which I doubt would be profitable.<br>

><br>
> FWIW, I'm also pretty sure this combine requires -fast-math.<br>
><br>
> Can someone point me in the right direction?<br>
<br>
</div></div>Isn't this <a href="http://llvm.org/bugs/show_bug.cgi?id=16218" target="_blank">http://llvm.org/bugs/show_bug.cgi?id=16218</a> ? I posted a patch there but never had the time to finish it.<br>
<br>
- Ben<br>
<div class="HOEnZb"><div class="h5"><br>
><br>
>  Thanks,<br>
>   Chad<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>
</div></div></blockquote></div><br>