[llvm] r295353 - InstCombine: Canonicalize fast fmuladd to fmul + fadd

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 16 17:41:52 PST 2017


On 02/16/2017 05:31 PM, Philip Reames wrote:
> Can you explain this one a bit?  On the surface this seems a bit strange.
>
> Philip
>
>
This was Hal's suggestion instead of the original version of 
https://reviews.llvm.org/D28448

Normal fmuladd is a special case when the backend is allowed to fuse it 
into fma or not depending on whether it's fast or not for the target. If 
unsafe math is allowed, the backend is free to do that anyway. Splitting 
the operations apart enables other combines on the split operations 
without having to special case fmuladd everywhere.

-Matt



More information about the llvm-commits mailing list